编程两个数码管的方法取决于您使用的单片机类型和数码管的连接方式。以下是几种常见的编程方法:
方法一:使用C语言和定时器
硬件连接
将两个数码管分别接在单片机的P2口(秒十位)和P1口(秒个位)。
数码管的共阴极接地,段选引脚接P2和P1口。
C语言编程
```c
include
define uchar unsigned char
define uint unsigned int
sbit dula = P2^6; // 段选,申明锁存器 1 的锁存端
sbit wela = P2^7; // 位选,申明锁存器 2 的锁存端
uchar code table[] = { 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f };
void delayms(uint xms) {
uint i,j;
for(i=xms;i>0;i--) for(j=110;j>0;j--);
}
void display(uchar, uchar);
uchar num, num1=1, shi, ge=1; // 赋初值
void main() {
TMOD = 0x10; // 设定时器 1 方式 1 定时 50ms,循环 20 次实现 1s 延时
TH1 = (65536-50000)/256; // 装初值
TL1 = (65536-50000)%256;
EA = 1; ET1 = 1; TR1 = 1;
while(1) { // 开总中断
display(shi, ge);
}
}
void display(uchar shi, uchar ge) {
P2 = table[shi];
P1 = table[ge];
wela = 1; // 打开位选
dula = 0; // 打开段选
wela = 0;
dula = 1;
}
```
方法二:使用静态显示和按键调整
硬件连接
将两个数码管分别接在单片机的P1口(秒十位)和P2口(秒个位)。
数码管的共阴极接地,段选引脚接P1和P2口。
安排两个按键接在P3.2(十位数调整)和P3.3(个位数调整)上。