欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年电路设计方案——“天华杯”资料 .pdf

    • 资源ID:25097680       资源大小:1.18MB        全文页数:18页
    • 资源格式: PDF        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年电路设计方案——“天华杯”资料 .pdf

    1 / 18 电路设计 “ 天华杯 ” 资料一、硬件篇1、三极管及其应用2、光耦及其应用3、继电器及其应用4、595应用及其应用5、164及其应用6、74HC573及其应用7、74LS245及其应用 样题中要求的芯片 )8、光电传感器 反射式和对射式 )9、数码管及其应用 共阴和共阳 )10、按键及其应用 独立按键、矩阵按键、矩阵转独立按键)11、电机及其应用12、温馨提示二、软件篇1、Keil仿真及延时语句的精确计算2、c51 常用头文件3、Keil C 编译器常见警告与错误信息的解决方法4、应用单片机端口输出 PWM 5、应用反射式光电传感器进行转速检测“ 天华杯 ” 指定下载软件 ISP-Pgm30a http:/www.kmitl.ac.th/kswichit/IspPgm30a/ISP-Pgm30a.html 仅供参考,互相交流,共同进步一:三极管 PNP:8550 NPN:90139014 8050 在单片机应用系统中,三极管一般起开关作用,比如蜂鸣器控制电路电阻R6主要起限流作用,只要保证三极管工作在饱和区即可,一般选用1k, 由于51单片机上电是高电平,所以一般都采用PNP管8550),这样的话不会因为上电的高电平产生误动作。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 18 页2 / 18 如果遇到功率不够的话,可以采用达林顿管: 达林顿管就是两个三极管接在一起,极性只认前面的三极管。具体接法如下,以两个相同极性的三极管为例,前面为三极管集电极跟后面三极管集电极相接,前面为三极管射极跟后面三极管基极相接,前面三极管功率一般比后面三极管小,前面三极管基极为达林顿管基极,后面三极管射极为达林顿管射极,用法跟三极管一样,放大倍数是两个三极管放大倍数的乘积。二:光耦注意: R1,R2 取值均为 1k,当 IO=1 时,三极管截止,灯不亮;当 IO=0 时,三极管导通,灯亮;实际应用中,两个VCC 应该是不同的,这样才真正起到隔离的作用三、继电器 1、12为线圈的两端, 1为正端, 12为负端。 线圈实质是个电磁铁) 3、4、5 为一个单刀双掷开关, 8、9、10为一个单刀双掷开关。在电磁铁没吸合的时候,开关的公共端4、9 分别连接的是 3 和 10。在电磁铁吸合的时候,开关的公共端4、9 分别连接的是 5 和 8。2、继电器的保护。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 18 页3 / 18 一般都在线圈两端反向加一个二极管做为保护,减小感应电流的损害上图是继电器的一个应用电路:当P35=0时,三极管导通,继电器吸合,LED亮,JDQ52相连;当P35=1时,三极管截止,继电器不吸合,LED不亮, JDQ53相连;本电路的一个 特点是: 继电器的输出端采用分离方式,即输出端不与内电路连接,可外连三个接线端子,用作控制更高电压设备的开关。四、595应用: 8 位串行输入 / 输出或者并行输出移位寄存器sbit CLK=P16。/P1.6为595输出锁存器时钟信号端 ,1时输出数据 ,从1到0时锁存输出数据 .引脚12)sbit SCLR=P15。/P1.5为595移位寄存器清零口 ,平时为1,为0时,输出全为 0. / 595 发送一个字节的数据 unsigned char i 。for(i=0。i byte =1。dat_595=CY。Shift_Clk=1。_nop_(。_nop_(。Shift_Clk=0。 五、164应用精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 18 页4 / 18 典型应用:驱动数码管,164用作8位移位锁存器 (好像还有几种用法 输入: CLR=1,CLK=LSCLK 。A=B=LSDATA, 一般都用 IO口来模拟,eg:LSCLK=P05, LSDATA=P04. 输出: Q0Q7 #define HIGH 1 #define LOW 0 #define LS164_DATA(x if(x P0_4=1 。else P0_4=0 。 /164的数据端, x=1时,输出高; x=0时,输出低#define LS164_CLK(x if(xP0_5=1 。else P0_5=0 。 /164的时序端, x=1时,输出高; x=0时,输出低/*精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 18 页5 / 18 * /名称: void LS164Send(unsigned char byte * /功能: 164发送一个字节数据* /参数: unsigned char byte * /返回: 无 * /* void LS164Send(unsigned char byte/这个函数如果还是不明白的话,你们可暂且不理它 unsigned char j 。 /定义一个变量 for(j=0。j /从0到7,共八位,即一个字节,是一位一位传送的 if(byte&(1 /例如: byte=0 x01,即我们要传送一个数值 0 x01,二进制为 00000001写成八位的二进制好理解) /当j=0时,就变成 if(byte&(1 ),17=000000017=10000000, 所以if(byte&10000000)/我们这里假设了 byte=0 x01,那么 if00000001&10000000)是不成立的,就不进入这个 if,而/进入else,传送一个低 0),就把我们 byte的最高位 。/传送一个高 。 /传送一个低 。 /164的时序端置低 LS164_CLK(HIGH 。/164的时序端置高,即给时钟一个上升沿信号来确定该位传送完毕 以后直接调用这个函数就可以了。六、74HC573应用精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 18 页6 / 18 /OE:输出使能端,低电平有效D0D7:数据输入端Q0-Q7:数据输出端LE:锁存允许端由真值表可知,当 OE为高电平时,其输出为高阻状态,此时芯片处于不可控状态,因此我们在设计电路时必须将OE接低电平。LE为高电平时: D与Q同为高或低;LE为低电平时: Q保持上一次的数据状态。因此: LE端接单片机的某一引脚,D0D7:数据输入端 与单片机的某组 IO口相连就可以控制锁存器的锁存端和来改变数据输出端的数据状态。七、74LS245应用:245的DIR,控制方向,为高电平时A-B ,为低电平时 B-A。八、光电传感器 反射式和对射式, 09年天华杯用的是对射式)A、反射式红外传感器检测电路及应用精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 18 页7 / 18 工作原理:利用黑色物体和白色物体对光有不同反射系数的原理。图中D2为红外发光二极管 一般为白色), D3为光敏三极管 一般为黑色)。如果红外发光二极管发出的红外光D2)照射到白色物体上,由于白色物体的反射系数较大,大部分的红外光被反射回来,光敏三极管D3)接收到红外光后导通;反之,红外光照射到黑色物体上,由于黑色物体的吸光性强,只有很少的一部分红外光被反射回来,光敏三极管截止。图中 R1 可调,起调整检测距离的作用。如果不接R1,R3 取 200 欧。接比较器 LM339 是输出逻辑电平给单片机,为了让单片机准确识别传感器输出的信号。LM339 是开路输出的, R6 是为了使输出电压正确。B、对射式光电传感器对射式光电传感器主要用于检测在红外发光二极管和光敏三极管之间有无物体存在,工作原理与反射式光电传感器相同。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 18 页8 / 18 九、数码管及其应用 都连在一起,而阴极对应的各段可分别控制,共阴极数码管是指八段数码管的八段发光二极管的阴极( 负极 都连在一起,而阳极对应的各段分别控制。一位数码管都是 10个引脚的封装,其中第 3和第8引脚是连接在一起的,即公共端。二位数码管也是 10个引脚;四位数码管是 12个引脚在用的过程中要用万用表测就可以知道哪个是公共端)共阳代码: 0-F记住 a、bh 的顺序也就可以写出相应的代码)0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90,0 x88,0 x83,0 xc6,0 xa1,0 x86,0 x8e 带小数点的 0-9 0 x40,0 x79,0 x24,0 x30,0 x19,0 x12,0 x02,0 x78,0 x00,0 x10 共阴代码:对共阳代码取反即可显示方式:静态显示 比较简单,这个应该没什么用)动态显示 应用中多数是这种方式)十、按键及其应用 独立按键、矩阵按键、矩阵转独立按键)这个相信大家都比较熟悉,说下矩阵转独立键盘个人觉得这种可能性最大):只需把一条共线置 0,使其一列 行)变成独立键盘使用。十一、电机及其应用重点是直流电机,了解一下驱动电路一般用几个三极管来驱动)和速度控制与检测。十二、温馨提示精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 18 页9 / 18 原理大家都明白,注意图中电阻、电容的选择前面电路中出现的元器件的参数最好也记一下键盘操作 +数码管显示,这是 “ 天华杯 ” 人机交换中最重要 也可以讲是唯一)的方式,必出无疑 锁存器,移位寄存器 像前面讲到的 573、595、164、245)等一般用来驱动数码管显示,所以也比较重要光电传感器用来检测速度、或对外部信息进行计数等电机驱动 在写程序的时候,学会用有很大帮助Keil仿真及延时语句的精确计算1、编写程序:2、点击工程设置对话框,弹出精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,共 18 页10 / 18 将晶振的默认值修改为实验板上的晶振频率,eg:11.0592 ,单击 “ 确定” ,完成设置3、单击窗口上的调试按钮,进入软件模拟调试模式。:将程序复位到主函数的最开始处,准备重新运行程序;:全速运行,运行程序时中间不停止;:停止全速运行:进入子函数内部:单步执行代码,不进入子函数内部,可直接跳过函数:跳出当前进入的函数:程序直接运行至当前光标所在行;:显示 /隐藏编译窗口,可以查看每句C语言编译后对应的汇编代码:显示 /隐藏变量观察窗口,可以查看各个变量值的变化状态4、查看硬件 IO口电平变化:选择IO口精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 10 页,共 18 页11 / 18 查看IO状态:5、查看变量的变化:十进制显示:十六进制显示:十-十六进制转换:寄存器窗口:其中sec 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 11 页,共 18 页12 / 18 0.00042209=422.09us ,程序启动执行到目前停止位置所花的所有时间,这个时间是累积的)A:单步执行所花的时间:423.18-422.09=1.09us ,恰好是 51单片机在 11.0592 晶振频率下,一个机器周期12个时钟周期)所花费的时间B:延时语句的精确计算在延时语句的两头设置端点:点击全速运行,运行到第一个断点处,记录再点击全速运行,运行到第二个断点处,记录968.31272ms 两个sec 之差约为 1s c51 常用头文件reg51.h-51 的特殊寄存器reg52.h-52 的特殊寄存器intrins.h- 文件包含指示编译器产生嵌入式固有代码的程序的原型 。)string.h-字符转操作程序 , 缓冲区操作程序absacc.h- 包含允许直接访问8051 不同存储区的宏定义assert.h- 文件定义 assert 宏,可以用来建立程序的测试条件ctype.h- 字符转换和分类程序math.h- 数学程序setjmp.h- 定义 jmp_buf 类型和 setjmp 和 longjmp 程序的原型stdarg.h- 可变长度参数列表程序stdlib.h- 存储器分配程序stdio.h- 流输入和输出程序应用单片机端口输出 PWM 1. 利用软件延时方式获得 PWM信号在软件中设计一个基准的软件延时程序,通过反复调用这个延时程序,从而获得不同的时间长度。Eg:系统的晶振频率为 12MHz,产生的 PWM频率为 1HZ,则每个方波的周期为 1s,占空比从 0变化到100%,以10%为步进。#include 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 12 页,共 18 页13 / 18 sbit BEEP=P12。sbit PWM=P00。sbit k1=P13。sbit k2=P14。int i=0。void PWM_OUT(int t 。void delay_ms(unsigned int ms unsigned int i,j。for(i=110。i0。i- for(j=ms 。j0。j-。 void main(void BEEP=0。delay_ms(500。BEEP=1。 delay_ms(500 。while(1 PWM_OUT(i 。 if(k1=0 delay_ms(10。if(k1=0 i+=100。if(i=1000 i=0。 if(k2=0 delay_ms(10。if(k2=0 i-=100。if(i i=0。 void PWM_OUT(int t PWM=0。 /低delay_ms(t。 /t MS PWM=1。 /高delay_ms(1000-t。 /1000-t MS 2. 利用定时 /计数器方式获得 PWM信号Eg:系统的晶振频率为 12MHz,产生的 PWM频率为 1HZ,则每个方波的周期为 1s,占空比 50%,采用定时器 0产生50ms定时。#include sbit BEEP=P12。sbit PWM=P00。int i=0。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 13 页,共 18 页14 / 18 void time0_init(void 。 /定时器 0初始化void main(void BEEP=0。delay_ms(500。BEEP=1。 delay_ms(500。 time0_init(。while(1 if(i / 前500ms PWM=0。 /低 else PWM=1。 if(i=20 / 到达1s i=0。/计数值清 0 void time0_init(void TMOD=0X01 。/定时器工作方式设置为,定时器0,方式 1 TH0=(65536-50000/256。 /计数寄存器高 8位TL0=(65536-50000%256。 /计数寄存器低 8位TR0=1。 /开启定时器 0运行ET0=1。/开定时器 0中断EA=1。/开总中断 void time0_irq(void interrupt 1 TH0=(65536-50000/256。 /计数寄存器高 8位重载TL0=(65536-50000%256。 /计数寄存器低 8位重载i+。 应用反射式光电传感器进行转速检测直流电动机转速的测量有两种方法:定时法和间隔法:定时法 :在一定的时间间隔内检测脉冲的数量通过反射式光电传感器的白线的数量进行测量),通过计算得出在单位时间内直流电动机转过的圈数,即可得到转速。间隔法 :检测白线与白线之间的间隔时间,通过这个时间可以计算出直流精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 14 页,共 18 页15 / 18 电动机旋转一周需要的时间,进而得出转速。常用到的是定时法。1、用定时计数器 T0;2、用定时计数器 T1进行定时。在应用定时法进行程序设计时需要考虑采样的时间间隔。例如电机的转速为3000rpm,即每秒钟旋转 50圈,每一圈上可以得到 2个脉冲 看你电机上白线的数量,越多的话越精确),所以每秒钟可以得到100个脉冲,如果直流电动机的负载惯性较大,可以选择每隔1s检测一次转速并调整一次输出量;如果直流电动机为空载状态,可以选择每隔0.2s检测一次转速并调整一次输出量。程序实例:#include #include sbit PWM=P10。/电机控制,高电平不转,低电平转,应用三极管的开关作用unsigned char timecount 。 /1s定时计数值int count。 /计数次数int KM 。 /公里数bit time_1s_flag。 /1s定时标志位unsigned char speed 。 /电机速度void PWM_OUT(int t 。 / 电机速度控制void Count0_init(void 。/定时器计数器初始化void delay_100us(unsigned char i 。 /100us延时void delay_ms(unsigned int ms 。 /1ms延时void main(void Count0_init(。/定时器计数器初始化while(1 PWM_OUT(40。 /电机控制 void delay_100us(unsigned char i unsigned char j 。for(。i0。i- for(j=29。j0。j- _nop_(。_nop_(。 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 15 页,共 18 页16 / 18 void delay_ms(unsigned int ms unsigned int i,j。for(i=80。i0。i- for(j=ms。j0。j-。 / 电机速度控制,软件延时的方式输出PWM void PWM_OUT(int t PWM=0。delay_100us(t。PWM=1。delay_100us(100-t 。 /定时器计数器初始化void Count0_init(void TMOD=0X16 。/定时器 1计时工作方式 1,计数器 0计数工作方式 2 TH0=0。 /计数器初值TL0=0。TH1=(65536-50000/256。/定时器 1初值, 50MS TL1=(65536-50000%256。TR0=1。 /开启计数器 0 TR1=1。 /开启定时器 1 ET1=1。 /开定时器 1中断EA=1。 /开总中断 /定时器 1中断服务程序void time1_irq(void interrupt 3 TH1=(65536-50000/256。 /定时器 1初值重载TL1=(65536-50000%256。if(+timecount=20 /1s到 timecount=0。 /计数值清 0 TR0=0。 /关计数器 0 count=TL0。 /读取计数次数TL0=0。 /计数清零TR0=1。/开计数器 0 time_1s_flag=1。 /1s定时标志位置位 Keil C 编译器常见警告与错误信息的解决方法精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 16 页,共 18 页17 / 18 1. Warning 280:i :unreferenced local variable说明: 局部变量 i ,在函数中未作任何的存取操作. 解决方法 : 消除函数中 i 变量的宣告 2 Warning 206:Music3:missing function-prototype说明: Music3( 函数未作宣告 , 或未作外部宣告所以无法给其他函数调用解决方法 : 将叙述 void Music3(void写在程序的最前端作宣告 , 如果是其他文件的函数则要写成 extern void Music3(void,即作外部宣告3. Compling :C:8051MANN.CError:318:cant open file beep.h 说明: 在编译 C:8051MANN.C 程序过程中由于 main.c 用了指令 #include “beep.h”, 但却找不到所致解决方法 : 编写一个 beep.h 的包含档并存入到 c:8051 的工作目录中4. Compling:C:8051LED.C Error 237:LedOn:function already has a body说明: LedOn( 函数名称重复定义即有两个以上一样的函数名称解决方法 : 修正其中的一个函数名称使得函数名称都是独立的5.*WARNING 16:UNCALLED SEGMENT,IGNORED FOR OVERLAY PROCESS SEGMENT: ?PR?_DELAYX1MS?DELAY说明 DelayX1ms( 函数未被其它函数调用也会占用程序记忆体空间解决方法去掉 DelayX1ms( 函数 或利用条件编译 #if .#endif,可保留该函数并不编译6.*WARNING 6 :XDATA SPACE MEMORY OVERLAP FROM : 0025H TO: 0025H 说明 外部资料 ROM 的 0025H 重复定义地址解决方法外部资料 ROM 的定义如下Pdata unsigned char XFR_ADC _at_0 x25 其中 XFR_ADC 变量的名称为 0 x25,请检查是否有其它的变量名称也是定义在 0 x25 处并修正它7.WARNING 206: DelayX1ms : missing function-prototype C:8051INPUT.C Error 267 :DelayX1ms :requires ANSI-style prototype C:8051INPUT.C 说明: 程序中有调用 DelayX1ms( 函数, 但该函数没定义即未编写程序内容或函数已定义但未作宣告解决方法 : 编写 DelayX1ms(的内容 编写完后也要作宣告或作外部宣告可在( delay.h的包含档宣告成外部 以便其它函数调用8 *WARNING 1:UNRESOLVED EXTERNAL SYMBOL SYMBOL:MUSIC3 MODULE:C:8051MUSIC.OBJ(MUSIC *WARNING 2:REFERENCE MADE TO UNRESOLVED EXTERNAL SYMBOL:MUSIC3 MODULE:C:8051MUSIC.OBJ(MUSIC 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 17 页,共 18 页18 / 18 ADDRESS:0018H 说明 程序中有调用 MUSIC(函数 但未将该函数的含扩档 (.C 加入到工程档(.Prj 作编译和连接解决方法 : 设 MUSIC3(函数在 MUSIC. C 里 将 MUSIC. C 添加到工程文件中去9 *ERROR 107:ADDESS SPACE OVERFLOW SPACE: DATA SEGMENT: _DATA_GOUP_ LENGTH: 0018H *ERROR 118: REFERENCE MADE TO ERRONEOUS EXTERNAL SYMBOL: VOLUME MODULE: C:8051OSDM.OBJ (OSDM ADDRESS: 4036H 说明: data 存储空间的地址范围为 00 x7f, 当公用变量数目和函数里的局部变量 如果存储模式设为 SMALL 则局部变量先使用工作寄存器 R2R7 作暂存 当存储器不够用时则会以 data 型别的空间作暂存的个数超过 0 x7f 时就会出现地址不够的现象解决方法 : 将以 data 型别定义的公共变量修改为 idata 型别的定义精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 18 页,共 18 页

    注意事项

    本文(2022年电路设计方案——“天华杯”资料 .pdf)为本站会员(H****o)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开