6位7段LED数码管显示(8)

时间:2025-04-20

unsigned

int

g_Data[11]

=

{0x0000,0x003f,0x0006,0x005b,0x004f,0x0066,0x006d,0x007d,0x0007,0x007f,0x006f}; //0,

1, 2,

3,

4, 5, 6,

7,

8,

9

unsigned int g_uiSeg;

//段码指针

3.2 中断服务程序

由于显示数据的刷新时间为 1s 和 0.5s,因此考虑采用 2Hz(0.5s)时基中断。并且在中断内部完成段码数据更新。具体的流程如图 6 示:

在中断服务程序中会用到三个重要的寄存器:中断计数寄存器、显示数据寄存器、位信号寄存器。其中中断计数寄存器用于记录第几次进入中断(前 3次有效),显示数据寄存器的内容为当前被刷新显示数据的数值(0~9),位信号寄存器用于标识被刷新数据所在位。结合主程序分析中断程序:首先显示“000000”时需要延时 1s,使用 2Hz 中断产生 1s 延时,需要连续响应两次中断,第二次响应中断延时满 1s,设置显示数据寄存器和位信号寄存器,让第一位数码管显示 1,其余各位仍为“0”,即显示“100000”;判断显示数据寄存器显示数据是否大于 9,如果小于,显示数据寄存器数据加 1;如果大于,判断位信号寄存器是否已经指向第六位数码管,否则位信号寄存器设置为指向下一位数码管,显示数据寄存器显示数据设置为 0;如果已经指向第六位数码且显示数据寄存器为 9,寄存器清零,清中断标志,中断返回。

中断服务程序流程图:

6位7段LED数码管显示(8).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219