数控直流稳压电源毕业设计0507(2)
使能信号 数据输入D0端 数据输入D1端
编号 9 10 11 12 13 14 15 16
符号 D2 D3 D4 D5 D6 D7 BLA BLK
引脚说明 数据输入D2端 数据输入D3端 数据输入D4端 数据输入D5端 数据输入D6端 数据输入D7端 背光源正极 背光源负极
电子信息专业本科生毕业论文设计
图6 LCD1602与单片机连接电路图
3.5 系统供电电源设计
控制系统STC单片机和DA0832工作需要+5V的电源,而运算放大器LM324需要 12V的双极性电源,为此需要设计出满足上述芯片工作需要的电源。电
图7 系统供电电源
系统供电电源外接220V交流电,经过双18V变压器T1降压和整流桥整流变为直流,接着用电容C1、C2、C3、C4滤波,最后用三端稳压芯片7812、7912、7805稳压后再经电容C5、C6、C7、C8滤波就可得到+12V,-12V,+5V的电源。
3.6 整机电路图和系统仿真
电子信息专业本科生毕业论文设计
整机电路图见附录一。系统仿真采用仿真软件 Proteus,图 8、9 分别为预设 0V 和 10.0V 输出电压的仿真结果。
1K
1 2 3 4 5 6 7 8 9 10 11 12 13 14 +5V P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD
C4 U130pF 19 XTA
L1
R8
VSS VDD VEE RS RW E D0 D1 D2 D3 D4 D5 D6 D7
LCD139 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 +5V 1 2 3 4 5 6 7 8 10K 16 15 14 13 12 11 10 9
X1 C3 C2+5V 30pF 9 22uF CRYSTAL 18
XTAL2
RST
29 PSEN 30 ALE 31 EA
+5v
S1+5V
S2 S3 S4
+5V
U31 2 3 4 5 6 7 8 9 10 20 CS VCC 19 WR1 ILE(BY1/BY2) 18 GND WR2 17 DI3 XFER 16 DI2 DI4 15 DI1 DI5 14 DI0 DI6 13 VREF DI7 12 RFB IOUT2 11 GND IOUT1 DAC0832
1 2 3 4 5 6 7 8
P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 AT89C51 +12V DBG_TRACE=1
+12V
+5V
U4:A4 3 1 2
R211.5k 4
R202k
3 2
U4B+0.57 1Volts
11
LM324
10k
R22
-12V -12v
图 8 预设值为 0V 时的仿真图-8-
11
电子信息专业本科生毕业论文设计
图9 预设值为10V时的仿真图
从上述仿真图8得知,当液晶的预设电压为0V时,系统最后的输出为0.57V,是由AD0832转换的精度决定的。从图9可知,通过按键把液晶的显示值电压设为10.0V时,系统最后的输出为9.75V,误差值为0.25V。
4. 软件程序设计
电子信息专业本科生毕业论文设计
4.1程序设计流程图
程序设计流程图[6]如图10所示。 程序开始以后,首先液晶初始化,显示液晶
初试的预设电压值。然后进行按键检测,如果没有按键按下,显示液晶当前的初试电压;如果有按键按下,进入电压检测中断程序,确认当前液晶的调整值。接着检测D/A是否启动,启动以后进行数模转换,将转换后的模拟量送给系统最终输出端。
图10 程序设计流程图
电子信息专业本科生毕业论文设计
4.2程序代码
下面C代码严格按照上述程序流程出分块写出,然后用Keil51编译通过。第一块为Keil51的位声明;第二块为延时子程序;第三块为液晶的初始化程序;第四块为电压检测中断程序;最后为主程序[7]。
// Keil51位声明//
#include<reg51.h> #define uchar signed char #define uint signed int sbit lcdrs=P2^0; sbit lcdwr=P2^1; sbit lcden=P2^2; sbit S1=P2^4; sbit S2=P2^5; sbit S3=P2^6; sbit S4=P2^7;
uchar code VoltageDat[]={"Voltage:00.0 V"}; uchar code CurrentDat[]={"Current:0.00 I"};
uchar count,S1num,V_point,V_ge,V_shi,I_point,I_ge,I_shi; uchar S1_OK=0,Confirm=0,DA0832,VCC,Power; //延时1ms子程序开始// void delay(uint z) { }
//写指令子函数//
void lcd_write_com(uchar com) {
lcdrs=0; //lcdrs=0即设置写指令状态 lcdwr=0; //写状态
uint x,y;
for(x=0;x<121;x++)
for(y=0;y<z;y++);
电子信息专业本科生毕业论文设计
冲 }
lcden=0; //从这句开始将en置1然后又置零,是将其显示为高脉
P0=com; //将要写的指令传给P0口 delay(5); lcden=1; delay(5);
lcden=0; // en的高脉冲设置完毕
//写数据子函数//
void lcd_write_dat(uchar x_pos,uchar y_pos,uchar dat) {
x_pos &= 0x0f; // X位置范围 0~15 // y_pos &= 0x01; // Y位置范围 0~ 1 // if(y_pos==1) x_pos += 0x40; x_pos += 0x80; lcd_write_com(x_pos); }
//液晶初始化子函数//
void lcd_init() {
uchar num;
lcd_write_com(0x38); //显示16×2,5×7点阵,8位数据接口。 lcd_write_com(0x0c); //显示开/关及光标设置
lcdrs=1; //lcdrs=1即设置写数据状态 lcdwr=0; //写状态
lcden=0; //从这句开始将en置1然后又置零,是将其显示为高脉冲 P0=dat; //将要写的数据传给P0口 delay(5); lcden=1; delay(5);
lcden=0; // en的高脉冲设置完毕
电子信息专业本科生毕业论文设计
lcd_write_com(0x06); //设置读写一个字符后指针自动加1或减1及整屏左
移动
lcd_write_com(0x01);
lcd_write_com(0x80); //设置数据指针位置,即从什么位置开始显示, for(num=0;num<14;num++) { }
lcd_write_com(0x80+0x40); //设置数据指针位置 for(num=0;num<14;num++) { }
lcd_write_dat(num,1,CurrentDat[num]); delay(5);
lcd_write_dat(num,0,VoltageDat[num]); delay(5);
}
//电压检测中断程序//
uchar keyscan() //等待调时间的子函数,S1S2S3为功能键按,S1闪烁调整位置的功能键,S2增加1,S3减少1 {
if(S1==0) {
delay(5); //键盘按键消抖 if(S1==0) {
S1num++; //S1增加功能键按下的次数 while(!S1); //按键松手检测 if(S1num==1) {
lcd_write_com(0x80+11);
电子信息专业本科生毕业论文设计
}
lcd_write_com(0x0f); //光标闪烁,表示可以调整时间
if(S1num==2) //如果S1即第二次按下,光标向前移动 { }
if(S1num==3) //如果S1即第三次按下,光标向前移动 { }
if(S1num==4) //如果S1即第四次按下,光标向前移动 { }
if(S1num==5) //如果S1即第五次按下,光标向前移动 { }
if(S1num==6) //如果S1即第六次按下,光标向前移动 { }
if(S1num==7) //如果S1即第七次按下,则定时器开始计时,S1num
lcd_write_com(0x80+0x40+8); lcd_write_com(0x80+0x40+10); lcd_write_com(0x80+ …… 此处隐藏:3450字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [高中教育]电子线路高频非线性部分2.1
- [高中教育]中班美术活动——我的小手
- [高中教育]常用三极管参数大全
- [高中教育]计算机常见故障及解决办法
- [高中教育]风机基础环水平度控制方法探讨
- [高中教育]机械安全工程(专升本)阶段性作业3
- [高中教育]2009年安徽省高考语文考试说明刍议
- [高中教育]unit5 let's eat公开课教案设
- [高中教育]计算机网络原理课后习题答案
- [高中教育]2016-2022年中国新能源市场研究与投资
- [高中教育]2015-2020年中国会议行业市场评估及投
- [高中教育]经销商大会峰会主持人串词开场白
- [高中教育]2014新版北师大数学三年级上册小熊购物
- [高中教育]七年级第一学期体育与健康全套教案
- [高中教育]第三章:国际金融市场
- [高中教育]六年级下册数学单元测试-2.比例 北师大
- [高中教育]2016年上海海事大学法学院624刑法之《
- [高中教育]中国碳化钙产业竞争现状及未来五年投资
- [高中教育]网络时代,我们怎么玩
- [高中教育]圆锥曲线——高中数学基础知识与典型例
- 高集医院世界艾滋病宣传日活动方案
- 苏教版六年级英语上册期末试卷含答案
- 全民枪战生化英雄模式幽灵怎么玩 生化
- 灿烂的宋元文化一导学案
- 第2章货币资金与应收款项
- 北师大版八年级下册数学第三章《分式》
- 浅析高分子材料成型加工技术
- 华南理工大学2013年度共青团先进集体及
- 教师资格科目二小学教案模板(共合集)
- 工程扩建可研报告
- 中华人民共和国海事局2014年度招录公务
- 提高农村小学生作文能力的教学尝试
- 徒手心肺复苏术操作步骤
- 毛概试题库7-15章
- 2014-2015学年度(上)初中班主任工作计
- 企业驾驶员安全生产责任书
- 第07章 不等式测试题-2016年高考文科数
- 医疗器械经营企业工作程序
- 考研英语必背36篇_彩版_精华
- 初中9月13-15假期作业 (1)




