📄 新建 文本文档.txt
字号:
TH0 = 0xfc;
TL0 = 0x17;
void timer0() interrupt 1
// 定时器0中断服务程序, 用于数码管的动态扫描
// dis_index --- 显示索引, 用于标识当前显示的数码管和缓冲区的偏移量
// dis_digit --- 位选通值, 传送到P2口用于选通当前数码管的数值, 如等于0xfe时,
// 选通P2.0口数码管
// dis_buf --- 显于缓冲区基地址
{
TH0 = 0xfC;
TL0 = 0x17;
P3 = 0x00; // 先关闭所有数码管
P2 = dis_buf[dis_index]; // 显示代码传送到P0口
P3 = dis_digit; //
dis_digit =(dis_digit<<1)|0x01; // 位选通值左移, 下次中断时选通下一位数码管
if(dis_digit==0xff)
dis_digit=0xfe;
dis_index++; //
dis_index &= 0x07; // 8个数码管全部扫描完一遍之后,再回到第一个开始下一次扫描
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -