CJNE R1,#0FFH,TZ2 MOV R1,#00H DEC 21H DEC 23H TZ2: MOV R2,21H MOV R3,23H
LCALL DISP ;调用显示子程序。 MOV A,21H CJNE A,#00H,ST2 MOV 21H,#05
状态3, 东西红灯亮,南北绿灯亮,此时P1.0口—P1.7口的高低电平为#0DEH。 子程序:
ST3: MOV P1,#0BEH ;第三个状态,主干道亮红灯、支干道亮绿灯; CJNE R1,#0FFH,TZ3 MOV R1,#00H DEC 24H DEC 22H TZ3: MOV R2,24H MOV R3,22H
LCALL DISP ;调用显示子程序。
21
MOV A,22H CJNE A,#00H,ST3 MOV 22H,#15
状态4, 东西红灯亮,南北黄灯亮,此时P1.0口—P1.7口的高低电平为#0EEH。再采用显示子程序与延时子程序可使LED显示灯按照要求点亮。 子程序:
ST4: MOV P1,#0DEH ;第四个状态,主干道 亮红灯、支干道亮黄灯; CJNE R1,#0FFH,TZ4 MOV R1,#00H DEC 24H DEC 21H TZ4: MOV R2,24H MOV R3,21H
LCALL DISP ;调用显示子程序。 MOV A,21H CJNE A,#00H,ST4 MOV 21H,#05 MOV 24H,#20 LJMP ST1
22
程序初始化 状态1(S1) 状态2 (S2) 状态3(S3) 状态4(S4)
2.3.3.
复位电路
复位方式有多种,本设计采用按键复位。接线图如图程序3.1复位电路, 框图
在设定的定时时间内,89S52必须在RST引脚产生一个由高到低的电平变化,以清内部定时器.
23
2.3.4. 晶振电路
晶振电路原理图如3-2:
3-2 晶振模块原理图
选取原则:传统做法,但能够实现所需,即最简单也最是实用。电容选取30pF,晶振为30MHz。 3. 结束语
通过这次课程设计,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧(特别是汇编语言)的掌握方面都能向前迈了一大步。本次课程设计的过程是艰辛的,不过收获却是很大的。
在设计过程中,会出现了一些问题,但都是常见的小问题,如:代码中双引号的使用并不是在英语书写状态下,输入字母出错等,在调试时出现异常,不过这些都是经常性错误,经过调试修改都一一解决,程序顺利完成,并实现了其功能。
综合课程设计让我把以前学习到的知识得到巩固和进一步的提高认识,对已有知识有了更进一步的理解和认识。在此,由于自身能力有限,在课程设计中碰到了很多的问题,我通过查阅相关书籍、资
24
料以及和周围同学交流。
由于使用的是单片机作为核心的控制元件,使得电路的可靠性比较高,功能也比较强大,而且可以随时的更新系统,进行不同状态的组合。但是在我们设计和调试的过程中,也发现了一些问题,譬如红灯和绿灯的切换还不够迅速,红绿灯规则不效率还不是很高等等,这需要在实践中进一步完善。
当然,通过这次课程设计,我也发现了自身的很多不足之处,在以后的学习中,我会不断的完善自我。 附录
3.1. 附录1:程序清单 ORG 0000H LJMP MAIN ORG 0003H LJMP INTT0 ORG 0013H LJMP INTT1 ORG 001BH LJMP TT1
25