单片机系统设计实例交通灯ppt课件.ppt

单片机系统设计实例交通灯ppt课件.ppt

ID:59342017

大小:155.50 KB

页数:40页

时间:2020-09-20

单片机系统设计实例交通灯ppt课件.ppt_第1页
单片机系统设计实例交通灯ppt课件.ppt_第2页
单片机系统设计实例交通灯ppt课件.ppt_第3页
单片机系统设计实例交通灯ppt课件.ppt_第4页
单片机系统设计实例交通灯ppt课件.ppt_第5页
资源描述:

《单片机系统设计实例交通灯ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、公选课《单片机应用系统设计与开发》主讲:张宏伟电子技术锡焊技艺常用元器件及仪器单片机系统设计概述单片机开发系统的使用单片机系统设计实例单片机系统开发的一般方法1、确定任务2、总体设计3、硬件设计4、软件设计5、系统调试1、设计任务:交通灯控制系统设计设计要求1)东西道(A)和南北道(B)上均有车辆要求通过时,A、B道轮流放行。2)有紧急车辆要求通过时,系统要能禁止普通车辆通行,A、B道均为红灯,紧急车由K1开关模拟。3)绿灯转换为红灯时黄灯亮5秒钟。4)能显示剩余时间。5)能对时间进行调整。2、总体设计单片机键盘LED数码管显示LED指示灯复位电路晶振电路3、硬件设计1)单

2、片机选型:AT89S512)复位电路:上电+按钮3)晶振电路4)键盘:独立键盘+中断5)数码管显示:LED6)LED指示灯显示3.1单片机基本电路设计1)复位电路:上电+按钮2)晶振电路3)EA处理4)电源设计3.2键盘电路设计原理是对的,但这样绘图不合适!1、按键功能不清楚2、图形不美观3、打印不清晰较合理的原理图形式1较合理的原理图形式23.3指示灯电路设计3.4剩余时间显示电路设计LED数码管的结构:(1)共阳(2)共阴@共阳数码管每个段笔画是用低电平(“0”)点亮,共阴数码管段笔画是用高电平(“1”)点亮公共阳极hgfedcbaabcdgefh公共阴极hgfedcb

3、aabcdgefhhgf……ahgf……a高电平点亮低电平点亮接高电平接地要显示某个字形,就应使此字形的相应断码的二极管点亮,实际就是送一个用不同电平组合代表的数据字(显示码)来控制LED的显示,此数据称为字符的段码或字形码。共阴极和共阳极LED显示器段码不同。共阳LED数码管:公共端(字位)接高电平,笔划(字段)置为低电平就被点亮了☞比如要显示“0”须令abcdef为“0”电平,gh为“1”电平。共阳极hgfedcbaabcdgefhhgfedcba累加器A110000000C0H=“0”3.4剩余时间显示电路设计4、软件设计东西绿灯南北红灯东西黄灯南北红灯东西红灯南北绿

4、灯东西红灯南北黄灯控制流程:定义一个状态变量SS=0S=1S=2S=34、软件设计程序组成:初始化(系统初始化,中断初始化)定时(交通灯状态转换)显示(指示灯、剩余时间)参数调整紧急状态主程序入口初始化显示入口状态灯显示南北剩余时间显示东西剩余时间显示返回主程序流程图显示子程序流程图定时中断入口当前显示时间减11秒到?是否有一个为0?状态变换判断状态S东西绿灯南北红灯东西黄灯南北红灯东西红灯南北绿灯东西红灯南北黄灯返回YNYN定时中断程序流程图S=0S=1S=2S=3中断0入口更换当前显示值:南北:绿灯时间东西:黄灯时间K3键按下?返回N中断0程序流程图——参数设置调显示子

5、程序绿灯+1K4键按下?黄灯+1K5键按下?绿灯时间处理黄灯时间处理需要注意的问题:1)键盘抖动2)键盘是否弹起3)按键过程中的显示中断1入口更换当前显示值:南北0,东西0状态灯:红色K5键按下?返回N中断1程序流程图——紧急停车调显示子程序关中断开中断Y初始化程序、主程序入口初始化显示初始化程序#include//对单片机的口进行了定义#defineuintunsignedint#defineucharunsignedcharucharcodea[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x

6、6f};//段码组合,共阴极ucharcodeb[4]={0xfe,0xfd,0xfb,0xf7};//位码组合,低有效ucharcodec[4]={0x78,0xb8,0xcc,0xd4};//不同状态下的LEDuchargreen=30,yellow=5;ucharm=35,n=30,s=0,cnt=0;voiddelay(uchart);ucharkey();voiddisplay();voidmain(void){while(1){display();}}显示子程序状态灯显示南北剩余时间显示东西剩余时间显示返回入口voiddisplay(){P1=c[s];P2=0

7、xfe,P0=a[m%10];delay(20);P2=0xfd,P0=a[m/10];delay(20);P2=0xfb,P0=a[n%10];delay(20);P2=0xf7,P0=a[n/10];delay(20);}voiddelay(uchart)//延时0.1*n毫秒0{uchari;do{for(i=0;i<23;i++);;;}while(t--);}定时程序:定时1秒可以吗?不能直接定时定时器方式1,16位,最高计数65536假设晶振12MHz,一个机器周期1us。最长定时65.536ms。确定

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。