51_52单片机(89c52)数码管时钟程序.docVIP

  • 30
  • 0
  • 约7.35千字
  • 约 9页
  • 2019-09-20 发布于江苏
  • 举报
//52单片机程序 /************************************************************/ /* 数码管时钟89c52 */ /************************************************************/ /*程序可调时间,可设闹钟 ,数码管共阳驱动。 */ /*功能键 K1 K2 K3 K4 功能如下 */ /*K1按一下:(显示)显示正常走时间 */ /*K1按两下:(调时)K2按一下再按K3K4调时间时位,K2按两下再按*/ /* K3K4调时间分位,K2按三下再按K3K4调时间秒位 */ /*K1按三下:(显示)显示设置的闹钟时间 */ /*K1按四下:(设闹钟)K2按一下再按K3K4设闹钟时间时位,K2按两*/ /* 下再按K3K4设闹钟时间分位K2按三下再按K3K4设闹钟时间秒位 */ /*K3加键 */ /*K4减键 */ /************************************************************/ /*作者:陈朝宝 */ /*学校:寿宁职业技术学校 */ /*日期:2010年12月22日星期三 */ /************************************************************/ #includereg52.h #define uchar unsigned char #define uint unsigned int uchar code table[10]={ 0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8, 0x80,0x90}; char hh,mm,ss; char nhh,nmm,nss; uchar n,q; uchar hhs,hhg,mms,mmg,sss,ssg; uchar nhhs,nhhg,nmms,nmmg,nsss,nssg; uchar set,set1=1,set2=0; sbit fm=P2^4; sbit wr=P2^5; sbit dula=P2^6; sbit wela=P2^7; sbit k1=P3^4; sbit k2=P3^5; sbit k3=P3^6; sbit k4=P3^7; void jishi(); void baoshi(); void alarm(); void set_alarm(); //设置闹钟 void k_change(); //K1按键扫描 void set_time(); //设置时间 void k_set(); //K2按键扫描 /************************************************************/ //延时函数 void delay(uint xms) { uint i,j; for(i=xms;i0;i--) for(j=110;j0;j--); } /************************************************************/ //位选通 void wx() { wr=0; wela=0; wr=1; wela=1; } /************************************************************/ //段选通 void dx() { wr=0; dula=0; wr=1; dula=1; } /************************************************************/ //显示函数 void display( ) { if(set1==1)//正常走时显示 { P0=0x7f;wx(

文档评论(0)

1亿VIP精品文档

相关文档