秒表计时器

2019-02-28 22:42

/*1.按下启动键,秒表计时;按下停止键,秒表暂停计时; 2.再按启动键,秒表接着计时;再按下停止键,秒表暂停计时; 3.再按下停止键,秒表清零;

4.清零后能够回显两次记录的秒数; 5.完成整体设计,交出完整的课设报告。 */

#include

#include #include #include

#define uchar unsigned char #define uint unsigned int

#define shuju P0 //LCD1602 P0输出显示数据 sbit wela=P2^7; //数码管位选锁存端 sbit dula=P2^6; //数码管段选锁存端 sbit key1 =P3^2; //启动命令 sbit key2 =P3^3; //停止命令 sbit key3 =P3^4; //清除键 sbit key4 =P3^5; // 空车

//********定义变量***************************** uchar flag; //标志位 uchar flag1; //标志位 uchar flag2; //标志位

uchar table2[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,}; uchar table1[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//位码 uchar tt; // 计时标量每50ms加1 uchar a; // 秒个位 uchar b; // 秒十位 uchar c; // 分个位 uchar d; // 分十位 uchar num1; uchar num2; uchar num3; uchar num4; uchar num5; uchar num6; uchar num7; uchar num8;

//**********延时函数*************** void delayus(uchar t) {

while(--t); }

//**********延时函数***************

//码表 void delay(uchar t) //大致延时1mS { while(t--) {

delayus(235); delayus(235); } }

//*******秒表计时******* void miaobiao(void) { if(tt==2) // 10ms到 { tt=0; // 清零 a++; if(a==10) { a=0; b++; if(b==10) { b=0; c++; if(c==10) { c=0; d++; } } } } }

void display(void) { if(flag1==1) { //flag1=0; wela=1; shuju=table1[0]; wela=0; dula=1; shuju=table2[num1]; dula=0; delayus(200);

wela=1;

shuju=table1[1]; wela=0; dula=1;

shuju=table2[num2]; dula=0;

delayus(200); wela=1;

shuju=table1[2]; wela=0; dula=1; shuju=0x40; dula=0;

delayus(200); wela=1;

shuju=table1[3]; wela=0; dula=1;

shuju=table2[num3]; dula=0;

delayus(200); wela=1;

shuju=table1[4]; wela=0; dula=1;

shuju=table2[num4]; dula=0;

delayus(200); }

else if(flag1==2) {

//flag2=0; wela=1; shuju=table1[0]; wela=0; dula=1;

shuju=table2[num5]; dula=0;

delayus(200);

wela=1;

shuju=table1[1]; wela=0; dula=1;

shuju=table2[num6]; dula=0;

delayus(200); wela=1;

shuju=table1[2]; wela=0; dula=1; shuju=0x40; dula=0;

delayus(200); wela=1;

shuju=table1[3]; wela=0; dula=1;

shuju=table2[num7]; dula=0;

delayus(200); wela=1;

shuju=table1[4]; wela=0; dula=1;

shuju=table2[num8]; dula=0;

delayus(200); } else { wela=1; shuju=table1[0]; wela=0; dula=1; shuju=table2[a]; dula=0; delayus(200); wela=1; shuju=table1[1];

wela=0; dula=1; shuju=table2[b]; dula=0; delayus(200); wela=1; shuju=table1[2]; wela=0; dula=1; shuju=0x40; dula=0; delayus(200); wela=1; shuju=table1[3]; wela=0; dula=1; shuju=table2[c]; dula=0; delayus(200); wela=1; shuju=table1[4]; wela=0; dula=1; shuju=table2[d]; dula=0; delayus(200); } }

//*******定时器初始化******* void Init_Timer0(void) {

TMOD |= 0x01; //使用模式1,16位定时器, TH0=(65535-5000)/256; TL0=(65535-5000)%6; EA=1; //总中断打开 ET0=1; //定时器中断打开 //TR0=1; //定时器开关打开 }

//*******独立按键检测********************** void key(void) {


秒表计时器.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:城市发展中古建筑的保护

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: