课 程 设 计
课 程 单片机课程设计
题 目 定时器控制交通指示灯
院 系 专业班级 学生姓名 2013年 7 月 8日 学生学号
指导教师
东北石油大学课程设计任务书
课程 单片机课程设计 题目 定时器控制交通指示灯 专业 姓名 学号
一、任务
以ATC51单片机为控制核心, 利用单片机内部定时器资源设计出一种可编程的交通指示灯模拟演示系统。
二、设计要求
[1] 掌握单片机内部定时器部分的基础知识;
[2] 东西向绿灯亮5秒后,黄灯闪烁,闪烁5次亮红灯;红灯亮后,南北向由红灯变成绿灯,5秒后南北向黄灯闪烁,闪烁5次亮红灯,东西向绿灯亮,如此反复; [3] 基本电路包括:单片机最小系统、LED指示灯电路等; [4] 提交设计报告、电路图及程序源码。
三、参考资料
[1] 刘国钧,陈绍业,王凤翥.图书馆目录[M].北京:高等教育出版社,1957.15-18. [2] 刘润华,刘立山.模拟电子技术[J].山东:石油大学出版社,2003.
[3] 苏成富.彩灯控制器[J].北京:电机电器技术,2000,(01). [4] 祝富林.音乐彩灯电路CS9482[J].北京:电子世界,1995,(12). [5] 彭介华.电子技术课程设计指导[J].北京:高等教育出版社,1997.
完成期限 2013.7.1 - 2013.7.10 指导教师 专业负责人
2013年 6月 29 日
单片机课程设计 目 录
第1章 绪论.........................................................1
1.1 交通灯概述 ..................................................2 1.2 交通灯控制技术状况 ..........................................2 1.3 本设计任务 ..................................................2 第2 章 总体方案论证与设计 ..........................................3
2.1 按键设置模块 ................................................3 2.2 信号灯状态模块 ..............................................3 2.3 总体硬件组成框图 ............................................3 第3章 系统硬件设计................................................4
3.1 ATC51单片机模块的硬件设计.................................4 3.2控制部分――74LS1芯片简介 ..................................5 3.3其它器件......................................................6 3.4交通信号模拟控制系统原理图....................................8 3.5硬件资源及其分配 .................................................9 第4章 系统的软件设计..............................................10
4.1 程序框图设计 ................................................10 4.2 程序流程图 ..................................................11 第5章 系统调试与测试结果分析......................................12
5.1 使用的仪器仪表 .............................................12 5.2 系统调试 ...................................................12 5.3 测试结果 ...................................................13 结 论..............................................................14 参考文献............................................................15 附录1 程序 .........................................................16
单片机课程设计 第1章 绪论
当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这一技术在19世纪就已出现了。
1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,使受伤,遂被取消。
当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这一技术在19世纪就已出现了。
1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,使受伤,遂被取消。
电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914年始安装于纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。
1918年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故[1]。
信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。1968年,联合国《道路交通和道路标志信号协定》对各种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。
1
单片机课程设计 1.1 交通灯概述
交通灯通常指由红、黄、绿三种颜色灯组成用来指挥交通的信号灯。绿灯亮时,准许车辆通行,黄灯亮时,已越过停止线的车辆可以继续通行;红灯亮时,禁止车辆通行。
往南和往北的信号一致,即红灯(绿灯或黄灯)同时亮或同时熄灭。用两个数码管来显示被点亮的指示灯还将点亮多久。往东和往西方向的信号一致,其工作方式与南北方向一样,也采用两个数码管来倒计时。当南北方向为绿灯和黄灯时,东西向的红灯点亮禁止通行;而东西方向为绿灯和黄灯时,南北向的红灯亮禁止通行。
1.2 交通灯控制技术状况
本设计能模拟基本的交通控制系统,用红绿黄灯表示禁行,通行和等待的信号发生,还能进行倒计时显示,紧急处理等功能。驱动电路后驱动信号灯工作,控制器是系统的主要部分,由它控制定时器和译码器的工作。 1.2.1 倒计时显示
倒计时显示可以提醒驾驶员在信号灯灯色发生改变的时间、在“停止”和“通过”两者间作出合适的选择。驾驶员和行人普遍都愿意选择有倒计时显示的信号控制方式,并且认为有倒计时显示的路口更安全[2]。 1.2.2 时间手动设置
键盘是单片机系统中最常用的人机接口,一般情况下有式和行列式两种。本系统要求的按键控制不多,且I/0口足够,可直接采用式。
1.3 本设计任务
单片机设计交通灯控制系统,可用单片机直接控制信号灯的状态变化,基本上可以指挥交通的具体通行,接入LED数码管就可以显示倒计时以提醒行使者,更具人性化。
2
单片机课程设计
第2 章 总体方案论证与设计
本设计系统以ATC51单片机为控制核心,连接成最小系统,由按键设置模块产生输入,信号灯状态模块,LED倒计时模块接受输出。
2.1 按键设置模块
键盘设置模块对系统输入模式选择及具体通行时间设置的信号,系统进入正常工作状态,执行交通灯状态显示控制,同时将时间数据倒计时输入到LED数码管上实时显示。在此过程中还要实时捕捉紧急按键信号,以达到对异常状态进行实时控制的目的。急停按键随时调用中断。
2.2 信号灯状态模块
采用串行EEPROM(如24C256等)存储LED显示屏要显示的信息。串行EEPROM技术是一种非易失性存储技术,它几乎具有所有类型存储器的优点:不挥发性、可更新性、高密度、低功耗和高性价比,非常适合应用于各类工业测控系统。它克服了常用的2816、2817、28等并行EEPROM器件价格高、体积大、可靠性低(这些器件如不采取措施,在上电、下电时常会丢失数据)等不足,在速度要求不是很高的情况下,该器件是最理想的选择[3]。
2.3 总体硬件组成框图
ATC51
单片机
I/O口扩展
复位电路
图2-1 总体硬件组成框
中断系统
8段LED数码管显示
3
单片机课程设计
第3章 系统硬件设计
实现本设计要求的具体功能,可以选用ATC51单片机及外围器件构成最小控制系统,12个发光二极管分成4组红绿黄三色灯构成信号灯指示模块,8个LED东西南北各两个构成倒计时显示模块,若干按键组成时间设置和紧急按钮等。
3.1 ATC51单片机模块的硬件设计
ATC51是美国ATMEL公司推出的系列单片机,将各种功能的8位CPU与FPEROM(快闪可编程/擦除只读存储器)结合在一个芯片上,是一种低功耗、高性能的CMOS控制器,为很多嵌入式控制应用提供了非常灵活而又价格便宜的方案,其性能价格比远高于同类芯片[4]。
ATC51单片机为40引脚双列直插芯片,有4个I/O口,P0 ,P1, P2, P3,单片机的最小系统如图所示,18引脚和19引脚接时钟脉冲电路,XTAL1接外部晶振和微调电容的一端,在片内它是震荡器倒相放大器的输入,XTAL2接外部晶振和微调电容的另一端,在片内她是振荡器倒相放大器的输出端,第9引脚为复位输入端,接上电容,电阻及开关后构成上电复位电路,20引脚为接地端,40引脚为电源端(图中未显示)。如图所示:
C2
10k+5V22uFX1CRYSTAL19U1XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617C322uf18XTAL2C19RSTR1200Ω22uf29R3R410k1k~10k31R230PSENALEEA12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7ATC51 图3-1 ATC51最小系统连接电路 4 单片机课程设计 3.1.1 ATC51的内部结构功能
处理器:处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。
数据存储器:数据存储器用于存放变化的数据。ATS51中数据存储器的地址空间为256个RAM单元,但其中能作为数据存储器供用户使用的仅有前面128个,后128个被专用寄存器占用。
程序存储器:程序存储器用于存放程序和固定不变的常数等。通常采用只读存储器,且其又多种类型,在系列单片机中全部采用闪存。ATC51内部配置了4KB闪存。
定时/计数器:定时/计数器用于实现定时和计数功能。ATC51共有2个16位定时/计数器。
并行输入输出(I/O)口:8051共有4组8位I/O口(P0、 P1、P2或P3),用于对外部数据的传输。 每个口都由1个锁存器和一个驱动器组成。它们主要用于实现与外部设备中数据的并行输入与输出,有些I/O口还有其他功能。
全双工串行口:AC51内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。
时钟电路:时钟电路的作用是产生单片机工作所需要的时钟脉冲序列。 中断系统:中断系统的作用主要是对外部或内部的终端请求进行管ATC51共有5个中断源,其中有2个外部中断源和3个内部中断源[5]。 3.1.2 单片机的串行接口工作方式
51单片机的串行接口有四种工作方式。方式0是将SBUF作为8位同步移位寄存器使用(固定波特率);方式1是10位异步通信方式(可变波特率);方式2是11位异步通信方式(固定波特率);方式3是11位异步通信方式(可变波特率)。
3.2控制部分――74LS1芯片简介 3.2.1 74LS1芯片的引脚图和说明
U298RSRG8C1/->312&1D45610P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WR39383736353433322122232425262728101112131415161711121374LS1
5 图3-2 74LS1芯片与51单片机的连接 单片机课程设计 3.3 其它器件
3.3.1发光二极管
根据本设计的特点,红绿灯的显示不可少,红绿灯的显示采用普通的发光二极管。每个方向上设置红绿黄灯,总共4组。如果东西红灯亮,那南北方向就是绿灯亮,反之亦然,所以在硬件上连接图上也是对称分布的,如下图3-3所示。
vccvcc0.3Kvcc0.3KGp12vcc0.3Kp13p14p15Yp110.3KGp12vccRp100.3KYp11p13p14p15RYG0.3K0.3K0.3KvccvccvccvccRp10
0.3KRYG0.3K0.3K0.3Kvccvccvcc图3-3 信号灯的连接
在本设计中,实际控制的灯只有6个,即:东西红灯,东西绿灯,东西黄灯,南北红灯,南北绿灯,南北黄灯,其中均是低电平有效。
共有4钟状态:东西红灯亮,南北绿灯亮(11011101/DDH);东西红灯亮,南北黄灯亮(10111101/BDH);东西绿灯亮,南北红灯亮(11101101/EDH);东西黄灯亮,南北红灯亮(11100111/E7H)。
括号中是P1端口8个引脚值P1.7,P1.6,P1.5,P1.4,P1.3,P1.2,P1.1,P1.0以及对应的十六进制码。
在用于显示发光二极管时,直接由MOV指令将十六进制码送入P1口。刚才的4个状态是依次变换的,这就要涉及到状态的判断和衔接了。先把P1端口的值与所有的4个状态码比较,若相同则判断成功当前状态,再把下一状态的状态码送显P1即可[6]。 3.3.2 8段LED数码管
LED显示屏作为大型显示设备的一种,具有亮度高、价格低、寿命长、维护简便等优点。LED数码管的结构简单,分为七段和八段两种形式,也有共阳和共
6
单片机课程设计 阴之分。以八段共阴管为例,它有8个发光二极管(比七段多一个发光二极管,用来显示sP,即点),每个发光二极管的阴极连在一起。这样,一个LED数码管就有I根位选线和8根段选线,要想显示一个数值,就要分别对它们的高低电平来加以控制。为方便起见,本文主要讨论共阴八段LED数码显示管,其他类形的显示管与其类似。
图3-4 LED数码管
LED 灯的显示原理:通过同名管脚上所加电平的高低来控制发光二极管是否点亮而显示不同的字形,如 dp,g,f,e,d,c,b,a全亮显示为8(采用共阴极连接)。
显示数值 0 1 2 3 4 5 表3-1 驱动代码a b c d e f g dop 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 0 0 1 0 0 1 1 0 0 1 1 0 1 0 1 1 0 1 1 0 驱动代码(16进制) 0FCH 60H 0DAH 0F2H 66H 0B6H 0BEH 0E0H 0FEH 0F6H 6 1 0 1 1 1 1 1 0 7 1 1 1 0 0 0 0 0 8 1 1 1 1 1 1 1 0 9 1 1 1 1 0 1 1 0
相应在程序软件上,可以通过调用程序给定的秒值经过特定计算算出需要显示的个位和十位,然后用DPTR调取LEDMAP的代码。
AMBERCC12345678abcdfeefgdpagdGNDbcdp图3-5 8段LED数码显示管 7
9单片机课程设计 LED8段数码管的设置为每个方位上的一对2为显示器。四个方位上总共用8个LED接在单片机的I/O口上。虽然路口不一样,但是显示的时间在数字上是一样的,所以两边连接的I/O口是对称的。因为输出口较少的原因,所以每个十位,个位的数据的传输必须采用动态扫描的方式,因为人眼的视觉原因,人们会认是同时点亮的[7]。
下面我们用这种方法显示交通灯的时间,南北方向要显示20秒,东西方向要显示25秒,那么我们先给P0口送2的共阴极码即5BH,让第一位2要显示的位码GND段为低电平,其它七位的控制端都接高电平,那么第一位就显示2,其它七位不亮。让其显示1MS后再给P0口送0的共阴极码即3FH,让第二位要显示0的位码GND段为低电平,其它七位的控制端都接高电平,那么第二位就显示0,其它七位不亮。依此类推分别送完第一位2,第二位0,第三位2,第四位5„„每一位点亮1MS一个扫描周期为8MS,一秒时间就要扫描125次。
3.4交通信号模拟控制系统原理图
本系统以单片机为核心,系统硬件电路由单片机违规,状态灯,LED显示,按键组成。其具体的硬件电路总图如图3-6所示。
+5VU298RSRG8C1/->3U3RSRG8C1/->3U4RSRG8C1/->3U5RSRG8C1/->312&1D4512&1D4561011121312&1D4561011121312&1D45610111213C222uF6X1CRYSTAL19U1XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD3938373635343332212223242526272810111213141516171011121374LS174LS1C3 R1200Ω22uf18XTAL2C1922uf29R2301k~10k31RST74LS174LS1R310kR410k PSENALEEA1210ATC51D7LED-REDD11LED-GREEN812345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.71311U6:D40106U6:E401069U6:F40106D1LED-YELLOWU6:AD51401062LED-REDD6LED-REDU6:BD934010LED-GREEND10LED-GREENU6:CD35401066LED-YELLOWD4LED-YELLOW D8LED-REDD12LED-GREEND2LED-YELLOW
图3-6 系统原理图
8
单片机课程设计 3.5硬件资源及其分配
主要用到的硬件:P1口、P3口、LED数码管、LED发光二极管、定时器T0。 3.5.1 硬件分配
P1口:做为输出口,与发光二极管相连接,其状态及对应的十六进制值如下:
方向 状态 0 1 2 3 4 无 P1.7 P1.6 00000000000000表3-2 P1口状态对应十六进制值
南 北 P1.5 P1.4 P1.3 00000101111000东 西 P1.2 P1.1 P1.0 00100001000111 16进制值 09H 0CH 0AH 08H 21H 11H 01H 说 明 0 0 0 0 1 0 0 0 1 0 0 0 0 0都为红灯亮 东西绿南北红 东西黄闪 南北红 东西红南北绿 南北黄闪 东西红 P3口中的P3.0(RXD)和P3.1(TXD)作特殊用途,数据(倒计时时间)从RXD端输入,TXD端输出。
74LS1和LED发光二极管用来显示灯亮情况。定时/计数器T0用来产生1秒的定时。74LS1和数码管用来显示时间[8]。 3.5.2 运行步骤
接硬件图接线,为了确保东西南北红黄绿灯能够对应显示,实验时,对P1口的接线做了调整。即,P1.0接L3,P1.1接L2,P1.2接L1,P1.3接L6,P1.4接L5,P1.5接L3。
S/P区DATA插孔接BUS 3区P3.0;S/P区CLK插孔接BUS 3区P3.1;S/P区 CLR接/SP插孔。
从0030H单元开始连续运行,观察六个LED灯是否与交通显示情况对应,如果有偏差,则单步运行或断点运行,进行调试,直至满足设计要求。
调试完灯的显示后,从0030H开始连续运行,观察数码管显示的是否正常,如果不正常,则运用单步运行或断点运行进行分析和调试,直至满足要求。 整体运行,观察灯显示和时间显示是否都符合要求,如果不符合,则再调试。直至满足要求[9]。
9
单片机课程设计
第4章 系统的软件设计
软件是该交通灯控制系统的重要组成部分,在系统的软件设计中我们也采用了模块化设计,将系统的各部分功能编写成子模块的形式,这样增强了系统软件的可读性和可移植性。
4.1 程序框图设计
开始 初始化,全为红灯亮 延时并将时间送显 东西绿灯亮,南北红灯亮 延时,将时间显送 东西黄灯闪,南北红灯亮 延时,将时间送显 东西红灯亮,南北绿灯亮 延时并将时间送显 东西红灯亮,南北黄灯闪 延时并将时间送显 图4-1 程序框图
10
单片机课程设计 4.2 程序流程图
开始 置串行口工作方式为0 P1为09H,R2为04H 调用延时 P1为0CH,R2为10H (R7)=3 (P1)=0AH,(R2)=1 调用延时
N (P1)=18H,(R2)=1 调用延时 (R7)-1=0 Y (P1)=21H,(R2)=10H 调用延时 (R7)=3 (P1)=11H,(R2)=1 调用延时 (P1)=03H ,(R2)=1 调用延时 N (R7)-1=0 Y
图4-2 主程序流程图 11
单片机课程设计
第5章 系统调试与测试结果分析
5.1 使用的仪器仪表
单片机 ATC51 移位寄存器 74LS1*4 LED显示器 7SEGCOMK*4
交通指示灯 LED-RED*4、LED-YELLOW*4、LED-GREEN*4
5.2 系统调试
根据系统设计方案,本系统的调试共分为三大部分:硬件调试,软件调试。 5.2.1 硬件调试
硬件调试是利用开发系统、基本测试仪器(万用表、示波器等), 检查用户系统硬件中存在的故障。硬件调试可分为静态调试与动态调试两步进行。
静态调试是在用户系统未工作时的一种硬件检测。第一步:目测,检查外部的各种元件或者是电路是否有断点;第二步:用万用表测试,先用万用表复核目测中有疑问的连接点,再检测各种电源线与地线之间是否有短路现象;第三步:加电检测,给板加电,检测所有的插座或是器件的电源端是否符合要求的值;第四步:联机检查,因为只有用单片机开发系统才能完成对用户系统的调试[10]。
动态调试是在用户系统工作的情况下发现和排除用户系统硬件中存在的器件内部故障、器件连接逻辑错误等的一种硬件检查。动态调试的一般方法是由近及远、由分到合。由分到合是指首先按逻辑功能将用户系统硬件电路分为若干块,当调试电路时,与该元件无关的 器件全部从用户系统中去掉,这样可以将故障范围限定在某个局部的电路上。当各块电路无故障后,将各电路逐块加入系统中,在对各块电路功能及各电路间可能存在的相互联系进行调试。由分到合的调试既告完成。由近及远是将信号流经的各器件按照距离单片机的逻辑距离进行由近及远的分层,然后分层调试。调试时,仍采用去掉无关元件的方法,逐层调试下去,就会定位故障元件了[11]。
12
单片机课程设计 5.2.2软件调试
软件调试是通过对拥护程序的汇编、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。程序后,编辑,查看程序是否有逻辑的错误[12]。
5.3 测试结果
此次系统设计结果较好,交通灯能实现指挥交通的功能。交通灯控制系统由单片机ATC51,十二个交通灯(红黄绿各四个),4块7段LED倒计时显示器组成,通过不同颜色灯的亮灭状态控制车辆的前进或停止,倒计时显示器帮助司机决定该前进还是停止。
13
单片机课程设计 结 论
交通灯控制在交通运输领域有着非常重要的作用。本设计完成了基于单片机的交通灯控制系统的设计与模拟。包括通行方案的设计,系统的硬件开发、软件编程与仿真调试等。在设计完成过程中,主要做的工作有:
(1)确定交通系统具体的通行方案,规定东西向和南北向车辆的行止状态和时间分配,以及要求其他多功能的实现。
(2)以ATMEL公司的ATC51单片机为核心进行系统硬件设计,输入量包括:按键状态;输出控制交通信号灯亮灭状态及时间,以及LED数码管倒计时显示。
(3)在车流量检测系统中采用模糊控制方法,这需要知道被控对象的数学模型,进行清晰化,具体化。因此,必须实施调查确定车流量少,中,多所要求具 体数量,然后经过单片机控制器的相关算法及处理确定红绿灯亮灭时间。
通过单片机课程设计,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。
在此次课程设计过程中,我把单片机的理论知识用于实践中,使理论与实践相结合,使我的理论知识的到了巩固,在查资料翻阅资料的过程中也丰富了我的知识和阅历。
14
单片机课程设计
参考文献
[1] 张毅坤. 单片微型计算机原理及应用.西安电子科技大学出版社,1998. [2] 余锡存 曹国华.单片机原理及接口技术.西安电子科技大学出版社,2000. [3] 雷丽文 等.微机原理与接口技术.电子工业出版社,1997.
[4] 吴黎明, 王桂棠, 洪添胜,等. 单片机原理及应用技术.科学出版社,2005. [5] 韩克, 柳秀山, 等. 电子技能与EDA 技术.暨南大学出版社, 2004. [6] 张毅坤.单片微型计算机原理及应用.西安电子科技大学出版社,1998 [7] 周润景. 张丽娜. 基PROTEUS的电路及单片机系统设计与仿真.航空航天大
学出版社, 2006 .
[8] 李鸿恩,熊国奎.数字电子技术.重庆大学出版社,1994 [9] 《单片机原理与应用技术》主编:苏家健等 高等教育出版社出版
[10] R D.Middlebrook, Small-Signal Modeling of Pulse-Width Modulated
Switched-Mode PowerConverters,Proceedings of the IEEE,1988.
[11] F.DongTan,R D.Middlebrook,A Unified Modelfor Current-Programmed
Converters,IEEE Trans.on Power Electronics,1995.
[12] 杜树春.基于Proteus和Keil C51的单片机设计与仿真[M].北京:电子工业出
版社.2012
15
单片机课程设计 附录1 程序
SECOND1 EQU 30H ;东西路口计时寄存器 SECOND2 EQU 31H ;南北路口计时寄存器 DBUF EQU 40H ;显示码缓冲区1 TEMP EQU 44H ;显示码缓冲区2 LED_G1 BIT P2.1 ;LED_Y1 BIT P2.2 ;LED_R1 BIT P2.3 ;LED_G2 BIT P2.4 ;LED_Y2 BIT P2.5 ;LED_R2 BIT P2.6 ; ORG 0000H LJMP START ORG 0100H
START: MOV TMOD,#01H ; MOV TH0,#3CH ; MOV TL0,#0B0H CLR TF0
SETB TR0 ; CLR A
MOV P1,A ;
LOOP: MOV R2,#20 ; MOV R3,#20 ; MOV SECOND1,#25 ; MOV SECOND2,#25 ; LCALL DISPLAY
LCALL STATE1 ;WAIT1: JNB TF0,WAIT1 ; CLR TF0
MOV TH0,#3CH ; MOV TL0,#0B0H
DJNZ R2,WAIT1 ; MOV R2,#20 ;
DEC SECOND1 ;东西路口绿灯 东西路口黄灯 东西路口红灯 南北路口绿灯 南北路口黄灯 南北路口红灯 置T0为工作方式1
置T0定时初值50ms 启动T0 关闭不相关的LED
置1S计数初值,50ms*20=1s 红灯亮20S
东西路口计时显示初值25s 南北路口计时显示初值25s 调用状态1 查询50ms到否
回复T0定时初值50ms 判断1S到否 未到继续状态1 置50MS计数初值 东西路口显示时间减1s
16
单片机课程设计 DEC SECOND2 ;南北路口显示时间减1s LCALL DISPLAY
DJNZ R3,WAIT1 ;状态1维持20s
MOV R2,#5 ;置50MS计时初值5*4=20 MOV R3,#3 ;路灯闪3s MOV R4,#4 ;闪烁间隔200ms
MOV SECOND1,#5 ;东西路口计时显示初值5s MOV SECOND2,#5 ; LCALL DISPLAY ;
WAIT2: LCALL STATE2 ; JNB TF0,WAIT2 ; CLR TF0 ;
MOV TH0,#3CH ; MOV TL0,#0B0H
DJNZ R4,WAIT2 ; CPL LED_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
WAIT3: LCALL STATE3 ; JNB TF0,WAIT3 ; CLR TF0 MOV TH0,#3CH ; MOV TL0,#0B0H
DJNZ R2,WAIT3 ; MOV R2,#20 ;
DEC SECOND1 ;南北路口计时显示初值5s 调用状态2
查询50ms到否 恢复T0定时初值50ms 判断200MS到否 未到继续状态2 东西绿灯闪 闪烁间隔200MS
判1S到否 未到继续状态2 置50MS计数初值 东西路口显示时间减1S 南北路口显示时间减1S
状态2维持3S 置50MS计数初值
黄灯闪2S
东西路口计时显示初值2S 南北路口计时显示初值2S 调用状态3
查询100MS到否 恢复T0定时初值100MS
判断1S到否 未到继续状态3 置100MS计数初值 东西路口显示时间减1S
17
单片机课程设计 DEC SECOND2 ;南北路口显示时间减1S LCALL DISPLAY
DJNZ R3,WAIT3 ;状态3维持2S MOV R2,#20 ;置50MS计数初值 MOV R3,#20 ;红灯闪20S
MOV SECOND1,#25 ;东西路口计时显示初值25S MOV SECOND2,#25 ;南北路口计时显示初值25S LCALL DISPLAY
WAIT4: LCALL STATE4 ; JNB TF0,WAIT4 ; CLR TF0
MOV TH0,#3CH ; MOV TL0,#0B0H
DJNZ R2,WAIT4 ; MOV R2,#20 ; DEC SECOND1 ; DEC SECOND2 ; LCALL DISPLAY
DJNZ R3,WAIT4 ; MOV R2,#5 ; MOV R4,#4 ; MOV R3,#3 ; MOV SECOND1,#5 ; MOV SECOND2,#5 ; LCALL DISPLAY
WAIT5: LCALL STATE5 ; JNB TF0,WAIT5 ; CLR TF0
MOV TH0,#3CH ; MOV TL0,#0B0H
DJNZ R4,WAIT5 ; CPL LED_G2 ; MOV R4,#4 ; DJNZ R2,WAIT5 ; MOV R2,#5 ;
DEC SECOND1 ;调用状态4
查询100ms到否 恢复T0定时初值100ms 判断1S是否 未到继续状态4 置100MS计数初值 东西路口显示时间减1S 南北路口显示时间减1S 状态4维持20S 置50MS计数初值 红灯闪20S 绿灯闪3S
东西路口计时显示初值5S 南北路口计时显示初值5S 调用状态5
查询100MS到否 恢复T0定时初值100MS 判断200MS到否?未到继续状态5 南北绿灯闪 闪烁200MS
判断1S到否?未到继续状态5 置100MS计时初值 东西路口显示时间减1S
18
单片机课程设计 DEC SECOND2 ;南北路口显示时间减1S LCALL DISPLAY
DJNZ R3,WAIT5 ;状态5维持3S MOV R2,#20 ;置50MS计数初值 MOV R3,#2 ;红灯闪2S
MOV SECOND1,#2 ;东西路口计时显示初值2S MOV SECOND2,#2 ;南北路口计时显示初值2S LCALL DISPLAY
WAIT6: LCALL STATE6 ; JNB TF0,WAIT6 ; CLR TF0
MOV TH0,#3CH ; MOV TL0,#0B0H
DJNZ R2,WAIT6 ; MOV R2,#20H ; DEC SECOND1 ; DEC SECOND2 ; LCALL DISPLAY
DJNZ R3,WAIT6 ;
LJMP LOOP ;STATE1: ; SETB LED_G1 ; CLR LED_Y1 CLR LED_R1 CLR LED_G2 CLR LED_Y2
SETB LED_R2 ; RET STATE2: ; CLR LED_Y1 CLR LED_R1 CLR LED_G2 CLR LED_Y2
SETB LED_R2 ; RET STATE3: ;
CLR LED_G1
调用状态6
查询100MS到否 恢复T0定时初值100MS 判断1S到否 未到继续状态6 置100MS计数初值 东西路口显示时间减1S 南北路口显示时间减1S 状态6维持2S 大循环
状态1 东西路口绿灯亮 南北路口红灯亮 状态2
南北路口红灯亮 状态3
19
单片机课程设计 CLR LED_R1 CLR LED_G2 CLR LED_Y2
SETB LED_R2 ;南北路口红灯亮 SETB LED_Y1 ;东西路口绿灯亮 RET STATE4: ;状态4
CLR LED_G1 CLR LED_Y1
SETB LED_R1 ; SETB LED_G2 ; CLR LED_Y2 CLR LED_R2 RET STATE5: ; CLR LED_G1 CLR LED_Y1
SETB LED_R1 ; CLR LED_Y2 CLR LED_R2 RET STATE6: ; CLR LED_G1 CLR LED_Y1
SETB LED_R1 ; CLR LED_G2 CLR LED_R2
SETB LED_Y2 ; RET
DISPLAY: ; MOV A,SECOND1 ; MOV B,#10 ; DIV AB MOV DBUF+3,A MOV A,B MOV DBUF+2,A
MOV A,SECOND2
东西路口红灯亮 南北路口红灯亮 状态5
东西路口红灯亮 状态6
东西路口红灯亮 南北路口黄灯亮 数码显示
东西路口计时寄存器 十六进制数拆成两个十进制数20
单片机课程设计
MOV B,#10 DIV AB MOV DBUF+1,A MOV A,B MOV DBUF,A MOV R0,#DBUF MOV R1,#TEMP MOV R7,#4 MOV A,@R0 MOVC A,@A+DPTR MOV @R1,A INC R0 INC R1 DJNZ R7,DP10 MOV R0,#TEMP MOV R1,#4 MOV A,@R0 MOV P3.0,C CLR P3.1 SETB P3.1 DJNZ R7,DP13 INC R0 DJNZ R1,DP12 RET
DB 3FH,06H,5BH,4FH,66H,6DH ;0,1,2,3,4,5 DB 7DH,07H,7FH,6FH,77H,7CH ;6,7,8,9,a,b DB 58H,5EH,7BH,0,40H ;c,d,e,f,,-
DP10: MOV DPTR,#LEDMAP
DP12: MOV R7,#8 DP13: RLC A
LEDMAP:
END
21
单片机课程设计
附录2 仿真效果图
U298RSRG8C1/->3U3RSRG8C1/->3U4RSRG8C1/->3U5RSRG8C1/->312&1D4512&1D4561011121312&1D4561011121312&1D45610111213C222uF6X1CRYSTAL19U1XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD3938373635343332212223242526272810111213141516171011121374LS174LS1C322uf+5V18XTAL2C19RST74LS174LS1R1200Ω22uf29R2301k~10k31R310kPSENALEEAR410k1210ATC51D7LED-REDD11LED-GREEN812345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.71311U6:D40106U6:E401069U6:F40106D1LED-YELLOWU6:AD51401062LED-REDD6LED-REDU6:BD934010LED-GREEND10LED-GREENU6:CD35401066LED-YELLOWD4LED-YELLOWD8LED-REDD12LED-GREEND2LED-YELLOWU298RSRG8C1/->3U3RSRG8C1/->3U4RSRG8C1/->3U5RSRG8C1/->312&1D4512&1D4561011121312&1D4561011121312&1D45610111213C222uF6X1CRYSTAL19U1XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD3938373635343332212223242526272810111213141516171011121374LS174LS1C322uf+5V18XTAL2C19RST74LS174LS1R1200Ω22uf291k~10k31R230R310kPSENALEEAR410k1210ATC51D7LED-REDD11LED-GREEN812345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.71311U6:D40106U6:E401069U6:F40106D1LED-YELLOWU6:AD51401062LED-REDD6LED-REDU6:BD934010LED-GREEND10LED-GREENU6:CD35401066LED-YELLOWD4LED-YELLOWD8LED-REDD12LED-GREEND2LED-YELLOW 22
东北石油大学课程设计成绩评价表
课程名称 题目名称 学生姓名 序号 评价项目 工作量、工作态度和出勤率 学号 单片机课程设计 定时器控制交通信号灯 指导教 师姓名 指 标 按期的完成了规定的任务,难易程度和工作量符合教学要求,工作努力,遵守纪律,出勤率高,工作作风严谨,善于与他人合作。 课程设计选题合理,计算过程简练准确,分析2 课程设计质量 问题思路清晰,结构严谨,文理通顺,撰写规范,图表完备正确。 3 4 总分 评语: 创新 答辩 工作中有创新意识,对前人工作有一些改进或有一定应用价值。 能正确回答指导教师所提出的问题。 5 30 45 20 职称 满分 副教授 讲师 评分 1 指导教师: 年 月 日
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务