完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
交通灯电路图.doc
程序 #include #define unit unsigned int /*声明类型*/ #define uchar unsigned char /*声明类型*/ ***it jinji=P3^2; /* 声明紧急按钮为外部中断0*/ ***it yejian=P3^3; /* 声明夜间按钮为外部中断1 */ unit a; uchar time; uchar aa,bb; /*制作共阳极数码管数字0~9的编码表*/ uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; /*初始化程序*/ void init() { a=0; time=10; aa=1;bb=0; P0=0XFF; /* 消隐*/ P1=0; /* 所有LED灯亮*/ TMOD=0X01; /* 方式字:定时器T0方式1*/ EA=1; /* 开中断*/ ET0=1; /* 开定时器0中断*/ TH0=15536/256; /* 初始化T0的高八位,设定时间是50ms*/ TL0=15536%256; /* 初始化T0的低八位*/ EX0=1; /* 外部中断0允许*/ EX1=1; /* 外部中断1允许*/ IT0=0; /* 设定外部中断0电平触发*/ IT1=0; /* 设定外部中断1电平触发*/ } /*延时程序*/ void delay(unit i) { unit j; for( ;i>0;i--) for(j=0;j<1000;j++); } /*数码管显示时间程序*/ void display(uchar a,uchar b,uchar c,uchar d) { P2=table[a]; /*显示南北方向时间的十位 */ /* 按照a按表查找数字代码*/ P0=0XF1; /* 选择第一片数码管*/ delay(3); /* 延时*/ P2=table; /*显示南北方向时间的个位 */ P0=0XF2; /* 选择第二片数码管*/ delay(2); P2=table[c]; /*显示东西方向时间的十位 */ P0=0XF4; /* 选择第三片数码管*/ delay(2); P2=table[d]; /*显示东西方向时间的各位 */ P0=0XF8; /* 选择第四片数码管*/ delay(2); } /*主程序*/ void main() { init(); /* 调用初始化函数*/ TR0=1; /* 启动定时器0*/ P1=0XFF; /* 消隐*/ P1=0XF3; /* 南北绿灯,东西红灯*/ while(1) { display(aa,bb,aa,bb); /* 调用数码管显示时间函数*/ } } /*T0中断程序*/ void time0() interrupt 2 { TH0=(65536-50000)/256; /*重装T0的高八位*/ TL0=(65536-50000)%256; /*重装T0的低八位*/ a++; /*a为计溢出次数*/ if(a%20==0) /*当a为20的倍数时,此时为S*/ { time--; /*time自减,即倒计时*/ aa=time/10; /*时间的十位*/ bb=time%10; /*时间的个位*/ } if(a==200) /*当a是200次的时候,此时的时间是10s*/ { P1=0XF5; /*南北黄灯,东西绿灯*/ time=3; /*持续时间为3s*/ } if(a==260) /*当a是260次时,为13s*/ { P1=0XDE; /*南北红灯,东西绿灯*/ time=10; /*持续时间为10S*/ } if(a==460) /*当a是460次时,为23S*/ { P1=0XEE; /*东西黄灯,南北红灯*/ time=3; /*持续时间为3S*/ } if(a==520) /*a=520时,为26S*/ { P1=0XF3; /*南北绿灯,东西红灯*/ a=0; /*将a清零*/ time=10; /*持续时间为10S*/ } } /*外部中断1(夜间模式)中断程序 void inter1() interrupt 1 { while(yejian==0) { P1=0XFF; P1=0XED; delay(2); } } */ /*外部中断0(紧急模式)中断程序 void inter0() interrupt 0 { P1=0XFF; P1=0XE6; while(jinji==0) {}; } */
|
|
|
相关推荐
|
|
4878 浏览 0 评论
6008 浏览 0 评论
PROTUES仿真no model specified for adc0809,谁有ADC0809的model?
18244 浏览 1 评论
单片机应用技术的ISIS professional电路设置仿真老是报错怎么办
18469 浏览 0 评论
21842 浏览 3 评论
浏览过的版块 |
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-14 07:13 , Processed in 0.837219 second(s), Total 79, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