单片机压力控制系统设计.docx
《单片机压力控制系统设计.docx》由会员分享,可在线阅读,更多相关《单片机压力控制系统设计.docx(12页珍藏版)》请在冰豆网上搜索。
![单片机压力控制系统设计.docx](https://file1.bdocx.com/fileroot1/2023-1/1/08430d0e-d2fa-452f-86c0-df03ae476a9d/08430d0e-d2fa-452f-86c0-df03ae476a9d1.gif)
单片机压力控制系统设计
摘要
本文从硬件和软件两方面介绍了MCS-51单片机温度控制系统的设计思路,对硬件原理图和程序框图作了简捷的描述。
关键词;MCS-51单片机;温度;软硬件;硬件原理图;程序框图;设计
单片机是指一个集成在一块芯片上的完整计算机系统。
尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:
CPU、内存、内部和外部总线系统,目前大部分还会具有外存。
同时集成诸如通讯接口、定时器,实时时钟等外围设备。
而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。
1.目的和意义
1.1设计的目的
(1)掌握A/D和D/A转换与单片机的接口连线。
(2)了解A/D和D/A芯片转换性能及编程方法。
(3)通过实验了解单片机如何进行数据采集。
(4)进一步掌握八段数码管的使用和编程方法。
(5)了解八段数码管显示的原理。
1.2设计方案
水位控制系统包括水位检测和阀门开度的控制。
水位信号可以通过压力传感器检测得到,阀们开度由输出的电压进行控制。
采用单片机单片机来控制水箱水位可以更好的达到自动化,可以取得较好的控制效果具体说明如下图1
图1
2.硬件电路的设计
2.1CPU系统
图2为主机系统电路图。
控制功能一般,程序并不复杂。
因此选择8031作为CPU,选择2732(4K)作为EPROM,74LS373作为低8位地址锁存器。
图2
2.2压力检测
系统采用单片机作为数字控制器的处理器,其中,由压力变送器传送来的电流信号经过A/D转换进入微处理器,经微处理器计算处理,将输出数字量进行D/A转换送给电动执行机构,具体结构如图3
图3
2.3水位设定
图4为键盘输入电路。
水位可以在0到3M范围内随意设定,利用键盘设定水位,存储在51H(键盘输入的数值)与存储在50H(检测的数据)先比较是否相同,如相同,则向DAC0832发送0,否则,将两数据相减,然后向DAC0832发送相减值。
DAC0832根据数值输出控制信号(1-5V)对应阀门开度(0%-100%)
图4
2.4压力显示电路
图5为水位显示电路。
水位值采用LED数码显示,每1s刷新一次显示值。
为了不扩展并行I/O口,本设计利用串行口的移位功能,扩展为3位静态显示电路。
P2.6为输出控制,当P2.6=1时,允许串行口输出数据给移位寄存器;当P2.6=0时,串行口不能输出数据,显示内容不变。
LED3显示十位水位值,LED2显示个位水位值,LED1显示十分位值,小数点固定在LED2上
图5
3.软件设计
根据以上已经具体化的硬件设计,就可以进行软件的总体设计和模块设计。
3.1设计思路
由水位传感器检测输入,启动A/D转换并将转换值暂存50H单元,将转换得来的十六进制数转换为十进制数,十分、个、十位分别存于35H、36H、37H单元,送由3位八段数码管显示。
同时将此检测值与设定值(51H)比较,差值大于2℃时报警并进行调节处理,差值小于2℃时,不处理。
处理完毕后返回水位采集模块,设定值用外部中断1方式进行设定。
3.2主程序
图6为系统总体流程图。
将定时器T0,设置为计数器方式,计数初值为最大值为FFFFH,当键盘键入时,则计数器产生溢出中断。
执行中断子程序。
主程序
ORG0000H
LJMPMAIN
ORG0003H
LJMPJPSR
ORG0050H
MAIN:
MOVTMOD,#06H;T0计数器,方式2
MOVTH0,#0FFH;置T0初值
MOVTL0,#0FFH
SETBEA;开中断
SETBET0;开外部中断0
SETBTR0;开启T0
LCALLDELAY;延时1S
LCALLTADC;调用水位检测子程序
LCALLDISP;调用水位显示子程序
LCALLCONT;调用水位控制子程序
STMPMAIN
图6为系统总体流程图
3.3水位检测子程序
图7为水位检测子程序流程图。
ADC0809是CMOS工艺的八位逐次比较型A/D转换器。
它由8选1模拟开关,8位A/D转换器及输出三态缓冲器组成,由三个地址信号ADDA、ADDB、ADDC来决定哪一路模拟信号进行A/D转换。
水位检测值存入50H,A/D转用查询方式。
水位检测程序如下:
ORG0600H
TADC:
MOV50H,#00H
MOVDPTR,#7FF8H;置0809通道地址
TT0:
MOVX@DPTR,A;启动0809A/D转换
JBINT1,$;等待A/D转换结束
MOVXA,@DPTR;读A/D转换值
MOV50H,A
RET
图7为水位检测子程序流程图
3.4水位控制子程序
图8为水位控制子程序流程图。
水位控制子程序的功能是将水位测量值(存于50H)与设定值(存于51H)作比较,是否相同,如相同,则向DAC0832发送0,否则,将两数据相减,然后向DAC0832发送相减值。
DAC0832根据数值输出控制信号(1-5V)对应阀门开度(0%-100%)
水位检测程序如下
CNNT:
MOVA,50H
SUBBA,51H
MOVR1#0FEH
MOVX@R1A
RET
3.5水位显示子程序
图8为水位显示子程序流程图。
利用控制微机的串行口,通过串入并出的移位寄存器74LS164设计LED显示器接口,尤其当需要远程显示时,采用串行传输会减少数据线数量,提高传输可靠性。
本设计利用74LS164扩展3片LED显示器的接口电路,图中采用的是共阳极LED显示器,74LS164本身吸收电流达8mA,可以直接驱动LED显示器,限流电阻值选为390Ω。
水位显示子程序如下:
ORG1F00H
DISP:
MOVA,50H;读取检测值
MOVB,#100
DIVAB
MOV37H,A;十位存于37H
MOVA,B
MOVB,#10
DIVAB
MOV36H,A;个位存于36H
MOVA,B
MOV35H,A;十分位存于35H
MOVSCON,#00H;设置串行口方式0
CLRES;关串行口中断
SETBP2.6;允许串行口输出数据
MOVR7,#03H
MOVR0,#35H
XS:
MOVA,@R0;取显示数
MOVDOTR,#2000H;置段码表首址
MOVCA,@A+DPTP;查询显示码
MOVSUBF,A;送显示
JNBTI,$;一帧末发送完,等待
CLRIT;清中断标志
INTR0;取下一个数
DJNZR7,XS
RET
ORG2000H
TAB:
DB03H,9FH,25H,0DH;0,1,2,3
DB99H,49H,41H,1FH;4,5,6,7
DB01H,09H;8,9
图8
3.6键盘输入中断程序
图9为水位设定中断服务程序流程图。
判断键盘上有无键闭合,其方法在扫描P1.0-P1.3上全部送零,然后读取P1.0-P1.3的状态,若全为1则无闭合键,若不全为1,则有闭合线,判断闭合键的键号,起方法为对键盘列线进行扫描,输入高电平扫描
键盘设定服务程序如下:
JPSR:
LCALLJP
MOVA,20H
MOVB,#100
MULAB
MOV43H,A
JBINTO$
LCALLJP
MOVA,20H
MOVB,#10H
MULAB
MOL42H,A
JBINTO$
LCALLJP
MOVA,20H
ADDA,43H
ADDA,42H
MOV51H,A
MOVTH0,#OFFH
MOVTL0,#0FFH
SETI
JP:
ACALLKS1判是有键闭合
JNZKEY1
KEY0:
RET
KEY1:
ACALLKS2调求键子程序
MOV20H,A
ACALLDL10调延时子程序
ACALLKS2
CJNEA,20H,KEY0
KEY2:
ACALLKS1判键释放否
JNZKEY2
ACALLDL10
JNZKEY2
RET
KS1:
MOVP1,#00H
MOVA,P1
ORLA,#0EFH
CPLA
RET
KS2:
MOVP1,#0EFHP1.4=0
MOV21H,#00H列首号存21H中
MOVA,P1
ORLA,#0F0H
CPLA
JNZKS20零列有键闭合
MOVP1,#0DFHP1.5=0
MOV21H,#04H
MOVA,P1
ORLA,#0F0H
CPLA
JNZKS20一列有键闭合
MOVP1,#0BFH;P1.6=0
MOV21H,#08H
MOVA,P1
ORLA,#0F0H
CPLA
JNZKS20二列有键闭合
MOVP1,#7FHp1.7=0
MOV21H,#0CH
MOVA,P1
ORLA,#0F0H
CPLA
JNZKS20
MOVA,#0FFH三列有键闭合
ORLA,#0F0H错误处理
RET
KS20:
ADDA,#03H加偏移位
MOVCA,@A+PC查表求列序号
ADDA,21H求键号存A中
RET
DB00H,01H02H02H02H03H
DB03H,03H03H
图9
结束语
经过这次的课程设计,使得我对单片机掌握进一步的增强,加深了对它们的理解,并对单片机产生了浓厚的兴趣,通过课程设计可以看出它对理论教学起到了必要的补充和额拓宽作用,对培养既具有扎实理论功底又具有相当实践能力的人才必不可少。
在这次的课程中,我发现单片机接触器在工业控制中的作用很大,它能使人的控制转变成电脑的控制,大大地降低了产品的成本,很大地提高生产效率。
经过这次课程设计培养了我们的设计能力以及全面的考虑问题能力。
学习的过程是艰难的但是收获成功的喜悦更是让人激动的。
相信通过这次课程设计它对我以后的学习及工作都会产生积极的影响
参考文献
[1]刘守义.单片机应用技术.系安:
西安电子科技大学出版社,2002
[2]郑堤、唐可法.机电一体化设计基础.北京:
机械工业出版社,1997
[3]蔡菲娜.单片微型计算机原理和应用.杭州:
浙江大学出版社,1996
[4]赵继文.传感器与应用电路设计.北京:
科学出版社,2002
[5]求是科技.单片机典型外围器件及应用实例.人民邮电出版社,2006
[6]朱家健.单片机与可编程控制器.北京:
高等教育出版社,1998
[7]彭东明、韦友春.单片机试验教程.北京:
北京理工大学出版社,2007
[8]张洪润、张亚凡.单片机原理及应用.北京:
清华大学出版社,2004
[9]朱勇.单片机原理与应用技术.北京:
清华大学出版社,2006
[10]郑堤、唐可洪机电一体化基础机械工业出版社1997