数控直流稳压电源的设计与实现.docx

上传人:b****4 文档编号:27070746 上传时间:2023-06-26 格式:DOCX 页数:18 大小:152.24KB
下载 相关 举报
数控直流稳压电源的设计与实现.docx_第1页
第1页 / 共18页
数控直流稳压电源的设计与实现.docx_第2页
第2页 / 共18页
数控直流稳压电源的设计与实现.docx_第3页
第3页 / 共18页
数控直流稳压电源的设计与实现.docx_第4页
第4页 / 共18页
数控直流稳压电源的设计与实现.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

数控直流稳压电源的设计与实现.docx

《数控直流稳压电源的设计与实现.docx》由会员分享,可在线阅读,更多相关《数控直流稳压电源的设计与实现.docx(18页珍藏版)》请在冰豆网上搜索。

数控直流稳压电源的设计与实现.docx

数控直流稳压电源的设计与实现

数控稳压直流电源设计报告

1、数控直流稳压电源设计指标及设计

1.1设计技术指标

本设计是线性数控直流电源,设计要求如下:

1、电压变化范围+5%~-5%条件;

2、输出电压可调范围为0~10V;

1.2本课题研究方法和目标

数控电源的主要研究思路:

1、硬件部分

(1)单片机采用STC89C52最小系统方案,采用数码管和按键做人机界面,采用DA芯片作为主要的单片机系统。

(2)电压调整靠调整输入到DA的数字量来改变输出电压大小,再通过电压功率放大器将其放大,得到输出电压。

2、软件部分

(1)键盘输入程序用键盘扫描程序,将按键设置的电压交给D/A芯片产生输出电压。

(2)单片机通过A/D芯片读取当前输出电压值,通过显示程序,显示在数码管上。

 

2硬件电路详细设计

2.1单片机系统外围电路设计

在本次设计中,使用AT89C52单片机,其外围电路有复位电路、晶振电路、按键电路、数码管显示和D/A芯片接口电路。

以下是电路的详细设计。

2.1.1复位电路设计

单片机在启动的时候都需要复位,使单片机系统处于初始状态,然后开始工作。

89系列的单片机的RET引脚是复位信号的输入端,当系统处于正常工作状态,振荡器稳定,RET引脚上出现2个机器周期以上的高电平时,单片机就进入数位状态,但是如果引脚RET出现持续的高电平,单片机就处于循环复位状态[9]。

复位通常有两种基本形式:

上电复位和手动复位。

本次设计采用上电复位。

电路图如图2-1所示。

 

图2-1复位电路

2.1.2时钟振荡电路设计

单片机的CPU实质上是一个复杂的同步时序电路,它的工作都是必须在时钟控制下进行的。

CPU工作发出的控制信号在时间上的相互关系就是CPU的时序问题[9]。

CPU的时序需要外部硬件电路来实现,既振荡器和时钟电路。

51单片机内部都有一个高增益反向放大器,用于构成振荡器,但是构成时钟,外部还需要加一些附加电路。

本次设计采用单片机外部加晶振构成振荡电路,如图4-2所示。

图2-2单片机振荡电路

该振荡电路时采用的单片机内部时钟方式,是直接在引脚XTAL1和XTAL2两端接晶振,就构成了稳定的自激振荡器,振荡器产生的脉冲信号直接送入内部时钟电路。

2.1.3键盘电路设计

本次设计为数控电源,所以需要键盘设置输出电压,按键电路设计简单,如图4-3所示。

图2-3按键电路

四个按键依次为电压+1V、+0.1V、-1V、-0.1V,与单片机的P2口连接。

2.1.4显示电路设计

89系列单片显示通常采用的是LED数码管显示或LCD显示,两个显示它们的接口方法是不同的。

一般LCD配置了专门的驱动电器74ls244,在进行信息显示时,只需要把信息写入驱动电器的存储器中即可。

而数码管显示一般需要的电流较大,数码管显示有两种方式:

静态显示和动态扫描显示,在一般应用中主要是采用动态扫描方式。

