单片机压力控制系统设计_第1页
单片机压力控制系统设计_第2页
单片机压力控制系统设计_第3页
单片机压力控制系统设计_第4页
单片机压力控制系统设计_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第1页/共13页摘要本文从硬件和软件两方面介绍了mcs-51单片机温度控制系统的设计思路,对硬件原理图和程序框图作了简捷的描述。关键词;mcs-51单片机;温度;软硬件;硬件原理图;程序框图;设计单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:cpu 、内存、内部和外部总线系统, 目前大部分还会具有外存。 同时集成诸如通讯接口、定时器,实时时钟等外围设备。 而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。1目的和意义1.1 设计的目的(1)掌握 a/d 和 d/a 转换与单

2、片机的接口连线。(2)了解 a/d 和 d/a 芯片转换性能及编程方法。(3)通过实验了解单片机如何进行数据采集。(4)进一步掌握八段数码管的使用和编程方法。(5)了解八段数码管显示的原理。1.2 设计方案水位控制系统包括水位检测和阀门开度的控制。水位信号可以通过压力传感器检测得到, 阀们开度由输出的电压进行控制。采用单片机单片机来控制水箱水位可以更好的达到自动化,可以取得较好的控制效果具体说明如下图1第2页/共13页图 1 2硬件电路的设计2.1 cpu 系统图 2 为主机系统电路图。 控制功能一般, 程序并不复杂。 因此选择 8031 作为 cpu ,选择 2732(4k)作为 eprom

3、,74ls373作为低 8位地址锁存器。图 2 2.2 压力检测系统采用单片机作为数字控制器的处理器,其中,由压力变送器传送来的电流信号经过a/d 转换进入微处理器,经微处理器计算处理,将输出数字量进行d/a 转换送给电动执行机构,具体结构如图3第3页/共13页图3 2.3 水位设定图 4 为键盘输入电路。 水位可以在 0 到 3m范围内随意设定, 利用键盘设定水位,存储在 51h (键盘输入的数值)与存储在50h (检测的数据)先比较是否相同,如相同,则向dac0832 发送 0,否则,将两数据相减,然后向dac0832 发送相减值。 dac0832 根据数值输出控制信号( 1-5v)对应阀

4、门开度( 0%-100% )图4 2.4 压力显示电路图5为水位显示电路。水位值采用led 数码显示,每 1s刷新一次显示值。为了不扩展并行 i/o 口,本设计利用串行口的移位功能,扩展为3位静态显示电路。p2.6为输出控制,当 p2.6=1时,允许串行口输出数据给移位寄存器;当p2.6=0时,串行口不能输出数据,显示内容不变。led3 显示十位水位值, led2 显示个位水位值, led1 显示十分位值,小数点固定在led2 上第4页/共13页图5 3. 软件设计根据以上已经具体化的硬件设计,就可以进行软件的总体设计和模块设计。3.1 设计思路由水位传感器检测输入,启动a/d 转换并将转换值

5、暂存50h 单元,将转换得来的十六进制数转换为十进制数,十分、个、十位分别存于35h、36h、37h单元,送由 3 位八段数码管显示。同时将此检测值与设定值(51h)比较,差值大于 2时报警并进行调节处理,差值小于2时,不处理。处理完毕后返回水位采集模块,设定值用外部中断1 方式进行设定。3.2 主程序图 6 为系统总体流程图。将定时器t0,设置为计数器方式,计数初值为最大值为 ffffh ,当键盘键入时,则计数器产生溢出中断。执行中断子程序。主程序org 0000h ljmp main org 0003h ljmp jpsr org 0050h main : mov tmod ,#06h ;

6、t0计数器,方式 2 mov th0,#0ffh ;置 t0初值 mov tl0,#0ffh 第5页/共13页 setb ea ;开中断 setb et0 ;开外部中断 0 setb tr0 ;开启 t0 lcall delay ;延时 1s lcall tadc ;调用水位检测子程序 lcall disp ;调用水位显示子程序 lcall cont ;调用水位控制子程序stmp main 图6为系统总体流程图3.3 水位检测子程序图 7 为水位检测子程序流程图。 adc0809 是 cmos 工艺的八位逐次比较型a/d转换器。它由 8 选 1 模拟开关, 8位 a/d转换器及输出三态缓冲器组

7、成,由三个第6页/共13页地址信号 adda 、addb 、addc 来决定哪一路模拟信号进行a/d 转换。水位检测值存入 50h ,a/d 转用查询方式。水位检测程序如下: org 0600h tadc :mov 50h ,#00h mov dptr,#7ff8h ;置 0809 通道地址tt0:movx dptr,a ;启动 0809a/d转换 jb int1,$ ;等待 a/d 转换结束 movx a,dptr ;读 a/d 转换值 mov 50h,a ret 图 7 为水位检测子程序流程图3.4 水位控制子程序第7页/共13页图 8 为水位控制子程序流程图。 水位控制子程序的功能是将水

