单片机复习参考

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

地址总线(AB):地址总线宽度为16位,因此外部存储器直接寻址范围为64KB。16位地址总线由P0口经地址锁存器提供低8位地址(A0-A7),P2口直接提供高8位地址(A8-A15)数据总线(DB):数据总线宽度为8位,由P0口提供

控制总线(CB):由P3口的第二功能状态和4根独立控制线RESET,EA,PSEN。

编程题类型2:并行口数据的读取,奇偶性判断,发光二极管控制

【习题3-22】用8031单片机的P1口做输出。经驱动电路接8个发光二极管,见图…当输出位为“1”时,发光二极管点亮;输出为“0”时,发光二极管为暗。试编制灯亮移位程序,令8个发光二极管每次亮一个,循环左移,一个一个地亮,循环不止。

编程题类型3:利用定时器/计数器控制输出方波(可能涉及中断)

【例题5-2】利用T0模式1产生一个50HZ的方波,由P1.0输出。

解:假设系统仍利用12MHZ晶体,则计数器初值X可由下式算得

(“2的16次方”-X) * “10的-6次方” =1/100

因而,X=55536=0D8F0H 若采用查询方式,则编程如下:

MOV TMOD,#01H ;设置定时器0模式1

SETB TR0

LOOP:MOV TH0,#0DBH

MOV TL0,#0F0H

JNB TF0,$

CLR TF0

CPL P1.0

SJMP LOOP

【习题5-7】已知51系列单片机的系统晶振频率为6MHZ,请利用定时器T1和P1.2输出矩形脉冲,其波形如下:

50us 350us

【例7-3】利用定时器T0定时,在P1.0端输出一方波,方波周期为20ms,已知晶振频率为12MHZ。

解:主程序如下:

ORG 0000H

LJMP 2000H

T0的中断服务程序:

ORG 000BH

AJMP 70H

ORG 70H

MOV TL0,#0F0H ;重赋初值

MOV TH0,#0D8H

CPL P1.0 ;输出取反

RETI

ORG 2000H

MOV TM0D,#01H ;设置T0为模式1

MOV TL0,#0D8H ;赋初值

MOV IE,#82H ;CPU开中断,T0开中断

SETP TR0 ;启动T0

HERE:SJMP TR0 ;循环等待定时间

【例7-4】利用定时器T0定时,在P1.0端输出一方波,方波周期为20ms,已知晶振频率为12MHZ。

解:主程序如下:

ORG 0000H

LJMP 2000H

T1的中断服务程序:

ORG 001BH

AJMP 100H

ORG 100H

MOV TH1,#0D8H ;重赋初值

MOV TL1,#0F0H

DJNZ 69H,TT1

MOV 69H,#100

DJNZ 79H,TT1

MOV 79H,#60

SETB 4FH

TT1: RETI ;中断返回

ORG 2000H

MOV TM0D,#10H ;设置T1为定时模式1

MOV TH1,#0D8H ;赋初值

MOV TL1,#0F0H

MOV IE,#88H ;CPU开中断,T1开中断

SETB TR1 ;启动T1工作

MOV 69H,#100 ;赋10ms计数初值

MOV 79H,#60 ;赋秒进行初值

CLR 4FH ;清标志位

TT:JNB 4FH,TT ;等1min时间到

CLR 4FH ;输出相反

AJMP TT ;反复循环

END

相关文档
最新文档