编写一个基于stc15w4k的数码管显示程序
时间: 2024-05-15 20:14:08 浏览: 10
下面是一个基于STC15W4K的数码管显示程序,使用的是共阳数码管:
```c
#include <STC15W4K.h>
#define uchar unsigned char
#define uint unsigned int
uchar code table[] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f}; // 数码管显示表
void delay(uint i) // 延时函数
{
while (i--);
}
void main()
{
uchar num = 0; // 数码管显示的数字
P0 = 0x00; // P0口输出低电平
while (1)
{
P2 = 0x00; // P2口输出低电平
P0 = table[num]; // 显示数字
delay(50000); // 延时
P2 = 0x01; // P2口输出高电平
P0 = 0x00; // 熄灭数码管
delay(50000); // 延时
num++; // 数码管显示数字加1
if (num > 9) // 如果数码管显示的数字超过9,则重新从0开始
{
num = 0;
}
}
}
```
在这个程序中,我们定义了一个数码管显示表,它包含了数字0到9的对应数码管的显示方式。然后我们在主函数中使用一个循环来不断地显示数码管上的数字。具体来说,我们首先将P0口输出低电平,然后将数码管显示为当前数字,再延时一段时间。接着,我们将P2口输出高电平,熄灭数码管,再延时一段时间。最后,我们将数字加1,如果超过9,则重新从0开始。
请注意,该程序仅适用于共阳数码管,如果您使用的是共阴数码管,请将数码管显示表中的数码管显示方式按照共阴数码管的方式进行修改。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)