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

上传人:仙*** 文档编号:32457071 上传时间:2021-10-14 格式:DOC 页数:14 大小:133.50KB
返回 下载 相关 举报
微机原理课程设计 温度测控系统_第1页
第1页 / 共14页
微机原理课程设计 温度测控系统_第2页
第2页 / 共14页
微机原理课程设计 温度测控系统_第3页
第3页 / 共14页
点击查看更多>>
资源描述
南通大学电子信息学院微机原理课程设计报 告 书 课 题 名 温度测控系统 班 级 _ _集成092_ _ 姓 名 _ 杜轶群 指导教师 胡慧 日 期 2012.6.112012.6.15 组长:刘奇组员:宋林峰 张伟 杜轶群14目录1、 设计目的- 3二、设计内容和要求- 3三、设计原理- 3四、程序代码- 6五、硬件系统调试- 10六、设计总结与体会- 13七、参考文献- 14Proteus是英国Labcenter公司开发的电路分析与实物仿真及印制电路板设计软件,它可以仿真、分析各种模拟电路与集成电路。软件提供了大量模拟与数字元器件及外部设备,各种虚拟仪器,特别是它具有对单片机及其外围电路组成的综合系统的交互仿真功能。Proteus 7主要由ISIS和ARES两部分组成,ISIS的主要功能是原理图设计及与电路原理图的交互仿真,ARES主要用于印制电路板的设计。一、设计目的1.巩固和加深课堂所学知识;通过课程设计,熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,得到微机开发应用方面的初步训练。2.学习掌握一般的硬件的设计方法和查阅、运用资料的能力;真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。3.熟练掌握微机系统与接口扩展电路的设计方法,熟练应用8086汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤,熟悉微机系统的硬软件开发工具的使用方法4.通过温度测控系统仿真系统设计与制作,深入了解与掌握数模转换,数码管显示和电动机驱动的方法,熟悉proteus软件操作。二、设计内容和要求总体要求:根据题意自行设计电路,在实验箱上连接线路并编写相关汇编程序,调试成功。设计内容:利用ADC0809采用中断方式设计一个温度测控系统,在七段数码管上显示温度值,并根据测试的温度进行控制。当检测温度到达温度上限60时启动直流电动机,而温度低于下限30时停止电动机。数码管上的显示内容为:XX C(采用十进制显示) 三、设计原理温度测试系统主要由温度传感器、A/D转换、显示及电动机块组成。温度传感器将外部温度信号转换为电压信号,经放大电路,再经由ADC0808转化为数字信号进行处理,软件中对数字量进行判断,并作相应的跳转,由8255实现正常显示和启动电动机。各个芯片由8086来进行整体的控制。1.电路原理图直流电动机上图中ADC0808的INO输入端接温度传感的ANZ端,进行温度量的采集,CLOCK接1M;8255A中A、B口与数码管连接如上图,PA0接直流电机的OUTPUT,其中地址端口接40H。2.系统功能框图单片机控制电路温度传感A/D转换电路数码管显示3.程序流程图开始初始化8255A选0809通道0并启动A/D读A/D转换结果温度60启动直流电动机温度=30停止电动机数码管数值显示延时上图实现了本次实验所要要求的功能:检测温度到达温度上限60时启动直流电动机,而温度低于下限30时停止电动机,并在数码管上显示所采集到的数字量和转换后的模拟量。程序采用中断处理的方式。四、程序代码DATA SEGMENTtab db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,77h,7ch,39h,5eh,79h,71hbuf db 0 a8255 equ 40h ;8255的A,B,C口及控制口地址b8255 equ 42hc8255 equ 44hQ8255 equ 46hadc0808 equ 20h ;ADC0808端口地址DATA ENDSCODE SEGMENT CODEASSUME DS:DATA,CS:CODESTART:movax,datamovds,axcli ;关中断mov dx,Q8255 ; 8255A初始化设置。8255A控制字,A口为输出,B 口为输出, C口的高四位为输出moval,80houtdx,almov ax,0 ;设置中断向量,非屏蔽中断NMImov es,axmov si,02H*4mov ax,offset int0mov es:si,axmov ax,seg int0mov es: si+2,axmov al,00010011b ;设置ICW1mov dx,30Hout dx,almov al,00010000b ;ICW2mov dx,32hout dx,almov al,1bh ;ICW4out dx,almov al,0feH ;OCW1out dx,almov al,80H ;OCW2mov dx,30Hout dx,alsti ;开中断movsi,offset bufMAIN :movdx,adc0808 ;启动ADC0808转换moval,0outdx,almov al,80H ;OCW2mov dx,30Hout dx,alMOV CX,5MON:moval,simovah,0movbl,20divblmovbx,offset tabxlat ;换码指令,换成对应的段码movdx,b8255 ;显示十位outdx,almoval,11101111b ;位码选通movdx,c8255outdx,alcall DELAY_1Smoval,0ffh ;不选中任何位选outdx,almoval,ahmovah,0movbl,2divblmovbx,offset tabxlat ;换码指令oral,80h ;个位带小数点movdx,b8255outdx,al ;显示个位及小数点moval,11011111b ;位码选通movdx,c8255outdx,alcall DELAY_1S ;调用延时moval,0ffh ;不选中任何位选outdx,almoval,ah ;小数位显示movbx,offset tabxlatmovdx,b8255outdx,almoval,10111111bmovdx,c8255outdx,alcall DELAY_1Smoval,0ffhoutdx,almoval,01111111boutdx,almoval,00111001b ;显示最后字母”C”movdx,b8255outdx,alcall DELAY_1Smovdx,c8255moval,0ffhoutdx,alcall DELAY_1Smoval,sishral,1 ;逻辑右移一位,减小位扩展时的误差cmp al,30 ;温度低于30时,跳到downjbdowncmp al,60 ;温度高于60度时,跳到upjaupjmpMAIN LOOP MONdown:mov dx,a8255moval,00h ;PA0输出0,低电平不启动电机outdx,aljmpMAIN up:mov dx,a8255 moval,01h ;PA0输出1,高电平启动电机outdx,aljmp MAIN int0 proc near ;中断程序push axpush bxPUSH SIpushfCLImovdx,adc0808 ;读取转换好的数据inal,dxmovsi,almov al,80H ;OCW2mov dx,30H out dx,alstipopfPOP SIpop bxpop axiretint0 endpDELAY_1Sproc ;延时子程序 Push bx Push cxpush simovbx,1LP2:movcx,10LP1:LOOPLP1DECbxJNZ LP2Pop siPop cxPop bxret DELAY_1S ENDPCODEENDSENDSTART五、硬件系统调试译码电路:显示电路: 模数转化电路:中断电路:电动机电路: 调试过程中遇到的主要问题和解决办法 (1)仿真过程中,不能启动模数转换电路仿真运行中,改变模拟信号时,系统并不能做出相应的显示。解决办法: 利用debug下8086Source Code 单步运行调试程序后,发现程序返回点过了0809启动的程序段,所以将程序中返回点由MON改至MAIM启动处,进而实现程序启动。(2)当压力超出3060范围,程序里只调用电机停止模块,而不调用数码管显示模块。单步调试发现,此时数码管显示模块被跳过。解决办法: 在电机控制程序段结束后,跳转到数码管显示部分。 六、设计总结与体会这次微机原理的课程设计历时一个星期,我们组做的是一个温度测控系统,同时采用了中断控制,用到了ADC0809、8255A和8259A等芯片。通过上网进行了相关内容的查询,了解了实验的基本原理,设计出了本系统的基本思想,然后按照实验的要求由简单到难,逐步实现了在七段数码管上显示出采集过来的数字量部分,在此基础之上实现了当检测温度到数字量上限60时启动直流电动机,而温度低于下限30时停止电动机这个功能。以前对编程工具的使用还处于一知半解的状态,但是经过了一段上机的实践,对于怎么排错,差错,怎么看每一步的运行结果,怎么去了解每个寄存器的内容以确保程序的正确性上都有了很大程度的提高。由于实验采集到的数字量不是很直观,最后我们将三位的数字量转换为了温度并和数字量一并在数码管上显示出来,进一步完善了本系统。在实现各个功能的过程中遇到的主要问题:(1)中断程序不执行,0809不能启动,这个问题经过单步调试才发现是跳转的程序段不正确。(2)第二个问题是经老师提醒才发现,设计电路在采集。相当于把所学的接口知识又复习了一遍,同时将平时实验中存在的一些疑问都解决掉了。对于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@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!