微机原理及接口技术 实验报告_第1页
微机原理及接口技术 实验报告_第2页
微机原理及接口技术 实验报告_第3页
微机原理及接口技术 实验报告_第4页
微机原理及接口技术 实验报告_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、微机原理及接口技术实验报告学 院: 信息工程学院 专业班级: 通 信 0801 姓 名: 学 号: 实验一 多位十进制数相加实验一实验目的1 熟悉在PC机上建立、汇编、连接、调试和运行汇编语言程序的过程。2 掌握数据传送和算术运算指令的用法。二实验内容将两个多位十制数28056,47193相加,并显示加数,被加数,和。要求加数和被加数均以ASCII码形式各自顺序存放在DATAl和DATA2内存单元中,结果送回DATA1处(低位在前,高位在后)。3 程序流程图开始显示加数和被加数 加数和被加数由ASC码表示转化为十六进制计数值5-CX清除最低位进位执行ADC带进位相加AAA调整结果送被加数存储区

2、调整偏移量显示加数和被加数CX-1=0 N将十六进制结果转化为ASC码表示的数字Y显示结果结束四.参考程序SHOW MACRO B MOV DL,B MOV AH,02H INT 21H ENDMDATA SEGMENTDATA1 DB 33H,39H,31H,37H,34HDATA2 DB 36H,35H,30H,38H,32HDATA3 DB _, 0DH,0AH,$DATA ENDSSTACK SEGMENT STACKSTA DB 20 DUP (?)TOP EQU LENGTH STASTACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:ST

3、ACK,ES:DATASTART: MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX MOV AX,TOP MOV SP,AX MOV SI,OFFSET DATA2 MOV BX,05 SHOW 20H CALL DISPL SHOW 0DH SHOW 0AH MOV SI,OFFSET DATA1 MOV BX,05 SHOW 2BH CALL DISPL SHOW 0DH SHOW 0AH MOV CL,7S1: SHOW 2DH LOOP S1 SHOW 0DH SHOW 0AH MOV SI,OFFSET DATA1 MOV DI,OFFSET

4、 DATA2 CALL ADDA MOV SI,OFFSET DATA1 MOV BX,05 SHOW 20H CALL DISPL MOV AX,4C00H INT 21HDISPL PROC NEARDS1: SHOW SI+BX-1 DEC BX JNZ DS1 RETDISPL ENDPADDA PROC NEAR MOV DX,SI MOV BP,DI MOV BX,05AD1: SUB BYTE PTR SI+BX-1,30H SUB BYTE PTR DI+BX-1,30H DEC BX JNZ AD1 MOV SI,DX MOV DI,BP MOV CX,05 CLCAD2:

5、MOV AL,SI MOV BL,DI ADC AL,BL AAA MOV SI,AL INC SI INC DI LOOP AD2 MOV SI,DX MOV DI,BP MOV BX,05AD3: ADD BYTE PTR SI+BX-1,30H ADD BYTE PTR DI+BX-1,30H DEC BX JNZ AD3 RETADDA ENDPCODE ENDS END START4 实验过程进入DOS环境,进入E盘MASM子目录,键入:E: 回车CD: MASM 回车EDIT *.ASM 回车(*为程序名)打开编辑窗口将汇编语言源程序输入对源程序进行汇编链接,执行并调试可执行文件六

6、思考题 不改变数据段DATA1和DATA2的内容,如何将加数与被加数分别由28056和47193变成65082和39174,并且相加答:源程序不变将 DATA1 DB 33H,39H,31H,37H,34H DATA2 DB 36H,35H,30H,38H,32H后加上 DATA4 DB 37H,34H,31H,39H,33HDATA5 DB 32H,38H,30H,35H,36H并将全部DATA1和DATA2全部改成DATA4和DATA5就可以实现七、实验感想: 通过本实验,基本学会了数据传送和算术运算指令的用法,熟悉了DOS环境,并且对微机原理及接口技术这门课程有了更深的了解和认识。实验二

7、 统计数据个数实验一实验目的 掌握将多位十六进制数转换成多位十进制数ASCII码的方法二实验内容 统计内存数组中大于0和小于0的元素个数,并将统计结果分别存放在LRESULT和HRESULT变量中,并显示个数3 程序流程图 开始数组元素个数-CL SI指向数组首地址比较是正数?HERSULT+1YLERSULT+1SI+1-SICL-1=0? N显示提示信息 Y显示正元素个数显示负元素个数结束 4 参考程序DATA SEGMENT ARY DB 1,3,-1,2,6,-9,-5,7,8,1,3,8,-6,8,-9,-7,2,4,-3,-3 DB -4,7,7,8,3,1,3,6,8,5,5,6

