收藏 分销(赏)

单片机课程设计报告十字路口交通灯控制系统设计.docx

上传人:胜**** 文档编号:1638378 上传时间:2024-05-07 格式:DOCX 页数:20 大小:244.14KB
下载 相关 举报
单片机课程设计报告十字路口交通灯控制系统设计.docx_第1页
第1页 / 共20页
单片机课程设计报告十字路口交通灯控制系统设计.docx_第2页
第2页 / 共20页
单片机课程设计报告十字路口交通灯控制系统设计.docx_第3页
第3页 / 共20页
单片机课程设计报告十字路口交通灯控制系统设计.docx_第4页
第4页 / 共20页
单片机课程设计报告十字路口交通灯控制系统设计.docx_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、中南大学课程设计报告十字路口交通灯控制系统设计学 院 : 地球科学与信息物理学院专业班级 : 生医0902班 姓 名: 学 号: 9 同 组 者: 学 号: 指导老师: 目 录一、内容摘要2二、设计内容及要求2三、总设计原理2 1. 设计思想图及设计说明22. 硬件原理框图33.存储器的单元分配34. 程序流程图45. 源程序清单46设计总结67参考文献6四、系统硬件设计61.时钟电路的设计62.交通灯电路的设计73.倒计时显示电路的设计8五、系统软件设计9六、设计总电路图及时间安排11七、硬件简介13八、设计过程中发现的问题及解决方案17九、心得体会18十、 附录19一、内容摘要在城镇街道的

2、十字交叉路口,为了保证交通秩序和行人安全,一般在每条道路上各有一组红、黄、绿交通信号灯,其中红灯亮,表示该条道路禁止通行;黄灯亮表示该条道路上未过停车线的车辆停止通行,已过停车线的车辆继续通行;绿灯亮表示该条道路允许通行。交通灯控制电路自动控制十字路口两组红、黄、绿交通灯的状态转换,指挥各种车辆和行人安全通行,实现十字路口交通管理的自动化。本系统采用MSC-51系列单片机AT89C51为中心器件来设计交通灯控制器,实现了红绿灯循环点亮,绿灯变红灯中间5秒为黄灯闪烁警示的功能。本系统实用性强、操作简单、扩展功能强。 二、设计内容及要求:设计一个十字路口的交通灯定时控制系统,基本要求如下: 利用单

3、片机的定时器产生秒信号,控制十字路口的红、绿、黄灯交替点亮和熄灭,并且利用4只LED数码管显示十字路口两个方向通行或禁止的剩余时间。要求能用按键设置两个方向的通行时间(红、绿灯点亮的时间)和暂缓通行时间(黄灯点亮的时间)。在课程设计时完成如下文档资料:1.设计思想和设计说明2.硬件原理框图3.存储器的单元分配4.程序流程图5.源程序清单6.设计总结7.参考文献三、总设计原理:1、设计思路图及设计说明 系统开始运行后,首先东西红灯亮30秒,南北先先绿灯亮25秒,再黄灯闪烁亮5秒,黄灯每隔0.5秒亮一次。然后南北红灯亮30秒,东西先绿灯亮25秒,再黄灯闪烁亮5秒,黄灯每隔0.5秒亮一次。最后,回到

4、开始状态显示,照此循环往复,控制十字路口的交通通行。同时,以倒计数的方式将剩余时间显示在每隔干线对应的两位数码管显示器上。再增加4个按钮,还可以对每个干线的车辆通行时间进行调整。交通灯状态转换表: 东西 南北 顺序 时间 绿灯 黄灯 红灯 绿灯 黄灯 红灯 1 25s 0 0 1 1 0 02 5s 0 0 1 0 1 (闪烁) 03 25s 1 0 0 0 0 14 5s 0 1(闪烁) 0 0 0 1 设计说明:每四个状态为一个周期,T(绿)+T(黄)=T(红)=30s。这张表用1表示亮,0表示灭是为了理解上的方便而这样设计的,而实际仿真时用单片机P1口输出控制6盏交通灯亮灭,由于交通灯为

5、共阳极解法,所以实际上输出为1时灯是灭的,为0时灯才亮,特此说明。2、硬件原理框图时钟电路单片机AT89C51红绿灯装置驱动装置倒计时装置3、存储器的单元分配各存储单元中的存放的数据内容和意义:P0:输出数字段码P1:输出交通灯亮灭控制码P2:输出位显码R0:用数码管显示的一位BCD码数字R1:位显码,控制数码管显示哪位数字 R2:东西干线时间R3:南北干线时间R4:记录5ms中断次数,控制黄灯闪烁R5:记录5ms中断次数,累加形成1秒信号R6:用于延时子程序R7:用于延时子程序70H:南北时间高位 71H:南北时间低位 72H:东西时间高位 73H:东西时间低位 开始4、程序流程图东西黄灯闪

6、烁5s状态1南北绿灯亮,东西红灯亮状态4南北红灯亮,东西黄灯闪延时25s延时25s状态2南北黄灯闪,东西红灯亮状态3南北红灯亮,东西绿灯亮南北黄灯闪烁5s5、源程序清单ORG 0000HAJMP MAINORG 000BHAJMP INTMAIN:MOV SP,#50H MOV IE,#82H ;允许T0中断 MOV TMOD,#01H ;T0定时方式1 MOV TL0,#78H MOV TH0,#0ECH ;晶振12Mhz,定时5ms MOV R5,#00H SETB TR0N0: MOV R2,#30 ;东西红灯亮30s,R2存东西时间 MOV R3,#25 ;南北绿灯25s,R3存南北时

7、间 MOV P1,#1EHN01: CJNE R3,#00,$ MOV R3,#5 ;南北黄灯5sN02: MOV P1,#1DHN1: MOV R4,#00H ;R4记录5ms中断次数N11: CJNE R4,#64H,$ ;黄灯每隔0.5s灭一次N12: CPL P1.1 CJNE R3,#00,N1 ;黄灯是否闪烁5sN2: MOV R3,#30 MOV R2,#25 MOV P1,#33H CJNE R2,#00,$ MOV P1,#2BH MOV R2,#5N3: MOV R4,#00HN31: CJNE R4,#64H,$N32: CPL P1.4 CJNE R2,#00,N3 M

8、OV R2,#30 MOV R3,#25 SJMP N0INT: MOV TL0,#78H ;每5ms中断一次,显示一次时间(四位轮流显示一次) MOV TH0,#0ECH INC R4 INC R5 ;R5记录5ms中断次数 CJNE R5,#0C8H,T01;每1s减小一次R2,R3 MOV R5,#00H DEC R2 DEC R3T01: ACALL DISP ;转显示程序 RETIDISP:MOV B,#0AH MOV A,R3 DIV AB ;将时间转换成两位BCD码 MOV 70H,A ;南北时间高位 MOV 71H,B ;南北时间低位 MOV B,#0AH MOV A,R2 D

9、IV AB MOV 72H,A ;东西时间高位 MOV 73H,B ;东西时间低位 MOV R0,#70H ;R0存要显示的数字 MOV DPTR,#TAB MOV R1,#01HDISP0:MOV P2,R1 ;R1存位显码,从南北时间高位开始显示,依次显示南北低位、东西高位、东西低位 MOV A,R0 MOVC A,A+DPTR ;A存数字段码 MOV P0,A ACALL DLAY ;延时0.5ms INC R0 MOV A,R1 JB ACC.3,DISP1 ;四位轮流显示是否完毕 RL A MOV R1,A SJMP DISP0DISP1:RETDLAY:MOV R7,#02H ;动

10、态显示每个数字0.5msDL: MOV R6,#0FFHDL1: DJNZ R6,DL1 DJNZ R7,DL RETTAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H ;字形码表,共阳极段码END6、设计总结 本设计思路清晰,设计简洁,功能实用。基本完成了设计要求,能够很好得实现预期的效果。7、参考文献单片机原理及应用 高等教育出版社 张毅刚主编单片机原理及应用教程(第2版) 机械工业出版社 赵全利,肖兴达主编四、系统硬件设计 1、时钟电路设计用12Mhz石英晶体振荡器,两个30pF的电阻,如图连接,接到AT89C51的XTAL1

11、和XTAL2两端便构成了时钟电路设计,在芯片内部产生1us的时钟脉冲信号。实际上使用proteus仿真,软件自动设置使AT89C51自带时钟脉冲,默认频率为12Mhz。所以不需要在电路图上对单片机外接时钟电路,如此设计是为了强调时钟信号的产生原理和过程,不可被忽视。2、交通灯电路的设计如图所示,用P1口输出交通灯亮灭控制码,LED交通灯为共阳极解法,所以输出为高电平时灯灭,为低电平时灯亮。交通灯布局为东西南北两方向,便于仿真运行时观察理解。3.倒计时显示电路的设计本实验采用7SEG-MPX4-CC显示器,4位共阴极7段数码显示器。使用动态显示方式。用P0口输出数字段码,由于PO口本身驱动不足,

12、需要接反相器(74LS04)以增强驱动力,使数码管亮起来,输出反向了,所以采用共阳极数字的段码。用P2口输出位显码,显示器接口1对应最左边数码管,接口2、3、4依次对应右边数码管。因为显示器是共阴极的,所以位显码为高电平时不显示数字,为低电平时显示数字。在动态显示时,输出位显码,主要是用0001中的1循环左移位更为方便,但输出1时不显示数字,输出0时显示数字,不符合动态显示同一时刻只显示一位的方式,所以对P0输出也要采用取反,变为1110中的0循环左移位,就能实现动态显示效果了。由于proteus软件中没有找到成块的74LS04,只好采用11个单个原件连接电路,实际连电路时可采用下面的两块74

13、LS04就行。芯片74LS04如图所示: 五、系统软件设计 我们使用proteus软件进行电路仿真,芯片AT89C51还需要载入代码文件来支持其正常工作以实现预期功能要求。程序代码编写是整块设计的核心内容,下面简要介绍下各段程序代码的意义和功能。1、 初始赋值ORG 0000HAJMP MAINORG 000BH ;T0中断入口AJMP INTMAIN:MOV SP,#50HMOV IE,#82H ;允许T0中断 MOV TMOD,#01H ;T0定时方式1 MOV TL0,#78H MOV TH0,#0ECH ;晶振12Mhz,定时5msT0定时方式1为16为定时器,T0初始值为0EC78H

14、(60536),终值为0FFFFH(65536)所以定时为(6553660536) 1/12Mhz12= 5000us=5ms,即系统每5ms中断一次,程序跳转到INT处执行程序。2、交通灯循环显示代码N0: MOV R2,#30 ;东西红灯亮30s,R2存东西时间 MOV R3,#25 ;南北绿灯25s,R3存南北时间 MOV P1,#1EHN01: CJNE R3,#00,$程序用R2存储东西向的时间,R3存储南北的时间,P1的初值为1EH,即初始时东西红灯亮,南北绿灯亮。CJNE R3,#00,$不停跳转自己,是为了等待R3变为0,此时时间过了25s。MOV R3,#5 ;南北黄灯5sN

15、02: MOV P1,#1DHN1: MOV R4,#00H ;R4记录5ms中断次数N11: CJNE R4,#64H,$ ;黄灯每隔0.5s灭一次N12: CPL P1.1 CJNE R3,#00,N1 ;黄灯是否闪烁5然后东西依然是红灯,南北的绿灯变为黄灯,用R4记录5ms中断的次数,当R4为100时,即时间过了5msX100=0.5s,CPL P1.1使南北黄灯亮或灭一次。最后当R3为0时,即黄灯闪烁5s后继续执行下面的程序。之后程序与上面相似,只是南北和东西的时间与交通灯亮灭对换了一次,再用SJMP N0跳转回初始状态,主程序依此循环,不再累述。3、T0定时器中断程序INT: MOV

