单片机课程设计论文.doc

设计成员:自动化 单 片 机 课 程 设 计 论 文

0803 王晓涛 学号:0806050320

0803 李彦峰 学号:0806050322 自动化0803 张小龙 学号:0806050323

2011年1月6日

自动化

基于AT89S52单片机的数显交通灯设计

摘要: 随着微控技术的日益完善和发展,单片机的应用在不断走向深入。它的应用必定导致传统的控制技术从根本上发生变革。它在工业控制、数据采集、智能化仪表、机电一体化、家用电器等领域得到了广泛的应用,极大地提高了这些领域的技术水平和自动化控制。本项目主要从单片机应用上来实现十字路口交通灯智能化管理,用来控制车辆的正常运作。

关键词:单片机 微控技术 智能化管理 交通灯

1项目要求

基于AT89S51单片机数显交通灯的设计,主要具有以下功能: 1东西南北路口执直与转弯交替进行,数码管显示直行通行倒计时。 2红绿黄灯显示包括人行道在内的道路交通状态。

3某一方向道路拥挤时,可以人工调节东西南北方向通行时间。 4紧急情况下,各路口交通等显示红灯,数码管保持数据不变。

2系统设计

2.1框图设计

按照系统设计的要求和功能,将系统分为主控模块,LED显示模块,电源电路,复位电路,晶振电路,驱动电路灯几个模块,系统组成框图如图1所示。主控模块采用AT89S52单片机,显示模块采用七段共阴LED数码管。

图1 基于AT89S52单片机数显交通灯系统组成框图

2.2知识点

●本项目需要通过学习和查阅资料,掌握和了解如下知识点: ●+5V电源原理及设计

●单片机复位电路工作原理及设计 ●单片机晶振电路工作原理及设计 ●按键电路的设计 ●LED的特性及使用 ●AT89S52单片机引脚

●单片机汇编语言及程序设计

3硬件设计

3.1电路原理图

基于AT89S52单片机数显交通灯系统硬件电路原理如图2所示,由于单片机需高稳定,高频率的实基脉冲,因此需要晶体振荡器。AT89S52在XTAL1、XTAL2两引脚接晶体振荡器。在晶体振荡器两端并联两个电容C1、C2均为30pF,对振荡器频率有微调作用,震荡范围为1.2-12MHz.时间倒计时显示电路采用4个两位共阴LED显示。排电阻RP1用于单片机P0口的上拉电阻。 具体的电路原理图见附录二。 3.2元件清单

基于AT89S52单片机数显交通灯元件清单见附录一。

3.3电路原理图

显示电路采用4个两位共阴数码管,P1口作为数码管的输入,P3.4、P3.5、P3.6 P3.7分别作为东西南北四路数码管的位选端。

数码管显示电路

信号灯控制电路

应急电路

4软件设计

4.1程序流程图

程序分主程序和中断程序,可采用汇编语言编程,计时采用延时程序 进行延时程序的执行时间为1秒(若单片机的晶振频率为6MHZ),用特殊功能寄存器=PSW的第六位FO(PSW15)作A、B通道的放行标志,PSW15=0时,R4中存放立即数#5AH(相当于十进制数90),R4计数90次时,A道放行正好90秒;B道放行时,R4存放立即数#3CH(相当于十进制数60),R4计数60次时,B道放行正好60 秒。还可以根据控制过程中的实际情况来改变R4中的数据,就能改变A、B通道的放行时间。紧急车辆通过的处理用中断服务程序控制。主程序流程如图示

4.2程序清单

程序清单见附录三。

5遇到的问题及解决方案

5.1问题:

(1).焊接的线路有问题 (2).数码管不亮

(3).发光二极管不太亮 5.2解决方法

(1).检查电路并重新焊接。

(2).检查数码管是否界的正确或本身存在质量问题,重新接线或换个数码管。 (3).发光二极管接驱动。

6参考文献

[1]柴钰. 单片机原理及应用. 西安:西安电子科技大学出版社,2009年.

[2]薛钧义,张彦斌. MCS-51/96系列单片微型计算机及其应用 [M]. 西安:西安交通大学出版社,1997.

[3]周向红. 51系列单片机应用与实践教程[M]. 北京:北京航空航天大学出版社,2008.

[4]杨居义,杨尧,王益斌,杨晓琴. 单片机课程设计指导 [M]. 清华大学出版社.2009年

设计心得体会

1.自动化0803王晓涛

通过这次的课程设计,我真实的学到了很多的知识。在这次的课程设计中,我付出了很多,俗话说“有付出才有回报”,正是这样,我们的课程设计圆满的结束了。在整个过程中我有许多自己的心得体会。

