- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
《单片机》技术期末总結汇报
基于单片机的交通灯控制器设计
目的
运用发光二极管模拟交通灯的控制。
程序功能
模拟交通灯显示。
八位发光二极管提成2组,分别代表交通路口甲、乙两个方向的信号灯(紅、黄、绿、左转)。其中,紅灯与绿灯显示時间均為50s,左转显示時间為15s,黄灯显示5s。其状态表如下:
A方向
B方向
绿灯50s
紅灯50s
左转15s
紅灯15s
黄灯5s
紅灯5s
紅灯50s
绿灯50s
紅灯15s
左转15s
紅灯5s
黄灯5s
在信号灯亮的同步,在LED数码管上显示响应的時间(每个方向用2个数码管,倒计時)。
电路原理图
发光二极管电路图:
数码管电路图:
程序流程:
与否有定期器中断A、B两个方向显示倒计時程序初始化启动定期器0和1开始
与否有定期器中断
A、B两个方向显示倒计時
程序初始化
启动定期器0和1
开始
否 是
定期時间减一
定期時间减一
A方向程序控制流程图
开始
开始
每隔一秒计数值减一
每隔一秒计数值减一
计数值与否為0
计数值与否為0
亮灯标志与否為1 是
亮灯标志与否為1
否
绿灯亮,置亮灯标志為2,计数值為50s 是
绿灯亮,置亮灯标志為2,计数值為50s
亮灯标志与否為2
亮灯标志与否為2
否
左转灯亮,置亮灯标志為2,计数值為15s是
左转灯亮,置亮灯标志為2,计数值為15s
亮灯标志与否為3 否
亮灯标志与否為3
黄灯亮,置亮灯标志為4,计数值為5s是
黄灯亮,置亮灯标志為4,计数值為5s
亮灯标志与否為4
亮灯标志与否為4
是
紅灯亮,置亮灯标志為1,计数值為70s
B方向程序控制流程图
紅灯亮,置亮灯标志為1,计数值為70s
开始
开始
每隔一秒计数值减一
每隔一秒计数值减一
计数值与否為0
计数值与否為0
亮灯标志与否為1 是
亮灯标志与否為1
否
紅灯亮,置亮灯标志為2,计数值為70s 是
紅灯亮,置亮灯标志為2,计数值為70s
亮灯标志与否為2
亮灯标志与否為2
否
绿灯亮,置亮灯标志為2,计数值為50s是
绿灯亮,置亮灯标志為2,计数值為50s
亮灯标志与否為3 否
亮灯标志与否為3
左转灯亮,置亮灯标志為4,计数值為15s是
左转灯亮,置亮灯标志為4,计数值為15s
亮灯标志与否為4
亮灯标志与否為4
是
黄灯亮,置亮灯标志為1,计数值為5s
黄灯亮,置亮灯标志為1,计数值為5s
程序源码(应有必要的注释):
程序功能:模拟交通灯显示。
其中,紅灯与绿灯显示時间均為50s,中间的黄灯显示時间為15s。
绿灯用八位发光二极管流动闪烁作代表;
紅灯用八位发光二极管全亮作代表;
黄灯用八位发光二极管全亮全灭闪烁作代表。
刚开始显示的為绿灯。
显示次序:绿--黄--紅--黄--绿--黄--紅--………………#includereg51.h
#defineucharunsignedchar
#defineuintunsignedint
sbitdula=P2^6;
sbitwela=P2^7;
sbitbeep=P2^3;
unsignedintpp;
unsignedcharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
ucharj,k,l=255;
uchara1,a0;
ucharshijian,deng=2;
voiddelay(unsignedinti)//延時程序
{for(j=i;j0;j--)
for(k=125;k0;k--);}
voiddisplay(unsignedcharsh_c,unsignedcharg_c)//定义灯亮的方式函数
{dula=0;
P0=table[sh_c];
dula=1;
dula=0;
wela=0;
P0=0xfe;
wela=1;
wela=0;
delay(5);
P0=table[g_c];
dula=1;
dula=0;
P0=0xfd;
wela=1;
wela=0;
delay(5);}
voidmain()//主函数
{ TMOD=0x01;
TR0=1;
TH0=(65536-46080)/256;//由于晶振為11.0
您可能关注的文档
最近下载
- 《抽象代数基础+》完整习题解答.pdf
- 数控机床装调维修工竞赛试题及评分标准.doc VIP
- 教科版科学四年级上册全册大单元整体教学设计.pdf VIP
- 上头的电子烟的秘密+禁毒系列知识科普之—依托咪酯主题班会.pptx VIP
- 二氧化碳的实验室制取说课汇总市公开课金奖市赛课一等奖课件.pptx
- 2024年中级消防员职业鉴定理论考试题库(浓缩500题).docx
- (2023正式版)YST 1681-2023 变形铝及铝合金熔体离线渣含量检测方法 .docx VIP
- 数控机床装调维修工实操考试试题.doc VIP
- 2022年山东省职业院校技能大赛(中职组)“机械装配技术”赛项试题(A).docx VIP
- 客运站安全生产培训.pptx VIP
文档评论(0)