16、 TL0,#78H ;每5ms中断一次,显示一次时间(四位轮流显示一次) MOV TH0,#0ECH INC R4 INC R5 ;R5记录5ms中断次数 CJNE R5,#0C8H,T01;每1s减小一次R2,R3 MOV R5,#00H DEC R2 DEC R3T01: ACALL DISP ;每5ms显示一次倒计时数字 RETI程序每5ms中断一次,进入中断后,继续给TO赋值初值,使T0继续定时循环。每次中断,使R4和R5加1。R4最大为100,控制黄灯每0.5s亮或灭依次,R5最大为200,形成1s信号。系统每5ms显示一次当前倒计时数字,每1s减小一次R2,R3,即南北东西的时间减

17、1,同时显示出来。显示完毕后,RETI返回中断口继续执行主程序。4、显示子程序DISP:MOV B,#0AH MOV A,R3 DIV AB ;将时间转换成两位BCD码 MOV 70H,A ;南北时间高位 MOV 71H,B ;南北时间低位 MOV B,#0AH MOV A,R2 DIV AB MOV 72H,A ;东西时间高位 MOV 73H,B ;东西时间低位 MOV R0,#70H ;R0存要显示的数字用70H、71H、72H、73H依次存南北时间高位、南北低位、东西高位、东西低位。MOV DPTR,#TAB MOV R1,#01HDISP0:MOV P2,R1 MOV A,R0 MOV

18、C A,A+DPTR ;A存数字段码 MOV P0,A ACALL DLAY ;延时0.5ms INC R0 MOV A,R1 JB ACC.3,DISP1 ;四位轮流显示是否完毕 RL A MOV R1,A SJMP DISP0DISP1:RET用R0存储要显示的数字的地址,MOV A,R0,将值送A,再用MOVC A,A+DPTR和MOV P0,A将要显示的数字的段码送出PO口。ACALL DLAY调用延时子程序使每个数字显示0.5ms,再显示下一位数字,在同一时刻只显示四位中的一位数字。由于显示器的余辉和人眼的视觉暂留作用,造成多位同时显示的表面现象。用R1存储位显码,初值为0001B,

19、取反后为1110B。R1的值传送给A,A中1位置不停左移,取反后为0依次左移,以控制同一时刻显示一位数字,显示顺序依次为南北时间高位、南北低位、东西高位、东西低位。当R1为1000B时,一轮显示完毕,返回中断程序调用处,而后执行RETI,返回中断口。所以为每5ms中断一次,轮流显示各位数字一次。六、总设计电路图及时间安排1、时间安排时间进度(2011年12月12日2011年12月26日) 时间 设计内容12日14日 共同合作,查阅资料,构想思路,方案比较,设计与论证, 理论分析与计算15日19日 确定设计思路,分工合作,完成硬件原理框架图,完成硬件调试,19日初步交给老师检查20日22日 完成

20、仿真,检查电路,排除故障,实现基本功能要求, 实现创新,提交检查。23日25日 完成实验日记、报告和总结。 2、总设计电路图完整proteus仿真电路图如下:七、硬件简介 AT89C51单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们具体说明:1、AT89C51 引脚说明 引脚说明如下:VCCAT89C51 电源正极输入,接+5V 电压。GND电源接地端。XTAL1接外部晶振的一个引脚。在单片机内部,它是一反相放大器输入端,这个放大器构成了片内振荡器。它采用外部振荡器时,些引