8、,4,5,7,-4,2,4,5,-7,5,4 DB 2,5,7,8,8,8,7,6,-5,4,3,2,1,-1,2,2,3,-4,5,6,7 N=$-ARY LRESULT DW 0 HRESULT DW 0 TJJG DB STATISTICS RESULT:,0DH,0AH,$ DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS, AX MOV ES, AX SHOW MACRO B PUSH DX PUSH AX MOV AH,02H INT 21H POP AX POP DX ENDM XOR

9、CX,CX MOV CX,N LEA SI,ARY LOP: MOV AL,SI CMP AL,0 JNS PLUS INC LRESULT JMP CONT PLUS: INC HRESULT CONT: INC SI LOOP LOP LEA DX,TJJG MOV AH,09H INT 21H SHOW + MOV AX,HRESULT CALL DISPL SHOW 0DH SHOW 0AH SHOW - MOV AX,LRESULT CALL DISPL MOV AX,4C00H INT 21H DISPL PROC PUSH DX PUSH AX MOV CX,10 MOV DX,

10、00H MOV BX,00H DIV CX MOV BX,DX ADD AL,30H DISPL1: MOV DL,AL MOV AH,02H INT 21H MOV DL,BL ADD DL,30H MOV AH,02H INT 21H POP AX POP DX RET DISPL ENDP CODE ENDS END START五实验过程 进入E盘的MASM子目录,打开编辑窗口将汇编语言源程序输入,对源程序进行汇编链接,执行并调试可执行文件6 思考题 试分析程序中语句“MOV CX,N”执行后,赋给CX寄存器的值是多少?答:赋给CX的值是63七、实验感想:通过本实验,基本学会了数据传送和

11、算术运算指令的用法及将多位十六进制数转换为多位十进制数ASCII码得方法,熟悉了DOS环境,并且对微机原理及接口技术这门课程有了更深的了解和认识。实验三 直流电机测速实验1. 实验目的:1.掌握8254的工作原理和编程方法2.了解光电开关的使用方法,掌握用光电传感器测量电机转速的方法二. 实验内容 光电测速的基本电路由光电传感器、计数器和定时器组成。测量时在被测电机主轴上固定一个圆盘,圆盘的边缘上打上小孔。传感器的红外发射端和接收端装在圆盘的两测,电机带动圆盘转到有孔的位置时,红外光通过,红外接收管导通,输出低电平。红外光被挡住时接收管截止,输出高电平。用计数器记录在一定时间内传感器发出的脉冲

12、个数就可以计算出电机转速。三. 线路连接 接线方法:8254计数器/定时器0和2作为定时器,确定测速时间,定时器0的CLK0接1MHZ脉冲频率,OUT0作为定时器2的输入,与CLK2相连,输出OUT2与8255的PA0端相连。GATE0、GATE2均接+5V,8254计数器/定时器1作为计数器,输入CLK1与直流电机计数端相连,GATE1与8255的PC0相连。电机DJ端与+5V0V模拟开关SW1相连。四. 编程提示8254计数器/定时器1作为计数器,记录脉冲个数,计数器/定时器0和2作为定时器,组成1060秒定时器,测量脉冲个数,算出电机每分钟的转速并显示在屏幕上。8255的PA0根据OUT

13、2的开始和结束时间,通过PC0向8254计数器/定时器1发出开始和停止计数信号。5. 流程图 直流电机测速实验接线图288H28FH280H287HPA0PC0CSOUT0GATE0CLK0OUT1GATE1CLK1OUT2GATE2CLK2CS直流电机DJ计数+5VSW11MHz+5V+5V82558254六. 参考程序DATA SEGMENTIOPORT EQU 0D880H-0280HIO8255K EQU IOPORT+283HIO8255A EQU IOPORT+280HIO8255C EQU IOPORT+282HIO8254K EQU IOPORT+28BHIO82542 EQU

14、 IOPORT+28AHIO82541 EQU IOPORT+289HIO82540 EQU IOPORT+288HMESS DB STRIKEANY KEY,RETURN TO DOS!,0AH,0DH,$COU DB 0COU1 DB 0COUNT1 DB 0COUNT2 DB 0COUNT3 DB 0COUNT4 DB 0DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART: MOV AX,DATA MOV DS,AX MOV DX,OFFSET MESS MOV AH,09H INT 21H MOV DX,IO8254K MOV AL,36

