单片机接口技术与实验(附原理图及源程序)

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

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

姓名:

学号:

年级:

专业:电子信息科学与技术

实验二并行口输入输出实验——循环彩灯控制

一、实验功能

(1).P1 口接8 个开关,P0 口接8 个灯,每个开关对应一个灯,实时读取开关状态,开关闭合时,灯亮。开关断开时,灯灭。

二、实验原理图

注意:因为P0口作为输出口时必须接上拉电阻,为简化起见,此处接到P2口上

三、实验程序

org 0000h

ljmp main

org 0100h

main: mov p1,#0ffh

mov p2,p1

ajmp main

end

(2)

一、实验功能

用5 个开关K0~K4,控制P0 口所接8 个灯的循环,各开关的功能要求如下:(1)K1~K2 分别选择灯的四种闪动方式;

(2)K3 用于控制灯的循环方式(顺时针或逆时针);

(3)K4 用于选择灯的两种循环速度

(4)K0 用于引发外部中断,在外部中断子程序中,读取通过K1-K4 所设定的循环

彩灯的工作方式,并按所设定的工作方式控制彩灯运行。

二、实验原理图

三、实验流程图

四、实验程序

ORG 0000H

LJMP MAIN

ORG 0003H

LJMP INT0PR0

ORG 0100H MAIN: MOV P1,#0FFH MOV SP,#60H SETB EX0

SETB IT0

SETB EA

MOV C,

MOV 50H,C

MOV C,

MOV 51H,C

JB ,NEXT1

JNB ,NEXT2 NEXT1: JB ,CIRCLE1

JNB ,CIRCLE2 NEXT2: JB ,CIRCLE3 JNB ,CIRCLE4 CIRCLE1: MOV A,#80H

LJMP STEP0 CIRCLE2: MOV A,#0C0H LJMP STEP0 CIRCLE3: MOV A,#0AAH LJMP STEP0 CIRCLE4: MOV A,#0E0H LJMP STEP0 STEP0: MOV P2,A

JB 50H,S1

JNB 50H,S2 STEP1: JB 51H,LOOP1 JNB 51H,LOOP2

S1: LCALL DELAY1 LJMP STEP1

S2: LCALL DELAY2 LJMP STEP1 DELAY1: MOV R7,#100 D1: MOV R6,#100 D2: MOV R5,#10

D3: DJNZ R5,D3

DJNZ R6,D2

DJNZ R7,D1

RET

DELAY2: MOV R7,#200 D4: MOV R6,#100 D5: MOV R5,#10

D6: DJNZ R5,D6

DJNZ R6,D5

DJNZ R7,D4

RET

LOOP1: RL A

LJMP STEP0 LOOP2: RR A

LJMP STEP0 ORG 0400H

INT0PR0:

MOV C,

MOV 50H,C

MOV C,

MOV 51H,C

JB ,WORK1

JNB ,WORK2

WORK1: JB ,L1

JNB ,L2

WORK2: JB ,L3

JNB ,L4

L1: MOV A,#80H

LJMP PASS

L2: MOV A,#0C0H

LJMP PASS

L3: MOV A,#0AAH

LJMP PASS

L4: MOV A,#0E0H

LJMP PASS

PASS: RETI

END

实验三七段 LED 数码管控制实验

一、实验功能

1.实验采用4 位一体的数码管,用P1 口通过驱动芯片控制段码输出信号线,P0 口

通过驱动芯片控制位选线:

(1)当开关K0 接低电平时,第一位依次显示0~F,然后第二位、第三位、第四

位,再循环回第一位。

(2)当开关K0 接高电平时,四位动态显示“HELP”

二、实验原理图

三、实验流程图

四、实验程序

org 0000h

ljmp main

org 0100h

main:

mov p2,#0ffh setb

mov dptr,#tab mov r0,#0

mov a,#00h

loop1: mov r0,#00h jnb ,h

sjmp loop2

h: mov p2,#0feh lcall light

mov p2,#0fdh lcall light

mov p2,#0fbh

lcall light

mov p2,#b

lcall light

sjmp loop1

light: jb ,loop2

mov a,r0

movc a,@a+dptr

inc r0

mov p0,a

lcall delay1

cjne r0,#16,light

mov r0,#0

ret

loop2: mov p2,#0feh

mov p0,#73h

lcall delay1

jnb ,loop1

mov p2,#0fdh

mov p0,#38h

lcall delay1

jnb ,loop1

mov p2,#0fbh

mov p0,#79h

lcall delay1

jnb ,loop1

mov p2,#b

mov p0,#76h

lcall delay1

jnb ,loop1

sjmp loop1

tab: db

3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,77h,7ch,39h,5eh,79h,71h

delay1:

MOV R3,#10

D2: MOV R2,#100

D1: MOV R1,#100

D0: DJNZ R1,D0

DJNZ R2,D1

DJNZ R3,D2

RET

end

相关文档
最新文档