微机原理及其应用微型计算机温度控制系统设计课程设计报告_第1页
微机原理及其应用微型计算机温度控制系统设计课程设计报告_第2页
微机原理及其应用微型计算机温度控制系统设计课程设计报告_第3页
微机原理及其应用微型计算机温度控制系统设计课程设计报告_第4页
微机原理及其应用微型计算机温度控制系统设计课程设计报告_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1、微机原理及其应用课程设计报告2011年3月2日一、课程设计题目及系统功能介绍微型计算机温度控制系统设计,假设工业现场温度范围为 075C,温度值经传感器检测后,经变送器变成05V范围内的 电压信号。电压信号送A/D转换器ADC0809转换成对应的数字 量。数字量经数字滤波后送入CPU作为本次采样值。在LED数 码显示器上显示温度值(采用十进制显示),并对温度进行测试 和控制,当检测温度到达温度上限6()C时红灯亮,蜂鸣器报警, 低于下限3()C时黄灯亮,蜂鸣器报誓,以达到监控温度的目的。本设计采用程序控制方式。系统功能:每隔()秒钟对现场温度连续采集三次取平均值 作为本次采样的有效值;判断温度

2、是否高于上限值6()C或低于 下限值3()C,如超出该范围则分别用红、黄发光二极管和报腎; 把采集来的电压值转化成温度值在LED显示器上显示;若键盘 输入“R”则返回DOS,结束程序。二、硬件设计系统的硬件工作原理:CPU通过8255查询8253的定时时间是否已 到,若到则对8253接口 2重新初始化且用ADC0809模/数转换器采样,不到则继续七段数码管显示与LED 灯和蜂鸣器的过程,循环以上。系统框图如下:地址分配:8255288h精品8253280hADC0809298h-29fhDAC0832290h重要芯片功能介绍:K可编程并行接口 8255PCS PA6PCI PA 1PC2 FA

3、2PC3 P白3PC4 PA4PC5 PA5PC6 PQ6PC7 FA7CS采取工作方式0,输入控制字88h,即A 口输出,C 口高四位输入,C 口低四位输出PAO-PA6对应接七段数码管abcdcfg接口,PCO PC1对应七段数码管的位码接口PC2 PC3对应黄红LED灯,PC4接8253计数器2的QUT2端口2、可编程定时器/计数器(8253)U58253280H “csn 11 t i13 eGATE 11 jCLK10UT9GATES11 r 1 K09 .w L. IX V X1 MHZ分别对8253的计数器1和计数器2初始化采用方式3和方式(), 使计数器2产生每隔().1秒的高

4、电平3. ADC0809模/数转换器T1212 厂rr1 MH2弓JWL-ref(+) UCCGJW re f(-)/CLOCK22222222 b b s 5 n 1122 4567 82810k i:-jn1JP2A27R?10kIN0 26 I N 1 fd半|_RU1 10kIN-2ADD-CADD-BIH- 1ADD-AEOCALE START IN-0ENABLE2 12613T8TsT4T?2324257U9 ADC080976543210 210 DDDDDDDD A Art2274LSS2IOR298H* 29FH如图虚线接线即可3、DAC0832数/模转换器DAC0832D

5、AC0832是用于蜂鸣器报誓的三、软件设计先对硬件8255 8253进行初始化且用ADC0809第一次采样,通 过8255的PC4端口查询8253的定时时间是否已到,若到则对8253 接口 2重新初始化且用ADC0809模/数转换器采样,不到则继续 七段数码管显示与LED灯和蜂鸣器的过程,最后若有键按下则 返回DOS,否则返回继续查询PC4端口、循环。主程序流程图:8255 8253初嬪化及 第一次采祎七 段 数 码 管 流 程 图红黄灯及蜂鸣器程序如下:mov cl Jshujucmp cl,60;采样得来的数据与30和60进行比较,不在它们之间的红黄灯、蜂鸣器报誓jnc licmp cl,

6、3()jc xiongjmp exitli: or al,08hcall beepjmp exitxiong: or al/)4hcall beepexit: mov dx,io8255a ;通过 8255C 端口输出到 LED 灯out dx,al采样子程序mov bx,()mov ex,3xun: mov dx,io()809out dx.alpush exmov cx,()FFH;延时delayl: loop delaylpop exin al,dxmov ah/)mov dl,5;将采样数据转化为0-75之间的温度值mul dlmov dl7div dlmov ah/)add bx,a

