《单片机与接口技术》实验指导书

  • 格式:doc
  • 大小:448.17 KB
  • 文档页数:29

下载文档原格式

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

《单片机与接口技术》实验指导书

王玉琳编写

SUN ES59PA

合肥工业大学机械与汽车工程学院2014年12月(第1版)

目录

实验一、P1口与P3口综合实验 (1)

实验二、内、外RAM数据传送实验 (6)

实验三、定时、计数与中断实验 (9)

实验四、8255控制交通灯实验 (12)

实验五、并行DA实验 (15)

实验六、并行AD实验 (17)

实验七、LED16×16点阵实验 (20)

实验八、图形点阵显示实验 (21)

实验九、继电器控制实验 (22)

实验十、简易电子琴实验 (24)

P1.01P1.12P1.23P1.34P1.45P1.56P2.1(A9)22P2.2(A10)23P2.3(A11)24P2.4(A12)25P2.5(A13)26P2.6(A14)27P2.7(A15)28PSEN 29ALE/PROG

30EA/Vpp 31P0.7(AD7)32P0.6(AD6)33P0.5(AD5)34P0.4(AD4)35P0.3(AD3)36P0.2(AD2)37P0.1(AD1)38P0.0(AD0)39Vcc 40P1.67P1.78RST

9(RXD)P3.010(TXD)P3.111(INT0)P3.212(INT1)P3.313(T0)P3.414(T1)P3.515(WR)P3.616(RD)P3.717XTAL218XTAL119P2.0(A8)

21

GND 20

89C52

U42DS35DS36DS37DS38DS39DS40DS41VCC

DS421

2345678510

R111

510R112

510R113

510R114

510R115

510R116

510R117

510R118

六、参考程序

ORG 0000H

LJMP MAIN

ORG 0030H

MAIN: MOV SP,#70H

MOV A,#0FFH

CLR C

AGAIN: RLC A

MOV P1,A

ACALL DELAY

SJMP AGAIN

DELAY: MOV R5,#02H ;延时

DELAY1: MOV R6,#00H

DELAY2: MOV R7,#00H

DJNZ R7,$

DJNZ R6,DELAY2

DJNZ R5,DELAY1

RET

END

七、扩展实验一:异或、位查询

将排线JP65转180°。

ORG 0000H

LJMP MAIN

ORG 0030H

MAIN: MOV SP,#70H

MOV P1,#11111111B

JB P3.0,$ ;P3.0接K7,作为“启动”AGAIN: XRL P1,#11110000B

CALL DELAY

JNB P3.1,$ ;P3.1接K8,作为“暂停”

XRL P1,#00001111B

CALL DELAY

JNB P3.1,$ ;P3.1接K8,作为“暂停”

SJMP AGAIN

DELAY: MOV R5,#02H ;延时

DELAY1: MOV R6,#00H

DELAY2: MOV R7,#00H

DJNZ R7,$

DJNZ R6,DELAY2

DJNZ R5,DELAY1

RET

END

八、扩展实验二:位查询、外部中断

排线保留。

用AT89S52的P1.0~P1.7控制8道工序,现模拟控制8只LED,低电平点亮,将每道工序所占的时间假定为延时;P3.4接K7,为开工启动开关,下降沿有效;P3.3接K8,为外部故障模拟输入开关,P3.3=1时设备正常,P3.3=0时,设备出故障,系统报警;P3.5接F6区蜂鸣器的Ctrl,为报警时的声音输出。

初始状态,K7和K8均拨到下面(高电平),此时8只LED均未点亮。

运行程序后,将K7拨到上面再拨下来,二极管开始点亮,顺序动作开始;把K8拨到上面时,发声报警,再将K8拨到下面时,报警停止。

ORG 0000H

LJMP PO10

ORG 0013H

LJMP PO16

ORG 0030H

PO10: MOV P1,#0FFH

PO11: JB P3.4,PO11

ORL IE,#1000 0100B ;(EA)=1,(EX1)=1

ORL IP, #0000 0100B ;(PX1)=1

MOV PSW,#00H

MOV SP,#70H

PO12: MOV P1,#1111 1110B

ACALL DELAY

MOV P1,#1111 1101B

ACALL DELAY

MOV P1,#1111 1011B

ACALL DELAY

MOV P1,#1111 0111B

ACALL DELAY

MOV P1,#1110 1111B

ACALL DELAY

MOV P1,#1101 1111B

ACALL DELAY

MOV P1,#1011 1111B

ACALL DELAY

MOV P1,#0111 1111B

ACALL DELAY

SJMP PO12

PO16: CLR P3.5 ;中断服务子程序

JNB P3.3,$

RETI

DELAY: MOV R5,#02H

DELAY1:MOV R6,#00H

DELAY2:MOV R7,#00H

DJNZ R7,$

DJNZ R6,DELAY2

DJNZ R5,DELAY1

RET

END

九、扩展实验三:外部计数

(1)排线保留;

(2)把单脉冲输出孔和P3.4(单片机的T0计数器)相连;

(3)上、下拨动正脉冲开关一次,产生的脉冲下降沿使得单片机的T0计数器计数值加1,LED-8点亮;

(4)不断上、下拨动开关,观察8只LED的点亮情况。

ORG 0000H

LJMP MAIN

ORG 0030H

MAIN: MOV P1,#11111111B ;LED-1~LED-8全灭

MOV TMOD,#0000 0101B ;T0计数器初始化,方式1计数

MOV TH0,#00H ;T0的计数初值设为0

MOV TL0,#00H

SETB TR0 ;T0计数器开始计数

AGAIN: MOV A,TL0 ;读取T0计数器的低8位计数值

CPL A

MOV P1,A

SJMP AGAIN

END

将T0换成T1,如何修改程序?

相关主题