ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:135KB ,
资源ID:27060053      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/27060053.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(微机原理课程设计 温度测控系统.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

微机原理课程设计 温度测控系统.docx

1、微机原理课程设计 温度测控系统 微机原理课程设计报 告 书 课 题 名 温度测控系统 目录1、设计目的- 3二、设计内容和要求- 3三、设计原理- 3四、程序代码- 6五、硬件系统调试- 10六、设计总结与体会- 13七、参考文献- 14Proteus是英国Labcenter公司开发的电路分析与实物仿真及印制电路板设计软件,它可以仿真、分析各种模拟电路与集成电路。软件提供了大量模拟与数字元器件及外部设备,各种虚拟仪器,特别是它具有对单片机及其外围电路组成的综合系统的交互仿真功能。Proteus 7主要由ISIS和ARES两部分组成,ISIS的主要功能是原理图设计及与电路原理图的交互仿真,ARE

2、S主要用于印制电路板的设计。一、设计目的1.巩固和加深课堂所学知识;通过课程设计,熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,得到微机开发应用方面的初步训练。2.学习掌握一般的硬件的设计方法和查阅、运用资料的能力;真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。3.熟练掌握微机系统与接口扩展电路的设计方法,熟练应用8086汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤,熟悉微机系统的硬软件开发工具的使用方法4.通过温度测控系统仿真系统设计与制作,深入了解与掌握数模转换,数码管显示和电动机驱动的方法,熟悉proteus软件操作。二

3、、设计内容和要求总体要求:根据题意自行设计电路,在实验箱上连接线路并编写相关汇编程序,调试成功。设计内容:利用ADC0809采用中断方式设计一个温度测控系统,在七段数码管上显示温度值,并根据测试的温度进行控制。当检测温度到达温度上限60时启动直流电动机,而温度低于下限30时停止电动机。数码管上的显示内容为:XX C(采用十进制显示) 三、设计原理温度测试系统主要由温度传感器、A/D转换、显示及电动机块组成。温度传感器将外部温度信号转换为电压信号,经放大电路,再经由ADC0808转化为数字信号进行处理,软件中对数字量进行判断,并作相应的跳转,由8255实现正常显示和启动电动机。各个芯片由8086

4、来进行整体的控制。1.电路原理图上图中ADC0808的INO输入端接温度传感的ANZ端,进行温度量的采集,CLOCK接1M;8255A中A、B口与数码管连接如上图,PA0接直流电机的OUTPUT,其中地址端口接40H。2.系统功能框图3.程序流程图上图实现了本次实验所要要求的功能:检测温度到达温度上限60时启动直流电动机,而温度低于下限30时停止电动机,并在数码管上显示所采集到的数字量和转换后的模拟量。程序采用中断处理的方式。四、程序代码DATA SEGMENT tab db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,77h,7ch,39h,5eh,79h

5、,71h buf db 0 a8255 equ 40h ;8255的A,B,C口及控制口地址b8255 equ 42hc8255 equ 44hQ8255 equ 46hadc0808 equ 20h ;ADC0808端口地址DATA ENDS CODE SEGMENT CODE ASSUME DS:DATA,CS:CODESTART: mov ax,data mov ds,ax cli ;关中断mov dx,Q8255 ; 8255A初始化设置。8255A控制字,A口为输出,B 口为输出, C口的高四位为输出 mov al,80h out dx,al mov ax,0 ;设置中断向量,非屏蔽

6、中断NMI mov es,ax mov si,02H*4 mov ax,offset int0 mov es:si,ax mov ax,seg int0 mov es: si+2,ax mov al,00010011b ;设置ICW1 mov dx,30H out dx,al mov al,00010000b ;ICW2 mov dx,32h out dx,al mov al,1bh ;ICW4 out dx,al mov al,0feH ;OCW1 out dx,al mov al,80H ;OCW2 mov dx,30H out dx,al sti ;开中断 mov si,offset b

7、ufMAIN : mov dx,adc0808 ;启动ADC0808转换 mov al,0 out dx,al mov al,80H ;OCW2 mov dx,30H out dx,al MOV CX,5MON: mov al,si mov ah,0 mov bl,20 div bl mov bx,offset tab xlat ;换码指令,换成对应的段码 mov dx,b8255 ;显示十位 out dx,al mov al,11101111b ;位码选通 mov dx,c8255 out dx,al call DELAY_1S mov al,0ffh ;不选中任何位选 out dx,al

8、mov al,ah mov ah,0 mov bl,2 div bl mov bx,offset tab xlat ;换码指令 or al,80h ;个位带小数点 mov dx,b8255 out dx,al ;显示个位及小数点 mov al,11011111b ;位码选通 mov dx,c8255 out dx,al call DELAY_1S ;调用延时 mov al,0ffh ;不选中任何位选 out dx,al mov al,ah ;小数位显示 mov bx,offset tab xlat mov dx,b8255 out dx,al mov al,10111111b mov dx,c

9、8255 out dx,al call DELAY_1S mov al,0ffh out dx,al mov al,01111111b out dx,al mov al,00111001b ;显示最后字母”C” mov dx,b8255 out dx,al call DELAY_1S mov dx,c8255 mov al,0ffh out dx,al call DELAY_1S mov al,si shr al,1 ;逻辑右移一位,减小位扩展时的误差 cmp al,30 ;温度低于30时,跳到down jb down cmp al,60 ;温度高于60度时,跳到up ja up jmp MA

10、IN LOOP MONdown: mov dx,a8255 mov al,00h ;PA0输出0,低电平不启动电机 out dx,al jmp MAIN up: mov dx,a8255 mov al,01h ;PA0输出1,高电平启动电机 out dx,aljmp MAIN int0 proc near ;中断程序 push ax push bx PUSH SI pushf CLI mov dx,adc0808 ;读取转换好的数据 in al,dx mov si,al mov al,80H ;OCW2 mov dx,30H out dx,al sti popf POP SI pop bx p

11、op ax iretint0 endpDELAY_1S proc ;延时子程序 Push bx Push cx push si mov bx,1LP2: mov cx,10LP1: LOOP LP1 DEC bx JNZ LP2 Pop si Pop cx Pop bx ret DELAY_1S ENDPCODE ENDSEND START五、硬件系统调试译码电路:显示电路: 模数转化电路:中断电路:电动机电路: 调试过程中遇到的主要问题和解决办法 (1)仿真过程中,不能启动模数转换电路仿真运行中,改变模拟信号时,系统并不能做出相应的显示。解决办法: 利用debug下8086Source Co

12、de 单步运行调试程序后,发现程序返回点过了0809启动的程序段,所以将程序中返回点由MON改至MAIM启动处,进而实现程序启动。(2)当压力超出3060范围,程序里只调用电机停止模块,而不调用数码管显示模块。单步调试发现,此时数码管显示模块被跳过。解决办法: 在电机控制程序段结束后,跳转到数码管显示部分。 六、设计总结与体会这次微机原理的课程设计历时一个星期,我们组做的是一个温度测控系统,同时采用了中断控制,用到了ADC0809、8255A和8259A等芯片。通过上网进行了相关内容的查询,了解了实验的基本原理,设计出了本系统的基本思想,然后按照实验的要求由简单到难,逐步实现了在七段数码管上显

13、示出采集过来的数字量部分,在此基础之上实现了当检测温度到数字量上限60时启动直流电动机,而温度低于下限30时停止电动机这个功能。以前对编程工具的使用还处于一知半解的状态,但是经过了一段上机的实践,对于怎么排错,差错,怎么看每一步的运行结果,怎么去了解每个寄存器的内容以确保程序的正确性上都有了很大程度的提高。由于实验采集到的数字量不是很直观,最后我们将三位的数字量转换为了温度并和数字量一并在数码管上显示出来,进一步完善了本系统。在实现各个功能的过程中遇到的主要问题:(1)中断程序不执行,0809不能启动,这个问题经过单步调试才发现是跳转的程序段不正确。(2)第二个问题是经老师提醒才发现,设计电路

14、在采集。相当于把所学的接口知识又复习了一遍,同时将平时实验中存在的一些疑问都解决掉了。对于8255数码管的显示和0809 A/D转换器基本工作原理有了更深入的了解,对两者结合起来实现比较复杂的功能(本实验中实现了在数码管上显示温度值,并用温度值来控制直流电机的运行情况的功能)也有了一定的了解。通过这次课程设计使我懂得了理论和实践相结合起来是很重要的,从理论中知识是远远不够的,只有把所学的理论知识和实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。七、参考文献1 顾晖,梁惺彦.微机原理与接口技术基于8086和Proteus仿真M.北京:电子工业出版社,2011,262-2932 徐晨,陈继红.微机原理及应用M.北京:高等教育出版社,20043 康华光.电子技术基础(数电部分)M.北京:高等教育出版社,2006,143-1514 沈美明,温冬婵.IBM-PC汇编程序设计M.北京:清华大学出版社,20015 周润景,张丽娜.Proteus入门实用教程M.北京:机械工业出版社,2007

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

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