15、H 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,ALLL: MOV AH,01H INT 16H JNZ QUIT1 MOV DX,IO8254K MOV AL,70H OUT DX,AL MOV DX,IO82541 MOV AL,0FFH OUT DX,AL NOP NOP OUT DX,AL MOV DX,IO8254K MOV AL,90H OU

16、T DX,AL MOV DX,IO82542 MOV AL,100 OUT DX,AL MOV DX,IO8255C MOV AL,01H OUT DX,AL JMP A0QUIT1: JMP QUITA0: MOV DX,IO8255AA1: 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 CA

17、LL DISP MOV DL,0DH MOV AH,02 INT 21H MOV DL,0AH MOV AH,02 INT 21H JMP LLDISP 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,C

18、OUNT3 CALL DISP1 MOV AL,COUNT4 CALL DISP1 RETDISP ENDPDISP1 PROC NEAR AND AL,0FH CMP AL,09H JLE NUM ADD AL,07HNUM: ADD AL,30H MOV DL,AL MOV AH,02 INT 21H RETDISP1 ENDPQUIT: MOV AH,4CH INT 21HCODE ENDS END START7. 实验结果8. 思考题 关闭电机后,为什么8254计数不为0?答:关闭电机后,但主机未断电,计数值锁存在锁存器中,所以读数会一直为锁存器的值,8254计数不会显示0九实验感想通

19、过本实验,基本掌握了8254的工作原理和编程方法,了解了光电开关,掌握了用光电传感器测量电机转速的方法。同时,也进一步提高了自己实践动手的能力,熟悉了DOS环境,并且对微机原理及接口技术这门课程有了更深的了解和认识。实验四 十字路口红绿灯闪烁实验一实验目的 通过对红、绿、黄灯的控制,熟练掌握8255A接口芯片的编程方法。二实验内容 对8255A接口芯片进行编程,使红,黄,绿发光二极管按照十字路口交通灯的形式点亮或熄灭。图1十字路口红绿灯实验连线图343332313029282753698356280H287HD0D1D2D3D4D5D6D7IORIOWA0A1RESETD0D1D2D3D4D5

20、D6D7RDWRA0A1RESETCS141516121110PC0PC1PC2PC3PC4PC58255AL2L5L3L6L4L7L0L1绿灯黄灯红灯三线路连接 东L5 L6 L7绿灯 黄灯 红灯L2 L3 L4绿灯 黄灯 红灯北南西图2交通十字路口及信号 发光二极管共8个,其中两组绿,黄,红灯用6个,L2、L3、L4为一组,L5、L6、L7为一组;实验台连接如图4.3所示。高电平“1”时,点亮。4 流程图五参考程序DATA SEGMENTIOPORT EQU 0D880H-280HIO8255C EQU IOPORT+282HIO8255T EQU IOPORT+283HPB DB ?ME

21、SS DB ENTER ANY KEY CAN EXIT TO DOS!,0DH,0AH,$DATA ENDSSTACK SEGMENT STACKSTA DW 50 DUP(?)TOP EQU LENGTHSTASTACK ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACKSTART: MOV AX,DATA MOV DS,AX MOV ES,AX MOV AH,09H MOV DX,OFFSET MESS INT 21H MOV DX,IO8255T MOV AL,81H OUT DX,AL MOV DX,IO8255C IN AL,DX MO

22、V PB,AL MOV DX,IO8255T MOV AL,80H OUT DX,AL MOV DX,IO8255C MOV AL,PB OR AL,0CH OUT DX,AL MOV AL,30H OUT DX,AL CALL DELAY10 LLL: MOV DX,IO8255C MOV AL,12H OUT DX,AL CALL DELAY10 CALL DELAY10 CALL DELAY10 CALL DELAY10 MOV AL,10H OUT DX,AL MOV CX,0040H TTT: MOV AL,0CH OUT DX,AL PUSH CX MOV CX,80H LOP1: CALL DELAY1 LOOP LOP1 MOV AL,00H OUT DX,AL MOV CX,80H LOP2: CALL DELAY1 LOOP LOP2 POP CX LOOP TTT MOV AL,30H OUT DX,AL CALL DELAY10 MOV AL,21H OUT DX,AL CALL DELAY10 CALL DELAY10 CALL DELAY10 CALL DELAY10 MOV AL,20H OUT DX,AL MOV CX,0040H GGG: M

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论