




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、(一)硬件(一)硬件系统方框图系统方框图(二)硬件(二)硬件电路设计电路设计(三)软件系软件系统程序设计统程序设计(四)调试方(四)调试方法与步骤法与步骤(五)项目(五)项目设计总结设计总结3-2 交通交通灯控制器的设计过程灯控制器的设计过程1(一)交通(一)交通灯控制器硬件系统方框图灯控制器硬件系统方框图2数码管显示电路单片机控制器键盘输入电路晶体振荡电路复位电路交通灯指示电路3(二)(二)硬硬件件电电路路设设计计4 1.最小硬件系统电路最小硬件系统电路 单片机的最小硬件系统是指单片机工作必须具备的硬单片机的最小硬件系统是指单片机工作必须具备的硬件条件,最小硬件系统包括以下件条件,最小硬件系
2、统包括以下3个方面。个方面。 (1) 时钟电路时钟电路1XTAL1XTAL2C1C2晶振8051至内部时钟电路图3.2 时钟振荡电路 5 时钟电路用于产生单片机工作所需要的时钟信号。一般时钟电路用于产生单片机工作所需要的时钟信号。一般电容电容C1和和C2取取30 pF左右,晶体的振荡频率范围是左右,晶体的振荡频率范围是1.212 MHz,若晶体振荡频率高,若晶体振荡频率高, 则系统的时钟频率也高则系统的时钟频率也高, 单片机单片机运行速度也就快。运行速度也就快。MCS-51在通常应用的情况下,使用振荡在通常应用的情况下,使用振荡频率为频率为6 MHz、11.0592 MHz或或12 MHz。在
3、本电路中选用。在本电路中选用12 MHz的晶振。的晶振。 单片机复位是使单片机复位是使CPU和系统中的其他功能部件都处在一和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作,个确定的初始状态,并从这个状态开始工作,PC=0000H,使单片机从第一个单元取指令。无论是在单片机刚开始接上使单片机从第一个单元取指令。无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位。复位信号通电源时,还是断电后或者发生故障后都要复位。复位信号通过单片机的第过单片机的第9个引脚个引脚RESET接入,常见的是上电复位和按接入,常见的是上电复位和按键复位电路,键复位电路,(2)复位电路)复
4、位电路6图图3.3 单片机复位电路单片机复位电路(a) 上电复位电路;上电复位电路;(b) 按键复位电路按键复位电路 72.数码管显示电路数码管显示电路8 数码管显示电路中,采用共阳极两位一体数码管,其数码管显示电路中,采用共阳极两位一体数码管,其段码与数码管译码芯片段码与数码管译码芯片74LS47输出端相连,输出端相连,74LS47的译的译码输入端与码输入端与P0口的低四位相连。数码管的位码分别与口的低四位相连。数码管的位码分别与P0.4和和P0.5相连。相连。 键盘接口电路中,键盘接口电路中,S1从指挥交通状态进入参数修改状从指挥交通状态进入参数修改状态,并调出系统原来的参数,修改完成后再
5、按一次退出。态,并调出系统原来的参数,修改完成后再按一次退出。S2为加为加1键(键(S2、S3在指挥交通状态时不起作用),使数在指挥交通状态时不起作用),使数码管加码管加1,并在,并在0099之间变化。之间变化。 S3为减为减1键,使数码管减键,使数码管减1,并在,并在9900之间变化。之间变化。 S4为有紧急车辆通过时,采用为有紧急车辆通过时,采用外部中断外部中断0方式进入与其相应的中断服务程序方式进入与其相应的中断服务程序3.3.键盘接口电路键盘接口电路94.4.交通灯状态指示电路交通灯状态指示电路10(三)软件系统程序设计(三)软件系统程序设计1.交通灯控制过程分析南北酉东11南北绿灯亮
6、,东西红灯亮南北酉东12南北黄灯亮,东西红灯亮南北酉东13南北红灯亮,东西绿灯亮南北酉东14南北红灯亮,东西黄灯亮15状态序号空空南北方向东西方向十六进制码绿黄红绿黄红P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.00001000010 x211000100010 x11000000010 x012000011000 x0c3000010100 x0a000010000 x082.交通灯控制码表交通灯控制码表 3.软件系统流程图 正常情况下交通灯控制程序流程图正常情况下交通灯控制程序流程图紧急情况流程图紧急情况流程图17按键处理流程图 18 程序模块包括:主程序(系统初始化)、
7、显示子程序程序模块包括:主程序(系统初始化)、显示子程序、 按键扫描子程序、外中断按键扫描子程序、外中断0服务子程序、定时器服务子程序、定时器0中断服中断服务子程序(倒计时处理)等。务子程序(倒计时处理)等。 主程序:主程序:包括对定时包括对定时/计数器、外部中断的初始化。反复调计数器、外部中断的初始化。反复调用显示子程序,键盘扫描子程序,交通灯正常运行子程序用显示子程序,键盘扫描子程序,交通灯正常运行子程序以。并在显示过程中等待外部中断功能,等待定时器中断以。并在显示过程中等待外部中断功能,等待定时器中断改变数码管显示指挥交通。改变数码管显示指挥交通。4.软件设计软件设计总体设计:总体设计:
8、定时器设置定时器设置: :交通灯控制需要产生秒信号,定时器一般不能交通灯控制需要产生秒信号,定时器一般不能直接产生,如系统晶振采用直接产生,如系统晶振采用12MHz12MHz,系统的机器周期是,系统的机器周期是1us1us,最大定时约,最大定时约65.536ms65.536ms,可以将定时器设置为反复定时,可以将定时器设置为反复定时62.5ms62.5ms,数中断的次数,每,数中断的次数,每1616次就是次就是1s1s,定时器设置为方,定时器设置为方式式1 1定时,初值为:定时,初值为:655366553662.562.51000/1=0 x0bdc 1000/1=0 x0bdc 19显示子程
9、序:显示子程序:为了显示亮灯的剩余秒数,程序中安排了十为了显示亮灯的剩余秒数,程序中安排了十进制转换程序。剩余秒数的进制转换程序。剩余秒数的BCD码由码由P0口的低四位输出,口的低四位输出,通过通过74LS47译码后送到两个数码管的代码段输入端,位选译码后送到两个数码管的代码段输入端,位选 信号从信号从P0.4和和P0.5输出,实现动态显示。输出,实现动态显示。 比如我们实现动态显示比如我们实现动态显示28S ,要将要将28转换为转换为BCD码码2和和8.具体是将具体是将28/10得到得到2,2即即0 x 00000010,将它与将它与 0 x 00010000进行相或,得到进行相或,得到 0
10、 x 00010010,将它送到,将它送到P0口即可在两个数码管十位显口即可在两个数码管十位显示示2,同理,同理,28%10得到得到8;8即即0 x00001000,将它与将它与 0 x00100000进行相或进行相或 ,得到,得到 0 x00101000,将,将 它送到它送到P0口即可在两个数码管个位显口即可在两个数码管个位显示示8。20 第一个键:按下第一次,系统由运行状态进入修改参数状第一个键:按下第一次,系统由运行状态进入修改参数状态,需做以下工作:态,需做以下工作: 停止倒计时。停止倒计时。 将将ID标志位取反。标志位取反。 第三个键,减第三个键,减1键,将倒计时秒减键,将倒计时秒减
11、1。 第二个键,加第二个键,加1键,将倒计时秒加键,将倒计时秒加1。键盘功能处理子程序设计:键盘功能处理子程序设计: 以上参数设置完成后,再按下第一个键一次,保存修改后以上参数设置完成后,再按下第一个键一次,保存修改后的参数,并替换系统的原有的参数。使系统重新进入指挥的参数,并替换系统的原有的参数。使系统重新进入指挥交通状态。交通状态。第四个键:有紧急车辆通过时,按下此键则程序进入外部第四个键:有紧急车辆通过时,按下此键则程序进入外部中断中断0执行相应的中断服务程序,使四个方向的红灯亮执行相应的中断服务程序,使四个方向的红灯亮10秒秒215.软件系统参考源程序软件系统参考源程序#include
12、unsigned char sec=0;/存入秒的变量存入秒的变量unsigned char temp=10;/存放调整时间的变量存放调整时间的变量unsigned char temp2;unsigned int count=0; /记录进入定时器中断次数的变量,记录进入定时器中断次数的变量,用于秒计时用于秒计时unsigned int count1=0;/记录进入定时器中断次数的变量,记录进入定时器中断次数的变量,用于黄灯闪烁计时用于黄灯闪烁计时unsigned char step=0;bit yellow_flash=0;/黄灯闪烁标志位,为黄灯闪烁标志位,为1黄灯亮,为黄灯亮,为0黄黄灯
13、灭灯灭sbit key_set=P20;/设置倒计时选择键设置倒计时选择键sbit key_up=P21;/加加1键键sbit key_down=P22;/减减1键键22/*延时子函数延时子函数*/void delay(unsigned int n)unsigned char i; while(n-) for(i=0;i99) temp=0;26else if(key_down=0)/减减1键按下键按下 delay(10); /延时消除抖动延时消除抖动 if(key_down=0) while(key_down=0)/调用显示,等待按键放开调用显示,等待按键放开 sec=temp; displ
14、ay(); temp-; /减减1调整调整 if(temp=0) temp=99;27 else if(key_set=0) /设置键再次按下,退出时间调整设置键再次按下,退出时间调整 delay(10); if(key_set=0) while(key_set=0) sec=temp; display();ID=0; /ID=0,退出时间调整,退出时间调整 TR0=1;/重新启动定时器重新启动定时器T0 sec=temp; display(); 28/*定时器T0中断子函数*/void timer0_ISR() interrupt 1 TH0=0 x0b;/重新定时62.5MS初始值 TL0
15、=0 xdc; count+;/进入本中断函数一次,记录值加1 count1+;/进入本中断函数一次,记录值加1 if(count1=8)/记录值加到8次为500ms count1=0; yellow_flash=!yellow_flash; /黄灯闪烁标志位取反 if(count=16)/记录值加到16次为1000ms count=0; sec-; /倒计时秒减1 29if(sec=0)&(step=0) /执行第执行第0步的过程中,倒计时已到步的过程中,倒计时已到0S sec=5; /装倒计时装倒计时5S值值 step=1; /预置第预置第1步,黄灯闪烁步,黄灯闪烁 if(sec=
16、0)&(step=1) /执行第执行第1步的过程中,倒计时已到步的过程中,倒计时已到0S, sec=temp;/重新装载倒计时值重新装载倒计时值 step=2; /预置第预置第2步步 if(sec=0)&(step=2)/执行第执行第2步的过程中,倒计时已到步的过程中,倒计时已到0S sec=5; /装倒计时装倒计时5S值值 step=3; /预置第预置第3步,黄灯闪烁步,黄灯闪烁 if(sec=0)&(step=3)/执行第执行第3步的过程中,倒计时已到步的过程中,倒计时已到0S, sec=temp; /重新装载倒计时值重新装载倒计时值 step=0; /预置第预置第
17、0步,重新开始新一轮的循环步,重新开始新一轮的循环 if(sec=0)&(step=4)/紧急状态下倒计时到紧急状态下倒计时到0秒秒 sec=temp; /重新装载倒计时值重新装载倒计时值 step=0; /预置第预置第0步,重新开始新一轮的循环步,重新开始新一轮的循环 30/*交通灯状态0子函数*/void state0()P1=0 x21; /南北绿灯亮,东西红灯亮/*交通灯状态1黄灯闪烁子函数*/void state1() if(yellow_flash=1)/闪灯标示为1 P1=0 x11;/黄灯亮else/闪灯标示为0 P1=0 x01;/黄灯灭 31/*交通灯状态交通灯状态
18、2子函数子函数*/void state2()P1=0 x0c; /南北红灯亮,东西绿灯亮南北红灯亮,东西绿灯亮/*交通灯状态交通灯状态3黄灯闪烁子函数黄灯闪烁子函数*/void state3()if(yellow_flash=1)/闪灯标示为闪灯标示为1P1=0 x0a;/黄灯亮黄灯亮else/闪灯标示为闪灯标示为0 P1=0 x08;/黄灯灭黄灯灭32/*外部中断外部中断0子函数子函数*/void INT0_ISR() interrupt 0 count=0; sec=10; /红灯亮红灯亮10s P1=0 x09; /所有路口红灯亮所有路口红灯亮 step=4; /执行第执行第4步步33/*交通灯运行子函数交通灯运行子函数*/void traffic_lamp() if(step=0) /执行第执行第0步步 state0(); else if(step=1)/执行第执行第1步步 state1(); else if(step=2)/执行第执行第2步步 state2(); else if(step=3)/执行第执行第3步步 state3();34/*主函数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年保安考试问卷及答案
- 2025年安全生产主要负责人考试题及答案
- 2025年大学秘书考试试题及答案
- 光博会展览搭建施工方案
- 混凝土工地施工方案范本
- 2025员工的合同协议范本
- 2025年制劳务合同期限将至
- 退股谈判方案范本
- 土工膜铺设专项施工方案
- 儿童保健家长试题及答案
- 2025年杭州上城区总工会公开招聘工会社会工作者9人笔试参考题库附答案解析
- 2025年互联网+特殊教育行业研究报告及未来发展趋势预测
- 医院信息安全保密培训课件
- 文化人类学课件完整版
- 碳达峰碳中和产业发展调研报告
- 《海洋学》第二章 地球及海洋概观
- GH/T 1091-2014代用茶
- GB/T 12642-2013工业机器人性能规范及其试验方法
- ESG专题研究报告
- 【初中历史】商鞅变法优秀课件31-川教版
- 食品质量与安全管理概述课件
评论
0/150
提交评论