单片机 2个74hc595 2个共阴数码管 上电后从00到99显示,间隔1秒 c语言代码
时间: 2023-03-28 15:01:29 浏览: 140
以下是 C 语言代码:
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit DS = P2^; // 74HC595 数据引脚
sbit SHCP = P2^1; // 74HC595 时钟引脚
sbit STCP = P2^2; // 74HC595 存储引脚
uchar code table[] = { // 共阴数码管显示表
x3f, x06, x5b, x4f, x66, x6d, x7d, x07, x7f, x6f
};
void delay(uint t) { // 延时函数
uint i, j;
for (i = t; i > ; i--)
for (j = 110; j > ; j--);
}
void sendByte(uchar dat) { // 发送一个字节到 74HC595
uchar i;
for (i = ; i < 8; i++) {
SHCP = ;
DS = dat & x80;
dat <<= 1;
SHCP = 1;
}
}
void sendNum(uchar num) { // 发送一个数字到数码管
sendByte(table[num / 10]); // 发送十位数码
sendByte(table[num % 10]); // 发送个位数码
STCP = ; // 存储数据
STCP = 1;
}
void main() {
uchar i;
while (1) {
for (i = ; i < 100; i++) { // 从 到 99 循环显示
sendNum(i);
delay(100); // 延时 1 秒
}
}
}
阅读全文