毕业论文

打赏
当前位置: 毕业论文 > 自动化 >

STC89C52单片机的直流稳压可调电源设计+电路图+流程图(5)

时间:2017-01-05 12:30来源:毕业论文
3.6 显示模块 显示的方式很多,主要分为两类:LED显示和LCD显示。LED显示亮度高,制作成本低,适合做远距离显示,但由于其耗电较大,并且端口随显示的


3.6 显示模块
    显示的方式很多,主要分为两类:LED显示和LCD显示。LED显示亮度高,制作成本低,适合做远距离显示,但由于其耗电较大,并且端口随显示的数据位数增加而增加,如果采用动态扫描方式显示,则占用CPU的时间,如果采用静态显示则需要加锁存器,耗费硬件制作时间。就该设计要求来说,需要对设定电压进行显示,数据位有4位,再加上小数点则至少需要显示五位,再加上显示提示词,从上面诸多因素来看,采用LCD更为清晰、直观。LCD通常选用LCD1602液晶模块。LCD1602可以在LCD显示屏上完整显示32个英文字符和日文等一些字符,适合显示英文文字信息量较小的地方,可以清晰显示出英文名称和电压单位,电压显示五位数字:十位、个位、小数位和小数点后两位。通过单片机编程控制第4脚RS数据/命令选择端,第5脚R/W读/写选择端,第6脚E使能信号,从而实现设定的显示效果[8]。LCD1602显示的4个状态如下表1所示:
表1  LCD1602显示的4个状态
状态    输入    输出
读状态    RS=0,RW=1,E=1    D0~D7=状态字
写指令    RS=0,RW=0,D0~D7=指令码,E=高脉冲    无
读指令    RS=1,RW=1,E=1    D0~D7=数据
写数据    RS=0,RW=0,D0~D7=数据,E=高脉冲    无
在系统中,P0口与LCD1602的数据输入端口D0~D7 相连,控制端口RS与P2.7相连,RW与P2.6相连,E与P2.5相连,第15脚与电源相连,第16脚与地相连,具体电路如下图7所示:
        
图7  显示模块电路图
3.7 键盘模块
系统中键盘模块采用独立式按键的接法,设计四个按键S1、S2、S3、S4,分别由单片机RST端、P2.0、P2.1、P2.2端口输入。S1为复位键;S4为输出电压确定按键,最后设置的电压大小保存在EEPROM里面,比如5个电压,按一下S2,电压变为下一个,省去了反复设置电压的麻烦;S2为电压+,S3为电压-,按一下S2,当前电压增加0.1V,按一下S3,当前电压减小0.1V。具体电路如下图8所示:
 
图8  键盘模块电路图
4. 系统的软件设计
4.1 软件设计思路
当系统上电,立即进行初始化,分别是端口初始化,D/A、A/D初始化,定时器初始化;然后从24C02中读出上一次掉电前输出电压值。基本思路:按键扫描 — D/A转换、电压数值显示 — 读A/D转换并比较纠正电压数值显示 —按键扫描,按上述循环。
4.2 系统软件流程
4.2.1 主程序模块
    主程序流程图如图9所示,主程序主要完成的任务有751个,一个是扫描按键是否对电压进行加减操作,二是向DAC0832传送电压输出值,三是读P1口的数据并把读到的数据转换成实际的电压值存到预设地址中,供中断扫描显示使用,四是把设定电压值与反馈的实际电压值进行比较调整,五是向24C02中输出最近设置的电压值进行保存,751是向P0送要显示的输出电压。
 图9  主程序流程图
4.2.3 反馈比较子程序
在系统设计中,通过ADC0804采集到的输出电流值,经处理转变为当前的输出电压值,与按键设定的电压值进行比较后,通过调用闭环比较子程序得出实际值与设定值的差值,如果是实际值大于设定值则将原来的显示设定值减去这个差值再送去转换,如果是实际值小于设定值则将原来的显示设定值加上这个差值再送去转换,其设计流程图如下所示:
 
图10  反馈比较子程序
5. 系统测试与误差分析
本设计通过keil uvision3编译生成可执行文件,最终测试在Proteus上进行。 STC89C52单片机的直流稳压可调电源设计+电路图+流程图(5):http://www.751com.cn/zidonghua/lunwen_1834.html
------分隔线----------------------------
推荐内容