首先,一开始课程设计时,选择题目,我挣扎了很久,起初字字想找一个简单的题目随便一做完成老师的任务就好了。后来听了老师的教诲,也为了自己能够学到更多,所以选了这个题目。不管能不能做出来,我都要挑战一下子我。

其次,在整个过程中加强了我们动手、思考和解决问题的能力。以前也做过课程设计,不过这次更是锻炼了我的动手能力,多基本的焊接、布线等技术已基本掌握了,更锻炼了我们独立思考的能力。

第三,在课程设计过程中,用到了大量的理论知识,我们通过查资料、上网搜索来获取。这样我们不仅复习了课本上的基本理论知识,也学到了很多新的知识,通过设计,使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。

第四,在这次的课程设计中,我学会了属于自己的一套设计思想,它能帮助我更好的解决问题,我想不管做什么事,都要有一个思想指导你去完成。不管现在还是将来,它都

会使我受益的

第五,在整个过程中,我们遇到了很多困难和问题。例如:数码管显示不全、发光二极管不太亮,接线有问题等,在老师的和同学的帮助下,我们一一检查,经过很多次的努力终于改好了。在这个过程中,因为接线太多,我出现了烦躁的情绪,不过最后克制住了。不管干什么事,要有足够的耐心和许许多多的认真。

第六,我觉得干什么事,必须具备团队精神。一个人是干不出什么的,必须和其他人合作你也会受益匪浅的。这次的设计我们合作的非常愉快。 最后,感谢老师的细心指导和同学的无私帮助。 2.自动化0803李彦峰

这次单片机课程设计,我们组做的是数显交通灯。通过这次课程设计,我学到了许

多知识,并且得到了各方面的锻炼。

首先,这次课程设计中用到了许多相关理论知识,加深了我对所学理论知识的理解和掌握。同时,我发现了自己在理论知识上的不足之处,并且纠正了对一些知识点的错误理解,初步学习了运用所学理论知识解决实际问题。其中,我除了学习课本上学过的驱动芯片74LS245,还了解了发光二极管,七段共阴数码管等课外知识,拓宽了知识面,丰富了自己的知识。

其次,这次课程设计从起初确定方案到最终做出东西,我都积极参与,认真对待。其中也发现了各种问题,但都通过请教老师和同学得以解决。同时,我也学到了许多东西。由于我们的课程设计中用到了60个发光二极管,4个双位数码管,3个74LS245驱动芯片,使得接线很繁杂。但都在我们的共同努力下得到了圆满解决,最终实现了各种功能。

再次,这次课程设计也锻炼了我的实际动手能力。在这次做东西中,我遇到了不少实际问题。从电路板布线到焊接元器件,再到调试,都出现了各种各样的问题,但都通过自己动脑思考,并且请教老师和同学得以圆满解决。同时也使我认识到,要做好一件东西,就得在各方面好好努力。这次,从布线到焊接,我都想办法力争做好,也是自己认识到自己在这方面的不足。

最后,这次课程设计是在我们组三个人的共同努力下完成的。我也懂得了合作的重要性,由于一个人的精力和能力有限,要完成一个项目,就得大家一起合作,共同努力。

此外,虽然我们最终完成了单片机课程设计的任务,但也存在许多实际问题。最终还是留下了许多遗憾。比如数码管显示不是很亮,发光二极管也不是很亮,可能因为某些元器件参数选择不当,也与自己事先准备不足有关。尽管如此,但这次课程设计还是令我很满意。当我们的东西做成之后,我心里还是很激动。这次单片机课程设计的成功,既锻炼了我运用所学知识解决实际问题的能力,也培养了我学习理论知识的兴趣,进一步增强了自己的信心和勇气。 3.自动化0803张小龙

这次实习我做的是智能交通灯,主要是通过单片机控制十字口的红绿灯使车辆安全通行不发生混乱,具有东西南北路口直行与转弯交替通行,数码管显示执行通行倒计时的功能,包括人行道在内的交通状态,某一方向拥堵时可以人工控制通行时间,紧急情况时,交通灯全部显示红灯,数码管数据显示不变。在这次实习中我主要负责的是程序的编写与调试,所用知识都是课本所学的,分为初始化子程序,主程序,显示子程序,定时中断处理子程序,查表指令和延时子程序,所用语言为汇编语言,通过这次的编写与调试使我对汇编语言有了更深入的认识,以前对该语言只是熟悉指令,现在已经有了一个基本的理解,懂得了汇编语言的一般编写规则和各个子程序模块的编写,比如延时一秒,R1,R2最大只能为255,所以延时一秒可以让它一次溢出为50ms,溢出20次即可为一秒,所以对于汇

编语言多做练习才能够熟练掌握并编写相应的程序,所以这次实习使我对汇编语言认识更清楚了,了解了它的简明清楚模块化的特点,所以多做练习从中发现并解决问题才能够学好汇编语言,比如在编写好程序后仿真时发现按键后有时响应不准确,经过查资料后发现原来是按键有抖动,可以通过延时5ms来进行消除,这些都是在编写和调试过程中应该注意的问题,当然我也参与了电路板的制作,对所用硬件也有了基本的认识,学会了基本的焊接方法和原则,提高了动手能力。

总之,这次实习很有意义,让我对单片机的基本原理和编程有了更深入的认识,由于单片机的应用相当广泛,越来越显示出了它的优越性,所以学好单片机很重要,同时使我对单片机产生了兴趣并下决心要认真学好单片机,提高了我动手实践能力,当然还要感谢老师和同学的帮助,我相信通过这次实习会为我以后的工作产生积极的影响和推动作用!

附录一

原器件清单如下:

附录二

电路原理图如下图所示:

附录三

程序清单:

基于AT89S52单片机的数显交通灯程序清单如下:

;------------------------------------ ;程序实现功能

;东西南北路口直行与转弯交替通行,数码管显示直行通行倒计时,红绿黄灯显示包括人行道在内的道路交通状态。

;某一方向道路拥挤时,可以人工控制调节东西南北方向通行时间。 ;紧急情况时,各路口交通灯显示红灯,数码管保持数据不变。

;工作寄存器及存储单元分配 ;1.工作寄存器

;R2设置为定时器定时中断次数,R6、R7用于延时程序中的寄存器

;2.片内存储单元

;30H、31H作为两组数码管显示数据存储单元;32H、33H作为交通灯初始状态存储单元;40H、41H作为交通灯显示数据存储单元

;3.标志位

;00H:南北通行标志位 ; 01H:东西通行标志位;02H:紧急事件标志位 ;-----------------------------------

SNF EQU 00H ;;;南北通行标志位 EWF EQU 01H ;;;东西通行标志位 URF EQU 02H ;;;紧急事件标志位 ORG 0000H

LJMP MAIN ;;;上电转主程序 ORG 000BH ;;;定时中断入口 LJMP DSZD

ORG 0003H ;;;紧急中断入口 LJMP URZD ORG 0030H

MAIN: LCALL INIT ;;;调用初始化子程序 LOOP: LCALL DIS ;;;循环执行显示子程序 AJMP LOOP ;///////////初始化程序

INIT: SETB SNF SETB EWF SETB URF

MOV R2,#20 ;;;定时器中断20次为1s

MOV TMOD,#01H ;;;初始化定时器 MOV TL0,#0B0H MOV TH0,#3CH

SETB EA ;;;开定时中断与紧急中断 SETB ET0 SETB TR0 SETB EX0

SETB IT0 ;;;设置中断程控方式

MOV DPTR,#TAB ;;;数值首地址放入DPTR中 MOV 40H,#40 ;;;东南西北通行时间设置 MOV 41H,#40

MOV 30H,#40 ;;;通行时间初始化 MOV 31H,#60

MOV P0,#4CH ;;;初始化时南北通行并把交通灯状态分别放在32H和33H中

MOV 32H,#4CH MOV P2,#15H MOV 33H,#15H RET

;////////////显示子程序

DIS: MOV P3,#0DFH ;;;选中南北方向的十位数码管 MOV A,30H ;;;把显示数据送人数码管显示 MOV B,#10 DIV AB

MOVC A,@A+DPTR

MOV P1,A ;;; LCALL D1MS

MOV P3,#0EFH ;;;选中南北方向的个位数码管 MOV A,B ;;;送入数码管显示 MOVC A,@A+DPTR MOV P1,A LCALL D1MS

MOV P3,#7FH ;;;选中第东西方向的十位数码管 MOV A,31H ;;;送入数码管显示 MOV B,#10 DIV AB

MOVC A,@A+DPTR MOV P1,A LCALL D1MS

MOV P3,#0BFH ;;;选中第东西方向的个位数码管 MOV A,B

MOVC A,@A+DPTR MOV P1,A

LCALL D1MS SETB P3.0 SETB P3.1

JNB P3.0,DIS_S ;;;查询是否第一个按键按下 JNB P3.1,DIS_E ;;;查询是否第二个按键按下 AJMP DIS_R ;;;没有键按下则返回 DIS_S:LCALL D5MS ;;;按键去抖 JNB P3.0,DIS_SN AJMP DIS_R