7、x;循环三次取样loop xunmov ax.bxmov cl,3div cl;取三次数据后平均值mov shuju,almov ah/)mov cl,10div clmov di,offset buffcrl;将采样三次得出的均值的个位与十位分别存在buffer与buffcr+1中mov di用hmov di+1,al四、讨论和感想首先感受最深的的是汇编的基础一定要扎实,否则很容易岀现低 级错误,比如说一些死循环之类的东西。我们这组最开始的时候连硬件检测都没做就直接执行程序,当然 做不出什么来的。后来又入入续续发现了一些低级错误,不过都一步 步改正了。还有就是主程序一定要简洁易读,最好事先画

8、好流程图。 硬件不要频繁初始化,最好是在程序开头就全部初始化完毕,像8255 8253 一类。为保证程序易读、便于添加和修改,必要的注释是很好的,于程 序中最好开头和结尾对于程序中用到的寄存器都进行入出栈操作,这 能有效的防止一些低级错误。以上是我碰到的问题及其解决方法、心得体会。五、源程序的清单:datasegmentioportcqu 0c4()()h-()280hio8255acqu ioport+28ah ;8255C 口地址io8255bcqu ioport+28bh;8255控制寄存器地址io8255ccqu ioport+288h ;8255A 口地址io0832acqu iop

9、ort+290hio8253acqu ioport+283h ;8253工作方式控制奇存命地址io8253bequ ioport+281 h ;计数器 1io8253ccqu ioport+282h ;计数器 2io()809equ ioport+298h ;蜂鸣器leddb3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh ;段码buffcrldb0,0;存放要显示的十位和个位bzdw?;位码dataldb 8()hQ(WW),0db Offh,0,0,0,(),(),0,0db 8()h,0,(),0,(),0,0,()db OOh,0,0,0,0,0,0,0;

10、红灯正弦波数据data2 db 80h,96h,0aeh,0c5h,0d8h,0e9h,0f5h,0fdhdb 0ffh,0fdh,0f5h,0e9h,0d8h,0c5h,0aeh,96hdb 80h,66h,4eh,38h,25h,l 5h,09h,04hdb 00h,04h,09h,l 5h,25h,38h,4eh,66h;黄灯正弦波数据shuju db 0;存放采样三次后的均值data endscode segmentassume cs:codc,ds:datastart: mov axdatamov ds,axmov dx3o8255b输入低四位输出;将8255设为A 口输出C髙4位c

11、all adcvJpandiuin: mov dx,io8255a输入in al.dxand al J Ohjz xianshicall delayJcall adcvJxianshi: call qiduanpush ax鸣器程序段;从 8255 的 c 口;Pc4不为1跳到显示;LED灯与蜂push expush dxmov cl,shuju精品cmp cl,6()jnc licmp cl,3()jc xiongjmp exitli: or al,08hcall beepjmp exitxiong: or al/)4hcall beepexit: mov dx,io8255aout dx,

12、alpop dxpop expop axmov dxOffhmov ah,()6int 21 hjc pjuiduan;有按键退出否则循环mov ah,4ch;返回精品int21hqiduan proc nearpush dipush sipush bxpush expush dxmov di,offset buffcrl loop2: mov bh,()2 111:mov byte ptr bz,bhpush didec diadd di, bzmov bl,dipop dimov al,()mov dx,ioS255aout dx,al;七段数码管子程序;设di为显示缓冲区;bl为要显示的

13、数mov si,offset led;置led数码表偏移地址为S1mov bh,()精品add si,bx;求出对应的led数码精品mov al,byte ptr simov dx,ic)8255cout dx,almov al,byte ptr bzmov dx,i()8255nout dx,almov ex,300()dclay2: loop dclay2mov bh,bytc ptr bzshr bh,ljnz 111pop dxpop expop bxpop sipop diretqiduan endpadcy proc nearpush ax;自8255a的口输出;使相应的数码管亮;

14、位选变化;延时;于程序返回;AD采样于程序诞时;循环三次取样push bxpush expush dxpush dimov bx,()mov ex,3 xun: mov dx,io()8()9out dx,al push ex mov cx,()FFH dclayl: loop dclayl pop exin al,dxmov ah,0mov dl,5mul dlmov dl,17 div dlmov ah,0add bx?ax loop xunmov cl,3div cl;取三次数据后平均值mov shuju,almov ah,0mov cl,1()div clmov di,offset b

15、uffcrlmov di,ahmov di+l,alpop dipop dxpop expop bxpop axadcy endpdelay procnearpushax;8253初始化pushdxmoval,70h;设8253通道0工作方式()mov dx,ioB253aout dx.al;写入计数器初mov ax,50()值500mov dx,i()8253bout dx,almov al,ahout dx7alpop dxpop ax;于程序返回delay endp精品;蜂鸣器于程序beep proc nearpush expush axpush dxpush sidd: mov si,()ooo:mov al

温馨提示

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

评论

0/150

提交评论