单片机考题(2)

2018-11-22 18:35

NOP ;1 RET ;2

建议:不要把100改成十六进制数64H.非常容易造成附加错误。 更不能把49写成49H

第二种方法——粗略计算

(1+2+(1+2)*20+20*250*2)*2μs =20126μs≈20ms 误差不足1%

DEL20ms: MOV R7,#20 ;1*2μs=2μs

DELAY1:MOV R6,#250 ;1*20*2μs=40μs

DELAY2:DJNZ R6,DELAY2 ;2*20*250*2μs=20ms

DJNZ R7,DELAY1 ;2*20*2μs=80μs RET ;2*2μs=4μs

四、 单片机第六章作业讲评

补充题:

1.设单片机主频为12MHz,利用定时器T0(定时方式1)编程实现在P1.0上输出频率为500Hz方波脉冲, (用中断方式实现)。

解:频率为500Hz方波脉冲,周期为2000μs,每半个周期P1.0电平翻转一次即每1000μs P1.0电平翻转一次

采用方式1:

16

TC=M-T/T计数=2-1000μs /1μs =65536-1000=664536=0FC18H

16

=2-1024+24=10000H-400H+18H=0FC18H

程序:

ORG 0000H AJMP MAIN

ORG 000BH AJMP TTT0

MAIN: MOV TMOD, #01H MOV TH0, #0FCH MOV TL0, #18H

MOV IE, #82H SETB TR0

SJMP $ (如果没这条指令会怎样?) TTT0: MOV TH0, #0FCH

MOV TL0, #18H CPL P1.0

RETI END

2.设单片机主频为12MHz,利用定时器T1(定时方式1)编程实现在P1.1上输出频率为250Hz方波脉冲, (用中断方式实现)。

解:频率为250Hz方波脉冲,周期为4000μs,每半个周期P1.3电平翻转一次即每2000μs P1.1电平翻转一次

采用方式1:

16

TC=M-T/T计数=2-2000μs /1μs =65536-2000=63536=0F830H

16

=2-2048+48=10000H-800H+30H=0F830H

程序:

ORG 0000H AJMP MAIN

ORG 001BH AJMP TTT1

MAIN: MOV TMOD, #10H TTT1: MOV TH1, #0F8H MOV TH1, #0F8H MOV TL1, #30H

MOV TL1, #30H CPL P1.1;(PH )? MOV IE, #88H RETI SETB TR1 (reti) SJMP $ END

3.设单片机主频为6MHz,利用定时器T0(定时方式2)编程实现在P1.2上输出频率为5KHz方波脉冲, (用中断方式实现)。

解:频率为5KHz方波脉冲,周期为200μs,每半个周期P1.2电平翻转一次即每100μs P1.2电平翻转一次

采用方式2,因为主频6MHz,所以计数器每加1用时2μs。

8

TC=M-T/T计数=2-100μs /2μs=206 程序:

ORG 0000H AJMP MAIN

ORG 000BH AJMP TTT0

MAIN: MOV TMOD, #02H TTT0: CPL P1.2; MOV TH0, #206 RETI MOV TL0, #206 MOV IE, #82H

SETB TR0 SJMP $ END

4.设单片机主频为6MHz,利用定时器T1(定时方式2)编程实现在P1.3上输出频率为500Hz方波脉冲, (用中断方式实现)。

解法1:频率为500Hz方波脉冲,周期为2000μs,每半个周期P1.3电平翻转一次即每1000μs P1.3电平翻转一次

采用方式2, 因为主频6MHz,所以计数器每加1用时2μs。定时500μs,即2次中断完成一次反转。

8

TC=M-T/T计数=2-500μs /2μs=256-250=6 程序:

ORG 0000H AJMP MAIN

ORG 001BH AJMP TTT1

MAIN: MOV TMOD, #20H TTT1: DJNZ 50H,NEXT MOV TH1, #6 CPL P1.3; MOV TL1, #6 MOV 50H,#2 MOV IE, #88H NEXT: RETI(RET1) MOV 50H,#2 SETB TR1 SJMP $ END

