AT89S51单片机-可调电子表程序.doc_第1页
AT89S51单片机-可调电子表程序.doc_第2页
AT89S51单片机-可调电子表程序.doc_第3页
AT89S51单片机-可调电子表程序.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

#include#include/包含内部函数库#define uchar unsigned char/宏替换#define uint unsigned int/8只数码管上显示的数字(共阴极数码管)uchar code DSY_CODE=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77;int DSY=0,0,0,0,0,0,0,0;/6只数码管的初值uchar Count;sbit Dot=P37;/可寻址位定义/延时函数void DelayMS(uint ms)uchar t;while(ms-) for(t=0;t120;t+);/时间暂停与启动void start_pause()if(P0&0x01)=0x00)/判断按键是否按下 DelayMS(20); /避开按键抖动时间 if(P0&0x01)=0x00)/再次判断按键是否按下 TR0=TR0; while(P0&0x01)=0x00);/当按键没有释放时停留在此,避免重复执行TR0=TR0;而产生反转 /时间清零void zero()if(P0&0x02)=0x00)/判断按键是否按下 DelayMS(20); /避开按键抖动时间 if(P0&0x02)=0x00)/再次判断按键是否按下 DSY0=0;DSY1=0;DSY2=0;DSY3=0;DSY4=0; DSY5=0; /调整时间(加)void and_time()if(P0&0x04)=0x00)/判断按键是否按下 DelayMS(50); /避开按键抖动时间 if(P0&0x04)=0x00)/再次判断按键是否按下 DSY2+; if(DSY2=10) DSY2=0;DSY3+; if(DSY3=6) DSY3=0;DSY4+; if(DSY4=10) DSY4=0; DSY5+; if(DSY4=4)&(DSY5=2) DSY0=0;DSY1=0; DSY2=0;DSY3=0;DSY4=0; DSY5=0; /调整时间(减)void sub_time()if(P0&0x08)=0x00)/判断按键是否按下 DelayMS(50); /避开按键抖动时间 if(P0&0x08)=0x00)/再次判断按键是否按下 DSY2-; if(DSY2=-1) DSY2=9;DSY3-; if(DSY3=-1) DSY3=5;DSY4-; if(DSY4=-1) DSY4=9; DSY5-; if(DSY5=-1) DSY0=0;DSY1=0;DSY2=0;DSY3=0;DSY4=4; DSY5=2; /主程序void main()uchar i,j;P3=0xff; /字型端P1=0x00; /位选端Count=0;TMOD=0x01;/计数器T0方式1TH0=(65536-50000)/256; /50ms定时TL0=(65536-50000)%256;IE=0x82; /中断允许TR0=1; /启动T0while(1)j=0xfb; /位选端低电平有效for(i=5;i!=-1;i-) /前面高位,后面低位,循环中i!=-1亦可写成i!=0xff P1=j;j=_crol_(j,1); /循环左移P3=DSY_CODEDSYi;/显示Digits_of_6DSY5Digits_of_6DSY0的内容if(i=2|i=4) Dot=1;/加小数点DelayMS(2);start_pause();zero();and_time();sub_time();/T0中断函数void Timer0() interrupt 1TH0=(65536-50000)/256;/恢复初值TL0=(65536-50000)%256;if(+Count!=20) return; /50ms*20=1sCount=0;DSY0+;/1s位累加if(DSY0=10) /进位处理 DSY0=0;DSY1+; if(DSY1=6) DSY1=0;DSY2+; if(DSY2=10) DSY2=0;DSY3+; if(DSY3=6) DSY3=0;DSY4+;

温馨提示

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

评论

0/150

提交评论