科实验报告
课程名称: 微型计算机原理应
实验项目: 位十进制数相加
实验点: 博学馆四层微机实验室
专业班级: 学 号:
学生姓名:
指导教师:
年 月 日
位十进制数相加
实验目:
学数传送算数运算指令法
二实验容:
两位十进制数2805647193相加显示加数加数求两加数均ASCⅡ码形式序存放DATA1DATA2存单元中结果送回DATA1处(低位前高位)
三实验程序流程图:
四实验程序列表:
SHOW MACRO B
MOV DL B
MOV AH 02H
INT 21H
ENDM
DATA SEGMENT
DATA1 DB 33H39H31H37H34H
DATA2 DB 36H35H30H38H32H
DATA3 DB''0DH0AH''
DATA ENDS
STACK SEGMENT STACK
STA DB 20 DUP ()
TOP EQU LENGTH STA
STACK ENDS
CODE SEGMENT
ASSUME CSCODEDSDATASSSTACKESDATA
START MOV AXDATA
MOV DSAX
MOV AXSTACK
MOV SSAX
MOV AX TOP
MOV SPAX
MOV SIOFFSET DATA2
MOV BX05
SHOW 20H
CALL DISPL
SHOW 0DH
SHOW 0AH
MOV SIOFFSET DATA1
MOV BX05
SHOW 2Bh
CALL DISPL
SHOW 0DH
SHOW 0AH
MOV CL7
S1 SHOW 2DH
LOOP S1
SHOW 0DH
SHOW 0AH
MOV SIOFFSET DATA1
MOV DIOFFSET DATA2
CALL ADDA
MOV SIOFFSET DATA1
MOV BX05
SHOW 20H
CALL DISPL
MOV AX4C00H
INT 21H
DISPL PROC NEAR
DS1 SHOW [SI+BX1]
DEC BX
JNZ DS1
RET
DISPL ENDP
ADDA PROC NEAR
MOV DXSI
MOV BPDI
MOV BX05
ADI SUB BYTE PTR [SI+BX1]30H
SUB BYTE PTR [DI+BX1]30H
DEC BX
JNZ ADI
MOV SIDX
MOV DIBP
MOV CX05
CLC
AD2 MOV AL[SI]
MOV BL[DI]
ADC ALBL
AAA
MOV [SI]AL
INC SI
INC DI
LOOP AD2
MOV SIDX
MOV DIBp
MOV BX05
AD3 ADD BYTE PTR [SI+BX1]30H
ADD BYTE PTR [DI+BX1]30H
DEC BX
JNZ AD3
RET
ADDA ENDP
CODE ENDS
END START
五实验结果
六实验心:
通次实验学会数传送算数运算指令法受益良
科实验报告
课程名称: 微型计算机原理应
实验项目: 法程序实验
实验点: 博学馆四层微机实验室
专业班级:通信班 学 号:
学生姓名: 郭雨田
指导教师: 师卫
2015年X月 X日
法程序实验
实验目:
掌握法指令循环指令法
二实验容:
实现十进制输法数(29054)数(3)均ASCII码形式存放存中数数积均屏幕显示出
三程序流程图:
四实验程序:
SHOW MACRO B
MOV AH02H
MOV DLB
INT 21H
ENDM
DATA SEGMENT
DATA1 DB 32H39H30H35H34H
DATA2 DB 33H
RESULT DB 6 DUP(00H)
DATA ENDS
STACK SEGMENT
STA DB 20 DUP()
TOP EQU LENGTH STA
STACK ENDS
CODE SEGMENT
ASSUME CSCODEDSDATASSSTACKESDATA
STARTMOV AXDATA
MOV DSAX
MOV AXSTACK
MOV SSAX
MOV AXTOP
MOV SPAX
MOV SIOFFSET DATA1
MOV CL5
SHOW 20H
CALL DISPL
SHOW 0DH
SHOW 0AH
SHOW 2AH
MOV SIOFFSET DATA2
MOV BL[SI]
MOV BL00001111B
MOV CL1
CALL DISPL
SHOW 0DH
SHOW 0AH
MOV CL7
S1 SHOW 2DH
LOOP S1
SHOW 0DH
SHOW 0AH
MOV SIOFFSET DATA1
MOV DIOFFSET RESULT
MOV AX00H
MOV CX05
LOOP1MOV AL[SI]
AND AL00001111B
INC SI
MUL BL
AAM
ADD AH[DI]
AAA
MOV [DI]AH
INC DI
MOV [DI]AL
LOOP LOOP1
MOV SIOFFSET RESULT
MOV CX06
LOPMOV DL[SI]
ADD DL30H
MOV [SI]DL
INC SI
LOOP LOP
MOV SIOFFSET RESULT
MOV CL6
CALL DISPL
MOV AX4C00H
INT 21H
DISPL PROC NEAR
SD1SHOW [SI]
INC SI
LOOP SD1
RET
DISPL ENDP
CODE ENDS
END START
五实验结果:
六实验心:
通次实验学会法指令循环指令法受益良
科实验报告
课程名称: 微型计算机原理应
实验项目: 统计数数实验
实验点: 博学馆四层微机实验室
专业班级:通信班 学 号:
学生姓名:
指导教师:
2015年X月 X日
统计数数实验
实验目:
掌握十六进制数转换成位十进制数ASCⅡ码方法
二实验容:
统计存数组中00元素数统计结果分存放LRESULTHRESULT变量中显示数
开始
三 程序流程图:
数组元素数 CL
SI指数组首址
较
Y
正数
HRESULT+1
LRESULT+1
SI+1 SI
N
CL10
显示提示信息
显示正元素数
显示负元素数
结果
四程序列表:
DATA SEGMENT
ARY DB 13126957813868972433
DB 4778313685564574245754
DB 257888765432112234567
NARY
LRESULT DW 0
HRESULT DW 0
TJJG DB 'STATISTICS RESULT' 0DH0AH''
DATA ENDS
CODE SEGMENT
ASSUME CSCODEDSDATA
START MOV AXDATA
MOV DSAX
MOV ESAX
SHOW MACRO B
PUSH DX
PUSH AX
MOV DXB
MOV AH02H
INT 21H
POP AX
POP DX
ENDM
XOR CXCX
MOV CXN
LEA SIARY
LOP MOV AL[SI]
CMP AL0
JNS PLUS
INC LRESULT
JMP CONT
PLUS INC HRESULT
CONT INC SI
LOOP LOP
LEA DXTJJG
MOV AH09H
INT 21H
SHOW '+'
MOV AXHRESULT
CALL DISPL
SHOW 0DH
SHOW 0AH
SHOW ''
MOV AXLRESULT
CALL DISPL
MOV AX4C00H
INT 21H
DISPL PROC
PUSH DX
PUSH AX
MOV CX10
MOV DX00H
MOV BX00H
DIV CX
MOV BXDX
ADD AL30H
DISPL1 MOV DLAL
MOV AH02H
INT 21H
MOV DLBL
ADD DL30H
MOV AH02H
INT 21H
POP AX
POP DX
RET
DISPL ENDP
CODE ENDS
END STAR
五实验结果:
六实验心:
通次实验学会十六进制数转换成位十进制数ASCⅡ码方法受益良
科实验报告
课程名称: 微型计算机原理应
实验项目: 十字路口红绿灯闪烁实验
实验点: 博学馆四层微机实验室
专业班级:通信班 学 号:
学生姓名:
指导教师:
2015年X月 X日
十字路口红绿灯闪烁实验
实验目:
通红绿黄灯控制熟练掌握掌握8255A接口芯片变成方法
二实验容:
8255A接口芯片进行编辑红绿黄灯发光二极十字路口交通灯形式点亮熄灭
三线路连接:
发光二极8中两组红黄绿灯6L1L2L3组L4L5L6组实验台连接图低电1时点亮
四流程图:
五参考程序
程序列表
DATA SEGMENT
IOPORT EQU 0D880H280H
IO8255C EQU IOPORT+282H
IO8255T EQU IOPORT+283H
PB DB
MESS DB 'ENTER ANY KEY CAN EXIT TO DOS'0DH0AH''
DATA ENDS
STACK SEGMENT STACK
STA DW 50 DUP()
TOP EQU LENGTH STA
STACK ENDS
CODE SEGMENT
ASSUME CSCODEDSDATAESDATASSSTACK
START MOV AXDATA
MOV DSAX
MOV ESAX
MOV AH09H
MOV DXOFFSET MESS
INT 21H
MOV DXIO8255T
MOV AL81H
OUT DXAL
MOV DXIO8255C
IN ALDX
MOV PBAL
MOV DXIO8255T
MOV AL80H
OUT DXAL
MOV DXIO8255C
MOV ALPB
OR AL0CH
OUT DXAL
MOV AL30H
OUT DXAL
CALL DELAY10
LLL MOV DXIO8255C
MOV AL12H
OUT DXAL
CALL DELAY10
CALL DELAY10
CALL DELAY10
CALL DELAY10
MOV AL10H
OUT DXAL
MOV CX0040H
TTT MOV AL0CH
OUT DXAL
PUSH CX
MOV CX80H
LOP1 CALL DELAY1
LOOP LOP1
MOV AL00H
OUT DXAL
MOV CX80H
LOP2 CALL DELAY1
LOOP LOP2
POP CX
LOOP TTT
MOV AL30H
OUT DXAL
CALL DELAY10
MOV AL21H
CALL DELAY10
CALL DELAY10
CALL DELAY10
CALL DELAY10
MOV AL20H
OUT DXAL
MOV CX0040H
GGG MOV AL0CH
OUT DXAL
PUSH CX
MOV CX80H
LOP3 CALL DELAY1
LOOP LOP3
MOV AL00H
OUT DXAL
MOV CX80H
LOP4 CALL DELAY1
LOOP LOP4
POP CX
LOOP GGG
MOV AL30H
OUT DXAL
CALL DELAY10
MOV AH06H
MOV DL0FFH
INT 21H
JNZ PPP
JMP LLL
PPP MOV AX4C00H
INT 21H
DELAY1 PROC NEAR
PUSH CX
MOV CX0FFFFH
CCC LOOP CCC
POP CX
RET
DELAY1 ENDP
DELAY10 PROC NEAR
PUSH AX
PUSH CX
MOV CX0F00H
UUU CALL DELAY1
LOOP UUU
POP CX
POP AX
RET
DELAY10 ENDP
CODE ENDS
END START
五实验结果:
实验感想
次实验中学会红绿黄灯控制掌握8255A接口芯片变成方法收获颇丰
科实验报告
课程名称: 微型计算机原理应
实验项目: 直流电机测速实验
实验点: 博学馆四层微机实验室
专业班级:通信 班 学 号:
学生姓名:
指导教师:
2015年X月 X日
直流电机测速实验
实验目
(1)掌握8254工作原理编程方法
(2)解光电开关方法掌握光电传感器测量电机转速方法
二 实验容
光电测速基电路光电传感器计数器定时器组成测量时测电机轴固定圆盘圆盘边缘孔传感器红外发射端接收端装圆盘两测电机带动圆盘转孔位置时红外光通红外接收导通输出低电红外光挡住时接收截止输出高电计数器记录定时间传感器发出脉数计算出电机转速
三 线路连接
接线方法:8254计数器定时器02作定时器确定测速时间定时器0CLK0接1MHZ脉频率OUT0作定时器2输入CLK2相连输出OUT28255PA0端相连GATE0GATE2均接+5V8254计数器定时器1作计数器输入CLK1直流电机计数端相连GATE18255PC0相连电机DJ端+5V~0V模拟开关SW1相连
288H~28FH
280H~287H
PA0
PC0
CS
OUT0
GATE0
CLK0
OUT1
GATE1
CLK1
OUT2
GATE2
CLK2
CS
直
流
电
机
DJ
计数
+5V
SW1
1MHz
+5V
+5V
8255
8254
四 编程提示
8254计数器定时器1作计数器记录脉数计数器定时器02作定时器组成10~60秒定时器测量脉数算出电机分钟转速显示屏幕
8255PA0根OUT2开始结束时间通PC08254计数器定时器1发出开始停止计数信号
五.流程图
六.参考程序
DATA SEGMENT
IOPORT EQU 0D880H0280H
IO8255K EQU IOPORT+283H
IO8255A EQU IOPORT+280H
IO8255C EQU IOPORT+282H
IO8254K EQU IOPORT+28BH
IO82542 EQU IOPORT+28AH
IO82541 EQU IOPORT+289H
IO82540 EQU IOPORT+288H
MESS DB 'STRIKE ANY KEYRETURN TO DOS' 0AH 0DH''
COU DB 0
COU1 DB 0
COUNT1 DB 0
COUNT2 DB 0
COUNT3 DB 0
COUNT4 DB 0
DATA ENDS
CODE SEGMENT
ASSUME CS CODE DS DATA
START MOV AX DATA
MOV DS AX
MOV DX OFFSET MESS
MOV AH 09H
INT 21H
MOV DX IO8254K
MOV AL 36H
OUT DX AL
MOV DX IO82540
MOV AX 50000
OUT DX AL
NOP
NOP
MOV AL AH
OUT DX AL
MOV DX IO8255K
MOV AL 90H
OUT DX AL
MOV DX IO8255C
MOV AL 00
OUT DX AL
LL MOV AH 01H
INT 16H
JNZ QUIT1
MOV DX IO8254K
MOV AL 70H
OUT DX AL
MOV DXIO82541
MOV AL0FFH
OUT DXAL
NOP
NOP
OUT DX AL
MOV DX IO8254K
MOV AL 90H
OUT DX AL
MOV DX IO82542
MOV AL 100
OUT DX AL
MOV DX IO8255C
MOV AL 01H
OUT DX AL
JMP A0
QUIT1 JMP QUIT
A0 MOV DX IO8255A
A1 IN AL DX
AND AL 01H
JZ A1
MOV DX IO8255C
MOV AL 00H
OUT DX AL
MOV DX IO8254K
MOV AL 70H
OUT DX AL
MOV DX IO82541
IN AL DX
MOV BL AL
IN AL DX
MOV BH AL
MOV AX 0FFFFH
SUB AX BX
CALL DISP
MOV DL 0DH
MOV AH02
INT 21H
MOV DL 0AH
MOV AH 02
INT 21H
JMP LL
DISP PROC NEAR
MOV DX 0000H
MOV CX 03E8H
DIV CX
MOV COUNT1 AL
MOV AX DX
MOV CL 64H
DIV CL
MOV COUNT2 AL
MOV AL AH
MOV AH 00H
MOV CL 10
DIV CL
MOV COUNT3 AL
MOV COUNT4 AH
MOV AL COUNT1
CALL DISP1
MOV AL COUNT2
CALL DISP1
MOV AL COUNT3
CALL DISP1
MOV AL COUNT4
CALL DISP1
RET
DISP ENDP
DISP1 PROC NEAR
AND AL 0FH
CMP AL 09H
JLE NUM
ADD AL 07H
NUM ADD AL 30H
MOV DL AL
MOV AH02
INT 21H
RET
DISP1 ENDP
QUIT MOV AH 4CH
INT 21H
CODE ENDS
END START
七. 实验步骤结果
1windows环境开开始菜单选择运行项然输入CMD确定进DOS环境
2输入E回车输入CD MASM回车
3输入DJasm回车进入编辑状态源程序写入完成Alt+F开文件菜单选Save存盘选Exit退出编辑状态
4原程序进行汇编连接
输入DJASM回车
5开扩展卡IO端口址ALLOWIO命令开IO端口址:
命令程序:ALLOWIO 1*0D880 1*0D888 1*0D890 1*0D898 1*0D8A0 1*0D8A8 1*0D8B0 1*0D8B8 回车输入RUN回车
6 实验电路图1接线实验箱通电
输入DJ回车屏幕显示系列电机速度分:0706070707200967078507840785097112301419169816971257
八实验感想
次实验中解8254工作原理编程方法解光电开关方法掌握光电传感器测量电机转速方法 收获颇丰
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档