导航:首页 > 操作系统 > 单片机数码管4位秒表

单片机数码管4位秒表

发布时间:2022-06-02 18:20:36

1. 秒表(精确00.00),四位共阴数码管显示,单片机S52控制,要求可以暂停、开始,P2口控制段,P3口控制位

用一个定时器,模式1,10ms周期,开了中断就行了。每次进入中断就调用一次键盘函数、计时函数、显示函数。
计时:两字节分别做小数和整数部分,每次中断小数+1,小数大于99清0整数+1
键盘:状态机控制,分为:M1.没按下;M2.刚按下;M3.已按下;M4.刚松开。4个状态,只有从M2刚按下确认为M3已按下的时候执行键盘动作,每次转换状态后多退出键盘程序。运行顺序是:先是M1,检测到0转M2,检测到1不动作;M2时检测到0转M3并执行键盘动作,检测到1转M1;M3时检测到0转M4,检测到1不动作;M4时检测到0转M1,检测到1转M3.
显示:在4个数码管间循环,每次只显示1位,每次进入程序改变显示位,分别是整数的十位、整数的个位、小数的十位、小数的个位。

2. 利用51单片机,4个数码管设计一个计时器,要求在数码管上显示的数据从0开始每1秒钟加1。

共阳数码管中断程序:

#include<reg52.h>

#define uint unsigned int

#define uchar unsigned char

uchar code table[]=

{

0xc0,0xf9,0xa4,0xb0,

0x99,0x92,0x83,0xf8,

0x80,0x90,0x88,0x83,

0xc6,0xa1,0x86,0x8e};

uint num,a;

uchar ,shi,ge;

void init();

void delay(uint);

void display(uchar,ucharshi,ucharge);

uint fb();

uint fs();

uint fg();

void main()

{

init();

while(1)

{

display(fb(),fs(),fg());

}

}

void init()

{

num=0;

a=0;

TMOD=0x01;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

EA=1;

ET0=1;

TR0=1;

}

void display(uchar,ucharshi,ucharge)

{

P1=0xfd;

P0=table[];

delay(1);

P1=0xfb;

P0=table[shi];

delay(1);

P1=0xf7;

P0=table[ge];

delay(1);

}

void timeoff() interrupt 1

{

TH0=(65536-50000)/256;

TL0=(65526-50000)%256;

a++;

if(a%20==0)

{

num++;

if(num==999)

{

num=0;

}

}

}
void delay(uint z)
{

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

uint fb()

{

=num/100;

return ;

}

uint fs()

{

shi=num%100/10;

return shi;

}

uint fg()

{

ge =num%100%10;

return ge;

}

(2)单片机数码管4位秒表扩展阅读

2个可编程定时/计数器·5个中断源,2个优先级(52有6个)

一个全双工串行通信口

外部数据存储器寻址空间为64kB

外部程序存储器寻址空间为64kB

逻辑操作位寻址功能·双列直插40PinDIP封装

单一+5V电源供电

CPU:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器;

RAM:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据;

ROM:用以存放程序、一些原始数据和表格;

I/O口:四个8位并行I/O口,既可用作输入,也可用作输出

T/C:两个定时/记数器,既可以工作在定时模式,也可以工作在记数模式;

五个中断源的中断控制系统;

一个全双工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之间或单片机与微机之间的串行通信;

片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。最佳振荡频率为6M—12M。

参考资料来源:网络-51单片机



3. 51单片机的4位数码管做简易秒表C语言程序

#include"dz110306140.h"这是什么头文件

4. 单片机如何用四位数码管来做0-250的计时器

这个问题真的不能帮到你了,因为你问的问题我真的不是太理

5. 我用51单片机做了一个秒表,使用四位共阴数码管显示,但是数码管很暗,怎么是数码管增加亮度

把一个多位数(大于9的数)分别显示在两个数码管上面就是把这个数的每一位拆开,用数码管的动态扫描进行显示。至于闪动,不就是一亮一灭吗?就用个定时器定时,在一秒的时间内,一半时间是亮的,一半时间是灭的,不就闪烁了嘛

6. 51单片机4位数码管做秒表,C语言编程含有控制开关开始停止清零。

晶振频率,没有限定?

7. AT89C51单片机用4位数码管做秒表,要求用动态扫描做,汇编语言

4位数码管动态扫描的电路,并编程实现6位数码管同时显示"135。

STRT EQU P1.0

CLRR EQU P1.1

ORG 00H

AJMP MAIN

ORG 0BH

AJMP T0INT0

ORG 30H

MAIN:

MOV SP,#60H

MOV R4,#20

MOV TMOD,#01H

MOV TH0,#3CH;12M晶振时定时初值取#3CB0H,还可细调如 TL=#0B7H,可以更准

MOV TL0,#0B0H

SETB ET0

SETB EA

(7)单片机数码管4位秒表扩展阅读:

比起机器语言,汇编语言具有更高的机器相关性,更加便于记忆和书写,但又同时保留了机器语言高速度和高效率的特点。汇编语言仍是面向机器的语言,很难从其代码上理解程序设计意图,设计出来的程序不易被移植,故不像其他大多数的高级计算机语言一样被广泛应用。所以在高级语言高度发展的今天,它通常被用在底层,通常是程序优化或硬件操作的场合。

8. 单片机编程制作电子秒表能显示分(0-99),秒(0-59)

你好
楼主。
很幸运的看到你的问题。
但是又很遗憾到现在还没有人回答你的问题。也可能你现在已经在别的地方找到了答案,那就得恭喜你啦。
对于你的问题我爱莫能助!
可能是你问的问题有些专业了。或者别人没有遇到或者接触过你的问题,所以帮不了你。建议你去问题的相关论坛去求助,那里的人通常比较多,也比较热心,可能能快点帮你解决问题。
希望我的回答也能够帮到你!
祝你好运。
快过年了,
最后祝您全家幸福健康快乐每一天!

9. 用单片机做一个四位数码管秒表显示000.0--059.9

我的是数字秒表的,也一样吗

阅读全文

与单片机数码管4位秒表相关的资料

热点内容
安卓系统下的软件怎么移到桌面 浏览:78
windows拷贝到linux 浏览:752
mdr软件解压和别人不一样 浏览:886
单片机串行通信有什么好处 浏览:321
游戏开发程序员书籍 浏览:843
pdf中图片修改 浏览:271
汇编编译后 浏览:474
php和java整合 浏览:830
js中执行php代码 浏览:442
国产单片机厂商 浏览:57
苹果手机怎么设置不更新app软件 浏览:286
转行当程序员如何 浏览:494
苹果id怎么验证app 浏览:865
查看手机命令 浏览:953
抖音反编译地址 浏览:228
如何加密软件oppoa5 浏览:235
java从入门到精通明日科技 浏览:98
拆解汽车解压视频 浏览:600
新版百度云解压缩 浏览:594
android上下拉刷新 浏览:883