当前位置:首页 > 数字电子称论文正文
3 系统硬件设计 表3-5 数码管显示码
字符 dp g f e d c b a 0 1 2 3 4 5 6 7 8 9
1 1 0 0 0 0 0 0 1 1 1 1 1 0 0 1 1 0 1 0 0 1 0 0 1 0 1 1 0 0 0 0 1 0 0 1 1 0 0 1 1 0 0 1 0 0 1 0 1 0 0 0 0 0 1 0 1 1 1 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0
共阳笔端码
C0H F9H A4H B0H 99H 92H 82H F8H 80H 90H
共阴笔端码
3FH 06H 5BH 4FH 66H 6DH 7DH 07H 7FH 6FH
图3-8 LED显示电路图
为了增强位选信号的驱动能力,将位选端口接在9012三极管的基极,使9012三极管工作在开关状态,大大提高了数码管显示的亮度。
15
咸宁学院学士学位论文
16
4 系统软件设计
4 系统软件设计
系统软件采用了模块化设计,主要包括毫秒级延时子函数、A/D数据采集子函数、数码管显示子函数和主函数。
4.1 系统主函数
在系统通电后,主程序首先完成系统初始化[15],其中包括系统变量定义和给系统变量赋初值等,然后调用A/D采集函数,将A/D采集模块输出的24位二进制串行数据转化为十进制,接着进行调零和定标,最后分离出四位十进制数据的千位、百位、十位和个位,调用数码管显示函数,将对应的数值送到对应的数码管上进行显示。系统主函数流程图如图4-1所示。
4.2 A/D数据采集子函数
A/D数据采集子程序主要是采集压电传感器的输出小信号,前24个ADSK脉冲采集24位串行二进制数据,接下来的1~3个ADSK脉冲选择下次A/D采集的通道和增益,本设计采用1个ADSK脉冲,选择通道A,增益为128。其流程图如图4-2所示。
开始 开始 2 系统初始化 A/D端口初始化 A/D采集 4 采集24位串行数据 进制转换、调零和定标 选择下次采集通道和增益 分离千、百、十和个位 输出数据编码 数值显示 返回 图4-1 系统主函数流程图 图4-2 A/D数据采集子函数流程图
17
咸宁学院学士学位论文
4.3 数码管显示子函数
数码管显示程序用LED动态显示数据信息,依次扫描千位、百位、十位和个位。其流程图如图4-3所示。在延时程序中对延时时间的设置要到位,本设计中千位位选、百位位选、十位位选的延时时间为100ms。如果延时时间设置的太长,因为视觉的暂留效果,会观察到四位数码管是从左到右依次地显示,而不是同时显示。如果设置的太短,数码管亮度会变暗,不便于观察实验现象。程序中没有对个位数据延时,因为各位位选打开以后,没有立即关闭,接着执行数码管显示程序,起到了一定的延时效果。
开始 送千位数据,打开千位位选,延时 送百位数据,打开百位位选,延时 送十位数据,打开十位位选,延时 送个位数据,打开个位位选 返回 图4-3 数码管显示子函数流程图
18
共分享92篇相关文档