版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、分院学生姓名设计题目信息科学与工程学院专业 自动化基丁单片机的交通控制的设计学号 1003010524设计目的:1. 通过设计了解一个十字路口交通灯基本工作原理;2. 掌握89C52计算器/定时器的工作方式和74LS573驱动芯片的工作原理;3. 掌握keil软件的使用;4. 学会team work团队合作。设计内容:设计一个模拟十字路口交通灯控制器, 程序运行后,初始状态时东南西北 方向红灯全亮5秒,接着程序开始循环以下的程序:先东西绿灯和南北红灯亮 15秒;然后南北红灯亮和东西黄灯闪 5秒;接着南北绿灯和东西红灯亮15秒; 最后东西红灯亮和南北黄灯闪5秒。总体设计:本设计采用单片机89C5
2、2作为控制器,通行时间及等待时间使用数码管以 倒计时的方式显示,单片机P1 口控制交通灯(红黄绿三色LCD的替换。指导教师(签字):分院院长(签字):摘要近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控 制检测技术日益更新。在实时检测和自动控制的单片机应用系统中, 单片机往往 作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构 软硬件结合,加以完善。十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什 么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多,在学习了单片机的有关知识之后,运用相关知识来设计完成交通信号
3、灯。我对单片机很感兴趣,所以在听了老师给我们讲解单片机相关知识以后,我 自己课后查找资料, 不断学习单片机方面的知识。这次课设给了我学以致用的 机会,我利用自己学的单片机知识,做了一个基于单片机的模拟交通灯控制的设 计。单片机课程设计目录1设计目的 错误!未定义书签。2设计内容 错误!未定义书签。3总体设计 24硬件设计介绍 24.1数码管倒计时显示的理论分析 34.2三极管的工作原理 34.3二联共阳数码管原理 44.4 74LS573驱动芯片原理 65电路图及仿真设计 76源程序 87设计体会及建议 13-2 -单片机交通灯设计一、设计目的(一)通过设计了解一个十字路口交通灯基本工作原理(
4、二)掌握89C52计数器/定时器的工作方式和74LS573驱动芯片的工作原理;(三)掌握keil软件的使用(四)学会team work团队合作二、设计内容设计一个模拟十字路口交通灯控制器,程序运行后,初始状态时东南西北 方向红灯全亮5秒,接着程序开始循环以下的程序:先东西绿灯和南北红灯亮 15秒;然后南北红灯亮和东西黄灯闪 5秒;接着南北绿灯和东西红灯亮15秒; 最后东西红灯亮和南北黄灯闪 5秒。三、总体设计本设计采用单片机89C52作为控制器,通行时间及等待时间使用数码管以倒 计时的方式显示,使用单片机 P1 口控制交通灯(红黄绿三色LCD的替换。用 单片机的P1.0-P1.5六个I/O 口
5、控制东西南北的红黄绿灯,用 P0.0 P0.7八个 I/O 口控制数码管的段选,用 P2.4 P2.7四个I/O 口控制数码管的位选,其中 用四个NPNE极管放大数码管位选的电流,用驱动芯片74LS573驱动数码管的段 选。四、硬件设计介绍1. 数码管倒计时显示的理论分析利用MCS-51内部的定时器/计数器进行,配合软件延时实现倒计时。在工作 之前必须通过软件设定它的工作方式,即对寄存器 TMO卧每位进行设定,格式 如表3所小。单片机课程设计表3 TMO式D7 D6 D5 D4 D3 D2 D1 D0CATEC/TM1M0CATEC/TM1M0其中,低四位用丁决定T0的工作方式,高四位用丁决定
6、T1的工作方式,M1 和M0工作方式控制位用以确定4种工作方式,如下表4所示:表4 M1和M0控制4种工作方式M1 M0工作方式说明0 0方式013位计数器0 1方式116位计数器1 0方式2自动装载8位计数器1 1方式3定时器0:分为两个8位计数器 定时器1:对外部停止计数采用T0方式1,定时1S,系统时钟为6MHZ所以时钟周期=(12*1/6)us=2us ; 采用每隔100ms中断一次,中断10次为1S,使时间的计数值减1,实现了倒计 时的功能。计算计数初值 X: (216-X) *2us=1s,所以X=15536=3CB0HH此 TH0=3CH,TL0=B0H状态灯显示的理论分析南北通
7、行,东西禁止时利用定时器中断倒计时15S;东西通行,南北禁止时利用定时器中断倒计时15S。中断理论分析MCS-51中断系统有5个中断源,分别是外部中断0、外部中断1、定时器/ 计数器T0溢出中断、定时器/计数器T1溢出中断、申行口中断请求。MCS-51的CPLM中断源的开放和屏蔽,是由片内的中断允许寄存器IE控制。中断允许控制寄存器IE的格式,如表5所示。位地址AFAEADACABAAA9A8位符号EA/ESET1EX1ET0EX0EA 中断允许总控制位,EA=0中断总禁止,禁止所有中断。EA=1中断总 允许,总允许位打开后,各中断的允许或禁止由各中断允许控制位设置决定。EX0(EX1) 外部
8、中断允许控制位,EX0(EX1)=0,禁止外部中断。EX0(EX1)=1, 允许外部中断。ET0(ET1)一 定时/计数中断允许控制位,ET0(ET1)=0 ,禁止定时/计数中断。ET0(ET1)=1,允许定时/计数中断。EA 申行中断允许控制位,ES=Q禁止申行中断。ES=1,允许申行中断。利用MCS-51内部的中断进行,采用外部中断0,跳沿触发方式;外部中断0的中断入口地址为 0003K2. 三极管的工作原理三极管是电流放大器件,有三个极,分别叫做集电极C,基极B,发射极Ec分成NPNO PNP两种。我们仅以NPNE极管的共发射极放大电路为例来说明一 下三极管放大电路的基本原理。如上图所示
9、,我们把从基极 B流至发射极E的电流叫做基极电流Ib;把从 集电极C流至发射极E的电流叫做集电极电流Ic o这两个电流的方向都是流出 发射极的,所以发射极E上就用了一个箭头来表示电流的方向。 三极管的放大作 用就是:集电极电流受基极电流的控制(假设电源能够提供给集电极足够大的电流的话),并且基极电流很小的变化,会引起集电极电流很大的变化,且变化 满足一定的比例关系:集电极电流的变化量是基极电流变 化量的6倍,即电流 变化被放大了 6倍,所以我们把6叫做三极管的放大倍数(6 一般远大丁 1, -2 -单片机课程设计例如几十,几白)。如果我们将一个变化的小信号加到基极跟发射 极之间,这 就会引起基
10、极电流Ib的变化,Ib的变化被放大后,导致了 Ic很大的变化。如 果集电极电流Ic是流过一个电阻R的,那么根据电压计算公式U=R*I可以算得, 这电阻上电压就会发生很大的变化。我们将这个电阻上的电压取出来,就得到了 放大后的电压信号了。3. 二联共阳数码管原理3 - 蛤型尺 寸艮引 捧布E33. SO > 25. SOLJ.CJ-14 -C8021At#-08021BO D I G215 J I 1 iB 17 411 ID fl ft 5 12 7>首步的序槌泛时针方向拌割14-13” 公共 RDIG1. A-I5B-15C-3D-2:H*1F-133-DIDIG2; A-UB-
11、10C-3XH-5F-L23DP- 静态显示静态显示是当显示器显示某个字符时,相应的段恒定地导通或截止,指导显示 另一个字符为止当采用静态显示方式时,各段公共端接地(共阴极)或接电源(共阳极),段选线与一个8位锁存器的输出口相连,显示器的各位相互独立 静态方式显示器亮度较高,编程容易,但占用的 IO 口线资源较多,日常生活中 比较少用。 动态显示数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极 COM曾加位选通控制电路,位选通由各自独立的I/O线控
12、制,当单片机输出字形码时,所有数码管都接收到相同的字形码, 但究竟是那个 数码管会显示出字形,取决于单片机对位选通 CO唏电路的控制,所以我们只要 将需要显示的数码管的选通控制打开, 该位就显示出字形,没有选通的数码管就 不会亮。通过分时轮流控制各个数码管的的 CO啦,就使各个数码管轮流受控显 示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12m§由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据, 不会 有闪烁感,动态显示的效果和静态显示是一样的, 能够节省大量的I/O端口,而 且功耗
13、更低。4. 74LS573驱动芯片原理特点三态总线骚动输出置数全井行存取缓冲控制输入,使能输入有改善抗扰度的滞后作用外引线排列图输入输出输出投制便能敌据GDQLHILHLHLLL1X如_HXXZ功能表高电平L*低电平X 不定Zr高阻志 Q -建演态输入条件BV <?的电平说明:LS573的八个锁存器都是透明的D型锁存器,当使能(G)为高时,Q输出 将随数据(D)输入而变。当使能为低时,输出将锁存在已建立的数据电平上。 输出控制不影响锁存器的内部工作,即老数据可以保持,甚至当输出被关闭时, 新的数据也可以置入。这种电路可以驱动大电容或低阻抗负载,可以直接与系统总线接口并驱动总线,而不需要外
14、接口。特别适用丁缓冲寄存器,I/O通道,双向总线驱动器和工 作寄存器五、电路图及仿真设计设计完成原理图如下在电路连接完成后,将写好的程序放入单片机,运行单片机交通灯控制原理图交通灯实物图实物图东西红灯东西黄灯东西绿灯南北红灯南北黄灯南北绿灯南北数码管位选1南北数码管位选2东西数码管位选1东西数码管位选2 定义无符号整型变量数码管显示函数声明六、源程序#include<reg51.h>#define uchar unsigned char#define uint unsigned intsbit red_dongxi=P1A0;/P1.0sbit yellow_dongxi=P1Al
15、;/P1.1sbit green_dongxi=P1A2;/P1.2sbit red_nanbei=P1A3;/P1.3sbit yellow_nanbei=P1A4;/P1.4sbit green_nanbei=P1A5;/P1.5sbit nbweixuan1=P2A4;/P2.4sbit nbweixuan2=P2A5;/P2.5sbit dxweixuan1=P2A6;/P2.6sbit dxweixuan2=P2A7;/P2.7uint aa,shi1,shi2,ge1,ge2;/uint code table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0
16、xf8,0x80,0x90;void delay(uint z);/延时函数声明void display(uint shi1,uint ge1,uint shi2,uint ge2);/void init1();/状态函数1声明void init2()/状态函数2声明void init3();/状态函数3声明void init4();/状态函数4声明void init5();/状态函数5声明void main()/主函数( P0=0xFF;/P0口初始化P1=0xFF;/P1口初始化P3=0xFF;/P3口初始化EA=1;ET0=1;TR0=0;init1();while(1)/打开中断( i
17、nit2();init3();init4();init5();void init1()/状态函数1( uint temp;temp=5;TMOD=0x01;TH0=(65535-50000)/256;TL0=(65535-50000)%256;EA=1;ET0=1;TR0=1;while(1)( red_dongxi=0;red_nanbei=0;green_dongxi=1;green_nanbei=1;yellow_nanbei=1;yellow_dongxi=1;if(aa=20)( aa=0;temp-;shi1=shi2=temp/10;ge1=ge2=temp%10;if(temp
18、=0) break;display(shi1,ge1,shi2,ge2);void init2()/状态函数 2( uint temp;temp=10;TMOD=0x01;TH0=(65535-50000)/256;TL0=(65535-50000)%256;EA=1;ET0=1;TR0=1;while(1)( red_dongxi=1;red_nanbei=0;green_dongxi=0;green_nanbei=1;yellow_nanbei=1;yellow_dongxi=1;if(aa=20)( aa=0;temp-;shi1=(temp+5)/10;ge1=(temp+5)%10;
19、shi2=temp/10;ge2=temp%10;if(temp=0) break;display(shi1,ge1,shi2,ge2);void init3()/状态函数 3(uint temp;temp=5;TMOD=0x01;TH0=(65535-50000)/256;TL0=(65535-50000)%256;EA=1;ET0=1;TR0=1;while(1)(red_nanbei=0;green_dongxi=1;if(aa=20)( aa=0;temp-;yellow_dongxi=yellow_dongxi;shi1=temp/10;shi2=shi1;ge1=temp%10;g
20、e2=ge1;if(temp=0) break;display(shi1,ge1,shi2,ge2);void init4()/状态函数 4(uint temp;temp=10;TMOD=0x01;TH0=(65535-50000)/256;TL0=(65535-50000)%256;EA=1;ET0=1;TR0=1;while(1)( red_dongxi=0;red_nanbei=1;yellow_dongxi=1;green_nanbei=0;if(aa=20)( aa=0;temp-;shi1=temp/10;ge1=temp%10;shi2=(temp+5)/10;ge2=(temp
21、+5)%10;if(temp=0) break;display(shi1,ge1,shi2,ge2);void init5()/状态函数 5( uint temp;temp=5;TMOD=0x01;TH0=(65535-50000)/256;TL0=(65535-50000)%256;EA=1;ET0=1;TR0=1;while(1)( red_nanbei=1;red_dongxi=0;green_dongxi=1;green_nanbei=1;if(aa=20)( aa=0;temp-;yellow_nanbei=yellow_nanbei;shi1=temp/10;shi2=shi1;g
22、e1=temp%10;ge2=ge1;if(temp=0) break;display(shi1,ge1,shi2,ge2);void display(uint shi1,uint ge1,uint shi2,uint ge2) /数码管显示( dxweixuan1=1;dxweixuan2=0;nbweixuan1=0;nbweixuan2=0;P0=tablege1;delay(5);dxweixuan1=0;dxweixuan2=1;nbweixuan1=0;nbweixuan2=0;P0=tableshi1;delay(5);dxweixuan1=0;dxweixuan2=0;nbwe
23、ixuan1=1;nbweixuan2=0;P0=tablege2;delay(5);dxweixuan1=0;dxweixuan2=0;nbweixuan1=0;nbweixuan2=1;P0=tableshi2;delay(5);中断函数延时函数void xtimer0() interrupt 1/TH0=(65535-50000)/256;TL0=(65535-50000)%256;aa+;void delay(uint z)/ uint x,y;for(x=0;x<z;x+)for(y=0;y<110;y+);七.设计体会与建议在本次课程设计中,重新巩固了单片机理论课时,感觉到的内容很多,知识 点很杂、很繁琐。通过自己的努力也更进一步掌握了单片机的内容构造和工作原 理,以及接外部电路的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河北沧州市运东七县2025-2026学年高一上学期2月期末语文试题(含答案)(含解析)
- 2026年南开大学滨海学院单招职业技能测试题库附答案详解(综合题)
- 2026年厦门华厦学院单招职业倾向性测试题库及1套完整答案详解
- 2026年内江卫生与健康职业学院单招职业适应性考试题库及答案详解(基础+提升)
- 2026年南宁职业技术学院单招职业适应性测试题库含答案详解(模拟题)
- 2026年内蒙古建筑职业技术学院单招职业倾向性考试题库带答案详解(完整版)
- 2026年六盘水职业技术学院单招职业技能考试题库及答案详解一套
- 2026年兰州职业技术学院单招职业倾向性测试题库带答案详解(a卷)
- 2026年内蒙古赤峰市单招职业倾向性考试题库附答案详解(黄金题型)
- 2026年南昌影视传播职业学院单招职业倾向性测试题库及答案详解(有一套)
- 泳池突发安全事故应急预案
- 03K501-1 燃气红外线辐射供暖系统设计选用及施工安装
- 2026年甘肃省公信科技有限公司面向社会招聘80人(第一批)考试重点题库及答案解析
- 2026年上海市虹口区初三上学期一模化学试卷和参考答案
- 涉密文件销毁设备选型与管理
- 高考英语同义词近义词(共1142组)
- 2024年上海市专科层次自主招生考试职业适应性测试真题
- 2026年东营科技职业学院单招综合素质考试必刷测试卷附答案
- 《立体裁剪》课件-3.原型立体裁剪
- 2025年安徽省选调生考试笔试试卷【附答案】
- (零模)苏州市2026届高三年级期初阳光调研试卷 生物试卷(含答案)
评论
0/150
提交评论