作业2:单片机8751通过8255可编程接口芯片控制打印机的工作,8255的PB口连接打印机数据线,PB口、PC口为输出方式,PA口输入方式,A组工作于模式0,B组
工作于模式1,
A0 PB D0~D7 P0 D0 Q0 P2.3做8255的
D7 Q1 字符 A1 片选信号,8255
ALE G 打印机 以中断的方式 向单片机INT18255 PC2 ACK 8 8751 74LS 373 索要数据,画出D0~D7 PC1 OBFB 逻辑框图。写出
WR WR 8255四个口(PA
RD PA RD 口、PB口、PC
P2.3 CS PC 口、命令/状态INT1 PC0 口)地址。打印
信息共10个字
节在内存RAM 50H开始的单元中,编程实现打印功能。
答:逻辑电路画在了上面。 0000H,0001H,0010H,0011H 四个口(PA口、PB口、PC口、命令/状态口)的地址分别是: 0000H、0001H、0002H、0003H;(0F7FCH、0F7FDH、0F7FEH、0F7FFH; 不用的地址线以“1”计)
将8255的PB口、PC口为输出方式,PA口输入方式,A组工作于模式0,B组工作于模式1。方式的命令字是94H,编程段如下:
ORG 0000H SJMP MAIN
ORG 0013H (00BH) SJMP INT111
MAIN:MOV DPTR,#0003H;(0F7FFH;) INT111:INC R1 MOV A,#94H;8255工作方式设置 MOV A,@R1
MOVX @DPTR,A MOVX @RDPTR,A(MOVX @R0,A) MOV IE,#84H ;允许INT1中断 DJNZ R2,DONE MOV A,#05H;令PC2=1(允许PB口输出中断) CLR EX1
MOVX @DPTR,A DONE: RETI (REIT?) MOV R1,#50H MOV R2,#9
MOV DPTR,#0001H(0F7FDH; 不用的地址线以“1”计);PB口地址 MOV A,@R1
MOVX @RDPTR,A ;给打印机送出第一个字符 SJMP $ ;等待中断,不可少 注意:所有箭头的方向!
作业3.单片机8751通过8255可编程接口芯片控制数字输入机的工作,8255
的PA口连接数字输入机的数据线,将8255的PA口、PB口为输入方式,PC口输出方式, A组工作于模式1,B组工作于模式0,地址线A5做片选信号。画出逻辑框图。写出8255四个口(PA口、PB口、PC口、命令/状态口)地址。
将20个字节信D0 Q0 A0 PA D0~D7 P0 息由数字输入D7 Q1 A1 数字输入机 机经8255以中G Q5 ALE CS 断的方式(以
STB INT0作为中断8751 74LS 373 8255 PC4 D0~D7 PC5 申请口)传送到IBF WR WR 内存RAM 40H开
始的单元中,编RD PB RD 程实现之。
RST RST PC 答:其逻辑框图如
INT1 PC3 左所示。四个口
(PA、PB、PC、命
令/状态口)的地址分别是: 00H、01H、02H、03H;(0DCH、0DDH、0DEH、0DFH; 不用的地址线以“1”计) (00H,01H,10H,11H?) 将8255的PA口、PB口为输入方式, PC口为输出方式, A组工作于模式1,B组工作于模式0,命令字是B2H,编程段如下:
ORG 0000H SJMP MAIN
ORG 0003H(00BH)
SJMP INT000 INC R1 MAIN:MOV R0,#03H(0DFH; 不用的地址线以“1”计) INT000:MOVX A,@R0
MOV A,#0B2H;8255工作方式设置 MOV @R1,A MOVX @R0,A INC R1
MOV IE,#81H ;允许INT1中断 DJNZ R2,DONE MOV A,#09H(05?);令PC4=1(允许PA口输入中断) CLR EX0
MOV R0,#03H(0DFH; 不用的地址线以“1”计) DONE: RETI(REIT?) MOVX @R0,A MOV R1,#40H
MOV R2,#20(19?) MOV R0,#00H(0DCH; 不用的地址线以“1”计)PA口地址 SJMP $ ;等待中断
现象:有的同学抄作业一点都没弄懂,把主程序与中断服务成混在一起了——混沌!
作业3.单片机8751通过8255可编程接口芯片控制数字输入机的工作,8255
的PA口连接数字输入机的数据线,将8255的PA口、PB口为输入方式,PC口输出方式, A组工作于模式1,B组工作于模式0,地址线A5做片选信号。画出逻辑框图。写出8255四个口(PA口、PB口、PC口、命令/状态口)地址。
将20个字节信D0 Q0 A0 PA D0~D7 P0 息由数字输入D7 Q1 A1 数字输入机 机经8255以中G Q5 ALE CS 断的方式(以
STB INT1作为中断8751 74LS 373 8255 PC4 D0~D7 PC5 申请口)传送到IBF WR WR 内存RAM 40H开
始的单元中,编RD PB RD 程实现之。
RST RST PC 答:其逻辑框图如
INT1 PC3 左所示。四个口
(PA、PB、PC、命
令/状态口)的地址分别是: 00H、01H、02H、03H;(0DCH、0DDH、0DEH、0DFH; 不用的地址线以“1”计) (00H,01H,10H,11H?) 将8255的PA口、PB口为输入方式, PC口为输出方式, A组工作于模式1,B组工作于模式0,命令字是B2H,编程段如下:
ORG 0000H SJMP MAIN
ORG 0013H(00BH)
SJMP INT111 INC R1 MAIN:MOV R0,#03H(0DFH; 不用的地址线以“1”计) INT111:MOVX A,@R0
MOV A,#0B2H;8255工作方式设置 MOV @R1,A MOVX @R0,A INC R1
MOV IE,#84H ;允许INT1中断 DJNZ R2,DONE MOV A,#09H(05?);令PC4=1(允许PA口输入中断) CLR EX1
MOV R0,#03H(0DFH; 不用的地址线以“1”计) DONE: RETI(REIT?) MOVX @R0,A MOV R1,#40H
MOV R2,#20(19?) MOV R0,#00H(0DCH; 不用的地址线以“1”计)PA口地址 SJMP $ ;等待中断
现象:有的同学抄作业一点都没弄懂,把主程序与中断服务成混在一起了——混沌!
六、 单片机第八章作业讲评
例一:如图所示,用中断的方法实现A/D转换,并将转换结果放到片内RAM 23H单元.
ORG 0000H LJMP MAIN ORG 0013H LJMP INT111
MAIN: MOV IE,#84H INT111: CLR P3.7 CLR P1.0 NOP CLR P3.6 NOP
NOP SETB P3.7 SETB P3.6 MOV 23H,p0 SJMP $ RETI
例二:如图所示,用中断的方法实现A/D转换,并将转换结果放到片内RAM 20H单元.
VCC P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 WR RD VCC CLKR DB0 DB1 DB2 CLKIN DB3 ADC0804 DB4 DB5 DB6 VREF DB7 10K 150pF 参考电压 待转换电压 INT0 AT89C51 P2.4 VSS WR VIN(+) RD INTR VIN(-) CS V DGND AGND ORG 0000H LSMP MAIN
ORG 0003H LJMP INT000
MAIN: CLR P2.4 INT000:CLR P3.7 CLR P3.6 SETB P3.7 SETB P3.6 MOV 20H,P0 MOV IE,#81H RETI SJMP $ END
ORG 0000H LJMP MAIN ORG 0003H LJMP INT000
MOV IE,#81H INT000: MOVX A,@DPTR
MOV DPTR,#0EFFFH MOV 20H,A MOVX @DPTR,A RETI SJMP $
七、 实验
写好实验报告,2人(或3人)一组,一定要互为同组人。
关于《单片机原理及其接口技术》实验报告注意事项 1.“实验报告“中的“一、实验目的”与“二、实验器材”一栏照实验指导书写; 2. “实验报告“中的“三、实验简要原理”一栏可以将缩小的电路原理图(手画、打印都可以)贴在其中; 3. “实验报告“中的“四、实验步骤与结果” 一栏可以将实验指导书中“四、实验内容”中的几条酌情写入;再写相应程序或框图。