微机原理与接口技术实验指导书_第1页
微机原理与接口技术实验指导书_第2页
微机原理与接口技术实验指导书_第3页
微机原理与接口技术实验指导书_第4页
微机原理与接口技术实验指导书_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

1、精选优质文档-倾情为你奉上微机原理与接口技术实验指导书微机原理与接口技术实验室专心-专注-专业目 录实验0 将ASCII表示的十进制数转换为二进制数 1实验一 8086汇编语言程序设计初步 3实验二 8086汇编语言程序设计 6实验三 DOS系统功能调用 10实验四 8255A并行接口实验 12实验五 8253定时器/计数器接口实验 16实验六 8259A中断控制器实验 19实验七 步进电机控制实验 23实验八 电子琴的设计 26实验九 七段数码管实验 30实验十 38译码实验 31实验十一 AD 转换实验 32实验十二 DA 转换实验 34附录:实验报告模版 35微机原理与接口技术实验指导书

2、实验0 将ASCII表示的十进制数转换为二进制数一. 实验目的:观察ASCII表示的十进制与二进制的区别;二. 实验步骤:(一)、输入源程序1.建一个文本文档d.text。输入程序把后缀名改成.asm的形式。把该文件放在D盘masm文件下。2.打开命令提示符。3.输入D:回车4.cd masm 回车。5.masm d.asm回车。6.link d.obj回车。7.d.exe回车,生成exe可执行文件。(二)、在3500-3504单元输入十进制数12的ASCII码,即E3500 30 30 30 31 321.把生成的d.exe文件复制到D盘下。2.debug 回车3.n d.exe回车 L回车

3、 U 0000回车4.E3500回车 30 30 30 31 32回车(三)、用G运行程序(四)、用D3510查看结果,应为:3510 0C 00(五)、反复试几组数,考察程序的正确性实验一 8086汇编语言程序设计初步一、实验目的1、熟悉在PC机上建立、汇编、连接、调试和运行8086汇编语言程序的过程。2、熟悉8086指令系统中一些常用指令的功能和使用。3、学习数据传送和算术运算指令的使用方法。二、实验内容详细阅读汇编语言程序的上机过程。试编写将两个多位十进制数相加程序,要求两个加数均以ASCII码形式各自顺序存在以DATA1和DATA2为首的5个内存单元中(低位在前),结果送回DATA1处

4、。三、实验设备1、微型计算机一台2、EL-型微机原理实验开发系统一台 四、程序参考流程图实验一参考程序清单CRLF      MACRO              MOV      DL, 0DH              MOV

5、      AH, 02H              INT        21H              MOV      DL, 0AH  &#

6、160;           MOV   AH, 02H              INT        21H              ENDMD

7、ATA      SEGMENTDATA1    DB  33H, 39H, 31H, 37H, 34HDATA2    DB  36H, 35H, 30H, 38H, 32HDATA   ENDSSTACK   SEGMENT  PARA  STACK  'STACK'STA        DB  1

8、00  DUP (?)STACK   ENDSCODE     SEGMENT              ASSUME CS:CODE, DS:DATA, SS:STACK, ES:DATASTART:   MOV      AX, DATA       &#

9、160;      MOV      DS, AX              MOV      SI, OFFSET DATA2              MOV  &#

10、160;   BX, 05              CALL      DISPL              CRLF            

11、60; MOV      SI, OFFSET DATA1              MOV      BX, 05           CALL      DISPL     &

12、#160;        CRLF              MOV      DI, OFFSET DATA2              CALL      ADDA&

13、#160;             MOV      SI, OFFSET DATA1              MOV      BX, 05         

14、;     CALL      DISPL              CRLF              MOV      AX, 4C00H     

15、;         INT        21HDISPL    PROC     NEARDS1:       MOV      AH, 02H          &#

16、160;   MOV      DL, SI+BX-1              INT        21H              DEC    

17、0;  BX               JNZ        DS1              RETDISPL    ENDPADDA     PROC   

18、;  NEAR              MOV      DX, SI              MOV      BX, 05AD1:       SUB 

19、       BYTE PTR SI+BX-1, 30H              SUB        BYTE PTR DI+BX-1, 30H              DEC  &#

20、160;    BX              JNZ        AD1              MOV      CX, 05    

21、0;         CLCAD2:       MOV      AL, SI              MOV      BL, DI       

22、0;      ADC       AL, BL              AAA              MOV      SI, AL   &#

23、160;          INC        SI              INC        DI           

24、   LOOP     AD2              MOV      SI, DX              MOV      BX, 05AD3:  &

