首页 > 消费电子 >日常电器电路 > 99秒单片机马表设计

99秒单片机马表设计

来源:互联网发布者:张七岁 关键词: 电子钟表 更新时间: 2021/11/15

1. 实验任务

(1. 开始时,显示“00”,第1次按下SP1后就开始计时。

(2. 第2次按SP1后,计时停止。

(3. 第3次按SP1后,计时归零。

2. 电路原理图

 

99秒马表设计99s Timer

3. 系统板上硬件连线

(1. 把“单片机系统”区域中的P0.0/AD0-P0.7/AD7端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个a-h端口上;要求:P0.0/AD0对应着a,P0.1/AD1对应着b,……,P0.7/AD7对应着h。

(2. 把“单片机系统”区域中的P2.0/A8-P2.7/A15端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个a-h端口上;要求:P2.0/A8对应着a,P2.1/A9对应着b,……,P2.7/A15对应着h。

(3. 把“单片机系统“区域中的P3.5/T1用导线连接到”独立式键盘“区域中的SP1端口上;

4. 程序框图

T0中断服务程序框图

 

99秒马表设计99s Timer

5. 汇编源程序

TCNTA EQU 30H

TCNTB EQU 31H

SEC EQU 32H

KEYCNT EQU 33H

SP1 BIT P3.5

ORG 00H

LJMP START

ORG 0BH

LJMP INT_T0

START: MOV KEYCNT,#00H

MOV SEC,#00H

MOV A,SEC

MOV B,#10

DIV AB

MOV DPTR,#TABLE

MOVC A,@A+DPTR

MOV P0,A

MOV A,B

MOV DPTR,#TABLE

MOVC A,@A+DPTR

MOV P2,A

MOV TMOD,#02H

SETB ET0

SETB EA

WT: JB SP1,WT

LCALL DELY10MS

JB SP1,WT

INC KEYCNT

MOV A,KEYCNT

CJNE A,#01H,KN1

SETB TR0

MOV TH0,#06H

MOV TL0,#06H

MOV TCNTA,#00H

MOV TCNTB,#00H

LJMP DKN

KN1: CJNE A,#02H,KN2

CLR TR0

LJMP DKN

KN2: CJNE A,#03H,DKN

MOV SEC,#00H

MOV A,SEC

MOV B,#10

DIV AB

MOV DPTR,#TABLE

MOVC A,@A+DPTR

MOV P0,A

MOV A,B

MOV DPTR,#TABLE

MOVC A,@A+DPTR

MOV P2,A

MOV KEYCNT,#00H

DKN: JNB SP1,$

LJMP WT

DELY10MS:

MOV R6,#20

D1: MOV R7,#248

DJNZ R7,$

DJNZ R6,D1

RET

INT_T0:

INC TCNTA

MOV A,TCNTA

CJNE A,#100,NEXT

MOV TCNTA,#00H

INC TCNTB

MOV A,TCNTB

CJNE A,#4,NEXT

MOV TCNTB,#00H

INC SEC

MOV A,SEC

CJNE A,#100,DONE

MOV SEC,#00H

DONE: MOV A,SEC

MOV B,#10

DIV AB

MOV DPTR,#TABLE

MOVC A,@A+DPTR

MOV P0,A

MOV A,B

MOV DPTR,#TABLE

MOVC A,@A+DPTR

MOV P2,A

NEXT: RETI

TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH

END

6. C语言源程序

#include

unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,

0x39,0x5e,0x79,0x71,0x00};

unsigned char second;

unsigned char keycnt;

unsigned int tcnt;

void main(void)

{

unsigned char i,j;

TMOD=0x02;

ET0=1;

EA=1;

second=0;

P0=dispcode[second/10];

P2=dispcode[second%10];

while(1)

{

if(P3_5==0)

{

for(i=20;i>0;i--)

for(j=248;j>0;j--);

if(P3_5==0)

{

keycnt++;

switch(keycnt)

{

case 1:

TH0=0x06;

TL0=0x06;

TR0=1;

break;

case 2:

TR0=0;

break;

case 3:

keycnt=0;

second=0;

P0=dispcode[second/10];

P2=dispcode[second%10];

break;

}

while(P3_5==0);

}

}

}

}

void t0(void) interrupt 1 using 0

{

tcnt++;

if(tcnt==400)

{

tcnt=0;

second++;

if(second==100)

{

second=0;

}

P0=dispcode[second/10];

P2=dispcode[second%10];

}

}

提问/讨论

这里还没有内容,您有什么问题吗?

我要提问/讨论

推荐帖子 最新更新时间:2024-11-21 18:28

飞利浦推出DDR2存储模块用新型高速寄存器
飞利浦推出DDR2存储模块用新型高速寄存器 专为优化存储性能设计,含业界最快的寄存器 2009-01-19     目前,存储模块解决方案已经从速度较低的单数据率(SDR)演变为双数据率(DDR),日益增加的精确信号控制需求促进了寄存器的增长
 fighting模拟电子
这也叫RT-THREAD例程吗??????
大家都知道,操作系统是得去建立栈区的,有自己的任务,可是我今天看了一个例程如下: #include rtthread.h #include rtdevice.h #include board.h #include drv_lcd.h #include rttlogo.h
 ddllxxrr实时操作系统RTOS
英特尔Galileo开发板-工业级SBS板-交换个带屏的东西最好可以做程序开发(已出)
* 小尺寸 * 超低功耗 * 兼容Arduino * X86软件兼容 * 长嵌入式生命周期 Dimension: 106.7mm x 72mm * 基于英特尔? Quark SoC X10xx 处理器 *
 kejoy淘e淘
【TI明星产品限时购】+轻车熟路参加活动,老汉又入了一块CC2640R2
赶上搞活动就买了LANUCHXL-CC2640R2,优惠的额度正好抵税了。小200大洋,展示 因为学习与项目需要,手里已积攒4块。 比较喜欢骚红,个人感觉TI的板子颜值比价高。 插上USB上电 打开手机端蓝牙调试助手,连接开发板,后观察数据 单击BT
 54chenjq无线连接
基于nRF2401的无线传输系统的设计
应用nrf2401芯片和51系列单片机设计一套无线数据传输系统,请教高手 要电路图 急 急 急!!! 基于nRF2401的无线传输系统的设计 应用nrf2401芯片和51系列单片机设计一套无线数据传输系统 请教高手电路图的设计...... 回复:基于nRF2401的无线传输系
 ning1020单片机
视频信号处理
请问高手们如图所示的电路有什么用么? 视频信号经过后可直接进入MCU? 视频信号处理 人气好少啊,哪位大师帮忙解答下,感谢! 帖子沉了,有谁知道帮忙讲解下,不胜感激:) :handshake:handshake:handshake:handshake:handshake 第一次
 Gjinbiao电源技术

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版 版权声明

EEWORLD 电路图 站点相关: 下载中心 Datasheet 参考设计

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved