网站大量收购闲置独家精品文档,联系QQ:2885784924

单片机控制电路开关程序完整程序.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机控制电路开关程序完整程序

附录2 主程序 #includereg52.h #define uchar unsigned char #define uint unsigned int sbit KEYON =P2^0; // 开始键 sbit KEYOFF=P2^1; // 关闭键 sbit KEYSET=P2^2; // 预约键 sbit KEYINC=P2^3; //加1键 sbit KEYDEC=P2^4; // 减1键 sbit KEYFREE=P2^5; //预留键 sbit POWER=P3^6; //电源开关指示灯 sbit LED=P3^3 ; //按键指示灯 uchar code dispcode[]={0x3f,0x06,0x05b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f,0x40}; //0-9的字型码 uchar data disbuf[]={0,0,0,0}; //显示缓冲区 uchar hour,min ; //小时、分变量 bit Onflag,flag; uchar Setflag; void delay(uchar); //延时子函数 void init(void); //定时器初始化子函数 uchar GetKeyNum(); //求按键号 void Keyprocess(uchar); //按键处理子函数 void calculate(); //计时子函数 void display(); //显示子函数 //--------------------主函数------------------------- void main(void) { init(); P1=0x00; while(1) display(); } //-------------定时器TO、T1初始化,外部中断0初始化子函数----- void init() { TMOD=0x11; //TO、T1作定时器、工作方式1 TH0=(65536-50000)/256 ; //定时50ms TL0=(65536-50000)%256; TH1=(65536-50000)/256; TL1=(65536-50000)%256; IT0=1; //选择外部中断0为下降沿触发方式 EX0=1; //开外部中断0 ET1=1; //开定时器1 ET0=1; //开定时器0 EA =1; //开总中断 TR0=1; } //----------显示子函数-------------------------- void display() { uchar i,j=0x08; if((Setflag==0)!(min|hour)) //数码管显示“- - - -” { for(i=0;i4;i++) disbuf[i]=dispcode[10]; } else // 正常显示时间 { disbuf[0] = dispcode[min%10]; //分个位 disbuf[1] = dispcode[min/10]; //分十位 disbuf[2] = dispcode[hour%10]+0x80; //小时个位 disbuf[3] = dispcode[hour/10]; //小时十位

文档评论(0)

cumhuatgw + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档