单片机电秒计数器(4)

2018-11-23 21:56

徐海学院2008级单片机系统设计报告 第8页

启动 正常显示99 1秒减一 到00 停止

正常显示流程图

正常显示程序

#include #include

#define uchar unsigned char #define uint unsigned int

#define Font_code XBYTE[0xefff] //#define reg_code XBYTE[0xdfff] //#define key_addr XBYTE[0xf7ff] //bit x=0; bit y=0; uchar key_n; uint m; uint s; sbit P12=P1^0;

unsigned char const jian[];

字符码写地址 字位码写地址 读按键地址 徐海学院2008级单片机系统设计报告 第9页

unsigned char const

dofly[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,

void delay(uchar x) { }

void main(void) {

uint p,t,l; RCAP2H=0x10; RCAP2L=0x00; m=99; while(1) {

get_key(); if(key_n==14) { }

if(key_n==13) {

if((s%2)!=0) { x=1; y=0; m=99; uchar i; while(x--)

for(i=0;i<100;i++);

0x77,0x7c,0x39,0x5e,0x79,0x71};//0-F

徐海学院2008级单片机系统设计报告 第10页

}

}

if(key_n==12) { delay(3); if(key_n==12) {

if((s%2)==0) { TR2=1; ET2=1; EA=1;

}

if((s%2)!=0) { TR2=0; ET2=0; EA=0; } }

} if(m==0) { TR2=0; ET2=0;

EA=0; } p=m/10; t=m;

Font_code=dofly[p] reg_code=0x20;

;

徐海学院2008级单片机系统设计报告 第11页

}

delay(10);

Font_code=dofly[t] ; reg_code=0x40; delay(10); }

timer2() interrupt 5 { }

3.3.3 按键判断

a.按 13--数码管显示停止

b.按下S14键,可以设置秒数,按键S1-S10分别对应数字0-9;先输入数字为十位数,后输入数字为个位数,若输入数字大于99,数码管显示“99”。按下S13键启动计时。

c. 按键S15,当S15按下时,数码管显示为“99”,秒表从新开始计时。

按键程序:

void get_key(void)

{ uchar temp; Font_code=0x00; reg_code=0xfe;

static uchar t; TF2=0; t++; if(t==10) { }

t=0; if(m!=0) { m--; }

徐海学院2008级单片机系统设计报告 第12页

temp = key_addr & 0x0f; //第一列 if(temp==0x0e)

{

delay(200); if(temp==0x0e) {

key_n=0; if((x==1)&&(y==0) ) } }

if(temp==0x0d) { delay(200); if(temp==0x0d) { key_n=4;

if((x==1)&&(y==0))

{m=m+40;y=1;} else

{m=m;y=1;} else

{m=(m/10)*10;y=0;}

{m=(m/10)*10+4;y=0;} } }

if(temp==0x0b) { delay(200); if(temp==0x0b) {

key_n=8; }

if((x==1)&&(y==0)) {m=m+80;y=1;} else

{m=(m/10)*10+8;y=0;}

}

if(temp==0x07) { key_n=12;

s++;


单片机电秒计数器(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:典型岗位职务说明书(70页)

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

马上注册会员

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