单片机课程设计-流水灯的设计.doc_第1页
单片机课程设计-流水灯的设计.doc_第2页
单片机课程设计-流水灯的设计.doc_第3页
单片机课程设计-流水灯的设计.doc_第4页
单片机课程设计-流水灯的设计.doc_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

南华大学机械工程学院课程设计论文单片机课程设计总结报告姓 名: 院 系: 机 械 工 程 学 院 专业班级: 学 号: 指导教师: 2011.07.08- 1 -目录一、设计任务和要求 1二、设计方案和论证 11.STC89C52单片机介绍 12. Max232cpe芯片介绍 33. DB9插座介绍 44最小系统电路45.串口通讯电路 36.流水灯电路 57.数码管显示电路 78.4x4键盘扫描电路 79.USB供电电路 810.总电路原理图 8 11.程序流程图11三设计总结141.设计中遇到的问题及解决方法 142.设计体会 14四、参考文献15五、附录151、PCB电路图152、元器件清单图16一、设计任务和要求二、设计方案和论证 本次设计电路使用ATC89C52单片机芯片作为控制电路,采用MAX232芯片作为串口通讯电路,实现单片机与微机相连下载程序。当单片机要实现很多功能时,采用扩展电路能得以实现。用数码管来显示什么键被按下,但因数码管是两位的,所以需要用高低位来控制。流水灯的设计主要是采用不同颜色的发光二极管亮灭的交替来实现的。那么,单片机要实现基本功能,必须满足最小系统。所以,该设计总共分为六个模块来完成。1 STC89C52单片机介绍STC89C52单片机是由深圳宏晶公司代理销售的一款MCU,是由美国设计生产的一种低电压、高性能CMOS 8位单片机,片内含8kbytes的可反复写的FlashROM和128bytes的RAM,2个16位定时计数器。 - 18 -STC89C52单片机内部主要包括累加器ACC(有时也简称为A)、程序状态字PSW、地址指示器DPTR、只读存储器ROM、随机存取存储器RAM、寄存器、并行I/O接口P0P3、定时器/计数器、串行I/O接口以及定时控制逻辑电路等。这些部件通过内部总线联接起来,构成一个完整的微型计算机。其管脚图如图所示。图2.1.1 STC89C52单片机管脚结构图VCC:电源。GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作 输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻 拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存 储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器 的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器 时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。EA/VPP:当/EA保持低电平时,则在此期间外部程序存储(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时, /EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。2. Max232cpe芯片介绍MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的单电源电平转换芯片,使用+5v单电源供电。 图2.2.1 MAX232芯片引脚介绍第一部分是电荷泵电路。由1、2、3、4、5、6脚和4只电容构成。功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。 第二部分是数据转换通道。由7、8、9、10、11、12、13、14脚构成两个数据通道。 其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。 8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。 TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到电脑DB9插头;DB9插头的RS-232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。 第三部分是供电。15脚GND、16脚VCC(+5v)。 主要特点1、符合所有的RS-232C技术标准 2、只需要单一 +5V电源供电 3、片载电荷泵具有升压、电压极性反转能力,能够产生+10V和-10V电压V+、V- 4、功耗低,典型供电电流5mA 5、内部集成2个RS-232C驱动器 6、内部集成两个RS-232C接收器 7、高集成度,片外最低只需4个电容即可工作。电容器应选择1F的电解电容。在使用过程中本人曾用过10F的代替。 注意,由于RS232电平较高,在接通时产生的瞬时电涌非常高,很有可能击毁max232,所以在使用中应尽量避免热插拔。3. DB9插座介绍DB9母头/孔型与DB9母头/孔型连接方式:2-2,3-3,5-5串行口常用的三根线(TXD RXD GND),有这三根就可以读写数据了。 图2.3.1 DB9插座实物图插座各引脚功能介绍9芯信号方向来自缩写描述1调制解调器CD载波检测2调制解调器RXD接收数据3PCTXD发送数据4PCDTR数据终端准备好5GND信号地6调制解调器DSR通讯设备准备好7PCRTS请求发送8调制解调器CTS允许发送9调制解调器RI响铃指示器4最小系统电路单片机最小系统电路包括复位电路和时钟电路还有EA的选择,即片内或片外存储器的选择。 图2.4.1 单片机最小系统图单片机最小系统电路包括复位电路和时钟电路还有EA的选择,即片内或片外存储器的选择。5.串口通讯电路根据设计任务和要求,程序下载还需附有指示灯。由ax232cpe的芯片介绍可知,1、3和4、5脚间接电容,16脚接5V电源,15脚接地,我选择第二数据转换通道,7、8脚两转换输出输入端接DB9插座的2、3脚接收和发送端。DB9的5脚接信号地。 图2.5.1 串口通讯图6.流水灯电路采用单片机的P1口,在这里电阻起限流作用,以防电流过大把发光二极管烧坏。 图2.6.1 流水灯图7.数码管显示电路图2.7.1 数码管显示图数码管显示采用和单片机的P2口连接,因该数码管是两位的,所以需要选择是用高位还是低位来显示。本设计中借助三极管类似开关的特性及单片机的外部中断来控制,因为外部中断0和外部中断1的优先级相同,同一时刻,只会有一位显示出按键码。 图 2.7.2 两位数码管控制图8.4x4键盘扫描电路矩阵式扫描电路采用接单片机的P0口,因为STC89C52单片机的P0口内没有上拉电阻,所以当采用P0口为输入端时,必须外接上拉电阻。矩阵式键盘减少了与单片机接口时所占用I/O口线的数目。 图2.8.1 键盘扫描电路图9.USB供电电路采用USB接口电路为单片机工作提供电源,该方法简单易行,只需与微机相连即可或得所需的电压且获得的电压较稳定。外接两电容起滤除纹波的作用。外接一单刀双掷开关,方便电源的开闭。 图2.9.1 USB接口图10.总电路原理图组合上面上面所述的各模块电路即可得到该设计的总电路原理图。 图2.10.1 电路原理图11.程序流程图在该设计中主要涉及按键扫描显示程序和流水灯功能显示程序。4x4按键扫描显示程序流程图置所有的行为低电平开始读取列的状态列中有低电平吗?延时20ms置行计数器=00H,列计数器=00H置行输出扫描初始值为0FEHRETYEKEY:NSKEY:输出行的扫描字,置某一行为低有一列键按下?将行计数+1行扫描字左移一位读取列值判别哪一列按下存列号是最后一行吗?RET调键值译码程序YEHEY:SKEY1:DKEY:S123NY图2.11.1 4x4键盘显示程序流程图汇编源程序为:KEY: MOV P1,#0F0H MOV R7,#0FFHKEY1:DJNZ R7,KEY1 MOV A,P1ANL A,#0F0HCPL AJZ EKEYLCALL DEL20msSKEY: MOV A,#00MOV R0,AMOV R1,AMOV R3,#0FEHSKEY2: MOV A,R3MOV P1,A NOP NOP NOP MOV A,P1MOV R1,AANL A,#0F0HCPL S123: JNZ SKEY3INC R0SETB CMOV A,R3RLC A MOV R3,AMOV A,R0CJNE A,#04H,SKEY1EKEY: RETSKEY3:MOV A,R1JNB ACC.4,SKEY5JNB ACC.5,SKEY6JNB ACC.6,SKEY7JNB ACC.7,SKEY8AJMP EKEYSKEY5: MOV A,#00HMOV R2.AAJMP DKEYSKEY6: MOV A,#01HMOV R2,A AJMP DKEYSKEY7: MOV A,#02HMOV R2,AAJMP DKEYSKEY8: MOV A,#03HMOV R2,AAJMP DKEYDKEY: MOV A,R0ACALL DECODEAJMP EKEY DECODE:MOV A,R0MOV B,#04HMUL ABADD A,R2RET 流水灯功能显示流程图:该功能为利用取表的方法,使端口P1做单一灯的变化:左移2次,右移2次,闪烁2次(延时的时间0.2秒)。 图2.11.2 流水灯显示图汇编源程序ORG 00HSTART:MOV DPTR,#TABLELOOP:CLR AMOVC A,A+DPTRCJNE A,#01H,LOOP1JMP STARTLOOP1:MOV P1,A MOV R3,#20LCALL DELAYINC DPTR JMP LOOPDELAY:MOV R4,#20D1:MOV R5,#248DJNZ R5,$DJNZ R4,D1DJNZ R3,DELAYRETTABLE:DB 0FEH,0FDH,0FBH,0F7HDB 0EFH,0DFH,0BFH,07FHDB 0FEH,0FDH,0FBH,0F7HDB 0EFH,0DFH,0BFH,07FHDB 07FH,0BFH,0DFH,0EFHDB 0F7H,0FBH,0FDH,0FEHDB 07FH,0BFH,0DFH,0EFHDB 0F7H,0FBH,0FDH,0FEHDB 00H, 0FFH,00H, 0FFHDB 01HEND三、设计总结1.设计中遇到的问题及解决方法电路板焊接好的时候拿去测试,发现单片机不能上电,而且电源指示灯也不亮。经老师耐心检查,原因为虚焊了好多点。单片机能供电了,又发现不能下载程序,经老师的细心排除,发现还是因虚焊。突然发现数码管和流水灯均不能正常工作,经同学和自己耐心的排除,发现有些线路断了和好多点虚焊。2.设计体会通过本次设计,我最大的体会就是做事态度的重要性,如果做一件事你真的能专注的投入,那么最终的结果与你的预期不会相差太远的。相反,如果做事马马虎虎,三心二意,那么最终的结果是你将会付出巨大的代价,不仅是时间的浪费,还会弄得身心疲惫,什么东西也学不到。当

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论