微机原理电压报警器的设计.docx

上传人:b****1 文档编号:1396272 上传时间:2023-04-30 格式:DOCX 页数:15 大小:289.72KB
下载 相关 举报
微机原理电压报警器的设计.docx_第1页
第1页 / 共15页
微机原理电压报警器的设计.docx_第2页
第2页 / 共15页
微机原理电压报警器的设计.docx_第3页
第3页 / 共15页
微机原理电压报警器的设计.docx_第4页
第4页 / 共15页
微机原理电压报警器的设计.docx_第5页
第5页 / 共15页
微机原理电压报警器的设计.docx_第6页
第6页 / 共15页
微机原理电压报警器的设计.docx_第7页
第7页 / 共15页
微机原理电压报警器的设计.docx_第8页
第8页 / 共15页
微机原理电压报警器的设计.docx_第9页
第9页 / 共15页
微机原理电压报警器的设计.docx_第10页
第10页 / 共15页
微机原理电压报警器的设计.docx_第11页
第11页 / 共15页
微机原理电压报警器的设计.docx_第12页
第12页 / 共15页
微机原理电压报警器的设计.docx_第13页
第13页 / 共15页
微机原理电压报警器的设计.docx_第14页
第14页 / 共15页
微机原理电压报警器的设计.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

微机原理电压报警器的设计.docx

《微机原理电压报警器的设计.docx》由会员分享,可在线阅读,更多相关《微机原理电压报警器的设计.docx(15页珍藏版)》请在冰点文库上搜索。

微机原理电压报警器的设计.docx

微机原理电压报警器的设计

上海电力学院课程设计报告

课名:

计算机硬件课程设计

题目:

电压报警器的设计

院系:

自动化工程学院

专业:

自动化

班级:

姓名:

学号:

时间:

2015年1月27日

电压报警器的设计

一、开发目的

课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力的重要教学环节。

它具有动手、动脑和理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一个重要教学环节。

通过课程设计,要求学生熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,使学生得到微机开发应用方面的初步训练。

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

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

通过课程设计实践,不仅要培养学生事实求是和严肃认真的工作态度,培养学生的实际动手能力,检验学生对本门课学习的情况,更要培养学生在实际的工程设计中查阅资料,撰写设计报告表达设计思想和结果的能力。

二、设计方案以及原理

(一)设计方案

采集0~5V的电压,当输入电压在3V以内,显示电压值,如2.42。

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

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

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

(二)设计原理

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

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

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

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

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

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

”。

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

三、硬件原理图

(一)芯片选型

在本系统中,主要采用的芯片有CPU8086、74154译码器、8254可编程定时/计数器芯片、8255并行接口芯片、A/D转换接口芯片ADC0809。

CPU8086主要是电压报警系统的核心芯片,协调着8253芯片,8255芯片,ADC0809芯片相互间的工作;8253是可编程定时/计数器芯片,用来控制蜂鸣器;8255是并行接口芯片,用来连接数码管显示单元和8253芯片;ADC0809是A/D转换单元,用来模拟电压,将模拟信号转换为数字信号。

(二)硬件原理图

1、CPU8086和74154译码器模块

2、ADC0809模块

3、8255和8253模块

4、点阵显示模块

四、程序流程图

(一)主程序流图

(二)电压报警流图

五、汇编程序

.MODELSMALL

.8086

.data

buffdb4dup(0)

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

ledaequ800H

ledbequ802h

adc1equ902H

ledcequ804H

.code

movdx,806h;8255

moval,10000000b

outdx,al

movdx,306h;8253

moval,36h

outdx,al

movax,1000

movdx,300h

outdx,al

moval,ah

outdx,al

movdx,306h

moval,76h

outdx,al

movax,1000

movdx,302h

outdx,al

moval,ah

outdx,al

start:

movax,@data

movds,ax

moval,00h

movdx,ledb

outdx,al

movdx,600h

moval,00000000b

outdx,al

movdx,500h

moval,00000000b

outdx,al

movcx,0fh

lop1:

looplop1

moval,00h

movdx,adc1

outdx,al

nop

inal,dx;8位电压

movbl,al

cmpal,99h

jbnext

moval,01h

movdx,ledb

outdx,al

movdx,600h;点阵锁存!

moval,00011000b

outdx,al

movdx,500h

moval,00100000b

outdx,al

movcx,0fh

lop0:

looplop0

movcx,04fh

lop5:

looplop5

moval,00000111b

movdx,ledc;8255

outdx,al

moval,79h

movdx,leda

outdx,al

movcx,10d

loop$

moval,00001011b

movdx,ledc

outdx,al

moval,50h

movdx,leda

outdx,al

movcx,10d

loop$

moval,00001101b

movdx,ledc

outdx,al

moval,50h

movdx,leda

outdx,al

movcx,10d

loop$

moval,00001110b

movdx,ledc

outdx,al

moval,buff[3]

movah,0

movsi,ax

moval,tab[si]

movdx,leda

outdx,al

movcx,10d

loop$

deccx

jmpstart

next:

;计算

moval,bl

notal

movah,0

movbx,5000d

mulbx

movbx,255d

divbx

movbx,ax

movax,5000d

subax,bx

jmpbin2dec

con:

;led输出

moval,00000111b

movdx,ledc

outdx,al

moval,buff[0]

movah,0

movsi,ax

moval,tab[si]

addal,80h

movdx,leda

outdx,al

movcx,10d

loop$

moval,00001011b

movdx,ledc

outdx,al

moval,buff[1]

movah,0

movsi,ax

moval,tab[si]

movdx,leda

outdx,al

movcx,10d

loop$

moval,00001101b

movdx,ledc

outdx,al

moval,buff[2]

movah,0

movsi,ax

moval,tab[si]

movdx,leda

outdx,al

movcx,10d

loop$

moval,00001110b

movdx,ledc

outdx,al

moval,buff[3]

movah,0

movsi,ax

moval,tab[si]

movdx,leda

outdx,al

movcx,10d

loop$

deccx

jmpstart

bin2dec:

;转为十进制

pushbx

pushdx

pushcx

xordx,dx

movbx,1000

divbx

movcl,al

movbyteptrbuff[0],cl

movax,dx

movbx,100

xordx,dx

divbx

movcl,al

movbyteptrbuff[1],cl

movax,dx

movbx,10

xordx,dx

divbx

movcl,al

movbyteptrbuff[2],cl

movcl,dl

movbyteptrbuff[3],cl

popcx

popdx

popbx

jmpcon

END

六、程序运行结果分析与预测

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

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

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

”。

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

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

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

解决办法:

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

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

解决的办法是:

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

七、总结

在这次课程设计中也令我们学到了许多知识,从开始拿到题目无从下手到通过查找各种资料并通过资料能够完成系统的整体设计,并通过参考其他资料理解了系统程序运行流程。

通过这次的设计使我们认识到本人对单片机方面的知识知道的太少了,对于书本上的很多知识还不能灵活运用,尤其是对程序设计语句的理解和运用,不能够充分理解每个语句的具体含义,导致编程的程序过于复杂。

本次的设计使我们从中学到了一些很重要的东西,那就是如何从理论到实践的转化,怎样将我们所学到的知识运用到我以后的实践中去。

在大学的课堂的学习只是在给我们灌输专业知识,而我们应把所学的用到我们现实的中去,此次的电压报警设计给我奠定了一个实践基础,我会在以后的学习、生活中磨练自己,使自己适应于以后的竞争,同时在查找资料的过程中我也学到了许多新的知识,对微机的概念和接口有了更加充分的理解。

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

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2