8、位测量值 (存于 50h )与设定值(存于51h )作比较,是否相同,如相同,则向dac0832 发送0,否则,将两数据相减,然后向dac0832 发送相减值。 dac0832 根据数值输出控制信号( 1-5v)对应阀门开度( 0%-100% )水位检测程序如下cnnt :mov a , 50h subb a , 51h mov r1 #0feh movx r1 a ret 3.5 水位显示子程序图 8 为水位显示子程序流程图。 利用控制微机的串行口, 通过串入并出的移位寄存器 74ls164设计 led显示器接口, 尤其当需要远程显示时, 采用串行传输会减少数据线数量, 提高传输可靠性。 本

9、设计利用 74ls164扩展 3 片 led显示器的接口电路,图中采用的是共阳极led显示器, 74ls164本身吸收电流达 8ma ,可以直接驱动 led显示器,限流电阻值选为390。水位显示子程序如下: org 1f00h disp: mov a ,50h ;读取检测值 mov b,#100 div ab mov 37h,a ;十位存于 37h mov a,b mov b ,#10 div a b mov 36h,a ;个位存于 36h mov a,b mov 35h,a ;十分位存于 35h mov scon,#00h ;设置串行口方式0 第8页/共13页 clr es ;关串行口中断

10、setb p2.6 ;允许串行口输出数据 mov r7,#03h mov r0,#35h xs: mov a,r0 ;取显示数 mov dotr,#2000h ;置段码表首址 movc a,a+dptp ;查询显示码 mov subf,a ;送显示 jnb ti,$ ;一帧末发送完,等待 clr it;清中断标志int r0 ;取下一个数djnz r7,xs ret org 2000h tab: db 03h,9fh,25h,0dh;0,1,2,3 db 99h,49h,41h,1fh;4,5,6,7 db 01h,09h; 8,9第9页/共13页图8 3.6 键盘输入中断程序图 9 为水位设

11、定中断服务程序流程图。判断键盘上有无键闭合, 其方法在扫描 p1.0-p1.3 上全部送零,然后读取p1.0-p1.3 的状态,若全为 1 则无闭合键,若不全为 1,则有闭合线,判断闭合键的键号,起方法为对键盘列线进行扫描,输入高电平扫描键盘设定服务程序如下: jpsr:lcall jp mov a , 20h mov b , #100 mul ab mov 43h, a 第10页/共13页jb into $ lcall jp mov a, 20h mov b, #10h mul ab mol 42h, a jb into $ lcall jp mov a, 20h add a, 43h ad

12、d a, 42h mov 51h, a mov th0, #offh mov tl0, #0ffh seti jp: acall ks1 判是有键闭合jnz key1 key0: ret key1: acall ks2 调求键子程序 mov 20h, a acall dl10 调延时子程序 acall ks2 cjne a, 20h,key0 key2: acall ks1 判键释放否 jnz key2 acall dl10 jnz key2 ret ks1: mov p1, #00h mov a, p1 orl a, #0efh cpl a ret ks2: mov p1, #0efh p1

13、.4=0 mov 21h, #00h 列首号存 21h中 mov a, p1 第11页/共13页 orl a, #0f0h cpl a jnz ks20 零列有键闭合 mov p1, #0dfh p1.5=0 mov 21h, #04h mov a,p1 orl a, #0f0h cpl a jnz ks20 一列有键闭合 mov p1, #0bfh;p1.6=0 mov 21h, #08h mov a, p1 orl a, #0f0h cpl a jnz ks20 二列有键闭合 mov p1, #7fh p1.7=0 mov 21h, #0ch mov a,p1 orl a, #0f0h c

14、pl a jnz ks20 mov a, #0ffh 三列有键闭合 orl a, #0f0h 错误处理 ret ks20 : add a , #03h 加偏移位 movc a, a+pc 查表求列序号 add a, 21h 求键号存 a中 ret db 00h , 01h 02h 02h 02h 03h db 03h , 03h 03h 第12页/共13页图9 结束语经过这次的课程设计, 使得我对单片机掌握进一步的增强,加深了对它们的理解,并对单片机产生了浓厚的兴趣, 通过课程设计可以看出它对理论教学起到了必要的补充和额拓宽作用, 对培养既具有扎实理论功底又具有相当实践能力的人才必不可少。在这次的课程中,我发现单片机接触器在工业控制中的作用很大,它能使人的控制转变成电脑的控制,大大地降低了产品的成本, 很大地提高生产效率。经过这次课程设计培养了我们的设计能力以及全面的考虑问题能力。学习的过程是艰难的但是收获成功的喜悦更是让人激动的。相信通过这次课程设计它对我以后的学习及工作都会产生积极的影响第13页/共13页参考文献1刘守义 . 单片机应用技术 . 系安:西安电子科技大学出版社,2002 2郑堤、唐可法 . 机电一体化设计基础 . 北京:机械工业出版社,1997 3蔡菲娜 . 单片微型计算机原理和应用. 杭州:浙江大学出版社,1996 4赵继文 . 传感器与应用电路

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论