单片机用汇编写两个数码管显示0到99循环的程序

单片机用汇编写两个数码管显示0到99循环的程序,第1张

1、新建项目,做好准备。

2、数码管段选表。

3、延时函数。

4、uchar i变量i;wk = 1打开位选,P0 = 0xf71111 0111第4位数码管显示,wk = 0关闭位选。

5、while(1) //死循环效果{} 。

6、dk = 1//打开段选,P0 = leddata[i],dk = 0//关闭段选,delay(100)//延时效果。

7、选择效果,限制i值的循环范围。

以下是一份简单的C51程序,能够实现静态数码管的显示:

```c

#include <reg51.h>

// 数码管码表

unsigned char code LED[] = {

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

0x92, 0x82, 0xf8, 0x80, 0x90

}

void delay(unsigned int t) {

unsigned int i, j

for (i = 0i <ti++) {

for (j = 0j <1200j++)

}

}

void main() {

unsigned char i, cnt

// 定义P1口为输出端口

P1 = 0x00

while(1) {

cnt = 0

// 循环显示0~9

for (i = 0i <10i++) {

P1 = LED[i]

delay(500)

cnt++

if (cnt == 4) {

cnt = 0

P1 = 0

delay(500)

}

}

}

}

```

这份程序中,首先定义了静态数码管的码表,然后通过循环依次将每个数码管的码值赋值给P1口进行显示,同时控制最后一个数码管不同步显示,即循环显示四个数码管后关闭所有数码管的显示,再等待一段时间后才开始下一轮的显示。

在具体的硬件实现中,需要将P1口连接到数码管的控制芯片的输入口上,同时还需要设置好时钟等系统参数。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11484377.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-16
下一篇2023-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存