当前位置:文档之家› 单片机接口技术与实验(附原理图及源程序)

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

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

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

姓名:

学号:

年级:

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

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

一、实验功能

(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

实验四定时器中断实验

一、实验功能

1.用 T0 定时器实现1 秒定时,控制一个LED 亮1 秒,灭1 秒,并不断循环。

二、实验原理图

三、实验流程图

四、实验程序

org 0000h ljmp main org 000bh ljmp t0pr0 org 0100h main: mov sp,#60h mov tmod,#01h mov th0,#0b8h mov tl0,#00h mov r0,#100 setb ea setb et0 setb tr0 loop: sjmp $ ljmp loop t0pr0: djnz r0,w

cpl

mov r0,#100

w: mov th0,#0b8h

mov tl0,#00h

reti

end

2.

一、实验功能

实现一个4 位秒表:

(1)用开关K0 模拟秒表的启动、停止、清零功能,按一次启动计时,按一次停

止,再按一次清零,在三个状态中循环。

(2)最低位按1/10 秒计数,依次计数单位为1/10 秒,1 秒,1 分

(3) 要求K0 使用外部中断,优先级高于T0 的优先级

二、实验原理图

三、实验流程图

四、实验程序

org 0000h

ljmp main

org 0003h

ljmp intx0

org 000bh

ljmp t0pr0

org 0100h

main: mov tmod,#01h mov th0,#0b8h mov tl0,#00h mov p2,#0ffh mov r0,#1

mov r1,#0

mov r2,#0

mov r3,#0

mov r4,#0

mov r5,#0

mov a,#0

mov dptr,#tab setb ea

setb ex0

setb it0

setb tr0

setb px0

setb et0

k: lcall aaa

jmp k

aaa: mov p2,#0feh mov a,r2

lcall loop lcall mm

mov p2,#0fdh mov a,r3

lcall loop lcall mm

mov p2,#0fbh mov a,r4

lcall loop lcall mm

mov p2,#b

mov a,r5

lcall loop

lcall mm

ret

mm: djnz acc,$

djnz acc,$

ret

loop: movc a,@a+dptr

mov p0,a

ret

tab: db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh intx0: inc r0

cjne r0,#1,st

setb tr0

reti

st: cjne r0,#2,w

clr tr0

reti

w: mov a,#0

mov r0,a

mov r1,a

mov r2,a

mov r3,a

mov r4,a

mov r5,a

reti

t0pr0: mov th0,#0b8h

mov tl0,#00h

inc r1

cjne r1,#10,exit

mov r1,#0

inc r2

cjne r2,#10,exit

mov r2,#0

inc r3

cjne r3,#10,exit

mov r3,#0

inc r4

cjne r4,#6,exit

mov r4,#0

inc r5

cjne r5,#10,exit

mov r5,#0

exit: reti

end

实验五脉冲宽度与周期测量实验

一、实验功能

同时测量脉冲宽度和周期,由开关K0 选择显示脉冲宽度还是显示脉冲周期。

二、实验原理图

三、实验流程图

相关主题
文本预览
相关文档 最新文档