微机硬件实验报告
班级:
姓名:
学号:
实验一 8259中断控制器
一、实验目的
1. 掌握8259的工作原理。
2. 掌握编写中断服务程序的方法。
3. 掌握初始化中断向量的方法。
二、实验内容
用单脉冲发生器的输出脉冲为中断源,每按一次产生一次中断申请,点亮或熄灭发光二极管。
三、实验步骤
1、连线;
单脉冲发生器输出P+与8259的IR0相连;
8259的片选CS8259与CS0相连;
8259的INT与8086的INT相连;
8259的INTA与8086的INTA相连;
CS273与CS1相连;
00与LED1相连;如下图所示。
接线原理图
2、编辑程序,编译链接后,调试程序。
3、调试通过后,在中断服务程序内设置断点,运行程序,当接收到中断请求后,程序停在中断服务程序内的断点处。
四、流程图及实验代码
1、流程图
2、程序
CODE SEGMENT PUBLIC
ASSUME CS:CODE
ORG 100H ;因为前面的空间被内部占用了
START:
MOV DX,4A0H
MOV AX,13H
OUT DX,AX ;ICW1
MOV DX,4A2H
MOV AX,80H ;IR0的中断向量码为80H
OUT DX,AX ;ICW2
MOV AX,01H
OUT DX,AX ;ICW4
MOV AX,0
OUT DX,AX ;OCW1一般嵌套,非缓冲方式,非自动EOI
MOV AX,0 ;写中断向量表
MOV DS,AX
MOV SI,200H
LEA AX,HINT
MOV DS:[SI],AX
ADD SI,2
MOV AX,CS
MOV DS:[SI],AX
STI ;等中断
JMP $ ;等,原地跳转
HINT:
XOR CX,0FFH
MOV DX,4B0H
MOV AX,CX ;输出高低电平控制LED灯的亮灭
OUT DX,AX
MOV DX,4A0H
MOV AX,20H ; 一般EOI命令,全嵌套方式
OUT DX,AX
IRET
CODE ENDS
END START
五、实验现象
每按一次单脉冲发生器产生一次中断申请,点亮或熄灭发光二极管。
六、思考题
1、将P+连线连接到IR1—IR7任意一个;重新编写程序。
CODE SEGMENT PUBLIC
ASSUME CS:CODE
ORG 100H ;因为前面的空间被内部占用了
START:
MOV DX,4A0H
MOV AX,13H
OUT DX,AX ;ICW1
MOV DX,4A2H
MOV AX,81H ; IR1的中断向量码为81H
OUT DX,AX ;ICW2
MOV AX,01H
OUT DX,AX ;ICW4
MOV AX,0
OUT DX,AX ;OCW1一般嵌套,非缓冲方式,非自动EOI
MOV AX,0 ;写中断向量表
MOV DS,AX
MOV SI,204H
LEA AX,HINT
MOV DS:[SI],AX
ADD SI,2
MOV AX,CS
MOV DS:[SI],AX
STI ;等中断
JMP $ ;等,原地跳转
HINT:
XOR CX,0FFH
MOV DX,4B0H
MOV AX,CX ; 输出高低电平控制LED灯的亮灭
OUT DX,AX
MOV DX,4A0H
MOV AX,20H ; 一般EOI命令,全嵌套方式
OUT DX,AX
IRET
CODE ENDS
END START
实验现象:实验现象与原来相同。每按一次单脉冲发生器产生一次中断申请,点亮或熄灭发光二极管。
2、设置OCW1,屏蔽某个中断请求,运行程序观察现象。
CODE SEGMENT PUBLIC
ASSUME CS:CODE
ORG 100H ;因为前面的空间被内部占用了
START:
MOV DX,4A0H
MOV AX,13H
OUT DX,AX ;ICW1
MOV DX,4A2H
MOV AX,81H ; IR1的中断向量码为80H
OUT DX,AX ;ICW2
MOV AX,01H
OUT DX,AX ;ICW4
MOV AX,01H ; OCW1一般嵌套,非缓冲方式,非自动EOI
OUT DX,AX
MOV AX,01H ;写中断屏蔽字OCW1
MOV DS,AX ;屏蔽IR0中断
MOV SI,200H ;中断类型号为80H
LEA AX,HINT
MOV DS:[SI],AX
ADD SI,2
MOV AX,CS
MOV DS:[SI],AX
STI ;等中断
JMP $ ;等,原地跳转
HINT:
XOR CX,0FFH
MOV DX,4B0H
MOV AX,CX ; 输出高低电平控制LED灯的亮灭
OUT DX,AX
MOV DX,4A0H ;OCW2的地址
MOV AX,20H ; 一般EOI命令,全嵌套方式
OUT DX,AX
IRET
CODE ENDS
END START
实验现象:每按单脉冲发生器一次产生一次中断申请,但连接的发光二极管一直不亮。
3、设置OCW2,了解中断结束方式与设置优先权。
CODE SEGMENT PUBLIC
ASSUME CS:CODE
ORG 100H ;因为前面的硬件占用了
START:
;MOV CL,0AAH
MOV CL,0FH
XOR CL,0FFH
MOV DX,4A0H
MOV AX,13H
OUT DX,AX ;ICW1
MOV DX,4A2H
MOV AX,80H ;中断向量码
OUT DX,AX ;ICW2
MOV AX,01
OUT DX,AX ;ICW4
MOV AX,0
OUT DX,AX ;OCW1
;---------------------- ;写中断向量表
MOV AX,0
MOV DS,AX
MOV SI,204H
LEA AX,HINT1
MOV DS:[SI],AX
ADD SI,2
MOV AX,CS
MOV DS:[SI],AX
;---------------------- ;写中断向量表
MOV AX,0
MOV DS,AX
MOV SI,200H
LEA AX,HINT0
MOV DS:[SI],AX
ADD SI,2
MOV AX,CS
MOV DS:[SI],AX
;-----------------------------
STI ;等中断
JMP $ ;等,原地跳转
HINT1:
STI
MOV CX,0FFFFH
K2:LOOP K2 ;防止竞争
MOV CL,01H
MOV DX,4B0H
MOV AX,CX
OUT DX,AX ;彩灯1
MOV CX,0FFFFH
JJ: PUSH CX
JJJ: LOOP JJJ
POP CX
LOOP JJ ;延时
MOV DX,4A0H
MOV AX,E0H
OUT DX,AX
IRET
HINT0:
STI
MOV CX,0FFFFH
K1:LOOP K1 ;防止竞争
MOV CL,0F0H
MOV DX,4B0H
MOV AX,CX
OUT DX,AX ;彩灯0
MOV CX,0FFFFH
J: PUSH CX
JJJJ:
LOOP JJJJ
POP CX
LOOP J ;延时
MOV DX,4A0H
MOV AX,E0H
OUT DX,AX
IRET
CODE ENDS
END START
实验现象:HINT0优先响应,低四位彩灯亮,再按脉冲按钮一次,HINT1优先响应,高四位的彩灯亮。优先级反复。
七、实验体会
此次实验加深了我对8259A的内部寄存器的认识,并掌握了8259A的初始化。由于硬件的配合,使学习更直观。
实验二 8255并行接口实验
一、实验目的
掌握8255的编程原理。
二、实验内容
8255的A口作为输入口,与逻辑电平开关相连。8255的B口作为输出口,与发光二极管相连。编写程序,使得逻辑电平开关的变化在发光二极管上显示出来。
三、实验步骤
1、连线;
8255的PA0—PA7分别与逻辑电平开关的K1—K8相连;
PB0—PB7分别与发光二极管电路的LED1—LED8相连;
CS0与8255的片选CS8255相连。如下图所示。
接线原理图
2、编辑程序,编译链接后,单步运行,调试程序;
3、调试通过后,全速运行,观察实验结果。
四、流程图及实验代码
1、流程图
2、程序
CODE SEGMENT PUBLIC
ASSUME CS:CODE
ORG 100H
START:
MOV DX,04A6H ; 控制寄存器
MOV AX,90H ; 写控制字,A组工作在方式0,A口输入,B组工作在方式0,B口输出
OUT DX,AX
START1:
MOV DX,04A0H ;A口
IN AX,DX ;读A口数据
MOV DX,04A2H ;B口
OUT DX,AX ;把A口开关的信号读进来,点亮相应的灯
JMP START1
CODE ENDS
END START
五、实验现象
控制A的任意开关可控制相应的LED的亮灭。开关拨下后LED灭,推上后LED亮。而LED低电平亮,高电平灭,可见开关拨下为低电平。
六、思考题
1、将片选线接到CS1—CS7;重新编写程序。
程序如下:
CODE SEGMENT PUBLIC
ASSUME CS:CODE
ORG 100H
START:
MOV DX,04C6H ;CS0-CS4分别对应A-E,实验中选择CS2
MOV AX,90H ; 写控制字,A组工作在方式0,A口输入,B组工作在方式0,B口输出
OUT DX,AX
START1:
MOV DX,04C0H ;A口
IN AX,DX ;读A口数据
MOV DX,04C2H ;B口
OUT DX,AX ; 把A口开关的信号读进来,点亮相应的灯
JMP START1
CODE ENDS
END START
实验现象:与原实验现象相同。
2、交换A --B接线,A口输出、B口输入;重新编写程序。
程序如下:
CODE SEGMENT PUBLIC
ASSUME CS:CODE
ORG 100H
START:
MOV DX,04A6H ; 控制寄存器
MOV AX,82H ; 写控制字,A组工作在方式0,A口输出,B组工作在方式0,B口输入
OUT DX,AX
START1:
MOV DX,04A2H ;B口
IN AX,DX ;读B口数据
MOV DX,04A0H ;A口
OUT DX,AX ; 把B口开关的信号读进来,点亮相应的灯
JMP START1
CODE ENDS
END START
实验现象:与原实验现象相同,开关可有效控制LED的亮灭。
3、C口4位接LED;4位接开关;重新编写程序。
程序如下:
CODE SEGMENT PUBLIC
ASSUME CS:CODE
ORG 100H
START:
MOV DX,04A6H ; 控制寄存器
MOV AX,81H ;
OUT DX,AX
START1:
MOV DX,04A4H ;C口低四位
IN AX,DX ;AL就够了
MOV CL,4
SHL AX,CL ;将低四位移到高四位上
MOV DX,04A4H ;C口高四位
OUT DX,AX ;将高四位的数输出进来,点亮相应的灯
JMP START1
CODE ENDS
END START
实验现象:控制四个开关可控制四盏灯中相应的LED的亮灭。开关拨下后LED灭,推上后LED亮。
七、实验体会
此次8255的实验帮我更好地掌握8255芯片的初始化和程序编写。在做第二个思考题的过程中和同学忘了一条线的更改,使得出了小错误,这也让我们更重视线路颜色的选用,比如一种颜色代表一种功能线,这样便于检查线路错误。
实验三 8253可编程定时/计数器接口实验
一、实验目的
掌握8253定时/计数器的编程原理。
二、实验内容
8253计数器0,1,2工作于方波方式,观察其输出。
三、实验步骤
1、连线;
CS0与8253的片选CS8253相连;
CLK3(750KHz)与8253CLK0相连;
8253的OUT0与8253CLK2相连;
OUT2与发光二极管LED1相连。如下图所示。
接线原理图
2、编辑程序,编译链接后,单步运行,调试程序;
3、调试通过后,全速运行,观察实验结果。
四、流程图及实验代码
1、流程图
2、程序
CODE SEGMENT PUBLIC
ASSUME CS:CODE
ORG 100H
START:
MOV DX,04A6H ; A1A0接的是A2A1!故为偶数地址。04A6和04A7代表控制寄存器。
MOV AX,36H ;计数器0、16位、方式3、二进制计数
OUT DX,AX
MOV DX,04A0H
MOV AX,7CH
OUT DX,AX
MOV AX,92H
OUT DX,AX ;先写低8位,再写高8位。分频:927CH=37500
MOV DX,04A6H
MOV AX,0B6H ;计数器2、16位、方式3、二进制计数
OUT DX,AX
MOV DX,04A4H
MOV AX,4
OUT DX,AX
MOV AX,0
OUT DX,AX ;先写低8位,再写高8位
;分频:0004H=4
JMP $ ;最终分频:750KHz/4/37500=5Hz
CODE ENDS
END START
五、实验现象
LED灯以等时间间隔闪烁,频率为5Hz,亮灭的时间相同。
六、思考题
1、定时器2计数值改为20H;观察其现象。
实验现象:频率为0.625Hz,周期变为原来的八分之一,闪烁加快。
2、将定时器2改为方式2分频器方式;观察其现象。
程序如下:
CODE SEGMENT PUBLIC
ASSUME CS:CODE
ORG 100H
START:
MOV DX,04A6H ; A1A0接的是A2A1!故为偶数地址。04A6和04A7代表控制寄存器。
MOV AX,36H ;计数器0、16位、方式3、二进制计数
OUT DX,AX
MOV DX,04A0H
MOV AX,7CH
OUT DX,AX
MOV AX,92H
OUT DX,AX ;先写低8位,再写高8位。分频:927CH=37500
MOV DX,04A6H
MOV AX,0B4H ;计数器2、16位、方式2、二进制计数
OUT DX,AX
MOV DX,04A4H
MOV AX,20H
OUT DX,AX
MOV AX,0
OUT DX,AX ;先写低8位,再写高8位
;分频:20H=32
JMP $
CODE ENDS
END START
实验现象:频率为0.625Hz,周期变为原来的八分之一,即闪烁加快。
3、将GATE2 接到开关上;观察其现象。
实验现象:GATE2在方式2是高电平启动计数,故从下往上推开关后不在技术,从上往下推开关后,过一小会才会亮。
4、将GATE2 接到PUL P+开关上,计数器2 改为方式1 ;观察其现象。
CODE SEGMENT PUBLIC
ASSUME CS:CODE
ORG 100H
START:
MOV DX,04A6H ; A1A0接的是A2A1!故为偶数地址。04A6和04A7代表控制寄存器。
MOV AX,36H ;计数器0、16位、方式3、二进制计数
OUT DX,AX
MOV DX,04A0H
MOV AX,7CH
OUT DX,AX
MOV AX,92H
OUT DX,AX ;先写低8位,再写高8位。分频:927CH=37500
MOV DX,04A6H
MOV AX,0B2H ;计数器2、16位、方式1、二进制计数
OUT DX,AX
MOV DX,04A4H
MOV AX,20H
OUT DX,AX
MOV AX,0
OUT DX,AX ;先写低8位,再写高8位
;分频:20H=32
JMP $
CODE ENDS
END START
实验现象:将MOV AX,0B4H改为MOV AX,0B2H。按下去脉冲按钮灯马上亮,亮32个单位时间,灭1个单位时间。每次当灯熄灭后,按动开关,LED1灯会产生同第一次相同的亮灭情况。每次在灯未熄灭时,按动PUL P0开关,则灯亮的时间变长,对应示波器的低电平时间加长。
5、将GATE2 接到PUL P+开关上,计数器2 改为方式5 ;观察其现象。
CODE SEGMENT PUBLIC
ASSUME CS:CODE
ORG 100H
START:
MOV DX,04A6H ; A1A0接的是A2A1!故为偶数地址。04A6和04A7代表控制寄存器。
MOV AX,36H ;计数器0、16位、方式3、二进制计数
OUT DX,AX
MOV DX,04A0H
MOV AX,7CH
OUT DX,AX
MOV AX,92H
OUT DX,AX ;先写低8位,再写高8位。分频:927CH=37500
MOV DX,04A6H
MOV AX,0BAH ;计数器2、16位、方式5、二进制计数
OUT DX,AX
MOV DX,04A4H
MOV AX,20H
OUT DX,AX
MOV AX,0
OUT DX,AX ;先写低8位,再写高8位
;分频:20H=32
JMP $
CODE ENDS
END START
实验现象:将AX,0B2H 改成AX,0BAH。按一下脉冲按钮,灭32个单位,亮1个单位。长时间按着只能亮一下。
七、实验体会
使用8553的过程中加深了我对各计数器和计数方式的学习。实验过程中对控制字的了解程度直接影响程序编写和修改的进度。
实验四 串行接口实验
一、实验目的
1.熟悉串行通信的一般原理和8250的工作原理。
2.了解RS—232串行接口标准及连接方法。
3.掌握8250芯片的编程方法。
二、实验内容
在实验箱与PC机(上位机)之间实现串行通信,主机每下传一个字符,若通讯正确,则下位机返回一个同样的字符;若不正确,则无返回值或者返回值不同。
三、实验步骤
1、无须接线,内部已经连好。8250的端口地址为0480H起始的偶地址单元。
2、编写下位机程序,编译链接后,全速运行。
3、退出“8086实验系统”,运行“串口调试助手”上位机程序。
4、将“串口调试助手”程序输入和输出都调整为16进制格式,发送一个16进制数,观察返回的是否是同样一个16进制数。
接线原理图
四、流程图及实验代码
1、流程图
2、程序
CODE SEGMENT PUBLIC
ASSUME CS:CODE
ORG 100H
START:
MOV DX,486H
MOV AX,80H
OUT DX,AX
MOV DX,480H
MOV AX,12 ;波特率除数锁存器(低字节)
OUT DX,AX
MOV DX,482H
MOV AX,0 ;波特率除数锁存器(高字节)
OUT DX,AX
MOV DX,486H
MOV AX,3
OUT DX,AX
MOV DX,482H
MOV AX,0 ;中断允许寄存器,不响应中断
OUT DX,AX
MOV DX,48AH
IN AX,DX ;清除原始错误状态
MOV DX,480H
IN AX,DX ;清除原始状态
LOOP1:
CALL RECV ;从上位机接收数据
CALL SEND ;将数据发送到上位机显示
JMP LOOP1
SEND:
PUSH AX ;保护数据避免覆盖
MOV DX,48AH
IN AX,DX
TEST AX,20H ;比较数据避免为空
JNZ SEND2 ;接收到数据后准备发送
POP AX
JMP SEND
SEND2:
POP AX
MOV DX,480H
OUT DX,AX
RET
RECV:
MOV DX,48AH
IN AX,DX
TEST AX,1
JZ RECV
MOV DX,480H
IN AX,DX
RET
CODE ENDS
END START
五、实验现象
选择ASC码发送,十六进制显示,实验结果如图中所示。
六、思考题
1、连接8255 将接收到的16 进制数;驱动8个彩灯;观察其现象。
实验过程中,将8255的PA0—PA7分别与LED1-LED8相连,CS0与8255的片选CS8255相连。在程序开头对8255进行初始化,在SEND2代码段中将数据输出,点亮彩灯。程序如下所示。
CODE SEGMENT PUBLIC
ASSUME CS:CODE
ORG 100H
START:
MOV DX,04A6H ;对8255进行初始化
MOV AX,80H ;A口最为输出,与LED连接
OUT DX,AX ;
MOV DX,486H
MOV AX,80H
OUT DX,AX
MOV DX,480H
MOV AX,12
OUT DX,AX
MOV DX,482H
MOV AX,0
OUT DX,AX
MOV DX,486H
MOV AX,3
OUT DX,AX
MOV DX,482H
MOV AX,0
OUT DX,AX
MOV DX,48AH
IN AX,DX
MOV DX,480H
IN AX,DX
LOOP1:
CALL RECV
CALL SEND
JMP LOOP1
SEND:
PUSH AX
MOV DX,48AH
IN AX,DX
TEST AX,20H
JNZ SEND2
POP AX
JMP SEND
SEND2:
POP AX 将获得的数据从堆栈中弹出
MOV DX,4A0H ;从A口将数据输出,点亮彩灯
OUT DX,AX
RET
RECV:
MOV DX,48AH 从上位机接收数据
IN AX,DX
TEST AX,1
JZ RECV
MOV DX,480H
IN AX,DX
RET
CODE ENDS
END START
实验现象:从上位机输入01,LED1灭,其他彩灯亮。
2、连接8255 将开关的状态以16 进制数的方式发送到PC机;观察其现象。
实验过程中,将8255的PA0—PA7分别与K1-K8相连,CS0与8255的片选CS8255相连。在程序开头对8255进行初始化,在RECV代码段中将数据输入给8255,,在上位机上显示。程序如下所示。
CODE SEGMENT PUBLIC
ASSUME CS:CODE
ORG 100H
START:
MOV DX,04A6H ;对8255进行初始化
MOV AL,90H ;A口输入
OUT DX,AL
MOV DX,486H
MOV AX,80H
OUT DX,AX
MOV DX,480H
MOV AX,12
OUT DX,AX
MOV DX,482H
MOV AX,0
OUT DX,AX
MOV DX,486H
MOV AX,3
OUT DX,AX
MOV DX,482H
MOV AX,0
OUT DX,AX
MOV DX,48AH
IN AX,DX
MOV DX,480H
IN AX,DX
LOOP1:
CALL RECV ;从下位机接受数据
CALL SEND
JMP LOOP1
SEND:
PUSH AX
MOV DX,48AH
IN AX,DX
TEST AX,20H
JNZ SEND2
POP AX
JMP SEND
SEND2:
POP AX
MOV DX,480H
OUT DX,AX
RET
RECV:
MOV DX,4A0H ;选择A口地址
IN AX,DX ;接受开关信号
RET
CODE ENDS
END START
实验想象:将开关均置为低,上位机将显示一连串相同的00信号。当开关置为其他状态后,上位机将显示一连串其他相同信号。结果如下图所示。
七、实验体会
这次试验要求预习时就能够熟悉实验的每个过程,所用到的芯片的连接方式。这样才能有效地完成实验。多个芯片的共同使用也加深了我对芯片电路、芯片初始化的认识。
实验五 AD0809实验
一、实验目的
1、掌握转换的基本原理。
2、掌握的使用方法。
二、实验内容
按查询方式采样一路A/D转换数据,用简单输入口74LS244查询EOC信号。每循环一次0通道采样一次。0通道的采样结果放入AX中,AL有效。
三、实验步骤
1、连线
将可变电位器AN0与ADC0809的ADIN相连;
将CS0与ADC809的片选CS0809端相连;
将ADC0809的EOC与74LS244的IN0相连;
将CS1与74LS244的片选CS244端相连。 连线如图所示。
2、编先程序并调试。
3、调试通过后设置断点全速运行,并观察实验结果。
4、撰写实验报告。
四、流程图及实验代码
1、流程图
2、程序
CODE SEGMENT PUBLIC
ASSUME CS:CODE
ORG 100H
START:
MOV DX,4A0H ;IN0,模拟量存入此
CALL GETAD ;调用转换子程序,取得值
JMP START
DELAY: ;延时子程序
MOV BP,1000
DELAY1:
DEC BP
CMP BP,0
JNE DELAY1
RET
GETAD: ; A/D转换子程序
PUSH DX
MOV AX,34H ;任意值均可,只要写入即工作
OUT DX,AX
CALL DELAY
MOV DX,4B0H ;指向74LS244地址
WAIT1:
IN AX,DX ;EOI=1则表转换结束
TEST AX,1
JZ WAIT1
POP DX
IN AX,DX
MOV AH,0 ;必须清零,不然高位保持不变,数据变化不明显
RET
CODE ENDS
END START
五、实验现象
打开软件中的“波形图”,转动电位器,将会看到波形图中的曲线将之发生变化。
六、思考题
1、将采到的数据发送到8250 上;在PC 机观察数据。
实验过程中无需连线。在读取AD值得代码段中将上一个实验8250的代码加入程序中,去除LOOP1和CALL RECV,只用到SEND和SEND2的命令。程序如下。
CODE SEGMENT PUBLIC
ASSUME CS:CODE
ORG 100H
START:
MOV DX,486H ;对0809进行初始化
MOV AX,80H
OUT DX,AX
MOV DX,480H
MOV AX,12
OUT DX,AX
MOV DX,482H
MOV AX,0
OUT DX,AX
MOV DX,486H
MOV AX,3
OUT DX,AX
MOV DX,482H
MOV AX,0
OUT DX,AX
MOV DX,48AH
IN AX,DX
MOV DX,480H
IN AX,DX
;
MOV DX,4A0H
CALL GETAD
JMP START
DELAY:
MOV BP,1000
DELAY1:
DEC BP
CMP BP,0
JNE DELAY1
RET
GETAD:
PUSH DX
MOV AX,34H
OUT DX,AX
CALL DELAY
MOV DX,4B0H
WAIT1:
IN AX,DX
TEST AX,1
JZ WAIT1
POP DX
IN AX,DX
MOV AH,0
CALL SEND ;
RET
SEND: ;将数字信号输出到上位机界面
PUSH AX
MOV DX,48AH
IN AX,DX
TEST AX,20H
JNZ SEND2
POP AX
JMP SEND
SEND2:
POP AX
MOV DX,480H
OUT DX,AX
RET
CODE ENDS
END START
实验现象:旋转电位计,上位机将显示不同的字符串;如果保持电位器不变,则上位机将显示连续的相同字符串。结果如下所示。
七、实验体会
实验过程中,刚开始使用波形图功能时不熟悉,因此向同学询问了很久,然后才解决。加入8250进行编程时,进一步加深了我对8250功能的认识及其程序编写。