微机原理课程设计电压报警器Word文档下载推荐.docx

上传人:b****5 文档编号:21644491 上传时间:2023-01-31 格式:DOCX 页数:14 大小:77.28KB
下载 相关 举报
微机原理课程设计电压报警器Word文档下载推荐.docx_第1页
第1页 / 共14页
微机原理课程设计电压报警器Word文档下载推荐.docx_第2页
第2页 / 共14页
微机原理课程设计电压报警器Word文档下载推荐.docx_第3页
第3页 / 共14页
微机原理课程设计电压报警器Word文档下载推荐.docx_第4页
第4页 / 共14页
微机原理课程设计电压报警器Word文档下载推荐.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

微机原理课程设计电压报警器Word文档下载推荐.docx

《微机原理课程设计电压报警器Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《微机原理课程设计电压报警器Word文档下载推荐.docx(14页珍藏版)》请在冰豆网上搜索。

微机原理课程设计电压报警器Word文档下载推荐.docx

二、设计内容

设计一个电压报警器,要求采集实验箱提供的0~5V的电压,当输入电压在3V以内,显示电压值,如2.42。

当输入电压超过3V,显示ERR,并报警。

电压值可在七段数码管显示,点阵广告屏显示或液晶屏显示。

报警形式自行设计,可用灯光闪烁表示,蜂鸣器鸣响报警等形式。

(电压值以一种方式正确显示,无报警◆)(电压值以一种方式正确显示,且有一种形式的报警◆◆)(电压值以2种方式正确显示,且有2种形式的报警★★)(电压值以3种方式正确显示,且有2种形式的报警★★★)

三、设计要求

(1)电压变换范围:

0—5V

(2)输入电压在3V以内,显示电压值,如2.42电压值可在七段数码管显示,点阵广告屏显示或液晶屏显示

(3)电压值可在七段数码管显示,点阵广告屏显示或液晶屏显示

(4)报警形式自行设计,可用灯光闪烁表示,蜂鸣器鸣响报警等形式。

四、设计原理

首先,用滑动变阻器来模拟外界电压的变化。

滑动变阻器处于不同的阻值将会有不同的电压输入。

电压值通过0808A/D转换器将模拟量变为数字量,并将信号输入给8086微机。

8086获得电压值后,将该电压值与3V进行比较。

如果小于3V,8086会产生控制信号使数码管显示相应的电压值,同时8行8列的点阵显示“OK”。

如果电压值大于3V,8086会控制使得数码管显示“ERROR”、点阵显示“!

”。

再者,工作在方式3的8253定器会产生一个不可中断屏蔽信号来控制灯的闪烁和喇叭的鸣笛。

五、硬件电路图

六、程序代码

.modelsmall

.data

buffdb4dup(?

db10d,11d,11d,12d

tabdb3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh

db01111001b,00110001b,0000000b

LEDAEQU802H

ADC1EQU902H

LEDDEQU800H

LEDCEQU804H

COLEQU802H

ROWEQU300H

tconctrequ506h

tcon0equ500h

tcon1equ502h

tcon2equ504h

c8equ10000000b

c7equ01000000b

c6equ00100000b

c5equ00010000b

c4equ00001000b

c3equ00000100b

c2equ00000010b

c1equ00000001b

errbuffdb01111001b,00110001b,00110001b,00111111b

db00110001b,00110001b,00111111b,00110001b

db00110001b,00111111b,00110001b,00000000b

db00111111b,00110001b,00000000b,00000000b

db00110001b,00000000b,00000000b,00000000b

db00000000b,00000000b,00000000b,01111001b

db00000000b,00000000b,01111001b,00110001b

db00000000b,01111001b,00110001b,00110001b

errstatdb00h

kkkdb'

e'

.code

setup_intmacroint_irq,int_cs,int_ip

pushdi

pushds

movdi,0

movds,di

movdi,(int_irq)*4

movwordptrds:

[di],int_ip

[di+2],int_cs

popds

popdi

endm

setup_intsmacroint_irq,int_cs,int_ip

setup_intint_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

intxxprocfar

pushax

cmpbuff[0],3

moval,errstat

incal

cmpal,8

jbpass2

moval,0

pass2:

movbyteptrerrstat,al

jbpass

pass:

popax

iret

intxxendp

.startup

cli

setup_ints00h,segintxx,offsetintxx

setup_ints08h,segintxx,offsetintxx

setup_ints10h,segintxx,offsetintxx

setup_ints18h,segintxx,offsetintxx

movdx,806h

moval,10000000b

outdx,al

;

--------------8253--------------

movdx,tconctr

moval,01110110b

movdx,tcon1

movax,1000d

moval,ah

sti

---startc----------------

startc:

movax,@data

movds,ax

moval,00h

movdx,adc1

nop

inal,dx

notal

--------leds------

movdx,leda

---------convert--------

movah,0

movbx,5000d

mulbx

movbx,255d

divbx

movbx,ax

movax,5000d

subax,bx

jmpbin2dec

con:

jbledshow

-------------------ERROR---------------------

movbx,0700h

callerrshow

movbx,0b01h

movbx,0d02h

movbx,0e03h

--------------cry-----------

movbh,c1

movbl,00h

callmartix

movbh,c2

movbh,c3

movbh,c4

movbl,0dfh

movbh,c5

movbh,c6

movbh,c7

movbh,c8

--------flashcontrol-------

movdx,200h

moval,01h

-----------------------

jmpstartc

ledshow:

--------leddisplay--------

callleddisp

callleddisp

---------SMILE----------

------col1---------

movbl,1ch

movbl,22h

movbl,3eh

movbl,08h

movbl,14h

--------------------

------------bin2dec-----------

bin2dec:

pushbx

pushdx

pushcx

xordx,dx

movbx,1000

movcl,al

movbyteptrbuff[0],cl

movax,dx

movbx,100

movbyteptrbuff[1],cl

movbx,10

movbyteptrbuff[2],cl

movcl,dl

movbyteptrbuff[3],cl

popcx

popdx

popbx

jmpcon

-----------ledshow-------------

leddispproc

moval,bh

movdx,ledc

movcx,bx

andbx,00ffh

moval,buff[bx]

movsi,ax

moval,tab[si]

cmpbx,0

jnznext

addal,80h

next:

movdx,ledd

movbx,cx

movcx,15d

loop$

moval,0ffh

ret

leddispendp

-----------errshow-----------

errshowproc

shlal,1

addbl,al

moval,errbuff[bx]

errshowendp

------------martix-------------

martixproc

notbl

movdx,col

movdx,row

moval,bl

martixendp

.stack

END

七、程序及硬件系统调试情况

连好硬件电路图、载入程序后,点击运行键,程序的运行与预期的结果很相近,能很好的完成电压报警功能。

当电压值大于3V时,警示灯会闪烁且会鸣笛。

同时数码管显示“ERROR”、点阵显示“!

在没有超过3V时,改变滑动变阻器阻值后,数码管会显示相应的电压值。

实验过程中遇到的问题有:

1、数码管显示的值与实际电压值之间存在微弱的误差。

解决办法:

将滑动变阻器换成更灵敏的电压感应设备。

2、数码管显示数字时不太稳定。

解决的办法是:

在电路间加入锁存器和缓冲器等相关器件。

八、设计总结与体会

通过本次的课程设计,我对微机相关方面的知识有了更进一步的认识和掌握。

学会了如何运用理论知识解决实际问题,在设计过程中,拓展了思维,提高了自身综合能了。

锻炼了我自己在学完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力。

要想做好此次的实验,我觉得首先做好如下工作:

熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,独立或集体讨论设计题目的总体设计方案、编程、软件硬件调试、编写设计报告等问题,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。

通过本次课程设计使我熟练掌握了微机系统与接口扩展电路的设计方法,会熟练应用8086汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤,熟悉微机系统的硬软件开发工具的使用方法。

在这次的课程设计过程中,我跟同学相互协助,共同讨论,才顺利完成了相关的问题。

培养自己事实求是和严肃认真的工作态度,培养自己的实际动手能力。

这次的实验,我受益匪浅。

九、参考文献

1.周明德.微型计算机系统原理及应用.北京:

清华大学出版社

2.张弥左,王兆月,邢立军等.微型计算机接口技术.北京:

机械工业出版社

3.戴梅萼,史嘉权.微型计算机技术及应用.北京:

清华大学出版社

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学研究 > 教学反思汇报

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

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