DIS_SN:MOV 40H,#50 ;;;对通行时间从新分配,南北通行时间加长

MOV 41H,#30 AJMP DIS_R

DIS_E:LCALL D5MS ;;;按键去抖 JNB P3.1,DIS_EW AJMP DIS_R

DIS_EW:MOV 40H,#30 ;;;东西通行时间加长 MOV 41H,#50

DIS_R:RET ;///////定时中断处理程序

DS_C: LJMP DS_R ;;;接力跳转 DSZD: PUSH ACC ;;;保护现场 PUSH PSW

CLR TR0 ;;;关定时器及中断标志位并重新赋值 CLR TF0

MOV TL0,#0B0H MOV TH0,#3CH

DJNZ R2,DS_C ;;;判断1m时间是否到达 MOV R2,#20 ;;;到达重新赋值

DEC 30H ;;;南北方向通行时间减一

MOV A,30H ;;;把减一后的时间送入显示存储单元 ;;;;;;;南北通行到达最后4秒时黄灯闪烁

DS_10:CJNE A,#4,DS_11 ;;;如果通行时间剩余4秒 JNB SNF,DS_11 ;;;判断是否是南北通行 MOV P0,#8AH

MOV 32H, #8AH ;;;把交通灯状态存入存储单元(后面类似) DS_11:CJNE A,#3,DS_12 ;;;不是剩余3秒,返回

JNB SNF,DS_12 ;;;不是南北通行时间,返回 MOV P0,#88H MOV 32H, #88H DS_12:CJNE A,#2,DS_13 JNB SNF,DS_13 MOV P0,#8AH MOV 32H, #8AH

DS_13:CJNE A,#1,DS_14 JNB SNF,DS_14 MOV P0,#88H MOV 32H, #88H ;------------------------

DS_14:JNZ DS_NE ;;;通行时间没有结束转向改变东西方向的数码管

CPL SNF ;;;如果通行时间结束则对标志位取反 JNB SNF,DS_1 ;;;判断是否南北通行

MOV 30H,40H ;;;是,点亮相应的交通灯 MOV P0,#4CH

MOV 32H,#4CH ;;;存储交通灯状态 MOV P2,#15H

MOV 33H, #15H ;;;存储交通灯状态

DS_NE:DEC 31H ;;;东西方向通行时间减一

MOV A,31H ;;;把通行剩余时间送入显示存储单元 ;;;;;;;;东西方向通行时间剩余4秒钟黄灯闪烁(程序注释与南北方向类似 略) DS_20:CJNE A,#4,DS_21 JB EWF,DS_21 MOV P0,#51H MOV 32H, #51H DS_21:CJNE A,#3,DS_22 JB EWF,DS_22 MOV P0,#41H MOV 32H, #41H DS_22:CJNE A,#2,DS_23 JB EWF,DS_23 MOV P0,#51H MOV 32H, #51H DS_23:CJNE A,#1,DS_24 JB EWF,DS_24 MOV P0,#41H MOV 32H, #41H ;-----------------------------

DS_24:JNZ DS_R ;;;东西方向时间没有结束,返回 CPL EWF ;;;对通行状态取反

JNB EWF,DS_2 ;;;东西方向通行时间到来,跳转 MOV 31H,#80 ;;;东西方向通行结束,重新显示时间 MOV P0,#89H ;;;点亮相应的交通灯 MOV 32H, #89H MOV P2,#29H MOV 33H, #29H AJMP DS_R

DS_1: MOV 30H,#80 ;;;南北通行时间结束,重新对显示存储单

元赋值

MOV P0,#89H ;;;执行转弯状态1 MOV 32H, #89H MOV P2,#26H MOV 33H, #26H

AJMP DS_NE

DS_2: MOV 31H,41H ;;;东西方向开始通行,赋值予显示存储单元

MOV P0,#61H ;;;点亮相应的交通灯 MOV 32H, #61H MOV P2,#15H MOV 33H, #15H DS_R: SETB TR0

POP PSW ;;;恢复现场 POP ACC RETI

;/////////////紧急中断处理程序

URZD: PUSH ACC ;;;保护现场 PUSH PSW

CLR IE0 ;;;清除中断标志位 CLR TR0 ;;;关定时器

CPL URF ;;;紧急事件标志位 JB URF,UR_CON ;;;紧急结束;跳转

MOV P0,#49H ;;;各路口灯全显示红灯亮 MOV P2,#15H AJMP UR_R