本次设计采用LED数码管动态扫描显示,电路图如下图2-4所示。

 

 

 

图2-4-174ls224总线驱动电路

图2-4-2数码管显示电路输出电压测量

本设计采用共阴数码管显示,数码管接在单片机的P1和P2口,所以单片机P1口需要加上拉电阻。

2.1.5单片机与DA接口电路设计

由于本次设计用DA转换输出,所以在设计的时候采用了DAC0808单片控制输出电压。

DAC0808与单片机接口电路如图2-5所示。

 

图2-5DAC0808与单片机接口电路

 

2.6总电路图的设计

如图2-6总电路图。

图2-6总电路图

该中电路图是在protus软件里完成的,在绘图时采用的是分模块设计,以便于理解和修改,各模块又使用网络标号连接,这样使得电路更加简明。

3、软件设计,详细叙述各个软件模块所实现的功能

3、1以下程序为初始化个变量,即把个变量的初始值赋值为零,所以运行程序时,给定电压为零,输出电压也为零。

;******************

;初始化变量

;******************

MAIN:

MOVR0,#30H

MOVR7,#10H

MOVP3,#00H

CLRC

MOV00H,C

LOOP:

MOV@R0,#00H

INCR0

DJNZR7,LOOP

MOVR1,#2FH

LOOP1:

LCALLDISPLAY

LCALLSHUCHU;电压D/A转换输出

JNBP1.0,WEIXUAN;进入位选状态

JNBP1.2,JIA;进入加状态

JNBP1.3,JIAN;进入减状态

AJMPLOOP1

3、2位选程序是对输出赋值时,按位选后,74ls244进入三态模式,电压实测数码管输出保持原值。

;******************

;位选程序

;******************

WEIXUAN:

LCALLDISPLAY

JNBP1.0,WEIXUAN;去抖动

INCR1

MOVA,R1

CJNEA,#34H,LOP1

MOVR1,#30H

LOP1:

JNBP1.1,DUANXUAN;进入段选状态

JNBP1.0,WEIXUAN;进入位选状态

LCALLDISPLAY

JNBP1.4,LOP2;进入确定状态

AJMPLOP1

LOP2:

JNBP1.4,LOP2;去抖动

MOVR1,#2FH

AJMPLOOP1

3、3位选选到哪一位后,通过段选对那一段进行加一操作,按一下,加一,直到加到九,再按又变为为零。

;******************

;段选程序

;******************

DUANXUAN:

LCALLDISPLAY

JNBP1.1,DUANXUAN;去抖动

MOVA,R1

MOVR0,A

MOVA,@R0

INCA

CJNEA,#10,L1

MOVA,#00H

L1:

MOV@R0,A

LCALLDISPLAY

AJMPLOP1

;******************

3.4按确认键,可以进入三态模式,再按一下,可对设定电压十分位进行加5或减5操作,对应的输出值也相应的发生改变。

;******************

;加1程序

;******************

JIA:

LCALLDISPLAY

JNBP1.2,JIA;去抖动

MOVA,30H

JZY4

AJMPMAIN

Y4:

CLRC

MOVA,33H

ADDA,#5

ACALLBIJIAO1

MOV33H,A

MOVC,00H

MOVA,32H

ADDCA,#00H

MOV00H,C;存进位

ACALLBIJIAO1

MOV32H,A

MOVC,00H

MOVA,31H

ADDCA,#00H

MOV00H,C;存进位

ACALLBIJIAO1

MOV31H,A

MOVA,#00H

ADDCA,#00H

MOV30H,A

Y3:

AJMPLOOP1

BIJIAO1:

CJNEA,#0AH,Y1

MOVA,#00H

SETBC

MOV00H,C

AJMPY2

Y1:

CLRC

Y2:

RET

;******************

;减5程序

;******************

JIAN:

LCALLDISPLAY

JNBP1.3,JIAN;去抖动

MOVA,30H

JNZY7

MOVA,31H

JNZY7

MOVA,32H