25、#160;    ADD       BYTE PTR SI+BX-1, 30H              DEC       BX              JNZ  

26、      AD3              RETADDA     ENDPCODE     ENDS              END      

27、 START实验二 8086汇编语言程序设计一、实验目的1、熟悉8086指令系统,学习基本的8086汇编语言程序设计方法。2、掌握提示信息的使用方法及8086串操作指令的使用方法。3、初步掌握调试修改程序的方法。二、实验内容用串操作指令设计一个搜索关键字程序,实现在存储区(长度为100H)中寻找关键字空格字符(20H),退出时给出是否找到的信息。三、实验设备1、微型计算机一台2、EL-型微机原理实验开发系统一台四、编程提示1、8086中用于字符串检索的指令为SCASB/SCASW,用AL中的字节或者AX中的字与位于ES段由DI寄存器所指的内存单元的字节或字相比较。通过前缀的控制,可以实现在DI

28、所指的字符串中,寻找第一个与AL(或AX)的内容相同的字节或字。2、对于所有的串操作指令,都要注意方向标志的设置。指令CLD使方向标志DF清0,SI和DI自动增量修改,指令STD使DF置1,SI和DI自动减量修改。五、程序参考流程图1、主程序参考流程图  2、子程序GETNUM参考流程图实验二参考程序清单CRLF                  MACRO     

29、                       MOV         DL,0DH                  &

30、#160;         MOV         AH,02H                            INT   

31、0;        21H                            MOV         DL,0AH     &

32、#160;                      MOV         AH,02H                  &#

33、160;         INT            21H                            ENDMDATA

34、60;                SEGMENTMESS1                DB    INPUT THE SEGMENT ADDR:$MESS2         

35、;       DB    INPUT THE OFFSET ADDR:$MESS3                DB    OK! HAS FOUND!,0DH,0AH,$MESS4            

36、    DB    NO SPACE CHARACTER!,0DH,0AH,$ERROR               DB    INPUT ERROR!,0DH,0AH,INPUT THE ADDR:$DATA             &

37、#160;   ENDSSTACK               SEGMENT  PARA  STACK  STACKSTA                     DW   32 DUP

38、(?)       STACK               ENDSCODE                 SEGMENT         

39、0;                  ASSUME  CS:CODE,DS:DATA,ES:DATA,SS:STACKSTART:               MOV         AX, DAT

40、A                            MOV         DS, AX              

41、;               MOV         ES, AX                          

42、  MOV         AH, 09H                            MOV         DX, OFFSET MESS1

43、60;                           INT            21H           &

44、#160;                CALL        GETNUM                         &

45、#160;  MOV         ES, DX                            MOV         AH,09H 

46、60;                          MOV         DX, OFFSET MESS2             

47、               INT            21H                       

48、0;    CALL        GETNUM                            MOV         DI, DX 

49、;                           CLD                       &

50、#160;    MOV         CX, 0100H                   MOV         AL, 20H        

51、;           REPNZ      SCASB                   JNZ           WWW   

52、60;               MOV         AH, 09H                   MOV       

53、;  DX, OFFSET MESS3                   INT            21H               

54、0;   JMP           BBBWWW:     MOV         AH,09H                      

55、0;     MOV         DX, OFFSET MESS4                            INT      

56、60;     21HBBB:                   MOV         AX, 4C00H                

57、;            INT            21HGETNUM PROC  NEAR                       

58、;     XOR DX, DXGGG:                  MOV         AH, 01H                &#

59、160;           INT            21H                           

60、 CMP          AL, 0DH                            JZ           

61、60;  PPP                            CMP          AL, 20H          

62、;                  JZ              PPP                  

63、0;         CMP          AL, 30H                            JB   &

64、#160;          KKK                       CMP  AL,39H               

65、60;            JBE            G1                          &#

66、160; CMP          AL, 41H                            JB           

67、;   KKK                            CMP          AL, 46H         &

68、#160;                  JBE            G2                    

69、        CMP          AL, 61H                            JB    

70、60;         KKK                            CMP          AL, 66H   

71、;                         JA              KKK           

72、0;                SUB           AL, 57HGETS:                 MOV     &

73、#160;   CL, 04H                            SHL           DX, CL       

74、                     XOR AH, AH                            ADD

75、60;         DX, AX                            JMP           GGGG1: 

76、60;       SUB    AL, 30H            JMP     GETSG2:         SUB    AL, 37H        

77、60;   JMP     GETSKKK:                  CRLF                       

78、60;    MOV         AH, 09H                            MOV         DX,

