计算机硬件技术报告.docx
- 文档编号:28954087
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:19
- 大小:293.99KB
计算机硬件技术报告.docx
《计算机硬件技术报告.docx》由会员分享,可在线阅读,更多相关《计算机硬件技术报告.docx(19页珍藏版)》请在冰豆网上搜索。
计算机硬件技术报告
计算机硬件技术实践报告
题目电压报警器
姓名
专业测控技术与仪器
班级
学号
上海电力学院自动化工程学院
一、设计题目
电压报警器
二、开发目的
课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力的重要教学环节。
它具有动手、动脑和理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一个重要教学环节。
通过课程设计,要求学生熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,使学生得到微机开发应用方面的初步训练。
让学生独立或集体讨论设计题目的总体设计方案、编程、软件硬件调试、编写设计报告等问题,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。
通过本次课程设计使学生熟练掌握微机系统与接口扩展电路的设计方法,熟练应用8086汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤,熟悉微机系统的硬软件开发工具的使用方法。
通过课程设计实践,不仅要培养学生事实求是和严肃认真的工作态度,培养学生的实际动手能力,检验学生对本门课学习的情况,更要培养学生在实际的工程设计中查阅资料,撰写设计报告表达设计思想和结果的能力。
三、小组成员
韩燕鸣,汤俐:
程序构建,电路图构建
吴佳俊:
资料收集
四、设计方案以及论证
设计一个电压报警器,要求采集实验箱提供的0~5V的电压,当输入电压在3V以内,显示电压值,如2.42。
当输入电压超过3V,显示ERR,并报警。
电压值可在七段数码管显示,点阵广告屏显示或液晶屏显示。
报警形式自行设计,可用灯光闪烁表示,蜂鸣器鸣响报警等形式。
(电压值以一种方式正确显示,无报警◆)(电压值以一种方式正确显示,且有一种形式的报警◆◆)(电压值以2种方式正确显示,且有2种形式的报警★★)(电压值以3种方式正确显示,且有2种形式的报警★★★)
首先,用滑动变阻器来模拟外界电压的变化。
滑动变阻器处于不同的阻值将会有不同的电压输入。
电压值通过0808A/D转换器将模拟量变为数字量,并将信号输入给8086微机。
8086获得电压值后,将该电压值与3V进行比较。
如果小于3V,8086会产生控制信号使数码管显示相应的电压值,同时8行8列的点阵显示“OK”。
如果电压值大于3V,8086会控制使得数码管显示“ERROR”、点阵显示“!
”。
再者,工作在方式3的8253定器会产生一个不可中断屏蔽信号来控制灯的闪烁和喇叭的鸣笛。
五、硬件原理图
六、程序流程图
七、程序清单,要有适当的注释
IOS2EQU020H
IOS3EQU030H
IOS4EQU040H;8253端口地址
A_PORTEQU10H;8255端口地址
B_PORTEQU12H
C_PORTEQU14H
CRTL_PORTEQU16H
LCD_CMD_WREQU9000H
LCD_DATA_WREQU9002H
LCD_BUSY_RDEQU9004H
LCD_DATA_RDEQU9006H
CS8251Dequ20h;串行地址
CS8251Cequ22h;串行地址
DATASEGMENT
OUTBUFFDB0,0,0,0,0DH
LEDTABDB3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh
FAULTTABDB79h,77h,77h,3FH
TIMEDB0
voltdb'TheVoltageis:
'
V1DB30H,'.',30H,30H,'V',0DH
str1db'','E','R','R','O',''
str2db'','0','.','0','0','V'
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
;;;;;;;;;;;;;;LMO32L初始化;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
INAX,DX
MOVAX,30H
CALLWRCMD
MOVAX,38H
CALLWRCMD
MOVAX,0CH
CALLWRCMD
MOVAX,01H
CALLWRCMD
MOVAX,06H
CALLWRCMD
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;8255初始化;;;;;;;;;;;;;;;;;;;;;;;;
MOVAL,80H
MOVDX,CRTL_PORT
OUTDX,AL
;;;;;;;;;;;;8253初始化;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
moval,00110100b;写计数器0控制字
movdx,ios4+6
outdx,al
movax,2e9ch;写计数器0初值
movdx,ios4
outdx,al
moval,ah
outdx,al
moval,01010110b;写计数器1控制字
movdx,ios4+6
outdx,al
movax,20;写计数器1初值
movdx,ios4+2
outdx,al
;;;;;;;;;;;;8051初始化;;;;;;;;;;;;;;;;;;;;;;;
INIT:
XORAL,AL;AL清零
MOVCX,03
MOVDX,CS8251C
OUT1:
OUTDX,AL;往8251A的控制端口送3个0
LOOPOUT1
MOVAL,40H
OUTDX,AL
NOP
movdx,CS8251C
moval,01001101b;写模式字1停止位,无校验,8数据位,x1
outdx,al
moval,00010101b;控制字清出错标志,允许发送接收
outdx,al
;;;;;;;;;;;;;主程序;;;;;;;;;;;;;;;;;;;;;;
LOP1:
MOVDX,IOS3
MOVAL,0
OUTDX,AL;启动AD
CALLDISP;数码管显示并适当延时
;;;;;;;;UART;;;;;;;;;;;;;;;;;;;
MOVCL,TIME
CMPCL,60
JZN1
INCCL
MOVTIME,CL
JMPN2
N1:
MOVCL,0
MOVTIME,CL
CALLUART
;;;;;;;;;LM032L显示;;;;;;;;;;;;;
PUSHDX
PUSHAX
LEASI,OUTBUFF
MOVBL,[SI]
CMPBL,'E'
JZE1
LEADI,STR2
ORBL,30H
MOV[STR2+1],BL
MOVBL,[OUTBUFF+1]
ORBL,30H
MOV[STR2+3],BL
MOVBL,[OUTBUFF+2]
ORBL,30H
MOV[STR2+4],BL
MOVCX,7
JMPNEXT6
E1:
LEADI,STR1
MOVCX,6
NEXT6:
MOVAL,82H
CALLWRSTR
POPAX
POPDX
;;;;;;;;;;;;;;;;;;;
N2:
INAL,DX;读取AD值
;;;;;;;;AD值转换电压值;;;;;;;;;
CMPAL,99H
JAEORR
VOL:
MOVAH,0
MOVBL,51
DIVBL
MOVOUTBUFF,AL
MOVAL,AH
MOVBL,10
MULBL
MOVBL,51
DIVBL
MOV[OUTBUFF+1],AL
MOVAL,AH
MOVBL,10
MULBL
MOVBL,51
DIVBL
MOV[OUTBUFF+2],AL
MOVDX,B_PORT
MOVAL,0H
OUTDX,AL
JMPNEXT2
EORR:
MOVOUTBUFF,'E'
MOV[OUTBUFF+1],'R'
MOV[OUTBUFF+2],'R'
MOV[OUTBUFF+3],'O'
MOVDX,B_PORT
MOVAL,01H
OUTDX,AL
;;;;;;;;;;;;;;;;;;;;;;;;;
NEXT2:
JMPLOP1
;;;;;;;;;;;;;;主程序结束;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;LM032L读写函数;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
WRCMD:
MOVDX,LCD_CMD_WR
OUTDX,AX
RET
;入口参数:
;AX-->行地址,第一行地址为80H,第二行地址为C0H
;CX-->字符数,不超过20
;DI-->字符串首地址
WRSTR:
CALLWRCMD
MOVDX,LCD_DATA_WR
WRBIT:
MOVAL,[DI]
OUTDX,AL
INCDI
LOOPWRBIT
WRRET:
RET
;;;;;;;;;;;;;;;;延时函数;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DELAY_1SPROCNEAR
PUSHCX
PUSHBX
MOVBX,01H
D1:
MOVCX,0FH
D2:
LOOPD2
DECBX
JNZD1
POPBX
POPCX
RET
DELAY_1SENDP
;;;;;;;;;;;;;;;;;延时函数结束;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;串口函数;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
UARTPROCNEAR
PUSHAX
PUSHBX
PUSHCX
PUSHDX
;;;;;;;;;;;显示:
TheVolateis:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOVCX,16
LEADI,volt
Send:
;串口发送
movdx,CS8251C
moval,00010101b;清出错,允许发送接收
outdx,al
NOP
WTXD:
inal,dx
testal,1;发送缓冲是否为空
NOP
jzWTXD
moval,[DI];取要发送的
movdx,CS8251D
outdx,al;发送
pushcx
movcx,30h
popcx
INCDI
LOOPSend
;;;;;;;;;;;小于3V显示;;;;;;;;;;;;;;;;;;;;;;;;;;;
LEASI,OUTBUFF
MOVBL,[SI]
CMPBL,'E'
JZUART1
MOVCX,6
LEADI,V1;将V1按测量值赋值
MOVAL,[SI]
ORAL,30H
MOV[DI],AL
MOVAL,[SI+1]
ORAL,30H
MOV[DI+2],AL
MOVAL,[SI+2]
ORAL,30H
MOV[DI+3],AL
Send2:
;串口发送
movdx,CS8251C
moval,00010101b;清出错,允许发送接收
outdx,al
NOP
WTXD2:
inal,dx
testal,1;发送缓冲是否为空
NOP
jzWTXD2
moval,[DI];取要发送的
movdx,CS8251D
outdx,al;发送
pushcx
movcx,30h
popcx
INCDI
LOOPSend2
jmpnext3
;;;;;;;;;;;;大于3V显示;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
UART1:
MOVCX,5
LEADI,OUTBUFF
Send1:
;串口发送
movdx,CS8251C
moval,00010101b;清出错,允许发送接收
outdx,al
NOP
WTXD1:
inal,dx
testal,1;发送缓冲是否为空
NOP
jzWTXD1
moval,[DI];取要发送的
movdx,CS8251D
outdx,al;发送
pushcx
movcx,30h
loop$
popcx
INCDI
LOOPSend1
Next3:
POPDX
POPCX
POPBX
POPAX
UARTENDP
;;;;;;;;;;;;;;;;;;;;;;串口函数结束;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;数码管显示函数;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DISPPROCNEAR
AGAIN:
PUSHAX
PUSHBX
PUSHCX
PUSHDX
MOVCL,0F7H
LEASI,OUTBUFF
MOVAL,[SI]
CMPAL,'E'
JZLED1
;;;;;;;;;;;;小于3V正常显示;;;;;;;;;
LEDDISP:
MOVAL,CL
MOVDX,C_PORT
OUTDX,AL
CMPCL,0FEH
JZL
LEABX,LEDTAB
MOVAL,[SI]
XLAT
CMPCL,0F7H
JNZL1
ORAL,80H
L1:
MOVDX,A_PORT
OUTDX,AL
CALLDELAY_1S
MOVAL,0H
MOVDX,A_PORT
OUTDX,AL
CMPCL,0FEH
JZNEXT1
INCSI
RORCL,1
JMPLEDDISP
L:
MOVAL,3EH
OUTDX,AL
JMPL1
;;;;;;;;;;;;;;大于3V显示ERRO;;;;;;;;;
LED1:
LEASI,FAULTTAB
L2:
MOVAL,CL
MOVDX,C_PORT
OUTDX,AL
MOVDX,A_PORT
MOVAL,[SI]
OUTDX,AL
CALLDELAY_1S
MOVAL,0H
MOVDX,A_PORT
OUTDX,AL
CMPCL,0FEH
JZNEXT1
INCSI
RORCL,1
JMPL2
;;;;;;;;;;;;;;退出函数弹出堆栈;;;;;;;;;;;;;;;;;;;;;;;;
NEXT1:
POPDX
POPCX
POPBX
POPAX
RET
DISPENDP
CODEENDS
ENDSTART
八、程序运行结果分析与预测
九、结果评述及总结
通过本次的课程设计,我对微机相关方面的知识有了更进一步的认识和掌握。
学会了如何运用理论知识解决实际问题,在设计过程中,拓展了思维,提高了自身综合能了。
锻炼了我自己在学完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力。
要想做好此次的实验,我觉得首先做好如下工作:
熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,独立或集体讨论设计题目的总体设计方案、编程、软件硬件调试、编写设计报告等问题,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。
通过本次课程设计使我熟练掌握了微机系统与接口扩展电路的设计方法,会熟练应用8086汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤,熟悉微机系统的硬软件开发工具的使用方法。
在这次的课程设计过程中,我跟同学相互协助,共同讨论,才顺利完成了相关的问题。
培养自己事实求是和严肃认真的工作态度,培养自己的实际动手能力。
这次的实验,我受益匪浅。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机硬件 技术 报告