21、脚应接地。XTAL2接外部晶振的一个引脚。在片内接至振荡器的反相放大器输出端和内部时钟发生器输入端。当采用外部振荡器时,则此引脚接外部振荡信号的输入。RSTAT89C51 的复位信号输入引脚,高电位工作,当要对芯片又时,只要将此引脚电位提升到高电位,并持续两个机器周期以上的时间,AT89C51 便能完成系统复位的各项工作,使得内部特殊功能寄存器的内容均被设成已知状态。ALE/PROGALE 是英文ADDRESS LATCH ENABLE的缩写,表示允许地址锁存允许信号。当AT89C51访问外部存储器时,ALE 信号负跳变来触发外部的8 位锁存器 (如74LS373),将端口P0 的地址总线(A

22、0-A7)锁存进入锁存器中。在非访问外部存储器期间,ALE 引脚的输出频率系统工作频率的 1/16,因此可以用来驱动其他外围芯片的时钟输入。当问外部存储器期间,将以1/12 振荡频率输出。EA/VPP该引脚为低电平时,则读取外部的程序代码 (存于外部EPROM 中)来执行程序。使用AT89C51,此引脚接成高电平使程序运行时访问内部程序存储器,当程序指针PC 值超过片内程序存储器地址(如8051/8751/89C51 的PC 超过0FFFH)时,将自动转向外部程序存储器继续运行。PSEN此为Program Store Enable的缩写。访问外部程序存储器选通信号,低电平有效。在访问外部程序存

23、储器读取指令码时,每个机器周期产生二次PSEN 信号。在执行片内程序存储器指令时,不产生PSEN 信号,在访问外部数据时,亦不产生PSEN 信号。P0P0 口(P0.0P0.7)是一个8 位漏极开路双向输入输出端口,当访问外部数据时,它是地址总线(低8 位)和数据总线复用。外部不扩展而单片应用时,则作一般双向IO 口用。P0 口每一个引脚可以推动8 个LSTTL 负载。P2P2 口(P2.0P2.7)口是具有内部提升电路的双向I/0 端口(准双向并行I/O口),当访问外部程序存储器时,它是高8 位地址。外部不扩展而单片应用时,则作一般双向IO 口用。每一个引脚可以推动4 个LSTL 负载。P1

24、P1 口(P1.0P1.7)口是具有内部提升电路的双向I/0 端口(准双向并行I/O口),其输出可以推动4 个LSTTL 负载。仅供用户作为输入输出用的端口。P3P3 口(P3.0P3.7)口是具有内部提升电路的双向I/0 端口(准双向并行I/O口),它还提供特殊功能,包括串行通信、外部中断控制、计时计数控制及外部随机存储器内容的读取或写入控制等功能。其特殊功能引脚分配如下:P3.0 RXD 串行通信输入P3.1 TXD 串行通信输出P3.2 INT0 外部中断0 输入,低电平有效P3.3 INT1 外部中断1 输入,低电平有效P3.4 T0 计数器0 外部事件计数输入端P3.5 T1 计数器

25、1 外部事件计数输入端P3.6 WR 外部随机存储器的写选通,低电平有效P3.7 RD 外部随机存储器的读选通,低电平有效2、AT89C51 内存空间(1)内部程序存储器(FLASH)4K 字节。(2)外部程序存储器(ROM)64K 字节。(3)内部数据存储器(RAM)256 字节。(4)外部数据存储器(RAM)64K 字节。3、主要特殊功能寄存器说明PSW(Program Status Word)程序状态字位地址 D7 D6 D5 D4 D3 D2 D1 D0符号 CY AC F0 RS1 RS0 OV PCY(PSW.7) :高位进位标志位。常用“C”表示。AC(PSW.6) :辅助进位木

26、标志。F0(PSW.5) :用户标志位。RS1(PSW.4) :寄存器组选择位1。RS0(PSW.3) :寄存器组选择位0。OV(PSW.2) :溢出标志位。(PSW.1) :保留位,无定义。P(PSW.0) :奇偶校验位,在每一个指令周期中,若累加器(A)中的“1”的位个数是奇数个则P1,偶数个则P0。寄存器组的选择:RS1 RS0 寄存器组 RAM 中的地址0 0 0 00H07H0 1 1 08H0FH1 0 2 10H17H1 1 3 18H1FHIE 中断允许寄存器位地址 AF AD AC AB AA A9 A8符号 EA ET2 ES ET1 EX1 ET0 EX0EA(IE.7)

