基于51单片机的电子钟C语言程序[4页]

上传人:gfy****yf 文档编号:253595511 上传时间:2025-03-16 格式:DOC 页数:5 大小:242.50KB
收藏 版权申诉 举报 下载
基于51单片机的电子钟C语言程序[4页]_第1页
第1页 / 共5页
基于51单片机的电子钟C语言程序[4页]_第2页
第2页 / 共5页
基于51单片机的电子钟C语言程序[4页]_第3页
第3页 / 共5页
资源描述:

《基于51单片机的电子钟C语言程序[4页]》由会员分享,可在线阅读,更多相关《基于51单片机的电子钟C语言程序[4页](5页珍藏版)》请在装配图网上搜索。

1、 基于51单片机的电子钟C语言程序 #include #include #define uchar unsigned char #define uint unsigned int /*七段共阴管显示定义*/ uchar code dispcode[ ]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,                         0xBF,0x86,0xCB,0xCF,0xEF,0xED,0xFD,0x87,0xFF,0xDF}; /*定义并初始化变量*/ uc

2、har seconde=0; uchar minite=0; uchar hour=12; uchar mstcnt=0; sbit P1_0=P1^0;                 // second 调整定义 sbit P1_1=P1^1;                 //minite调整定义 sbit P1_2=P1^2;                 //hour调整定义 /*函数声明*/ void delay(uchar k );      //延时子程序 void time_pro( );    //时间处理子程序 void display( );  

3、     //显示子程序 void keyscan( );                //键盘扫描子程序 /*****************************/ /*延时子程序*/ /****************************/ void delay (uchar k) { uchar j; while((k--)!=0)    {     for(j=0;j<125;j++)      {;}    } }     /**************************/ /*时间处理子程序*/ /*****************

4、*********/ void time_pro( void) {         if(seconde==60)                    //秒钟设为60进制           { seconde=0;             minite++;            if( minite==60)              //分钟设为60进制               { minite=0;                 hour++;               if(hour==24)              //时钟设为24进制     

5、             {hour=0; }               }           }     } /*****************************/ /* 显示子程序*/ /*****************************/ void display(void)    {              P2=0xfe;         P0=dispcode[hour/10];                 //显示小时的十位         delay(4);         P2=0xfd;         P0=(d

6、ispcode[(hour%10)])|0X80;        //显示小时的个位         delay(4);         P2=0xfb;         P0=dispcode[minite/10];               //显示分的十位         delay(4);         P2=0xf7;         P0=(dispcode[minite%10])|0X80;        //显示分的个位         delay(4);         P2=0xef;         P0=dispcode[seconde/10]; 

7、            //显示秒的十位         delay(4);         P2=0xdf;         P0=dispcode[seconde%10];             //显示秒的个位         delay(4);      } /*******************************/ /*键盘扫描子程序*/ /*******************************/ void keyscan (void) {     if(P1_0==0)                     //按键1秒的调整    

8、    {            delay(30);                if(P1_0==0)                    {                        seconde++;                       if(seconde==60)                         {seconde=0; }                    }        }     if(P1_1==0)                    //按键2分的调整        {             delay

9、(30);                if(P1_1==0)                  {                     minite++;                     if(minite==60)                       {minite=0;}        }      }     if(P1_2==0)                   //按键3小时的调整        {             delay(30);                if(P1_2==0)                 

10、   {                        hour++;                     if(hour==24)                       {hour=0; }                  }        } } void timer0(void) interrupt 1 using 0     //定时器0方式1,50ms中断一次     {      TH0=0x3c; TMOD = 0x11;         mstcnt++;         if(mstcnt==20)         {         

11、    seconde++;             mstcnt=0;    //注意点。对计数单元的清零十分的重要,本次调试中就是         }               //因为忽略了这一点,给我早成了很大的被动。        } /**************************/ /*主函数*/ /**************************/ void main(void) {       P1=0xff;                //初始化p1口,全设为1      TMOD = 0x11; //time0为定时器,方式1 TH0=0x3c;             //预置计数初值 TL0=0xb0; EA=1; ET0=1; TR0=1;     while (1) {            keyscan( );    //按键扫描          time_pro( ); //时间处理    display( ); //显示时间           } }

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

相关资源

更多
正为您匹配相似的精品文档
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  sobing.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!