五、 单片机第七章作业讲评

例2:单片机8751通过8255可编程接口芯片控制打印机的工作,8255的PA口连接打印机数据线,PA口、PC口为输出方式,PB口输入方式,A组工作于模式1,B组工作于模式0,P2.2做8255的片选信号,8255以中断的方式向单片机INT0索要数据,画出逻辑框图。写出8255四个口(PA口、PB口、PC口、命令/状态口)地址。打印信息共30个字节在内存RAM 40H开始的单元中,编程实现打印功能。 答:逻辑电路画在

D0 Q0 A0 PA D0~D7 右侧。 P0 D7 Q1 字符 A1

ALE G 打印机

ACK 8751 74LS 373 8255 PC6 D0~D7 PC7 OBF 8 WR WR RD PB RD

P2.2 CS PC

INT0 PC3

口、PB口、PC口、命令/状态口)的地址分别是: 0000H、0001H、0002H、0003H;(0FBFCH、0FBFDH、0FBFEH、0FBFFH; 不用的地址线以“1”计) 将8255的PA口、PC口为输出方式,PB口输入方式,A组工作于模式1,B组工作于模式0方式的命令字是0A2H,编程段如下:

ORG 0000H SJMP MAIN ORG 0003H SJMP INT000

MAIN:MOV DPTR,#0003H(0FBFFH,不用的地址线以“1”计) INT000:INC R1

MOV A,#0A2H MOV A,@R1

MOVX @DPTR,A MOVX @DPTR,A MOV A,#0DH;令PC6=1(允许PA口输出中断) DJNZ R2,DONE MOVX @DPTR,A CLR EX0 MOV IE,#81H ;允许INT0中断 DONE: RETI MOV R1,#40H MOV R2,#29

MOV DPTR,#0000H(0FBFCH,不用的地址线以“1”计);PA口地址 MOV A,@R1

MOVX @DPTR,A ;给打印机送出第一个字符 SJMP $ ;等待中断 END

四个口(PA

例3.单片机8751通过8255可编程接口芯片控制数字输入机的工作,8255的PB口连接数字输入机的数据线,将8255的PB口、PC口为输入方式,PA口输出方式, A组工作于模式0,B组工作于模式1,PB口做数字输入口,地址线A7做片选信号。画出逻辑框图。写出8255四个口(PA口、PB口、PC口、命令/状态口)地址。将40个字节信息由数字输入机经8255以中断的方式(以INT1作为中断申请口)传送到内存RAM 30H开始的单元中,编程实现之。

P0 D0 Q0 D7 Q1 G Q7 A0 PB A1 CS ALE 8751 WR 74LS 373 8255 PC2 D0~D7 PC1 WR RD RD PA RST INT1 RST PC PC0

D0~D7 数字输入机

STB

IBF

答:其逻辑框图如上所示。

四个口(PA、PB、PC、命令/状态口)的地址分别是: 00H、01H、02H、03H;(7CH、7DH、7EH、7FH; 不用的地址线以“1”计) 将8255的PA口为输出方式,PB口、PC口输入方式, A组工作于模式0,B组工作于模式1。命令字是8FH,编程段如下:

ORG 0000H SJMP MAIN ORG 0013H SJMP INT111

MAIN:MOV R0,#03H(7FH,不用的地址线以“1”计) ; INT111:MOVX A,@R0

MOV A,#8FH MOV @R1,A MOVX @R0,A INC R1

MOV A,#05H; 令PC2=1(允许PB口输入中断) DJNZ R2,DONE MOVX @R0,A CLR EX1 MOV IE,#84H ;允许INT1中断 DONE: RETI MOV R1,#30H MOV R2,#40

MOV R0,#01H(7CH,不用的地址线以“1”计) ,PB口地址 SJMP $ ;等待中断 END


单片机考题(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:去美国读本科可以用AP成绩换学分?关于AP的传言辨析

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: