微机原理课程设计电压报警器14页.docx
- 文档编号:24499223
- 上传时间:2023-05-28
- 格式:DOCX
- 页数:16
- 大小:20.36KB
微机原理课程设计电压报警器14页.docx
《微机原理课程设计电压报警器14页.docx》由会员分享,可在线阅读,更多相关《微机原理课程设计电压报警器14页.docx(16页珍藏版)》请在冰豆网上搜索。
微机原理课程设计电压报警器14页
南通大学电子信息学院
课本、报刊杂志中的成语、名言警句等俯首皆是,但学生写作文运用到文章中的甚少,即使运用也很难做到恰如其分。
为什么?
还是没有彻底“记死”的缘故。
要解决这个问题,方法很简单,每天花3-5分钟左右的时间记一条成语、一则名言警句即可。
可以写在后黑板的“积累专栏”上每日一换,可以在每天课前的3分钟让学生轮流讲解,也可让学生个人搜集,每天往笔记本上抄写,教师定期检查等等。
这样,一年就可记300多条成语、300多则名言警句,日积月累,终究会成为一笔不小的财富。
这些成语典故“贮藏”在学生脑中,自然会出口成章,写作时便会随心所欲地“提取”出来,使文章增色添辉。
微机原理课程设计
“教书先生”恐怕是市井百姓最为熟悉的一种称呼,从最初的门馆、私塾到晚清的学堂,“教书先生”那一行当怎么说也算是让国人景仰甚或敬畏的一种社会职业。
只是更早的“先生”概念并非源于教书,最初出现的“先生”一词也并非有传授知识那般的含义。
《孟子》中的“先生何为出此言也?
”;《论语》中的“有酒食,先生馔”;《国策》中的“先生坐,何至于此?
”等等,均指“先生”为父兄或有学问、有德行的长辈。
其实《国策》中本身就有“先生长者,有德之称”的说法。
可见“先生”之原意非真正的“教师”之意,倒是与当今“先生”的称呼更接近。
看来,“先生”之本源含义在于礼貌和尊称,并非具学问者的专称。
称“老师”为“先生”的记载,首见于《礼记?
曲礼》,有“从于先生,不越礼而与人言”,其中之“先生”意为“年长、资深之传授知识者”,与教师、老师之意基本一致。
报告书
我国古代的读书人,从上学之日起,就日诵不辍,一般在几年内就能识记几千个汉字,熟记几百篇文章,写出的诗文也是字斟句酌,琅琅上口,成为满腹经纶的文人。
为什么在现代化教学的今天,我们念了十几年书的高中毕业生甚至大学生,竟提起作文就头疼,写不出像样的文章呢?
吕叔湘先生早在1978年就尖锐地提出:
“中小学语文教学效果差,中学语文毕业生语文水平低,……十几年上课总时数是9160课时,语文是2749课时,恰好是30%,十年的时间,二千七百多课时,用来学本国语文,却是大多数不过关,岂非咄咄怪事!
”寻根究底,其主要原因就是腹中无物。
特别是写议论文,初中水平以上的学生都知道议论文的“三要素”是论点、论据、论证,也通晓议论文的基本结构:
提出问题――分析问题――解决问题,但真正动起笔来就犯难了。
知道“是这样”,就是讲不出“为什么”。
根本原因还是无“米”下“锅”。
于是便翻开作文集锦之类的书大段抄起来,抄人家的名言警句,抄人家的事例,不参考作文书就很难写出像样的文章。
所以,词汇贫乏、内容空洞、千篇一律便成了中学生作文的通病。
要解决这个问题,不能单在布局谋篇等写作技方面下功夫,必须认识到“死记硬背”的重要性,让学生积累足够的“米”。
课题名电压报警器
班级
学号
姓名
指导教师
日期2019.6.20—6.23
1.设计目的…………………………2
2.设计内容…………………………2
3.设计要求…………………………3
4.设计原理…………………………3
5.硬件电路图………………………5
6.程序代码…………………………6
7.程序级系统硬件调试情况……15
8.设计总结与体会………………16
9.参考文献………………………16
一、设计目的
课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力的重要教学环节。
它具有动手、动脑和理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一个重要教学环节。
通过课程设计,要求学生熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,使学生得到微机开发应用方面的初步训练。
让学生独立或集体讨论设计题目的总体设计方案、编程、软件硬件调试、编写设计报告等问题,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。
通过本次课程设计使学生熟练掌握微机系统与接口扩展电路的设计方法,熟练应用8086汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤,熟悉微机系统的硬软件开发工具的使用方法。
通过课程设计实践,不仅要培养学生事实求是和严肃认真的工作态度,培养学生的实际动手能力,检验学生对本门课学习的情况,更要培养学生在实际的工程设计中查阅资料,撰写设计报告表达设计思想和结果的能力。
二、设计内容
设计一个电压报警器,要求采集实验箱提供的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
movwordptrds:
[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
endm
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
outdx,al
movdx,tcon1
movax,1000d
outdx,al
moval,ah
outdx,al
sti
;---startc----------------
startc:
movax,@data
movds,ax
moval,00h
movdx,adc1
outdx,al
nop
inal,dx
notal
;--------leds------
movdx,leda
outdx,al
;---------convert--------
movah,0
movbx,5000d
mulbx
movbx,255d
divbx
movbx,ax
movax,5000d
subax,bx
jmpbin2dec
con:
cmpbuff[0],3
jbledshow
;-------------------ERROR---------------------
movbx,0700h
callerrshow
movbx,0b01h
callerrshow
movbx,0d02h
callerrshow
movbx,0e03h
callerrshow
;--------------cry-----------
movbh,c1
movbl,00h
callmartix
movbh,c2
movbl,00h
callmartix
movbh,c3
movbl,00h
callmartix
movbh,c4
movbl,0dfh
callmartix
movbh,c5
movbl,0dfh
callmartix
movbh,c6
movbl,00h
callmartix
movbh,c7
movbl,00h
callmartix
movbh,c8
movbl,00h
callmartix
;--------flashcontrol-------
movdx,200h
moval,01h
outdx,al
jmpstartc
ledshow:
;--------leddisplay--------
movbx,0700h
callleddisp
movbx,0b01h
callleddisp
movbx,0d02h
callleddisp
movbx,0e03h
callleddisp
;--------flashcontrol-------
movdx,200h
moval,00h
outdx,al
;---------SMILE----------
;------col1---------
movbh,c1
movbl,1ch
callmartix
movbh,c2
movbl,22h
callmartix
movbh,c3
movbl,1ch
callmartix
movbh,c4
movbl,00h
callmartix
movbh,c5
movbl,3eh
callmartix
movbh,c6
movbl,08h
callmartix
movbh,c7
movbl,14h
callmartix
movbh,c8
movbl,22h
callmartix
jmpstartc
;------------bin2dec-----------
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
;-----------ledshow-------------
leddispproc
pushax
pushdx
moval,bh
movdx,ledc
outdx,al
movcx,bx
andbx,00ffh
moval,buff[bx]
movah,0
movsi,ax
moval,tab[si]
cmpbx,0
jnznext
addal,80h
next:
movdx,ledd
outdx,al
movbx,cx
movcx,15d
loop$
moval,0ffh
movdx,ledc
outdx,al
popdx
popax
ret
leddispendp
;-----------errshow-----------
errshowproc
pushax
pushdx
moval,bh
movdx,ledc
outdx,al
movcx,bx
andbx,00ffh
moval,errstat
shlal,1
shlal,1
addbl,al
moval,errbuff[bx]
movdx,ledd
outdx,al
movbx,cx
movcx,15d
loop$
moval,0ffh
movdx,ledc
outdx,al
popdx
popax
ret
errshowendp
;------------martix-------------
martixproc
pushax
notbl
movdx,col
moval,bh
outdx,al
movdx,row
moval,bl
outdx,al
movcx,15d
loop$
movdx,col
moval,bh
outdx,al
movdx,row
moval,0ffh
outdx,al
popax
ret
martixendp
.stack
END
七、程序及硬件系统调试情况
连好硬件电路图、载入程序后,点击运行键,程序的运行与预期的结果很相近,能很好的完成电压报警功能。
当电压值大于3V时,警示灯会闪烁且会鸣笛。
同时数码管显示“ERROR”、点阵显示“!
”。
在没有超过3V时,改变滑动变阻器阻值后,数码管会显示相应的电压值。
实验过程中遇到的问题有:
1、数码管显示的值与实际电压值之间存在微弱的误差。
解决办法:
将滑动变阻器换成更灵敏的电压感应设备。
2、数码管显示数字时不太稳定。
解决的办法是:
在电路间加入锁存器和缓冲器等相关器件。
八、设计总结与体会
通过本次的课程设计,我对微机相关方面的知识有了更进一步的认识和掌握。
学会了如何运用理论知识解决实际问题,在设计过程中,拓展了思维,提高了自身综合能了。
锻炼了我自己在学完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力。
要想做好此次的实验,我觉得首先做好如下工作:
熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,独立或集体讨论设计题目的总体设计方案、编程、软件硬件调试、编写设计报告等问题,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。
通过本次课程设计使我熟练掌握了微机系统与接口扩展电路的设计方法,会熟练应用8086汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤,熟悉微机系统的硬软件开发工具的使用方法。
在这次的课程设计过程中,我跟同学相互协助,共同讨论,才顺利完成了相关的问题。
培养自己事实求是和严肃认真的工作态度,培养自己的实际动手能力。
这次的实验,我受益匪浅。
九、参考文献
1.周明德.微型计算机系统原理及应用.北京:
清华大学出版社
2.张弥左,王兆月,邢立军等.微型计算机接口技术.北京:
机械工业出版社
3.戴梅萼,史嘉权.微型计算机技术及应用.北京:
清华大学出版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 课程设计 电压 报警器 14