79、OFFSET ERROR                            INT            21H        

80、0;                   JMP          GGGPPP:                    PUSH 

81、0;      DX                            CRLF                &#

82、160;           POP           DX                            RETGET

83、NUM ENDPCODE                 ENDS                            END  START实验三 DOS系统

84、功能调用 一、实验目的1、熟悉DOS系统功能调用(INT 21H)的使用方法。2、掌握从键盘上读取字符及字符串的方法和字符及字符串的显示方法。3、了解小写字母和大写字母在计算机内的表示方法,并学会如何进行转换。 二、实验内容1、设计将键盘输入的小写字母转换成大写字母程序。接收键盘输入字符以C(03H)为结束,并将其中的小写字母转变为大写字母,然后进行显示。2、利用DOS系统功能调用实现人机对话。根据计算机显示器上显示的提示信息,从键盘输入字符串并存入内存缓冲区。 三、实验设备1、微型计算机一台2、EL-型微机原理实验开发系统一台四、程序参考流程图参考程序清单DAT

85、A             SEGMENTSTR1       DB 0DH,0AH,INPUT:$STR2       DB 0DH,0AH,OUTPUT:$BUF               DB 

86、0; 100  DUP  (?)DATA             ENDSCODE            SEGMENT                   &

87、#160; ASSUME CS:CODE,DS:DATASTART:          MOV      AX ,DATA                     MOV      DS ,AX &#

88、160;                   MOV      BX ,OFFSET  BUFT1:         MOV   DX ,OFFSET  STR1MOV   AH ,09HINT   

89、  21H       MOV      SI ,0000HT2 :           MOV       AH ,01H                  

90、   INT        21H                     CMP       AL ,03H           

91、0;         JZ           T5                     CMP       AL ,0DH  

92、0;                  JZ           T4                     CMP 

93、      AL ,61H                     JB           T3            

94、0;        CMP       AL ,7AH                     JA          T3    

95、0;                SUB        AL ,20HT3:         MOV      BX+SI ,AL          

96、;           INC        SI                     JMP        T2T4:   

97、      MOV      DX ,OFFSET  STR2                     MOV      AH ,09H        

98、0;            INT    21H                     MOV      AL ,$       

99、0;             MOV      BX+SI ,AL                     MOV      AH ,09H   &#

100、160;                 MOV      DX ,BX                     INT      

101、;  21H                     JMP        T1T5:         MOV      AX ,4C00H    &

102、#160;                INT        21HCODE        ENDS                 &#

103、160;   END       START实验四 8255A并行接口实验 一、实验目的1、  了解8255A芯片的结构、功能及工作原理。2、  掌握8086CPU与8255接口扩展方法,及通过8255A并行口传输数据的方法。3、  握8255A初始化编程、及应用程序设计方法。二、实验内容利用8255A、74LS04、LED发光二极管设计交通信号灯自动控制系统,设计要求见编程提示。编写控制程序,通过8255A控制发光二极管,(用8255A的A端口和B端口控制6个LED发光二极

104、管的亮和灭,输出为1则亮,输出为0则灭)模拟交通信号灯的控制系统。三、实验设备1、微型计算机一台2、EL-型微机原理实验开发系统一台四、编程提示1、要完成本实验,首先必须了解交通信号灯的燃灭规律。设有一个十字路口,将L1、L3、L5作为东西方向的指示灯,L2、L4、L6作为南北方向的指示灯,初始态为两个方向的红灯全亮。之后,东西路口的绿灯亮,南北路口的红灯亮,东西方向通车。延迟一段时间后,东西路口的绿灯熄灭,黄灯开始闪烁。闪烁若干次后,东西路口的红灯亮,同时南北路口的绿灯亮,南北方向开始通车。延迟一段时间后,南北路口的绿灯熄灭,而黄灯开始闪烁。闪烁若干次后,再切换到东西路口方向。之后,重复上述

105、过程。2、  程序中应设定好8255A的工作模式,使三个端口均工作于方式0,并处于输出状态。3、  8255A的各端口地址(片选信号为CS0时):A端口地址 04A0H、 B端口地址04A2H、 C端口地址04A4H、  控制端口地址04A6H。五、实验参考电路图六、连线方法按照实验电路图连接硬件线路:1、将PA0、PA1插孔与发光二极管L1、L2相连;(L1、L2为红灯)2、将PA4、PA5插孔与发光二极管L5、L6相连;(L5、L6为绿灯)3、将PB4、PB5插孔与发光二极管L3、L4相连;(L3、L4为黄灯)4、将PC0、PC1插孔与发光二极管L7、L8相连

