在显示时每个时钟周期内只有一个数码管处于导通状态,通过控制芯片的周期性扫描凭借人眼的视觉暂留现象显现点亮状态。共阴极数码管工作原理于此类似。
(4)
通过编程预设指定IO口为高电平,当按键上没有键闭合时,呈现高电平。按键通过连线与单片机的P20P24口相连,当键盘有键闭合时电流流通至地为低电平,因此可通过按键扫描程序获得指定的键值。但是,按键在被按下时,其触点电压变化的波形与实际波形是有区别的,而不是理想的矩形脉
f冲,实际波形在按下和释放的瞬间都有机械抖动现象,抖动时间的长短和按键的机械特性有关,一般有510ms。为了防止键盘由于按下时间稍长,使得按键多次触发,使输出电压值连续跳变,因此在程序中采用延时程序来验证按键是否重复按下,进行消抖。为了限制流经开关的电流值,在P2口加上拉电阻。
三设计思路控制电路以89c51单片机为核心,从p0口输出数码管数据,p10p12控制数码管,p2口输出0832数字信号,p13p17控制开关。按键电路由五个开关构成,编程预设高电平,扫描低电平来输入。数模转换电路有dac0832和lm324一起构成,0832将p2口八位二进制数转化为电流值,通过lm324ref的反馈电路,将其转化为电压值,最后经过三极管功放输出电压。显示电路由四位七段数码管构成,共阳接法p0输出显示值,p10p12接a口控制哪个数码管亮。
程序参照附录。
四、电路单元参数的选定和设计实现1单片机最小系统电路
f2运放转换电路
f五、装调测试过程
第一步,测试单片机最小系统是否可运行,首先测量1819管脚晶振是否输出标准正弦波,在测量30管脚是否有正弦波。第二步,测量按键是否通畅,导通之后是否为低电平。第三步,直接给定输如八位二进制数测量lm3241管脚7管脚9管脚是否有合适电压。我只进行到这一步,之后的测量均未完成。第四步,测试单片机是否能在p10p12输出控制值,在p0口输出数码管需要的高低电平,在p2口输出dac0832的二进制数。并测量是否于按键值对应。第五部,测试mje13002是否能输出合理电压。
六、实验注意事项及主要可能故障分析
1电路设计错误(1)显示模块设计错误。为了节约资源减少焊接难度,所以取消了74ls47译码器选择直接用p0输出数码管数据,用p1接a口控制数码管是否工作,但是忽略了功率问题,导致数码管亮度不明显。解决方法,p1和a口间使用三极管9012驱动,增加电压从而增强亮度。(2)输出模块设置错误第一次电路设计错误是没有搞定出0832和数码管的输入方式,从而把p0r