00-59秒计时器(利用软件延时)

00-59秒计时器(利用软件延时)
1. 实验任务
如下图所示,在at89s51单片机的p0和p2端口分别接有两个共阴数码管,p0口驱动显示秒时间的十位,而p2口驱动显示秒时间的个位。
2. 电路原理图
图4.11.1
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。
4. 程序设计内容
(1. 在设计过程中我们用一个存储单元作为秒计数单元,当一秒钟到来时,就让秒计数单元加1,当秒计数达到60时,就自动返回到0,重新秒计数。
(2. 对于秒计数单元中的数据要把它十位数和个数分开,方法仍采用对10整除和对10求余。
(3. 在数码上显示,仍通过查表的方式完成。
(4. 一秒时间的产生在这里我们采用软件精确延时的方法来完成,经过精确计算得到1秒时间为1.002秒。
dely1s: mov r5,#100
d2: mov r6,#20
d1: mov r7,#248
djnz r7,$
djnz r6,d1
djnz r5,d2
ret
5. 程序框图
图4.11.2
6. 汇编源程序
second equ 30h
org 0
start: mov second,#00h
next: mov a,second
mov b,#10
div ab
mov dptr,#table
movc a,@a+dptr
mov p0,a
mov a,b
movc a,@a+dptr
mov p2,a
lcall dely1s
inc second
mov a,second
cjne a,#60,next
ljmp start
dely1s: mov r5,#100
d2: mov r6,#20
d1: mov r7,#248
djnz r7,$
djnz r6,d1
djnz r5,d2
ret
table: db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh
end
7. c语言源程序
#include
unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07,0x7f,0x6f};
unsigned char second;
void delay1s(void)
{
unsigned char i,j,k;
for(k=100;k>0;k--)
for(i=20;i>0;i--)
for(j=248;j>0;j--);
}
void main(void)
{
second=0;
p0=table[second/10];
p2=table[second%10];
while(1)
{
delay1s();
second++;
if(second==60)
{
second=0;
}
p0=table[second/10];
p2=table[second%10];
}
}

一加6T评测 3000元级价位上不可取代的全能旗舰
声纹识别是怎样的一项技术
洲明科技:计划新增数条Mini LED显示智能化产线
OSPF链路状态路由协议学习笔记
美国或将失去5G领导地位带来的经济利益
00-59秒计时器(利用软件延时)
5G中如何运用的模拟波束赋形技术
电子元器件检测经验和技巧有哪些?
基于EQ6HL130实现FIR功能测试
LTC3865应用电路
江波龙携手天猫,加速存储国产化
移植开源Gui框架GuiLite到STM32F4OLED屏幕
热管理对EMI的影响
浅谈STM8S_008_WDG独立看门狗和窗口看门狗
Type-c拓展坞usb-c转HDMI高清转换器
使用单线传感器简化隔离式温度检测
工业设备辅助电源驱动用的SiC电源解决方案
上海宝信软件AI带钢缺陷识别表检仪
电梯物联网模块之电梯安全监管系统
云天励飞推出城市流调搜索引擎解决方案 为疫情防控保驾护航