单片机红绿灯数秒程序.doc_第1页
单片机红绿灯数秒程序.doc_第2页
单片机红绿灯数秒程序.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2010-06-08 17:18#include#define uchar unsigned charuchar seg=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/显示0-9段码uchar count,time,state,tf;bit f=0;sbit reset=P34;/*延时函数*/void delay(uchar k) uchar i,j; for(i=0;ik;i+) for(j=0;j200;j+);/*主函数*/void main()TMOD=0x01; /设置为定时器模式1TH0=0x3c; /晶振6MHz,定时时间100msTL0=0xb0;IE=0x82; /开全局中断和定时中断time=16; /计时初值为16scount=0; /秒计数值清0tf=0; /0.5s计数值清0state=0; /初始状态为0while(1) if(reset=0) /复位,状态0,关闭定时器,计时值为16 state=0; TR0=0; time=16; else TR0=1; /启动定时器 switch(state) case 0:P1=0xee;break; /状态0:东西南北全红灯 case 1:P1=0xeb;break; /状态1:南北绿,东西红 case 2:if(f=1) P1=0xeb;else P1=0xef; break; /状态2:南北绿闪烁,东西红 case 3:P1=0xed;break; /状态3:南北黄,东西红 case 4:P1=0xee;break; /状态4:东西南北全红 case 5:P1=0xbe;break; /状态5:南北红,东西绿 case 6:if(f=1) P1=0xbe;else P1=0xfe; break; /状态6:南北红,东西绿闪烁 case 7:P1=0xde;break; /状态7:南北红,东西黄 P2=0xfe; /显示个位 P0=segtime%10; /取计时值个位送P0口 delay(10); /延时 P2=0xfd; /显示十位 P0=segtime/10; /取计时值十位送P0口 delay(10); /延时/*定时中断函数*/void timer0() interrupt 1 TH0=0x3c; /定时重新赋初值TL0=0xb0;count+; /秒计数值加1tf+; /0.5s计数值加1if(tf=5) tf=0; f=f;if(count=10) /中断10次即1s=10100ms count=0; /秒计数次数清0 time-; /计时值减1 if(time=15) state+; /状态1或5 if(time=5) state+; /状态2或6 if(time=2) state+; /状态3或7 if(ti

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论