欢迎来到天天文库
浏览记录
ID:52537045
大小:27.00 KB
页数:4页
时间:2020-03-28
《简单地51单片机定时插座C程序.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、/********************************************************************************************2014/03/15编写******************************************************实现99分钟定时******************************************************当定时时间到LEd*****************************************************灯亮,蜂鸣器响*
2、*****************************************************继电器断开电路******************************************************数码管使用的为******************************************************八段共阴数码管*****************************/#include//头文件#defineuintunsignedint//宏定义#defineucharunsignedchar//宏定义s
3、bitls138A=P2^2;//74Hc138输入端口定义;sbitls138B=P2^3;//74Hc138输入端口定义;sbitls138C=P2^4;//74Hc138输入端口定义;sbitled=P2^0;//秒指示灯端口定义;sbitled1=P2^1;//指示灯端口定义;sbitkey1=P2^7;//按键端口定义;sbitkey2=P2^6;//按键端口定义;sbitrk=P1^4;//继电器端口定义;sbitbeep=P1^5;//蜂鸣器端口定义;ucharshi=99,fen=0,miao=0;//定时时间定义初始值;定时最大时间99分钟精度1秒;unsi
4、gnedcharcodedu[]={0x3F,//"0"0x06,//"1"0x5B,//"2"0x4F,//"3"0x66,//"4"0x6D,//"5"0x7D,//"6"0x07,//"7"0x7F,//"8"0x6F,//"9"0x40,//"-"};voiddelay1ms(uintt)//1Ms延时函数;{uintx,y;for(x=t;x>0;x--)for(y=124;y>0;y--);}voidtime0init()//定时器初始化;{TMOD=0x01;//选择定时器0;EA=1;//打开总中断;TR0=1;//打开定时器;ET0=1;//打开中断0;TH
5、0=(65536-50000)/256;TL0=(65536-50000)%256;}voidmain(){ucharm;time0init();rk=0;while(1){//rk=0;//继电器吸合,接通电路;for(m=0;m<8;m++){switch(m){case0:ls138A=0;ls138B=0;ls138C=0;P0=du[shi/10];break;case1:ls138A=1;ls138B=0;ls138C=0;P0=du[shi%10];break;case2:ls138A=0;ls138B=1;ls138C=0;P0=0x40;break;case
6、3:ls138A=1;ls138B=1;ls138C=0;P0=du[fen/10];break;case4:ls138A=0;ls138B=0;ls138C=1;P0=du[fen%10];break;case5:ls138A=1;ls138B=0;ls138C=1;P0=0x40;break;case6:ls138A=0;ls138B=1;ls138C=1;P0=du[miao/10];break;case7:ls138A=1;ls138B=1;ls138C=1;P0=du[miao%10];break;}delay1ms(3);if(key1==0)//初始化按键;{d
7、elay1ms(5);//消抖;if(key1==0){while(!key1);//按键状态取反,防止多次往下加;led=1;rk=0;//断开继电器;shi=99;fen=0;miao=0;//时间置初值;TR0=1;}}if(key2==0)//定时时间设置按键;{delay1ms(5);//消抖if(key2==0){while(!key2);//按键状态取反,防止多次往下加;shi++;if(shi>=99){shi=2;//shi的初值置为2是防止上电或是复位后}//的误动作;}//}if(
此文档下载收益归作者所有