27、 :EA0 时,所有中断停用(禁止中断)。EA1 时,各中断的产生由个别的允许位决定。(IE.6) :保留位,无定义。ET2(IE.5) :允许计时器2 溢出的中断(8052 使用)。ES(IE.4) :允许串行端口的中断(ES1 允许,ES0 禁止)。ET1(IE.3) :允许计时器1 中断(ET11 允许,ET10 禁止)。EX1(IE.2) :允许外部中断INT1 的中断(EX11 允许,EX10 禁止)。ET0(IE.1) :允许计时器0 中断(ET01 允许,ET00 禁止)。EX0(IE.0) :允许外部中断INT0 的中断(EX01 允许,EX00 禁止)。IP 中断优先次序寄存

28、器位地址 BD BC BB BA B9 B8符号 PT2 PS PT1 PX1 PT0 PX0(IP.7) :保留位,无定义。(IP.6) :保留位,无定义。PT2(IP.5) :设定计时器2 的优先次序(8052 使用)。PS(IP.4) :设定串行端口的中断优先次序。PT1(IP.3) :设定时计时器1 的优先次序。PX1(IP.2) :设定外部中断INT1 的优先次序。PT0(IP.1) :设定计时器0 的优先次序。PX0(IP.0) :设定外部中断INT0 的优先次序。上述每位IP.*1 时,则定义为高优先级中断,IP.*0 时,则定义为低优先级中断。如果同时有两个或两个以上优先级相同

29、的中断请求时,则由内部按查询优先顺序来确定该响应的中断请求,其优先顺序由高向低顺序排列。优先顺序排列如下:顺序 中断请求标志中断源优先图示1 IE0 外部中断0(INT0) 最高2 TF0 定时计数器0 溢出中断3 TE1 外部中断1(INT1)4 TF1 定时计数器1 溢出中断5 RITI 串行通讯中断 最低TMOD 定时计数器工作方式控制寄存器位地址 不 可 位 寻 址符号 GATE CT M1 M0 GATE CT M1 M0类别 定时计数器1 定时计数器2GATE :当GATE1 时,INT0 或INT1 引脚且为高电平,同时TCON 中的TR0或TR1 控制位如为1 时,定时计数器0

30、 或1 才会工作。若 GATE0,同时只要TCON 中的TR0 或TR1 控制位如为1 时,定时计数器0 或1 即可工作。CT :选择定时或计数器模式。当CT1 为计数器,由外部引脚T0 或T1 输入计数脉冲。CT0 时为计时器,由内部系统时钟提供计时工作脉冲。M1 :方式选择位1。M0 :方式选择位0。M1、M2 的操作方式选择定义如下:M1 M0 操作方式 功 能 说 明0 0 方式0 13 位定时计数器0 1 方式1 16 位定时计数器1 0 方式2 自动再装入的8 位定时计数器1 1 方式3 定时计时器1 无效,将定时计数器0 分成两个8 位计数器4、定计器初值计算公式:TCM(TT

31、计数)其中 TC 为初值,M 为计数器模值,T 定时器定时时间,T 计数为fosc/12工作方式 M模值 T计数 最大定时时间方式 0 213 213fosc/12方式 1 216 fosc/12 216fosc/12方式 2 28 28fosc/12方式 3 28 28fosc/12八、设计过程中发现的问题及解决方案1、设计刚开始时,我们不清楚十字路口交通灯的亮灭转换情况,于是我们在来去学校的路上仔细观察路口交通灯,经过研究思考最终得到了上述的交通灯状态转换表。2、在众多MCS-51系列单片机中,不确定用那块更好,经过反复比较衡量,我们选择用AT89C51这块功能强大实用的单片机,同时根据实

32、际管脚分布分配好各存储单元的内容,使得连线时方便美观。在电路图中对交通灯采用共阳极接法,对显示器使用共阴极的7段数码管显示器,并采用动态显示的方式显示时间数字。最后完成了整个硬件设计。3、连接显示电路时,我们发现直接用P0输出口输出数字段码无法使数码管显示。经过上网查阅资料,得知P0口驱动不足,于是增加反相器以增强其驱动,所以原本是共阴极的数字段码这时要修改为共阳极的段码。4、在设计软件代码时,我们很好得完成了延时系统和控制交通灯亮灭的循环系统,实现了预期的效果。但是无法正常显示交通灯倒计时数字,是编写控制动态显示倒计时数字的代码时出了问题,我们发现原设计简单且错误明显。通过对教科书和参考资料

33、上面的数码管动态显示原理的研究学习,结合硬件的搭设,我们创造性地实现了仅使用7位输出就能够显示4位数字的功能,这个问题最为复杂,调整耗时也最多。5、整体设计基本完成后,运行时发现倒计时时间走得太快,于是检查代码设计是否出现了问题,仔细检查后发现完全正确,于是试着修改晶振的频率,却发现无论如何修改倒计时速率没变。经过观察研究发现了proteus软件会自动给单片机带上时钟脉冲,默认的是12Mhz,没1us产生一次脉冲,所以外连的时钟电路实际上不起效果。而我们本来的程序代码设计是使用6Mhz的晶振,比proteus默认的小,所以电路图上时间倒计时速率为正常的两倍(每0.5s减1)。通过修改程序,最后

34、使倒计时时每1s数字减1。九、心得体会 这个学期我们学习了单片机课程的基础知识,但之前我们一直处于理论学习的阶段,而单片机是一门实践性很强的学科,需要我们亲自动手去设计操作。于是在学期末,我们有了这次难得的单片机课程设计机会,以检验我们的学习成果和动手能力,同时让我们对单片机的理解和掌握更加深刻牢固。我是与搭档合作共同完成这份的单片机课程设计,我们分工明确,密切配合地完成了这个任务,期间我们遇到不少问题,但也是在这样遇到问题解决问题的过程中,理解了很多,学会了很多,也增进了同学之间的友谊。首先我们先确立设计的思路。通过参看相关书籍,我们发现在交通的设计中,有多种方案可选且各有优缺点,考虑到我们

35、所学的知识和设计的时间有限的问题,我们决定定采用不带按键的动态显示交通灯,并寻求在此基础上加入紧急处理功能。其余设计上面已经详细阐述了,不在累述。然后我们考虑如何分工的问题,我主要负责编程设计与仿真工作,而搭档负责相对简单的设计思路建设和文本编辑,构画流程图和总结。另外,中间状况的排查和解决则由我们共同完成。在这个过程中,搭档寄予和很大支持,并帮助我解决了不少设计过程中遇到的问题,感谢搭档的帮助配合。我主要负责编写代码,而这个过程应该是整个设计中最让人头疼的地方,好不容易编完成,却遭遇编码错误和仿真无法实现预期效果。但我们认真从头分析每一步的设计,逐一排查错误,修改代码,在这期间,也翻阅借鉴参

36、考了各种在图书馆借阅的图书,辅助自己更加深刻的学习和理解相关知识。同时,在这个过程中,我不仅提高了自己发现问题解决问题的能力。通过这次合作性的课程设计,我明白了对于像单片机这样实践性非常强的课程来说,仅仅掌握书本知识的是不够的,要想真正的了解掌握这门课程,就必须要学会运用所学知识自己设计系统,只有这样才能学以致用。感谢老师能给我们这样一次动手实践的机会,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。为日后学习其他课程以及将来成为合格的技术型人才打下良好的基础,真诚感谢徐老师的帮助和指导,让我受益匪浅!十、附录1、所用芯片及其参数:序号名称元件编号参数数量1显示器7SEG-MPX4-CC12反相器74LS04113发光二极管红绿黄LED-REDGREENYELLOW6(各2个)4AT89C51AT89C5115电容C1230pF26晶振 CRYSTAL12Mhz12、参考资料单片机原理及应用 高等教育出版社 张毅刚主编单片机原理及应用教程(第2版) 机械工业出版社 赵全利,肖兴达主编

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 考试专区 > 中考

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服