106、;(L7、L8本实验不用,关闭)5、CS8255与CS0相连。七、程序参考流程图实验四参考程序清单CODE        SEGMENT  PUBLIC                     ASSUME  CS:CODE       &

107、#160;             ORG    100HSTART:          MOV      DX, 04A6H               &#

108、160;     MOV      AL, 80H                     OUT       DX, AL          

109、60;          MOV      DX, 04A0H                     MOV      AL, 03H      &

110、#160;              OUT       DX, AL                     MOV      DX, 04A2H 

111、                    MOV      AL, 00H                     OUT   &#

112、160;   DX, AL                     MOV      DX, 04A4H                   

113、;  MOV      AL, 00H                     OUT       DX, ALCALL      DELAY10LLL:      &#

114、160;       MOV      AL, B                     MOV      DX, 04A0H         &#

115、160;           OUT       DX, AL                     CALL      DELAY10    &#

116、160;                MOV      AL, B                     OUT       DX, A

117、L                     MOV      CX, 08HTTT:              MOV      DX, 04A2H  

118、;                   MOV      AL, B                     OUT    

119、60;  DX, AL                     CALL      DELAY1                     M

120、OV      AL, B                     OUT       DX, AL                

121、;     CALL      DELAY1                     LOOP     TTT             &#

122、160;       MOV      DX, 04a0H                     MOV      AL, B         &#

123、160;           OUT       DX, AL                     CALL      DELAY1    

124、60;       MOV      AL, B                     OUT       DX, AL         

125、            CALL      DELAY10                     MOV      AL, B     &

126、#160;               OUT       DX, AL                     MOV      CX, 0008H

127、GGG:             MOV      DX, 04A2H                     MOV      AL, B   &#

128、160;                 OUT       DX, AL                     CALL    

129、0; DELAY1                  MOV      AL, B                     OUT     

130、  DX, AL                     CALL      DELAY1                     LOOP

131、     GGG                     MOV      DX, 04A0H                  

132、   MOV      AL, B                     OUT       DX, AL             

133、60;       CALL      DELAY1                     JMP        LLLDELAY1:    PUSH   &

134、#160;  CX              MOV      CX, 8FFFHCCC:              LOOP     CCC         

135、            POP        CX                     RETDELAY10:      MOV   &

136、#160;  BX, 000AHBBB:              CALL      DELAY1                     DEC    BX 

137、0;                   JNZ     BBB                     RETCODE     

138、       ENDEND      START实验五 8253定时器/计数器接口实验 一、  实验目的1、了解8253定时器/计数器结构、功能和工作原理。2、熟悉8086CPU与8253接口扩展方法,及对8253初始化编程。3、掌握8253各种工作模式下的软件编程方法。二、  实验内容利用8253芯片设计定时器接口电路,编制程序,将8253内部计数器设置为工作模式3(和其他不同工作模式),观察并画出其不同模式下的输出波形,且输出端分别经驱动后接发光二极管。三、实验

139、设备1、微型计算机一台2、EL-型微机原理实验开发系统一台四、编程提示1、8253的时钟端CLK0、CLK1的时钟频率均为1M/8。CLK2的时钟由OUT0来控制。8253是8086系统中常用的可编程定时器/计数器,有多种工作模式,其中模式3为方波方式。8253工作于模式3时,当CPU写入控制字后,输出端OUT变为高电平,写入计数初值后,计数器从下一个时钟脉冲的下降沿开始计数。当计数到初值一半时输出变为低,直至计数到零,输出又变为高,重新开始计数。输出为一方波。当CLK0的频率为1M/8,计数器0的初值为F424H(十进制数为62500),方波周期为0.5s。在计数器2中设置不同的初值n,可得

140、到周期n×0.5s的方波。采用两级计数叠加,输出周期范围可大幅度提高。如能合理设置初值,这种广域范围的周期设定在实际控制中非常有用。2、  程序中应设定好8253中计数器0、计数器1、计数器2的工作模式。3、  8253的各计数器端口地址(片选信号为CS0时):计数器0端口地址 04A0H计数器1 端口地址04A2H, 计数器2端口地址04A4H控制寄存器端口地址04A6H。五、实验原理图六、连线方法1、8253片选信号CS8253与实验系统通用片选信号CS0相连。2、8253的OUT0与CLK2相连,OUT2与发光二极管L1相连。3、OUT1接发光二极管L2或示

141、波器。七、程序参考流程图实验五参考程序清单:CODE            SEGMENT  PUBLIC                     ASSUME  CS:CODE        