JNZY7

MOVA,33H

JNZY7

MOV30H,#01H

AJMPLOOP1

Y7:

CLRC

MOVA,33H

SUBBA,#5

JZY8

MOVA,#05H

Y8:

MOV33H,A

MOVA,32H

SUBBA,#00H

ACALLBIJIAO2

MOV32H,A

MOVA,31H

SUBBA,#00H

ACALLBIJIAO2

MOV31H,A

MOVA,30H

SUBBA,#00H

MOV30H,A

AJMPLOOP1

BIJIAO2:

JNCY9

MOVA,#09H

Y9:

RET

 

3.5以下为DA转换子程序,单片机把设定好的电压值送到DA把数字量转换成模拟量通过电压功率放大器输出。

;******************

;电压D/A转换输出子程序

;******************

SHUCHU:

SETBRS0

MOVA,30H

JZY5

MOVA,#200

AJMPY6

Y5:

MOVA,30H

SWAPA

ORLA,31H

MOVB,#20

MULAB

MOV45H,A

MOVA,32H

MOVB,#2

MULAB

ADDA,45H

MOV45H,A

MOVA,33H

MOVB,#5

DIVAB

ADDA,45H

MOV45H,A

Y6:

MOVDPTR,#TAB2

MOVCA,@A+DPTR

MOVP3,A

CLRRS0

ACALLCLZ;调用电压测量值子程序

RET

3、6以下为电压测量子程序,它完成功能主要是测量出输出电压值,存储在寄存器类,此值是送到显示模块显示的值。

;******************

;调用电压测量值子程序

;******************

CLZ:

MOV48H,A

MOVR0,#34H

MOVR6,#4

LOOP7:

MOVB,#10

MULAB

MOV62H,A

MOVA,B

MOV@R0,A

ADDA,62H

MOV63H,A

MOVA,@R0

ADDCA,#00H

MOV@R0,A

MOVA,63H

INCR0

DJNZR6,LOOP7

RET

3、7以下为显示子程序,它完成功能主要是从单片机中取数,然后再送到数码管显示,先送段码,再送位码。

;******************

;显示子程序

;******************

DISPLAY:

MOVA,#01H

MOVR7,#8

MOVR0,#30H

LOOP2:

MOVP2,A

MOV10H,A

MOVA,@R0

MOVDPTR,#TAB1

MOVCA,@A+DPTR

MOV60H,A

MOVA,R0

CJNEA,#31H,M1

M3:

MOVA,60H

ANLA,#7FH

MOV60H,A

AJMPM2

M1:

CJNEA,#34H,M2

AJMPM3

M2:

MOVP0,60H

LCALLDS1MS

INCR0

MOVA,10H

RLA

MOV10H,A

DJNZR7,LOOP2

RET

3、8以下是一个延时子程序,完成的主要功能是延时1ms。

;******************

;延时1ms子程序

;******************

DS1MS:

MOVTMOD,#01H

MOVTH0,#0FCH

MOVTL0,#18H

SETBTR0

LOOP3:

JBCTF0,NOOP

SJMPLOOP3

NOOP:

CLRTR0

RET

 

4、将hex文件下载仿真

4.1将kell软件编写程序后产生的hex文件,将hex文件下载到单片机中,进行硬件仿真,下图为初始状态显示,如图4-1所示:

 

 

图4-1初始状态

4、2打开仿真器后,然后进行加操作,每次步进值为0.05V,如图4-2所示,上面的为电压设定,下面为输出显示,左边那个为电压表测得实际输出。

 

图4-2

图4-2

4.3打开仿真器,点击位键选中该位,然后再点击段键,每点击一次该段加一,把电压设定为5.55V,如图4-3.1所示,然后点击确认键,改变74ls244的三态状态,显示如图

4-3.2所示:

 

图4-3.1

 

图4-3.2

4.4以下是按键的综合使用,先设定电压为7V,然后用加键每次步进0.05V,调到7.5V,显示如图4—4所示:

 

图4-4

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1