微机原理课程设计电压报警器实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
南通大学电子信息学院
微机原理课程设计
报告书
课题名:
班级:
姓名:
学号:
指导老师:
日期: xxx
目录
1.设计目的 (2)
2.设计内容 (2)
3.设计要求 (2)
4.设计原理 (3)
5.硬件电路图 (3)
6.程序代码 (5)
7.程序及硬件系统调试情况 (19)
8.设计总结与体会 (19)
一、设计目的
课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力的重要教学环节。它具有动手、动脑和理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一个重要教学环节。
通过课程设计,要求学生熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,使学生得到微机开发应用方面的初步训练。让学生独立或集体讨论设计题目的总体设计方案、编程、软件硬件调试、编写设计报告等问题,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。通过本次课程设计使学生熟练掌握微机系统与接口扩展电路的设计方法,熟练应用8086汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤,熟悉微机系统的硬软件开发工具的使用方法。
通过课程设计实践,不仅要培养学生事实求是和严肃认真的工作态度,培养学生的实际动手能力,检验学生对本门课学习的情况,更要培养学生在实际的工程设计中查阅资料,撰写设计报告表达设计思想和结果的能力。
二、设计内容
设计一个电压报警器,要求采集实验箱提供的0~5V的电压,当输入电压在3V以内,显示电压值,如2.42。当输入电压超过3V,显示ERR,并报警。电压值可在七段数码管显示,点阵广告屏显示或液晶屏显示。报警形式自行设计,
可用灯光闪烁表示,蜂鸣器鸣响报警等形式。(电压值以一种方式正确显示,无报警◆)(电压值以一种方式正确显示,且有一种形式的报警◆)(电压值以2种方式正确显示,且有2种形式的报警★)(电压值以3种方式正确显示,且有2种形式的报警★☆)
三、设计要求
在课程设计时,2~4人一组,在教师指导下,各组可以集体讨论,但设计报告由学生独立完成,不得互相抄袭。教师的主导作用主要在于指明设计思路,启发学生独立设计的思路,解答疑难问题和按设计进度进行阶段审查。学生必须发挥自身学习的主动性和能动性,主动思考问题、分析问题和解决问题,而不应处处被动地依赖指导老师。同组同学要发扬团队协作精神,积极主动的提出问题、解决问题、讨论问题,互相帮助和启发。
学生在设计中可以引用所需的参考资料,避免重复工作,加快设计进程,但必须和题目的要求相符合,保证设计的正确。指导教师要引导学生学会掌握和使用各种已有的技术资料,不能盲目地、机械地抄袭资料,必须具体分析,使设计质量和设计能力都获得提高。学生要在老师的指导下制定好自己各环节的详细设计进程计划,按给定的时间计划保质保量的完成个阶段的设计任务。设计中可边设计,边修改,软件设计与硬件设计可交替进行,问题答疑与调试和方案修改相结合,提高设计的效率,保证按时完成设计工作并交出合格的设计报告。四、设计原理
通过滑动变阻器来模拟外界的电压,电压值通过0808A/D转换器将模拟量变为数字量,并将信号输入给8086,8086获得电压值后,将该电压值与3V进行比较。当电压小于3V时,数码管显示相应的电压值,同时8行8列的点阵显
示“OK”。如果电压值大于3V,数码管循环显示“ERROR”、点阵显示“!”,同时,工作在方式3的8253定器会产生一个不可中断屏蔽信号来控制灯的闪烁和喇叭的鸣笛来报警。
五、硬件电路图
8086CPU以及译码部分电路图及外设控制电路
六、程序代码
.MODEL SMALL
.8086
.data
buff db 4 dup(?)
tab db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh leda equ 800H
ledb equ 802h
adc1 equ 902H
ledc equ 804H
.code
mov dx,806h mov al,10000000b out dx,al
mov dx,306h mov al,36h
out dx,al
mov ax,1000 mov dx,300h
out dx,al
mov al,ah
out dx,al
mov dx,306h mov al,76h
out dx,al
mov ax,1000 mov dx,300h
out dx,al
mov al,ah
out dx,al
start:
mov ax,@data mov ds,ax
mov al,00h
mov dx,ledb
out dx,al
mov dx,600h mov al,01000000b out dx,al
mov dx,500h mov al,00000000b out dx,al
mov cx,0fh
lop1:loop lop1 mov al,00h
mov dx,adc1
out dx,al
nop
in al,dx
mov bl,al
cmp al,99h
jb next
mov al,01h
mov dx,ledb
out dx,al
mov dx,600h mov al,01000000b out dx,al
mov dx,500h mov al,00100000b out dx,al
mov cx,0fh
lop0:loop lop0