#include <reg51.h> #include "seg.h" #include "delay.h" #define Duan_Port P0 #define Wei_Port P2 sbit wei1=P2^0; sbit wei2=P2^1; sbit wei3=P2^2; sbit wei4=P2^3; unsigned char code Seg_Duan[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0xf1};//显示0~F的值 void Seg_dis(unsigned int dat) { wei1 = 0;//选通高位数码管(左边第1位) Duan_Port = Seg_Duan[dat/1000%10];//赋段码 Delay_xus(50); wei1 = 1; Duan_Port = 0xff;//关闭消影 wei2 = 0; Duan_Port = Seg_Duan[dat/100%10]; Delay_xus(50); wei2 = 1; Duan_Port = 0xff; wei3 = 0; Duan_Port = Seg_Duan[dat/10%10]; Delay_xus(50); wei3 = 1; Duan_Port = 0xff; wei4 = 0; Duan_Port = Seg_Duan[dat%10]; Delay_xus(50); wei4 = 1; Duan_Port = 0xff; }注释一下
时间: 2024-03-25 15:38:54 浏览: 189
好的,以下是每行代码的注释说明:
```c
#include <reg51.h> // 引入51单片机的头文件
#include "seg.h" // 引入数码管头文件
#include "delay.h" // 引入延时函数头文件
#define Duan_Port P0 // 定义数码管段码输出口
#define Wei_Port P2 // 定义数码管位选输出口
sbit wei1=P2^0; // 定义第1个数码管的位选控制引脚
sbit wei2=P2^1; // 定义第2个数码管的位选控制引脚
sbit wei3=P2^2; // 定义第3个数码管的位选控制引脚
sbit wei4=P2^3; // 定义第4个数码管的位选控制引脚
// 显示0~F的值
unsigned char code Seg_Duan[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0xf1};
// 数码管显示函数
void Seg_dis(unsigned int dat) {
wei1 = 0; // 选通高位数码管(左边第1位)
Duan_Port = Seg_Duan[dat/1000%10]; // 赋段码
Delay_xus(50); // 延时一段时间
wei1 = 1; // 取消选通
Duan_Port = 0xff; // 关闭消影
wei2 = 0; // 选通第2位数码管
Duan_Port = Seg_Duan[dat/100%10]; // 赋段码
Delay_xus(50); // 延时一段时间
wei2 = 1; // 取消选通
Duan_Port = 0xff; // 关闭消影
wei3 = 0; // 选通第3位数码管
Duan_Port = Seg_Duan[dat/10%10]; // 赋段码
Delay_xus(50); // 延时一段时间
wei3 = 1; // 取消选通
Duan_Port = 0xff; // 关闭消影
wei4 = 0; // 选通低位数码管(右边第4位)
Duan_Port = Seg_Duan[dat%10]; // 赋段码
Delay_xus(50); // 延时一段时间
wei4 = 1; // 取消选通
Duan_Port = 0xff; // 关闭消影
}
```
希望以上注释能够帮助你理解代码的实现过程。
阅读全文