0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

99秒单片机马表设计,99s Timer

454398 2018-09-20 19:48 次阅读

99秒单片机马表设计,99s Timer

关键字:AT89S51,马表电路

1.实验任务
(1.开始时,显示“00”,第1次按下SP1后就开始计时。
(2.第2次按SP1后,计时停止。
(3.第3次按SP1后,计时归零。
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中断服务程序框图
5.汇编源程序
TCNTAEQU 30H
TCNTBEQU 31H
SECEQU 32H
KEYCNTEQU 33H
SP1BIT 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];
}
}
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
收藏 人收藏

    评论

    相关推荐

    数控车床m99指令的用法

    数控车床是一种高度自动化的机床,广泛应用于机械加工领域。在数控车床的编程中,M代码(辅助功能代码)起着非常重要的作用。M99指令是数控车床编程中的一种辅助功能代码,用于实现程序的循环调用。下面我们
    的头像 发表于 06-14 15:52 462次阅读

    干货!89C51单片机模拟交通灯控制,原理图,仿真程序等完整资料

    和实物是一样的。因此,实物和仿真是一一对应的! 加载“基于毕业51单片机的交通灯设计.hex”文件到单片机,点击运行,交通灯开始工作(二极管显示红、黄、绿三色灯,LED显示倒计时)。 在程序里我们设置
    发表于 03-14 18:23

    基于51单片机设计的99马表

    发表于 11-06 08:31 0次下载
    基于51<b class='flag-5'>单片机</b>设计的<b class='flag-5'>99</b>秒<b class='flag-5'>马表</b>

    华秋0元6层板丨首单99元,再返99元优惠券

    现推出6层板特惠活动↓↓↓①首单仅需99元②下单再送99元优惠券等于不花一分钱,直接0元购!活动规则1、在华秋PCB未付款过6层板订单的用户皆可参与2、特惠价99元订
    的头像 发表于 10-20 08:08 401次阅读
    华秋0元6层板丨首单<b class='flag-5'>99</b>元,再返<b class='flag-5'>99</b>元优惠券

    华秋0元6层板丨首单99元,再返99元优惠券

    的高可靠性 现推出 6层板特惠活动   ↓ ↓ ↓ ① 首单仅需99元 ② 下单再送99元优惠券 等于不花一分钱,直接 0元购 ! 活动规则 1、在华秋PCB 未付款 过6层板订单的用户皆可参与 2、 特惠价99元 订单,需符合
    的头像 发表于 10-18 16:20 271次阅读
    华秋0元6层板丨首单<b class='flag-5'>99</b>元,再返<b class='flag-5'>99</b>元优惠券

    华秋0元6层板丨首单99元,再返99元优惠券

    华秋0元6层板丨首单99元,再返99元优惠券
    发表于 10-18 14:28 329次阅读
    华秋0元6层板丨首单<b class='flag-5'>99</b>元,再返<b class='flag-5'>99</b>元优惠券

    Protel 99 SE制板Multisim 8仿真电路

    在分析使用Multisim 8仿真功能和Protel 99 SE印制板设计功能的基础上,提出一种采用Multisim 8和Protel 99 SE相结合的电子产品设计方法,该方法先采
    发表于 10-17 15:25 875次阅读
    Protel <b class='flag-5'>99</b> SE制板Multisim 8仿真电路

    0-99计数显示器(1)#单片机

    单片机存储
    未来加油dz
    发布于 :2023年08月01日 00:27:46

    如何实现一种基于51单片机的00-99秒表C语言设计?

    51单片机00到99,2位数码管显示。上电前显示00,一共2个按键,一个启动,另一个清零功能,显示到99后不变化,程序可自行修改。
    发表于 07-31 10:00 2151次阅读
    如何实现一种基于51<b class='flag-5'>单片机</b>的00-<b class='flag-5'>99</b>秒表C语言设计?

    联发科g99什么水平 联发科g99和680差距大吗

    G99的CPU性能可能非常强大,可以提供高速的数据处理和流畅的系统响应。它可能采用了较新的处理器架构和优化算法,以提供卓越的性能表现。
    的头像 发表于 07-27 17:30 4.1w次阅读

    MPC99J93 数据表

    MPC99J93 数据表
    发表于 07-14 10:35 0次下载
    MPC<b class='flag-5'>99</b>J93 数据表

    70T3719/99 数据表

    70T3719/99 数据表
    发表于 07-05 19:36 0次下载
    70T3719/<b class='flag-5'>99</b> 数据表

    70V3319/99 数据表

    70V3319/99 数据表
    发表于 07-05 19:36 0次下载
    70V3319/<b class='flag-5'>99</b> 数据表

    70T3339/19/99 数据表

    70T3339/19/99 数据表
    发表于 07-05 19:35 0次下载
    70T3339/19/<b class='flag-5'>99</b> 数据表

    70T3519/99/89 数据表

    70T3519/99/89 数据表
    发表于 07-05 19:35 0次下载
    70T3519/<b class='flag-5'>99</b>/89 数据表