5.2 LED红绿灯显示
如图三所示,当P1端口输出高电平,即P1各端口=1时,根据发光二极管的单向导电性可知,这是发光二极管熄灭;当P1个端口输出低电平,即P1各端口=0时,发光二极管亮。我们可以使用SETB指令使P1各端口输出高电平,使用CLR指令时P各端口输出低电平。至于循环需要软件控制,程序见附录。 5.3倒计时显示
此处采用LED静态显示方式,当显示器显示某个字符时,相应的段恒定的导通或截止,直到显示另个字符为止。89C51的串行口RXD和TXD为一个全双工串行通信口,但工作在方式0下可作同步移位寄存器,其数据由RXD端串行输出或输入;而同步移位时钟由TXD端串行输出,在同步时钟的作用下,实现由串行到并行的数据通信。在不需要使用串行通信的场合,利用串行口加外围芯片74LS164就可构成一个或多个并行输入\\输出口,
用于串——并转换或显示器LED驱动。此利用后者。
5.4 急通车控制
将一按钮接到单片机外部中断0端口。另一端接地,通过在程序里设置外部中断0为最高优先级。当检测到有按钮按下时,产生中断,停止刚才的程序,转向中断执行。在此过程必须利用PUSH、POP指令保护现场,这样当情况解除可以回到原来的地方继续执行。
5.5程序代码
见附录二
六总结
在学习单片机理论课时候就感觉到内容很多,知识点很杂,分繁琐。在老师的讲解下,在通过自己的努力也更进一步了解了单片机的内部构造和工作原理,以及接外部电路的情况。当然光有理论知识那只是“纸上谈兵”,还需要实际动手去实践。真正把所学的用到日常生活中,理论联系实际,做出实物模型。这次单片机实习,我选的是交通灯设计,通过这次设计我感觉到要想做成功,必须花时间多准备,查阅大量资料,认证分析每一步每
11
一个模块要实现的功能,然后分步进行,最后正和一个整体。
通过这次实习,我们要对所做的事情有耐性,在编程的时候会有困难,也可能变得不一定成功,所以要经过多次调试,分析,改正,反复去做。
在这次实习中,经历了多次失败的洗礼,我明白在以后学习和实践中,我要努力掌握知识,多动手,多思考,以免在以后的学习工作中犯同样的错误。
七致谢
首先要感谢的是为自考工作忙碌做出贡献的老师,是他们为自考创造了有利条件,为我
们提供了这次机会.还要感谢的是我的《单片机原理及应用》辅导老师席东河席老师,感谢他于百忙之中还能抽出世间来辅导这门可。我从他那里、从他的课里学到了c51单片机的好多知识,而就是这些知识为我的论文提供了很大帮助,也是我这篇论文的基础。另外还要感谢我的电路老师、数电、模电老师提供的电路方面的知识,最后也要感谢那些帮助过
我的同学和朋友。
参考文献
[1] 张鑫.单片机原理及应用.北京:电子工业出版社,2005 [2] 朱承高.电工及电子技术手册[M].北京:高等教育出版社,1990 [3] 阎石.数字电子技术基础(第三版)[M].北京:高等教育出版社,1989
[4] 周润景.PEOTEUS在MCS-51&ARM7系统中的应用百例[M].北京:电子工业出版社,2006 [5] 李朝青.单片机原理及接口技术(第三版)[M].北京:北京航空航天大学出版社,2005
12
附录一:
附录二:
源程序代码
SECOND1 EQU 30H ;东西路口计时寄存器 SECOND2 EQU 31H ;南北路口计时寄存器 DBUF EQU 40H ;显示码缓冲1 TEMP EQU 44H ;显示码缓冲2 LED_G1 BIT P1.0 ;东西路口绿灯 LED_Y1 BIT P1.1 ;东西路口黄灯 LED_R1 BIT P1.2 ;东西路口红灯 LED_G2 BIT P1.5 ;南北路口绿灯
LED_Y2 BIT P1.6 ;南北路口黄灯 LED_R2 BIT P1.7 ;南北路口红灯 ORG 0000H
13
LJMP START ORG 0003H LJMP INTO0 ORG 0100H
START:MOV TMOD,#01H 置T0工作方式1 MOV TH0,#3CH MOV TLO,#0B0H CLR TFO
SETB TRO SETB EX0
SETB PX0 SETB EA
LOOP: MOV R2,#20 MOV R3,#20 MOV SECOND1,#25 MOV SECOND2,#25 LCALL DISPLAY
LCALL STATEL WAIT1:JNB TF0,WAIT1 CLR TF0
MOV TH0,#3CH MOV TL0,#0B0H
DJNZ R2,WAIT1 MOV R2,#20 DEC SECIND1 DEC SECOND2
LCALL DISPLAY
DJNZ R3,WAIT1 MOV R2,#5
启动T0 设置外中断0高优先级 置1s计数初值 红灯亮20S
东西路口计时显示初值25s 南北路口计时显示初值25s 调用状态1
查询50ms到否 恢复T0定时初值50ms 判断1s到否?未到继续状态1 置50ms计数初值 东西路口显示时间减1 南北路口显示时间减1 状态1维持20s 置50ms计数初值
14
MOV R3,#3 绿灯闪烁3s MOV R4,#4 闪烁间隔200ms
MOV SECOND1,#5 东西路口计时显示初值5s MOV SECOND2,#5 南北路口计时显示初值5s LCALL DISPLAY
WAIT2:LCALL STATE2 调用状态2 JNB TF0,WAIT2 CLR TF0
MOV TH0,#3CH MOV TL0,#0B0H
DJNZ R4,WAIT2 CPLLED_G1 MOV R4,#4 DJNZ R2,WAIT2 MOV R2,#5 DEC SECOND1 DEC SECOND2 LCALL DISPLAY
DJNZ R3,WAIT2 MOV R2,#20 MOV R3,#2 MOV SECOND1,#2 MOV SECOND2,#2 LCALL DISPLAY
查询50ms到否 恢复T0定时初值50ms 判断200ms到否?未到继续状态2 东西绿灯闪烁 闪烁200ms
判断1s到否?未到继续状态2 置50ma计数初值 东西路口显示时间减1 南北路口显示时间减1 状态2维持3s 置50ms计数初值 黄灯闪烁2s
东西路口计时显示初值2s 南北路口计时显示初值2s 调用状态3 查询100ms到否 恢复T0定时初值100ms 判断1s到否?未到继续状态3
WAIT3:LCALL STATE3 JNB TF0,#3CH CLR TF0
MOV TH0,#3CH MOV TL0,#0B0H
DJNZ R2,WAIT3
15
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库单片机的交通灯控制(3)在线全文阅读。
相关推荐: