四川大学出版社 西华大学黄惟公等老师编写的单片机实验答案

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

实验1 红黄绿灯控制

ORG 0000H

RED EQU P1.0

YELLOW EQU P1.1

GREEN EQU P1.2

MAIN: CLR RED

SETB YELLOW

SETB GREEN

MOV R0,#40

ACALL DELAY

SETB RED

CLR YELLOW

SETB GREEN

MOV R0,#20

ACALL DELAY

SETB RED

CLR YELLOW

CLR GREEN

MOV R0,#10

ACALL DELAY

SETB RED

SETB YELLOW

CLR GREEN

MOV R0,#30

ACALL DELAY

AJMP MAIN DELAY: MOV A,R0

MOV R7,A

DEL0: MOV R6,#200

DEL1: MOV R5,#250

DEL2: DJNZ R5,DEL2

DJNZ R6,DEL1

DJNZ R7,DEL0

RET

END

实验2 LED、LCD显示LED:

ORG 0000H

AJMP MAIN

ORG 0030H

MAIN: CLR P2.4

SETB P2.5

LOOP: MOV R0,#00H

MOV R4,#0AH

LP: MOV A,R0

MOV DPTR,#TAB

MOVC A,@A+DPTR

MOV P0,A

LCALL DELAY

INC R0

DJNZ R4,LP

AJMP LOOP

DELAY: MOV R7,#10

DEL0: MOV R6,#200

DEL1: MOV R5,#250

DEL2: DJNZ R5,DEL2

DJNZ R6,DEL1

DJNZ R7,DEL0

RET

TAB:DB 0C0h,0F3h,98h,92h,0A3h,86H,84H,0D3H,80H,82H END

LCD:

ORG 0000H

AJMP MAIN

DA T EQU P2.7

CLK EQU P2.6

MOV R1,#00

MAIN: MOV 79H,#10

MOV 78H,#10

MOV 77H,#10

MOV 76H,#10

MOV 75H,R1

LCALL DISPLAY

LCALL DELAY

INC R1

CJNE R1,#10,MAIN

MOV R1,#00

AJMP MAIN

DISPLAY: MOV R0,#79H

SETB CLK

MOV DPTR,#TAB

LOOP: MOV A,@R0

MOVC A,@A+DPTR

ACALL DIS

DEC R0

CJNE R0,#74H,LOOP

SETB DA T

SETB CLK

RET

DIS: MOV R7,#8

DIS1: CLR CLK

RRC A

MOV DA T,C

SETB CLK

DJNZ R7,DIS1

CLR CLK

SETB DA T

RET

DELAY: MOV R4,#10

DEL0: MOV R6,#200

DEL1: MOV R5,#250

DEL2: DJNZ R5,DEL2

DJNZ R6,DEL1

DJNZ R4,DEL0

RET

TAB: DB 90H,0F3H,89H,0A1H,0E2H,0A4H DB 84H,0F1H,80H,0A0H,0FFH

END

实验3 键盘实验

ORG 0000H

AJMP MAIN

ORG 0030H

MAIN: MOV P0,#0C0H

CLR P2.4

SETB P2.5

MOV R1,#00H

KEY1: SETB P2.2

JB P2.2,KEY2

ACALL DELAY

KEY11:SETB P2.2

JNB P2.2,KEY11

LCALL OPENLED

CLR P1.0

SETB P1.1

SETB P1.2

KEY2: SETB P2.1

JB P2.1,KEY3

ACALL DELAY

KEY22:SETB P2.1

JNB P2.1,KEY22

CLR P1.1

SETB P1.0

SETB P1.2

KEY3: SETB P2.0

JB P2.0,KEY1

ACALL DELAY

KEY33:SETB P2.0

JNB P2.0,KEY33

CLR P1.2

SETB P1.0

SETB P1.1

AJMP KEY1

OPENLED:INC R1

MOV A,R1

MOV DPTR,#TAB

MOVC A,@A+DPTR

MOV P0,A

CJNE R1,#0AH,LOOP

MOV R1,#0

LOOP: JNC MAIN

RET

DELAY:MOV R2,#200;延时子程序,约10ms

DEL0: MOV R3,#125

DEL1: DJNZ R3,DEL1

DJNZ R2,DEL0

RET

TAB:DB 0C0h,0F3h,98h,92h,0A3h,86H,84H,0D3H,80H,82H END

实验4 定时器中断实验

LED:0~9

ORG 0000H

DIGIT1 EQU P2.5

DIGIT2 EQU P2.4

AJMP MAIN

ORG 000BH

AJMP INTR0

ORG 0030H

MAIN: MOV R0,#00H

MOV R2,#100 ;中断100次为1s

MOV P0,#0FFH

SETB DIGIT1 ;点亮右边的LED

CLR DIGIT2

MOV TMOD,#01H ;T0定时,工作方式1

MOV TH0,#0E0H ;T0计数初值

MOV TL0,#80H

SETB EA

SETB ET0

SETB TR0

AJMP $ ;等待中断

INTR0: MOV TH0,#0E0H ;T0重赋初值

MOV TL0,#80H

DJNZ R2,LP;是否中断100次

MOV DPTR,#TAB

MOV A,R0

MOVC A,@A+DPTR

MOV P0,A

MOV R2,#100

INC R0

CJNE R0,#0AH,LP

MOV R0,#00H

LP: RETI

TAB:DB 0C0H,0F3H,98H,92H,0A3H,86H,84H,0D3H,80H,82H END

LED:00~99

ORG 0000H

相关文档
最新文档