微机原理课程设计--电压报警器.doc_第1页
微机原理课程设计--电压报警器.doc_第2页
微机原理课程设计--电压报警器.doc_第3页
微机原理课程设计--电压报警器.doc_第4页
微机原理课程设计--电压报警器.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

南通大学电气工程学院 微机原理课程设计 报告书课 题 名 电压报警器 班 级 学 号 姓 名 指导教师 日 期 目录1. 设计目的22. 设计内容23. 设计要求34. 设计原理35. 硬件电路图56. 程序代码67. 程序级系统硬件调试情况158. 设计总结与体会169. 参考文献16一、 设计目的课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力的重要教学环节。它具有动手、动脑和理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一个重要教学环节。通过课程设计,要求学生熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,使学生得到微机开发应用方面的初步训练。让学生独立或集体讨论设计题目的总体设计方案、编程、软件硬件调试、编写设计报告等问题,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。通过本次课程设计使学生熟练掌握微机系统与接口扩展电路的设计方法,熟练应用8086汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤,熟悉微机系统的硬软件开发工具的使用方法。通过课程设计实践,不仅要培养学生事实求是和严肃认真的工作态度,培养学生的实际动手能力,检验学生对本门课学习的情况,更要培养学生在实际的工程设计中查阅资料,撰写设计报告表达设计思想和结果的能力。二、 设计内容设计一个电压报警器,要求采集实验箱提供的05V的电压,当输入电压在3V以内,显示电压值,如2.42。当输入电压超过3V,显示ERR,并报警。电压值可在七段数码管显示,点阵广告屏显示或液晶屏显示。报警形式自行设计,可用灯光闪烁表示,蜂鸣器鸣响报警等形式。(电压值以一种方式正确显示,无报警)(电压值以一种方式正确显示,且有一种形式的报警)(电压值以2种方式正确显示,且有2种形式的报警)(电压值以3种方式正确显示,且有2种形式的报警)三、 设计要求(1) 电压变换范围:05V(2) 输入电压在3V以内,显示电压值,如2.42电压值可在七段数码管显示,点阵广告屏显示或液晶屏显示(3) 电压值可在七段数码管显示,点阵广告屏显示或液晶屏显示(4) 报警形式自行设计,可用灯光闪烁表示,蜂鸣器鸣响报警等形式。 四、 设计原理 首先,用滑动变阻器来模拟外界电压的变化。滑动变阻器处于不同的阻值将会有不同的电压输入。电压值通过0808A/D转换器将模拟量变为数字量,并将信号输入给8086微机。8086获得电压值后,将该电压值与3V进行比较。如果小于3V,8086会产生控制信号使数码管显示相应的电压值,同时8行8列的点阵显示“OK”。如果电压值大于3V,8086会控制使得数码管显示“ERROR”、点阵显示“!”。再者,工作在方式3的8253定器会产生一个不可中断屏蔽信号来控制灯的闪烁和喇叭的鸣笛。五、 硬件电路图 六、 程序代码.model small.databuff db 4 dup(?) db 10d,11d,11d,12dtab db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh db 01111001b,00110001b,0000000bLEDA EQU 802HADC1 EQU 902HLEDD EQU 800HLEDC EQU 804HCOL EQU 802HROW EQU 300Htconctr equ 506htcon0 equ 500htcon1 equ 502htcon2 equ 504hc8 equ 10000000bc7 equ 01000000bc6 equ 00100000bc5 equ 00010000bc4 equ 00001000bc3 equ 00000100bc2 equ 00000010bc1 equ 00000001berrbuff db 01111001b,00110001b,00110001b,00111111b db 00110001b,00110001b,00111111b,00110001b db 00110001b,00111111b,00110001b,00000000b db 00111111b,00110001b,00000000b,00000000b db 00110001b,00000000b,00000000b,00000000b db 00000000b,00000000b,00000000b,01111001b db 00000000b,00000000b,01111001b,00110001b db 00000000b,01111001b,00110001b,00110001berrstat db 00hkkk db e.code setup_int macro int_irq,int_cs,int_ip push di push ds mov di,0 mov ds,di mov di,(int_irq)*4 mov word ptr ds:di,int_ip mov word ptr ds:di+2,int_cs pop ds pop di endm setup_ints macro int_irq,int_cs,int_ip setup_int int_irq,int_cs,int_ip setup_int (int_irq+1),int_cs,int_ip setup_int (int_irq+2),int_cs,int_ip setup_int (int_irq+3),int_cs,int_ip setup_int (int_irq+4),int_cs,int_ip setup_int (int_irq+5),int_cs,int_ip setup_int (int_irq+6),int_cs,int_ip setup_int (int_irq+7),int_cs,int_ip endmintxx proc farpush axcmp buff0,3mov al,errstatinc alcmp al,8jb pass2 mov al,0pass2:mov byte ptr errstat,aljb passpass:pop axiretintxx endp.startup cli setup_ints 00h,seg intxx,offset intxx setup_ints 08h,seg intxx,offset intxx setup_ints 10h,seg intxx,offset intxx setup_ints 18h,seg intxx,offset intxxmov dx,806hmov al,10000000bout dx,al;-8253-mov dx,tconctrmov al,01110110bout dx,almov dx,tcon1mov ax,1000dout dx,almov al,ahout dx,alsti;-startc-startc:mov ax,datamov ds,axmov al,00hmov dx,adc1out dx,alnopin al,dxnot al;-leds-mov dx,ledaout dx,al;-convert-mov ah,0mov bx,5000dmul bxmov bx,255ddiv bxmov bx,axmov ax,5000dsub ax,bxjmp bin2deccon:cmp buff0,3jb ledshow;-ERROR-mov bx,0700hcall errshowmov bx,0b01hcall errshowmov bx,0d02hcall errshowmov bx,0e03hcall errshow;-cry-mov bh,c1mov bl,00hcall martixmov bh,c2mov bl,00hcall martixmov bh,c3mov bl,00hcall martixmov bh,c4mov bl,0dfhcall martixmov bh,c5mov bl,0dfhcall martixmov bh,c6mov bl,00hcall martixmov bh,c7mov bl,00hcall martixmov bh,c8mov bl,00hcall martix;-flash control-mov dx,200hmov al,01hout dx,al;-jmp startcledshow:;-led display-mov bx,0700hcall leddisp mov bx,0b01hcall leddispmov bx,0d02hcall leddisp mov bx,0e03hcall leddisp ;-flash control-mov dx,200hmov al,00hout dx,al;-;-SMILE-;-col1-mov bh,c1mov bl,1chcall martixmov bh,c2mov bl,22hcall martixmov bh,c3mov bl,1chcall martixmov bh,c4mov bl,00hcall martixmov bh,c5mov bl,3ehcall martixmov bh,c6mov bl,08hcall martixmov bh,c7mov bl,14hcall martixmov bh,c8mov bl,22hcall martix;-jmp startc;-bin2dec-bin2dec:push bxpush dxpush cxxor dx,dxmov bx,1000div bxmov cl,almov byte ptr buff0,clmov ax,dxmov bx,100xor dx,dxdiv bxmov cl,almov byte ptr buff1,clmov ax,dxmov bx,10xor dx,dxdiv bxmov cl,almov byte ptr buff2,clmov cl,dlmov byte ptr buff3,clpop cxpop dxpop bxjmp con;-ledshow-leddisp procpush axpush dxmov al,bhmov dx,ledcout dx,almov cx,bxand bx,00ffhmov al,buffbxmov ah,0mov si,axmov al,tabsicmp bx,0jnz nextadd al,80hnext:mov dx,leddout dx,almov bx,cxmov cx,15dloop $mov al,0ffhmov dx,ledcout dx,alpop dxpop axretleddisp endp;-errshow-errshow procpush axpush dxmov al,bhmov dx,ledcout dx,almov cx,bxand bx,00ffhmov al,errstatshl al,1shl al,1add bl,almov al,errbuffbxmov dx,leddout dx,almov bx,cxmov cx,15dloop $mov al,0ffhmov dx,ledcout dx,alpop dxpop axreterrshow endp;-martix-martix procpush axnot blmov dx,colmov al,bhout dx,almov dx,rowmov al,blout dx,almov cx,15dloop $mov dx,colmov al,bhout dx,almov dx,rowmov al,0ffhout dx,alpop axretmartix endp.stackEND七、程序及硬件系统调试情况 连好硬件电路图、载入程序后,点击运行键,程序的运行与预期的结果很相近,能很好的完成电压报警功能。当电压值大于3V时,警示灯会闪烁且会鸣笛。同时数码管显示“ERROR”、点阵显示“!”。在没有超过3V时,改变滑动变阻器阻值后,数码管会显示相应的电压值。 实验过程中遇到的问题有:1、数码管显示的值与实际电压值之间存在微弱的误差。解决办法:将滑动变阻器换成更灵敏的电压感应设备。2、数码管显示数字时不太稳定。解决的办法是:在电路间加入锁存器和缓冲器等相关器件。八、设计总结与体会 通过本次的课程设计,我对微机相关方面的知识有了更进一步的认识和掌握。学会了如何运用理论知识解决实际问题,在设计过程中,拓展了思维,提高了自身综合能了。锻炼了我自己在学完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力。 要想做好此次的实验,我觉得首先做好如下工作:熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,独立或集体讨论设计题目的总体设计方案、编程、软件硬件调试、编写设计报告等问题,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现

温馨提示

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

评论

0/150

提交评论