版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验一实验一 可编程并行接口可编程并行接口(8255(8255方式方式0 0应用应用) )一、实验目的一、实验目的掌握掌握82558255方式方式0 0的工作原理和使用方法的工作原理和使用方法二、实验内容二、实验内容1 1、实验电路如图所示,、实验电路如图所示,8255C8255C口接逻辑开关口接逻辑开关K0K0K7K7,A A口口接接LEDLED显示电路显示电路L0L0L7L7。2 2、编程从、编程从8255C8255C口输入数据,再从口输入数据,再从A A口输出。口输出。PC0PC1PC2PC3PC4PC5PC6PC7k0k1k2k3k4k5k6k7PA0PA1PA2PA3PA4PA5PA
2、6PA7L0L1L2L3L4L5L6L7CS288H8255A三、编程提示三、编程提示1 1、82558255的端口的端口A A地址地址288H288H,端口,端口B B地址地址289H289H,端口,端口C C地址地址28AH28AH,控制端口地址,控制端口地址28BH28BH,2 2、参考流程图、参考流程图开始开始设设8255C口输入,口输入,A口输出口输出从从C口输入数据口输入数据将数据从将数据从A口输出口输出有键按下?有键按下?结束结束YN3 3、判断是否有按键判断是否有按键功能:功能:从键盘输入一个字符,或输出一个字符到屏幕。从键盘输入一个字符,或输出一个字符到屏幕。 入口参数:入口
3、参数:如果如果DLDL0FF0FFH H,表示是从键盘输入字符;,表示是从键盘输入字符; 否则表示输出否则表示输出,DLDL输出字符的代码。输出字符的代码。 出口参数:出口参数:输入时,输入时,ZF=ZF=0 0表有键按下,表有键按下,ALAL字符的字符的ASCIIASCII码;码; ZF=ZF=1 1时,表示无键按下。时,表示无键按下。 输出时,无出口参数。输出时,无出口参数。 6 6号系统功能调用号系统功能调用直接控制台输入输出直接控制台输入输出例:例: MOV DL,0FFH MOV AH,6 INT 2lH JZ NEXT ;无键按下无键按下,继续自继续自C口输入口输入,A口输出口输出
4、,否则退出否则退出参考程序:参考程序:; ;本程序为从本程序为从82558255的的C C口输入口输入,A,A口输出口输出CODE SEGMENTCODE SEGMENT ASSUME CS:CODE ASSUME CS:CODESTART: MOV DX,28BH ;START: MOV DX,28BH ;设设82558255为为C C口输入口输入,A,A口输出口输出 MOV AL,89HMOV AL,89H OUT DX,AL OUT DX,ALINOUT: MOV DX,28AH ;INOUT: MOV DX,28AH ;从从C C口输入一数据口输入一数据 IN AL,DXIN AL,D
5、X MOV DX,288H ; MOV DX,288H ;从从A A口输出刚才自口输出刚才自C C口口 OUT DX,AL ;OUT DX,AL ;所输入的数据所输入的数据 MOV DL,0FFH ;MOV DL,0FFH ;判断是否有按键判断是否有按键 MOV AH,06HMOV AH,06H INT 21H INT 21H JZ INOUT ; JZ INOUT ;若无若无, ,则继续自则继续自C C口输入口输入,A,A口输出口输出 MOV AH,4CH ;MOV AH,4CH ;否则返回否则返回DOSDOS INT 21H INT 21HCODE ENDSCODE ENDS END ST
6、ART END START实验二实验二 交通灯控制交通灯控制 二、实验原理与内容二、实验原理与内容 实验原理如图所示,编程使六个灯按交通灯的变化规律燃灭。实验原理如图所示,编程使六个灯按交通灯的变化规律燃灭。一、实验目的一、实验目的 通过并行接口通过并行接口8255实现十字路口交通灯的模拟控制。实现十字路口交通灯的模拟控制。PC0PC1PC2PC5PC6PC7绿绿黄黄红红绿绿黄黄红红L0L1L2L5L6L7CS288H8255A东西路口东西路口南北路口南北路口三、编程提示三、编程提示1、十字路口交通灯的变化规律:、十字路口交通灯的变化规律:(1)南北路口的绿灯、东西路口的红灯同时亮)南北路口的
7、绿灯、东西路口的红灯同时亮30秒。秒。(2)南北路口的黄灯闪若干次、东西路口的红灯继续亮。)南北路口的黄灯闪若干次、东西路口的红灯继续亮。(3)南北路口的红灯、东西路口的绿灯同时亮)南北路口的红灯、东西路口的绿灯同时亮30秒。秒。(4)南北路口的红灯继续亮、东西路口的黄灯闪烁若干次。)南北路口的红灯继续亮、东西路口的黄灯闪烁若干次。(5)转()转(1)重复。)重复。2 2、参考流程图、参考流程图开始开始设设8255C口输出口输出南北路口的绿灯亮、东西路口的红灯亮南北路口的绿灯亮、东西路口的红灯亮有键按下?有键按下?结束结束YN长延时长延时南北路口的黄灯闪、东西路口的红灯亮南北路口的黄灯闪、东西
8、路口的红灯亮南北路口的红灯亮、东西路口的绿灯亮南北路口的红灯亮、东西路口的绿灯亮长延时长延时南北路口的红灯亮、东西路口的黄灯闪南北路口的红灯亮、东西路口的黄灯闪3、编程参考、编程参考L7 L6 L5(南北南北) L2 L1 L0 (东西东西)PC7PC6PC5PC4 PC3PC2PC1PC00010010024H0100010044H0000010004H0100010044H0000010004H1000000181H1000001082H1000000080H1000001082H1000000080H MOV CX,400 ;判断是否有绿灯亮,绿灯亮长延时,判断是否有绿灯亮,绿灯亮长延时
9、, 否则短延时否则短延时 MOV CX,8000DE1: MOV DI,50000DE0: DEC DI JNZ DE0 LOOP DE1延时程序:延时程序:; ;十字路口红绿灯模拟演示程序十字路口红绿灯模拟演示程序; ;端口各灯的设置端口各灯的设置: 1: 1红红 1 1黄黄 1 1绿绿 0 0 20 0 2红红 2 2黄黄 2 2绿绿DATA SEGMENTDATA SEGMENTPORTC1 DB 24H,44H,04H,44H,04H,44H,04H ;PORTC1 DB 24H,44H,04H,44H,04H,44H,04H ;六个灯可能六个灯可能 DB 81H,82H,80H,82
10、H,80H,82H,80H ;DB 81H,82H,80H,82H,80H,82H,80H ;的状态数据的状态数据 DB 0FFH ;DB 0FFH ;结束标志结束标志DATA ENDSDATA ENDSCODE SEGMENTCODE SEGMENT ASSUME CS:CODE,DS:DATA ASSUME CS:CODE,DS:DATASTART:MOV AX,DATASTART:MOV AX,DATAMOV DS,AXMOV DS,AXMOV DX,28BHMOV DX,28BHMOV AL,80HMOV AL,80HOUT DX,AL ;OUT DX,AL ;设置设置82558255
11、为为C C口输出口输出MOV DX,28AHMOV DX,28AHRE_ON: MOV BX,0RE_ON: MOV BX,0参考程序:参考程序:ON:MOV AL,PORTC1BXON:MOV AL,PORTC1BX CMP AL,0FFH CMP AL,0FFH JZ RE_ON JZ RE_ON OUT DX,AL ; OUT DX,AL ;点亮相应的灯点亮相应的灯 INC BXINC BX MOV CX,400 ; MOV CX,400 ;参数赋初值参数赋初值 TEST AL,21H ;TEST AL,21H ;是否有绿灯亮是否有绿灯亮 JZ DE1 ;JZ DE1 ;没有没有, ,短
12、延时短延时 MOV CX,8000;MOV CX,8000;有有, ,长延时长延时DE1:MOV DI,9000;DIDE1:MOV DI,9000;DI赋初值赋初值50005000DE0:DEC DI ;DE0:DEC DI ;减减1 1计数计数 JNZ DE0 ;DIJNZ DE0 ;DI不为不为0 0 LOOP DE1 LOOP DE1 PUSH DX PUSH DX MOV AH,06H MOV AH,06H MOV DL,0FFH MOV DL,0FFH INT 21H INT 21H POP DX POP DX JZ ON ; JZ ON ;没有没有, ,转到转到ONONEXIT:
13、 MOV AH,4CH ;EXIT: MOV AH,4CH ;返回返回DOSDOS INT 21H INT 21HCODE ENDSCODE ENDSEND STARTEND START实验三实验三 串行通讯串行通讯二、实验原理与内容二、实验原理与内容一、实验目的一、实验目的 1、了解串行通讯的基本原理。、了解串行通讯的基本原理。 2、掌握、掌握8251的工作原理和编程方法的工作原理和编程方法 从键盘接收一个字符,将其从键盘接收一个字符,将其ASCII加加1后发送出去,再接收后发送出去,再接收回来在屏幕显示,实现自发自收。按回来在屏幕显示,实现自发自收。按ESC(ASCII码:码:27)键退出
14、。键退出。D0D1D2D3D4D5D6D7TxDRxD8251 OUT0GATE0 CLK05VCS280H8253D0D1D2D3D4D5D6D72728125678 IOW2B8H A0 IOR 1MHZ1011121320TxCRxCCTSGNDVCC925193174265V1MHZWRCSC/DRDCLK三、提示三、提示1 1、82518251时钟频率时钟频率1MHZ1MHZ,波特率因子,波特率因子1616,波特率选,波特率选1200bps,1200bps,无无校验位,校验位,8 8个数据位,个数据位,1 1个停止位。个停止位。82518251地址为地址为2B8H2B8H和和2B9H
15、2B9H。2 2、8253CLK08253CLK0接接1MHZ1MHZ时钟信号,工作于方式时钟信号,工作于方式3 3,二进制格式计数。,二进制格式计数。计数初值时钟频率计数初值时钟频率/(/(波特率波特率波特率因子波特率因子) ),3 3、采用查询方式收发数据。、采用查询方式收发数据。3 3、参考流程图、参考流程图字符字符ASCII+1初始化初始化8253,8251从键盘接收字符从键盘接收字符读读8251状态字状态字TxRDY=1?是是ESC吗?吗?YNY结束结束N发送字符发送字符读读8251状态字状态字RxRDY=1?YN开始开始接收数据,并显示接收数据,并显示4 4、参考程序、参考程序DA
16、TA SEGMENTDATA SEGMENT MES1 DB PLAY A KEY ON THE KEYBORD!,0DH,0AH,24H MES1 DB PLAY A KEY ON THE KEYBORD!,0DH,0AH,24HDATA ENDSDATA ENDSCODE SEGMENTCODE SEGMENT ASSUME CS:CODE,DS:DATA ASSUME CS:CODE,DS:DATASTART:MOV AX,DATASTART:MOV AX,DATAMOV DS,AXMOV DS,AXMOV DX,283H MOV DX,283H MOV AL,16H ;00010110
17、B MOV AL,16H ;00010110B OUT DX,AL ;OUT DX,AL ;设置设置82538253计数器计数器0 0工作方式工作方式 MOV DX,280HMOV DX,280HMOV AL,52MOV AL,52OUT DX,AL ;OUT DX,AL ;给给82538253计数器计数器0 0送初值送初值MOV DX,2B9H ;MOV DX,2B9H ;初始化初始化82518251XOR AL,ALXOR AL,ALOUT DX,ALOUT DX,ALOUT DX,ALOUT DX,ALOUT DX,AL ;OUT DX,AL ;向向82518251控制端口送控制端口送3
18、 3个个0 0MOV AL,40HMOV AL,40HOUT DX,AL ;OUT DX,AL ;向向82518251控制端口送控制端口送40H,40H,使其复位使其复位MOV AL,4EH ;01001110BMOV AL,4EH ;01001110BOUT DX,AL ;OUT DX,AL ;设置为设置为1 1个停止位个停止位,8,8个数据位个数据位, ,波特率因子为波特率因子为1616MOV AL,37H ;00110111BMOV AL,37H ;00110111BOUT DX,AL ;OUT DX,AL ;向向82518251送控制字允许其发送和接收送控制字允许其发送和接收MOV D
19、X,OFFSET MES1MOV DX,OFFSET MES1MOV AH,09MOV AH,09INT 21H ;INT 21H ;显示提示信息显示提示信息WAITI:MOV DX,2B9HWAITI:MOV DX,2B9HIN AL,DXIN AL,DXTEST AL,01;TEST AL,01;发送是否准备好发送是否准备好JZ WAITIJZ WAITIMOV AH,01MOV AH,01INT 21H ;INT 21H ;从键盘上读一字符从键盘上读一字符CMP AL,27CMP AL,27JZ EXIT ;JZ EXIT ;若为若为ESC,ESC,结束结束MOV DX,2B8HMOV
20、DX,2B8HINC ALINC ALOUT DX,AL ;OUT DX,AL ;发送发送MOV CX,40HMOV CX,40HS51: LOOP S51 ;S51: LOOP S51 ;延时延时NEXT: MOV DX,2B9HNEXT: MOV DX,2B9HIN AL,DXIN AL,DXTEST AL,02; TEST AL,02; 接收是否准备好接收是否准备好 JZ NEXT ; JZ NEXT ;没有没有, ,等待等待 MOV DX,2B8HMOV DX,2B8H IN AL,DX ; IN AL,DX ;准备好准备好, ,接收接收 MOV DL,ALMOV DL,AL MOV
21、AH,02; MOV AH,02;显示字符显示字符 INT 21HINT 21H JMP WAITI JMP WAITIEXIT:MOV AH,4CHEXIT:MOV AH,4CH INT 21H INT 21HCODE ENDSCODE ENDS END START END START 实验四实验四 可编程定时器可编程定时器/计数器计数器 二、实验内容二、实验内容1 1、实验原理如图,、实验原理如图,82538253计数器计数器0 0工作于方式工作于方式2 2,计数初值为,计数初值为09H09H,手动逐个输入单脉冲,编程在屏幕显示计数值,并通过指示灯观手动逐个输入单脉冲,编程在屏幕显示计数值
22、,并通过指示灯观察察OUT0OUT0电平的变化(当输入电平的变化(当输入N+1N+1个脉冲后个脉冲后OUT0OUT0输出变低)。输出变低)。一、实验目的一、实验目的 掌握掌握8253的工作原理和编程方法的工作原理和编程方法 CLK0GATE0 OUT05VCS280H8253指示灯指示灯2 2、改变、改变82538253的工作方式,并通过指示灯观察输出电平的变化。的工作方式,并通过指示灯观察输出电平的变化。三、编程提示三、编程提示1、8253计数器计数器0的的地址:地址:280H 计数器计数器1的地址:的地址:281H 计数器计数器2的地址:的地址:282H 控制寄存器地址:控制寄存器地址:2
23、83H。2、参考流程图、参考流程图 开始开始设计数器设计数器0工作方式工作方式送计数初值送计数初值读计数器值读计数器值显示计数值显示计数值有键按下?有键按下?Y结束结束N3、参考程序、参考程序CODE SEGMENT ASSUME CS:CODESTART: MOV AL,14H ;8253通道通道0工作于方式工作于方式2,二进制计数二进制计数 MOV DX,283H OUT DX,AL MOV DX,280H MOV AL,09H OUT DX,AL ;送计数初值为送计数初值为09H NEXT: MOV DX,283H MOV AL,00H OUT DX,AL ;锁存命令锁存命令 MOV D
24、X,280H IN AL,DX ;读计数初值读计数初值 MOV DL,30H ADD DL,AL MOV AH,02H INT 21H ;显示显示 MOV AH,06H MOV DL,0FFH INT 21H JZ NEXT MOV AH,4CH INT 21HCODE ENDS END START 实验五实验五 继电器控制继电器控制 二、实验原理与内容二、实验原理与内容 实验原理如图所示,编程使用实验原理如图所示,编程使用82538253定时,让继电器周而复始定时,让继电器周而复始的闭合的闭合5 5秒钟(指示灯亮),断开秒钟(指示灯亮),断开5 5秒钟(指示灯灭)。秒钟(指示灯灭)。一、实验
25、目的一、实验目的 1、了解微机控制直流继电器的原理、了解微机控制直流继电器的原理 2、进一步熟悉、进一步熟悉8255和和8253的应用的应用 将将8253计数器计数器0设置为方式设置为方式3,计数器,计数器1设置为方式设置为方式0串连使串连使用,用,CLK0接接1MHZ时钟,两个计数器启动计数后,经过时钟,两个计数器启动计数后,经过5秒秒OUT1 输出高电平。输出高电平。三、编程提示三、编程提示1、将、将8253计数器计数器0设置为方式设置为方式3,计数器,计数器1设置为设置为方式方式0串连使用,串连使用,CLK0接接1MHZ时钟,设置两个时钟,设置两个计数器的初值(乘积为计数器的初值(乘积为
26、5000000)启动计数器工)启动计数器工作后,经过作后,经过5秒秒OUT1 输出高电平。通过输出高电平。通过8255A口口查询查询OUT1的输出电平,用的输出电平,用C口的口的PC0输出开关量输出开关量控制继电器动作。控制继电器动作。2、继电器开关量输入端输入、继电器开关量输入端输入“1”,继电器常开,继电器常开触点闭合,电路接通,指示灯亮,输入触点闭合,电路接通,指示灯亮,输入“0”,开,开关断开,指示灯熄灭。关断开,指示灯熄灭。2、参考流程图、参考流程图 开始开始设设8255A口入,口入,C口出口出PC0置位,继电器加电置位,继电器加电调延时子调延时子5秒程序秒程序PC0复位,继电器断电
27、复位,继电器断电主程序主程序调延时子调延时子5秒程序秒程序延时子程序延时子程序子程序返回子程序返回设设8253计数器计数器0工作方式与初值工作方式与初值从从8255A口输入数据口输入数据设设8253计数器计数器1工作方式与初值工作方式与初值有键按下?有键按下?PA0是高电平?是高电平?YNY结束结束N3、参考程序、参考程序CODE SEGMENTCODE SEGMENT ASSUME CS:CODE ASSUME CS:CODESTART:MOV DX,28BH ;START:MOV DX,28BH ;设设82558255为为A A口输入口输入,C,C口输出口输出MOV AL,90H MOV
28、AL,90H ; 1001000010010000LLL: OUT DX,ALLLL: OUT DX,ALMOV AL,01 ;MOV AL,01 ;将将PC0PC0置位置位OUT DX,ALOUT DX,ALCALL DELAY ;CALL DELAY ;延时延时5S5SMOV AL,0 ;MOV AL,0 ;将将PC0PC0复位复位OUT DX,ALOUT DX,ALCALL DELAY ;CALL DELAY ;延时延时5S5SJMP LLL ;JMP LLL ;转转LLLLLL DELAY PROC NEAR ;延时子程序延时子程序PUSH DXMOV DX,283H ;设设8253计
29、数器为方式计数器为方式3MOV AL,36HOUT DX,ALMOV DX,280HMOV AX,10000 ;写入计数器初值写入计数器初值10000OUT DX,ALMOV AL,AHOUT DX,ALMOV DX,283HMOV AL,70H ;设计数器设计数器1为工作方式为工作方式0OUT DX,ALMOV DX,281HMOV AX,500 ;写入计数器初值写入计数器初值500OUT DX,ALMOV AL,AHOUT DX,AL LL2: MOV AH,06 ;是否有键按下是否有键按下 MOV DL,0FFH INT 21H JNE EXIT ;若有则转若有则转EXIT MOV DX
30、,288H IN AL,DX ;查询查询8255的的PA0是否为高电平是否为高电平 AND AL,01 JZ LL2 ;若不是则继续若不是则继续 POP DX RET ;定时时间到,子程序返回定时时间到,子程序返回EXIT: MOV AH,4CHINT 21HDELAY ENDPCODE ENDSEND START实验六实验六 交通灯控制交通灯控制 二、实验原理与内容二、实验原理与内容 使六个灯按交通灯的变化规律燃灭。使六个灯按交通灯的变化规律燃灭。一、实验目的一、实验目的 1、通过并行接口、通过并行接口8255实现十字路口交通灯的模拟控制。实现十字路口交通灯的模拟控制。 2、掌握、掌握825
31、3实现硬件延时的方法实现硬件延时的方法 十字路口交通灯的变化规律:十字路口交通灯的变化规律:(1)南北路口的绿灯、东西路口的红灯同时亮)南北路口的绿灯、东西路口的红灯同时亮30秒。秒。(2)南北路口的黄灯闪若干次、东西路口的红灯继续亮。)南北路口的黄灯闪若干次、东西路口的红灯继续亮。(3)南北路口的红灯、东西路口的绿灯同时亮)南北路口的红灯、东西路口的绿灯同时亮30秒。秒。(4)南北路口的红灯继续亮、东西路口的黄灯闪烁若干次。)南北路口的红灯继续亮、东西路口的黄灯闪烁若干次。(5)转()转(1)重复。)重复。三、参考程序三、参考程序; ;十字路口红绿灯模拟演示程序十字路口红绿灯模拟演示程序;
32、;端口各灯的设置端口各灯的设置: 1: 1红红 1 1黄黄 1 1绿绿 0 0 20 0 2红红 2 2黄黄 2 2绿绿DATA SEGMENTDATA SEGMENTPORTC1 DB 24H,44H,04H,44H,04H,44H,04H ;PORTC1 DB 24H,44H,04H,44H,04H,44H,04H ;六个灯可能六个灯可能 DB 81H,82H,80H,82H,80H,82H,80H ;DB 81H,82H,80H,82H,80H,82H,80H ;的状态数据的状态数据 DB 0FFH ;DB 0FFH ;结束标志结束标志DATA ENDSDATA ENDSCODE SEG
33、MENTCODE SEGMENT ASSUME CS:CODE,DS:DATA ASSUME CS:CODE,DS:DATASTART: MOV AX,DATASTART: MOV AX,DATA MOV DS,AX MOV DS,AX MOV DX,28BH MOV DX,28BH MOV AL,90H ;1001000 MOV AL,90H ;1001000 OUT DX,AL ; OUT DX,AL ;设置设置82558255为为A A口输入,口输入,C C口输出口输出RE_ON:MOV DX,28AHRE_ON:MOV DX,28AH MOV BX,0 MOV BX,0ON: MOV
34、AL,PORTC1BXON: MOV AL,PORTC1BX CMP AL,0FFH CMP AL,0FFH JZ RE_ON JZ RE_ON OUT DX,AL ; OUT DX,AL ;点亮相应的灯点亮相应的灯 INC BXINC BX TEST AL,21H ; TEST AL,21H ;是否有绿灯亮是否有绿灯亮 JZ DE1 ;JZ DE1 ;没有没有, ,短延时短延时 MOV CX,500MOV CX,500 JMP DE2 JMP DE2DE1: MOV CX,100DE1: MOV CX,100DE2: CALL DELAYDE2: CALL DELAY JMP ON JMP
35、ONDELAY PROC NEAR ;DELAY PROC NEAR ;延时子程序延时子程序PUSH DXPUSH DXMOV DX,283HMOV DX,283H ; ;设计数器设计数器0 0工作于方式工作于方式3 3MOV AL,36HMOV AL,36HOUT DX,ALOUT DX,ALMOV DX,280HMOV DX,280HMOV AX,10000MOV AX,10000 ; ;写入计数器写入计数器0 0的初值的初值1000010000OUT DX,ALOUT DX,ALMOV AL,AHMOV AL,AHOUT DX,ALOUT DX,ALMOV DX,283HMOV DX,2
36、83HMOV AL,70H ;MOV AL,70H ;设计数器设计数器1 1工作于方式工作于方式0 0OUT DX,ALOUT DX,ALMOV DX,281HMOV DX,281HMOV AX, MOV AX, CX CX ; ;写入计数器写入计数器1 1的初值的初值OUT DX,ALOUT DX,ALMOV AL,AHMOV AL,AHOUT DX,ALOUT DX,ALLL2: MOV AH,06 ;LL2: MOV AH,06 ;是否有键按下是否有键按下MOV DL,0FFHMOV DL,0FFHINT 21HINT 21HJNZ EXIT ;JNZ EXIT ;若有则转若有则转EXI
37、TEXITMOV DX,288HMOV DX,288HIN AL,DX ;IN AL,DX ;查询查询82558255的的PA0PA0是否为高电平是否为高电平AND AL,01AND AL,01JZ LL2 ;JZ LL2 ;若不是则继续若不是则继续POP DXPOP DXRET ;RET ;定时时间到,子程序返回定时时间到,子程序返回EXIT:MOV AH,4CHEXIT:MOV AH,4CH INT 21H INT 21HDELAY ENDPDELAY ENDPCODE ENDSCODE ENDSEND STARTEND START实验七实验七 中断中断 二、实验原理与内容二、实验原理与内
38、容1 1、实验原理、实验原理PCPC机用户可使用的中断只有可屏蔽中断,由机用户可使用的中断只有可屏蔽中断,由82598259中断控制器管中断控制器管理,中断控制器用于接收外部的中断请求信号,经过优先级判理,中断控制器用于接收外部的中断请求信号,经过优先级判别等处理后向别等处理后向CPUCPU发出可屏蔽中断请求。发出可屏蔽中断请求。注:系统已设定中断请求信号为边沿触发,普通结束方式。注:系统已设定中断请求信号为边沿触发,普通结束方式。TPCTPCUSBUSB实验板固定接到了实验板固定接到了3 3号中断号中断IRQ3IRQ3上,中断类型号上,中断类型号0BH.0BH.一、实验目的一、实验目的 1、
39、掌握、掌握PC机中断处理系统的基本原理机中断处理系统的基本原理 2、学会编写中断服务程序、学会编写中断服务程序2 2、实验内容、实验内容电路如图所示,直接用手动单脉冲作为中断请求信号,要求每电路如图所示,直接用手动单脉冲作为中断请求信号,要求每按一次开关产生一次中断,在屏幕上显示一次按一次开关产生一次中断,在屏幕上显示一次“THIS IS A THIS IS A IRQ3 INTRUPT!”IRQ3 INTRUPT!”,中断,中断3 3次后程序退出。次后程序退出。 三、编程提示三、编程提示1、PC机中断控制器机中断控制器8259的地址为的地址为20H、21H,编程时要根据,编程时要根据中断类型
40、号中断类型号0BH设置中断矢量,设置中断矢量,8259中断屏蔽寄存器中断屏蔽寄存器IMR对对应位要清应位要清0(允许中断),中断服务结束返回前要使用中断(允许中断),中断服务结束返回前要使用中断结束命令:结束命令:MOV AL, 20HOUT 20H, AL中断结束返回中断结束返回DOS时应将时应将IMR对应位置对应位置1,以关闭中断。,以关闭中断。 2、参考流程图、参考流程图 开始设置显示提示信息设置IRQ3的中断矢量关中断允许IRQ3中断设置中断次数计数器开中断循环等待开始显示响应中断的提示信息发中断结束命令计数器减1关闭IRQ3中断中断返回开中断返回DOSY为0吗?N3、参考程序、参考程
41、序 DATA SEGMENTMESS DB THIS IS A IRQ3 INTRUPT!,0AH,0DH,$DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,0 MOV DS,AX MOV BX,002CH ;0BH4=2CH MOV WORD PTRBX,OFFSET INT3 MOV WORD PTR BX+2, SEG INT3 ;设置中断向量设置中断向量CLI ;清中断标志位清中断标志位IN AL,21H ;读中断屏蔽寄存器读中断屏蔽寄存器AND AL,0F7H ;开放开放IRQ3中断中断OUT 21H,ALMOV C
42、X,3 ;记中断循环次数为记中断循环次数为10次次STI ;置中断标志位置中断标志位LL: JMP LLINT3: MOV AX,DATA ;中断服务程序中断服务程序 MOV DS,AX MOV DX,OFFSET MESS MOV AH,09 ;显示每次中断的提示信息显示每次中断的提示信息 INT 21H MOV AL,20H OUT 20H,AL ;发出发出EOI结束中断结束中断 LOOP NEXT IN AL,21H OR AL,08H ;关闭关闭IR3中断中断 OUT 21H,AL STI ;置中断标志位置中断标志位 MOV AH,4CH ;返回返回DOS INT 21HNEXT: I
43、RETCODE ENDS END START 实验八实验八 竞赛抢答器竞赛抢答器 二、实验内容二、实验内容 实验原理如图所示,逻辑开关实验原理如图所示,逻辑开关K0K0K7K7代表竞赛抢答器的按钮代表竞赛抢答器的按钮0 07 7号,当开关置号,当开关置1 1时,相当于某组抢答器按下,在七段数码管时,相当于某组抢答器按下,在七段数码管上显示组号,并使喇叭响一下。上显示组号,并使喇叭响一下。一、实验目的一、实验目的 1、了解竞赛抢答器的工作原理、了解竞赛抢答器的工作原理 2、进一步熟悉、进一步熟悉8255并行接口的应用并行接口的应用1Y11Y21Y31Y32Y12Y22Y32Y474LS2441A
44、11A21A31A42A12A22A32A4gfedcbaa b c d e f g dpPC7PC6PC5PC4PC3PC2PC1PC0k7k6k5k4k3k2k1k0PA6PA5PA4PA3PA2PA1PA0dpCS288H8255A1G 2GLED1abcdefg5V5VS1三、编程提示三、编程提示1 1、如果、如果C C口数据为口数据为0 0,表示无人抢答,不为,表示无人抢答,不为0 0,则有人抢答,根,则有人抢答,根据读取数据判断组号。按空格键开始下一轮,按其它键退出。据读取数据判断组号。按空格键开始下一轮,按其它键退出。dpgfedcba值值00111111000000110101
45、0110112010011113011001104011011015011111016000001117abcdefgPA6 PA5 PA4 PA3 PA2 PA1 PA0PA6 PA5 PA4 PA3 PA2 PA1 PA02 2、段码、段码3、参考流程图、参考流程图 开始开始设设8255A口出,口出,C口入口入从从C口输入数据口输入数据求组号,查表求段码求组号,查表求段码段码从段码从8255A口输出,响铃口输出,响铃Y从键盘接收一字符从键盘接收一字符设段码表首地址设段码表首地址是是0吗?吗?NY是空格吗?是空格吗?N关闭显示关闭显示结束结束4、参考程序、参考程序 DATA SEGMENTD
46、ATA SEGMENT LED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ; LED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ;数码表数码表DATA ENDSDATA ENDSCODE SEGMENTCODE SEGMENTASSUME CS:CODE,DS:DATAASSUME CS:CODE,DS:DATASTART:MOV AX,DATASTART:MOV AX,DATAMOV DS,AXMOV DS,AXMOV DX,28BH ;MOV DX,28BH ;设设82558255为为A A口输出口输出,C,C口输入口输入MOV AX
47、,89HMOV AX,89HOUT DX,ALOUT DX,ALMOV BX,OFFSET LED ;MOV BX,OFFSET LED ;使使BXBX指向段码管首址指向段码管首址SSS: MOV DX,28AHSSS: MOV DX,28AHIN AL,DX ;IN AL,DX ;从从82558255的的C C口输入数据口输入数据OR AL,AL ;OR AL,AL ;比较是否为比较是否为0 0JZ SSS ;JZ SSS ;若为若为0,0,则表明无人抢答,转则表明无人抢答,转SSSSSS MOV CL,0FFH ;CL MOV CL,0FFH ;CL作计数器作计数器, ,初值为初值为-1-
48、1RR:SHR AL,1RR:SHR AL,1 INC CL INC CL JNC RR JNC RR MOV AL,CL MOV AL,CL XLAT XLAT MOV DX,288H MOV DX,288H OUT DX,ALOUT DX,AL MOV DL,7 ;MOV DL,7 ;响铃响铃ASCIIASCII码为码为0707 MOV AH,2 MOV AH,2 INT 21H INT 21HWAI:MOV AH,1WAI:MOV AH,1 INT 21H INT 21H CMP AL,20H ; CMP AL,20H ;是否为空格是否为空格 JNZ EEE ;JNZ EEE ;不是不是
49、, ,转转EEEEEE MOV AL,0 ; MOV AL,0 ;是是, ,关灭灯关灭灯 MOV DX,288H MOV DX,288H OUT DX,AL OUT DX,AL JMP SSS JMP SSSEEE:MOV AH,4CHEEE:MOV AH,4CH INT 21H INT 21HCODE ENDSCODE ENDS END START END STARTWAI:MOV AH,06H MOV DL,0FFH INT 21H JZ WAI实验九实验九 电子琴电子琴 二、实验原理与内容二、实验原理与内容 一、实验目的一、实验目的 1、通过通过D/AC产生模拟信号,使产生模拟信号,使P
50、C机作为简易电子琴。机作为简易电子琴。 2、了解利用、了解利用D/AC产生音乐的方法产生音乐的方法 OUT0+5VCS280H82531MHZ GATE0 CLK0PA08255DAC0832+_J1编程使计算机的数字键编程使计算机的数字键18作为电子琴按键,按下即发出相应作为电子琴按键,按下即发出相应的音节。的音节。CS290H三、提示三、提示1、每个音阶有确定的频率。、每个音阶有确定的频率。音阶12345678频率(HZ)2622943303503924404945232 2、给、给D/AD/A转换器输入按正弦规律变化的数据,在输出端可产转换器输入按正弦规律变化的数据,在输出端可产生正弦波
51、。产生一个正弦波的数据可取生正弦波。产生一个正弦波的数据可取3232个,不同的频率可个,不同的频率可通过调整输出数据的间隔调整,例如:发通过调整输出数据的间隔调整,例如:发1 1频率为频率为262HZ262HZ,周,周期为期为3.82ms3.82ms,输出数据的间隔为,输出数据的间隔为3.83/323.83/320.12ms0.12ms。定时时间。定时时间由由82538253配合配合82558255实现。按下某键后发音时间的长短由发出的实现。按下某键后发音时间的长短由发出的正弦波的个数控制。正弦波的个数控制。3 3、流程图、流程图从键盘读一个字符从键盘读一个字符求音阶值求音阶值正弦波个数计数器
52、赋值正弦波个数计数器赋值60是数字是数字18?是是ESC吗?吗?YNY结束结束延时延时1个正弦波完了吗?个正弦波完了吗?YN开始开始N初始化数据指针初始化数据指针取数据送取数据送DAC转换转换N60个正弦波完了吗?个正弦波完了吗?Y3 3、流程图、流程图延时子程序延时子程序子程序返回子程序返回初始化初始化8253、8255PA0是高电平?是高电平?YN4、DATA SEGMENT DATA1 DB 80H,96H,0AEH,0C5H,0D8H,0E9H,0F5H,0FDH DB 0FFH,0FDH,0F5H,0E9H,0D8H,0C5H,0AEH,96H DB 80H,66H,4EH,38H,
53、25H,15H,09H,04H DB 00H,04H,09H,15H,25H,38H,4EH,66H ;正弦波数据正弦波数据TIME DB 120,106,94,89,80,71,63,60;发不同音时发不同音时8253的计数初值的计数初值MSG DB PRESS 1,2,3,4,5,6,7,8,ESC:,0DH,0AH,$DATA ENDSDATA SEGMENTDATA SEGMENT DATA1 DB 80H,96H,0AEH,0C5H,0D8H,0E9H,0F5H,0FDH DATA1 DB 80H,96H,0AEH,0C5H,0D8H,0E9H,0F5H,0FDH DB 0FFH,0
54、FDH,0F5H,0E9H,0D8H,0C5H,0AEH,96H DB 0FFH,0FDH,0F5H,0E9H,0D8H,0C5H,0AEH,96H DB 80H,66H,4EH,38H,25H,15H,09H,04H DB 80H,66H,4EH,38H,25H,15H,09H,04H DB 00H,04H,09H,15H,25H,38H,4EH,66H ; DB 00H,04H,09H,15H,25H,38H,4EH,66H ; 正弦波数据正弦波数据 TIME DB 120,106,94,89,80,71,63,60;TIME DB 120,106,94,89,80,71,63,60;不同音时不同音时82538253计数器初值计数器初值
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年阜康职业技术学院马克思主义基本原理概论期末考试模拟题附答案解析
- 2026年心理咨询师之心理咨询师二级技能考试题库附完整答案【各地真题】
- 航空维修保养行业市场供需评估及企业投资方向调整报告
- 腾讯整体社交软件行业市场现状供需分析及投资评估规划分析研究报告
- 2025年蚌埠经济技术职业学院单招职业技能考试题库附答案解析
- 2025年博尔塔拉职业技术学院单招职业技能考试模拟测试卷附答案解析
- 2026年税务师考试题库及参考答案(完整版)
- 2025年北京北大方正软件职业技术学院马克思主义基本原理概论期末考试模拟题带答案解析
- 2025年成都大学马克思主义基本原理概论期末考试模拟题附答案解析(夺冠)
- 2025福建新华研学国际旅行社有限责任公司招聘备考题库附答案
- 特种设备检验检测行业商业计划书
- 改革开放简史智慧树知到课后章节答案2023年下北方工业大学
- 木薯变性淀粉生产应用课件
- 地下水污染与防治课件
- 校门安全管理“十条”
- 超全QC管理流程图
- 临时工劳动合同简易版可打印
- 洁净室施工及验收规范标准
- -井巷工程课程设计
- pks r5xx装机及配置手册
- GB/T 17215.322-2008交流电测量设备特殊要求第22部分:静止式有功电能表(0.2S级和0.5S级)
评论
0/150
提交评论