单片机,我想在程序里加一个蜂鸣器,一个时间用的数码管

单片机,我想在程序里加一个蜂鸣器,一个时间用的数码管紧急通行控制,如某一方向现为红灯,通过按键强行切换为绿灯,而另一路改为红灯,延时10秒后,恢复原状态(红灯)继续倒数,... 单片机,我想在程序里加一个蜂鸣器,一个时间用的数码管紧急通行控制,如某一方向现为红灯,通过按键强行切换为绿灯,而另一路改为红灯,延时10秒后,恢复原状态(红灯)继续倒数,应该怎么做啊
#include<reg51.h> #define uint unsigned int #define uchar unsigned char sbit RED_NANBEI=P0^0; sbit YELLOW_NANBEI=p0^1; sbit GREEN_NANBEI=P0^2; sbit RED_DONGXI=P0^3; sbit YELLOW_DONGXI=P0^4; sbit GREEN_DONGXI=P0^5; unchar count=0; unchar second=0; void init() { TMOD=0x11; TL0=(65536-50000)%256; TH0=(65536-50000)/256; EA=1; ET0=1; RED_NANBEI=0; GREEN_NANBEI=1; YELLOW_NANBEI=1; RED_DONGXI=0; GREEN_DONGXI=1; YELLOW_DONGXI=1; } void state_1() { RED_DONGXI=1; GREEN_DONGXI=0; while(second<60) { second=0; while(second<1); GREEN_DONGXI=!GREEN_DONGXI; } uchar i=5; GREEN_DONGXI=1; GREEN_YELLOW=0; while(second<5); while(i--); YELLOW_DONGXI=1; RED_DONGXI=0; } void state_2() { RED_NANBEI=1; GREEN_NANBEI=0; while(second<60) { second=0; while(second<1); GREEN_NANBEI=!GREEN_NANBEI; } uchar i=5; GREEN_NANBEI=1; GREEN_NANBEI=0; while(second<5); while(i--); YELLOW_NANBEI=1; RED_NANBEI=0; } void time()interrupt1 { count++; if(count==20) { second++; count=0; } TMOD=0x01; TL0=(65536-50000)%256; TH0=(65536-50000)/256; } int main(void) { init(); TR0=1; while(1) { state_1(); state_2(); } }
展开
 我来答
顶起石头的小草
2017-01-05 · TA获得超过695个赞
知道小有建树答主
回答量:1447
采纳率:0%
帮助的人:312万
展开全部
你那蜂鸣器的作用是什么
更多追问追答
追问
绿灯亮有蜂鸣声
追答
两个方向都有绿灯,那蜂鸣器不是一直会叫
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
逆亦垒
2017-01-06 · TA获得超过2507个赞
知道大有可为答主
回答量:2812
采纳率:56%
帮助的人:695万
展开全部
加好了吗,我可以修改程序
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式