UR_CON:SETB TR0 ;;;恢复正常交通 MOV A,32H MOV P0,A MOV A,33H MOV P2,A

UR_R: POP PSW ;;;恢复现场 POP ACC RETI

;////////////查表指令0,1,2,3,4,5,6,7,8,9

TAB: DB 3FH, 06H, 5BH, 4FH, 66H, 6DH DB 7DH, 07H, 7FH, 6FH

;//////////延时5ms与1ms D5MS: MOV R7,#5 D1MS: MOV R7,#10 MOV R6,#50 L1: DJNZ R6,$ DJNZ R7,L1

RET END


相关文章

  • 机械类论文题目
  • 防护罩的模具设计与制造 ·塑料模具设计 ·机油盖注塑模具设计 ·内螺纹管接头注塑模具设计 ·模具-注塑-电池充电器的模具设计 ·椭圆盖注射模设计 ·直角弯头塑料模具设计及成型零件加工工艺研究 ·面向教学可拆卸塑胶按钮模具设计 ·贮油杯盖注塑成型工艺及模具设计 ·杯盖注射模设计 ·方罩盖塑料模具设计 ...

  • 电子类毕业设计
  • 电子通讯] 出租车计价系统 [过程控制] 基于单片机实现单回路智能调节.. [电子通讯] 脉冲数字频率计 [机床仪表] 仪表机床数控系统的设计(论文.. 磁流体发电论文 [电子通讯] 基于VC++6.0的PC机与单片机串行.. [电子通信] 通信毕业翻译(移动通信技术的.. [电子] 利用单片机制作 ...

  • 单片机学习心得
  • 单片机学习心得.txt心态决定状态,心胸决定格局,眼界决定境界.当你的眼泪忍不住要流出来的时候,睁大眼睛,千万别眨眼,你会看到世界由清晰到模糊的全过程. 本文由yangyanhai911贡献 doc文档可能在WAP端浏览体验不佳.建议您优先选择TXT,或下载源文件到本机查看. 我的单片机学习心得 姓 ...

  • 智能小车设计论文
  • 单片机课程设计 题 目 学生姓名 院(系) 班 级 学 号 指导老师 完成日期 年日 南 昌 工 程 学 院 课程设计(论文)任务书 I .课程设计(论文) 题目: 智能小车的设计 II .课程设计(论文) 使用的原始资料(数据) 及设计技术要求: 通过Intel8253和1298N 实现汽车的加速 ...

  • 单片机应用技术课程教学论文
  • 单片机应用技术课程教学论文 摘要:单片机应用技术这门课程的学习并不像有些人想象得那么难,只要老师们合理地设计教学内容,利用现代化的教学手段,采用项目引导式教学方法,并且将目前公司用到的软.硬件开发平台引入课堂教学中,将真实或仿真项目引入到教学中,从而把相关知识点围绕项目技能训练展开教学,注重学生技能 ...

  • 水箱自动上水控制器
  • 辽 宁 工 业 大 学 单片机原理与接口技术 课程设计(论文) 题目: 水箱自动上水控制器 院 (系): 电气工程学院 专业班级: 测控081 学 号: 080301003 学生姓名: 庞长勇 指导教师: 起止时间:2011.6.20-2011.7.3 辽 宁 工 业 大 学 课 程 设 计 说 明 ...

  • 单片机原理与应用课程论文
  • 单片机原理与应用课程论文 指导老师: 授课班号: 姓 名: 学 号: 摘要 单片机以其高可靠性.高性价比.低电压.低功耗等一系列优点,近几年得到迅猛发展和大范围推广,广泛应用于工业控制系统,数据采集系统.智能化仪器仪表,及通讯设备.日常消费类产品.玩具等.并且已经深入到工业生产的各个环节以及人民生活 ...

  • 电信学院培养方案
  • 西安工程大学 学术型硕士研究生培养方案 (专业名称:电力电子与电力传动) (专业代码:080804) 一.培养目标 本学科专业培养能够从事电力电子与电力传动方面的教学.科研.产品开发.工程设计和技术管理等相关工作的高层次人才.学位获得者应具备坚实的基础理论和宽广的专业知识:较为熟练地掌握一门外国语: ...

  • 应用电子技术专业论文应用电子技术论文
  • 本文由lvyanbing01贡献pdf文档可能在WAP端浏览体验不佳.建议您优先选择TXT,或下载源文件到本机查看.2010 年第 26 期 第 31 卷 总 624 期职业技术教育 VOCATIONAL AND TECHNICAL EDUCATIONNo.26,2010 Vol.31 Genera ...

© 2024 范文中心 | 联系我们 webmaster# onjobs.com.cn