142、60;            ORG    100HSTART:   MOV      DX,04A6H              MOV   AX,36H       

143、       OUT    DX,AX              MOV      DX,04A0H              MOV   AX,24H  &#

144、160;           OUT    DX,AX               MOV   AX,0F4H              OUT    DX,A

145、X        MOV      DX,04A6H              MOV   AX,76H              OUT    DX,AX &

146、#160;            MOV      DX,04A2H              MOV   AX,0FFH              OUT&#

147、160;   DX,AX               MOV   AX,0FFH              OUT    DX,AXMOV      DX,04A6H     &#

148、160;        MOV   AX,0B6H              OUT    DX,AX              MOV      DX,04A4H

149、60;             MOV   AX,10H              OUT    DX,AX               MOV  

150、AX,00H              OUT    DX,AXNEXT: NOP           JMP     NEXTCODE     ENDS         

151、0;    END       START实验六 8259A中断控制器实验 一、实验目的1、掌握8259A中断控制器的工作原理。2、熟悉8259A的工作方式,学会中断服务程序的编写方法。3、掌握初始化中断向量的方法。二、实验内容利用8259A、8255A、8253、74LS07、发光二极管、单脉冲发生器设计一个中断系统。要求每次CPU响应外部中断时,将数据0055H写入累加器AX,并将该数据由8255A的A端口输出,点亮发光二极管。如果不产生中断,则AX始终为0,熄灭发光二极管。中断请求信号通过

152、8259A中断控制器的IR0端输入,中断源可以是片外8253定时器输出的脉冲,也可以是其它脉冲。本实验可直接使用8253定时器的输出脉冲作为中断源;也可采用实验台上单脉冲发生器的输出脉冲作为中断源,每按一次PUL 键产生一次中断请求。三、实验设备1、微型计算机一台2、EL-型微机原理实验开发系统一台四、编程提示1、8259A中断控制器工作原理及使用说明请详细阅读教科书。8086的中断系统是向量中断方式,不同类型的中断向量存于内存不同的位置,其计算方法是中断类型N×4。中断类型的高5位由8259A读出(系统设置高5位为10000),低3位由IR的编码确定,IR0的编码为000。2、初始

153、化命令字ICW1要求写入偶地址,ICW2、ICW3、ICW4要求写入奇地址。 本实验系统8259A实验电路的设计均为偶地址有效,因此,8259A的偶地址为03F0H,8259A的奇地址为03F2H。3、编程时,初始化命令字必须按顺序写入,以区别它们,否则8259A将不能正确工作。2、  调试程序时断点必须设置于发生中断之后。五、实验参考电路图六、连线方法1、将中断控制实验板插入实验台右上角的插槽中:单脉冲发生器输出端(PUL 键处)与中断控制实验板的IR0相连;或8253的OUT2与中断控制实验板的IR0相连。2、中断控制实验板的C59与与实验系统通用片选信号CS7相连。3、8255

154、A的A端口PA0PA7分别与发光二极管L1L8相连,8255A的片选信号CS8255与实验系统通用片选信号CS1相连。七、程序参考流程图1、主程序参考流程图2、中断服务程序参考流程图实验六参考程序清单:CODE            SEGMENT  PUBLIC                  

155、   ASSUME  CS:CODE                     ORG    100HSTART:       MOV      DX,04A6H      

156、;            MOV   AX,36H                  OUT    DX,AX                

157、;  MOV      DX,04A0H                  MOV   AX,24H                  OUT    DX,AX 

158、0;                 MOV   AX,0F4H                  OUT    DX,AXMOV      DX,04A6H  

159、0;               MOV   AX,0B6H                  OUT    DX,AX           

160、0;      MOV      DX,04A4H                  MOV   AX,10H                  OUT 

161、60;  DX,AX                   MOV   AX,00H                  OUT    DX,AXMOV   DX,04B6HMOV  

162、 AL,80HOUT    DX,ALMOV      DX, 03F0H                     MOV      AL, 13H          &

163、#160;          OUT       DX, AL                     MOV      DX, 03F2H     

164、                MOV      AL, 80H                     OUT       DX, AL&

165、#160;                    MOV      AL, 01H                     OUT  

166、60;    DX, AL                     MOV      AL, 00H                  &#

167、160;  OUT       DX, AL              MOV      AX,0000H                     M

168、OV      DS,AX                     MOV   SI,0200H                     MOV      AX,OFFSET  NINT                     MOV      DS:SI,AX         

温馨提示

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

评论

0/150

提交评论