单片机接口技术与实验附原理图及源程序.docx
- 文档编号:30260897
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:29
- 大小:574.38KB
单片机接口技术与实验附原理图及源程序.docx
《单片机接口技术与实验附原理图及源程序.docx》由会员分享,可在线阅读,更多相关《单片机接口技术与实验附原理图及源程序.docx(29页珍藏版)》请在冰豆网上搜索。
单片机接口技术与实验附原理图及源程序
《单片机接口技术与实验》
姓名:
学号:
年级:
专业:
电子信息科学与技术
实验二并行口输入输出实验一环彩灯控制
_、实验功能
(1)oP1口接8个开关,P0口接8个灯,每个开关对应一个灯,实时读取开关状态,开关闭合时,灯亮.开关断开时,灯灭。
二实验原理图
实验二1
注意:
因为P0口作为输出口时必须接上拉电阻,为简化起见,此处接到P2口上
三、实验程序
orgOOOOh
1jmpmain
orgOlOOh
main:
movpl,#0ffh
movp2zp1ajmpmainend
(2)
_、实验功能
用5个开关KO~K4,控制P0口所接8个灯得循环,各开关得功能要求如下:
(DK1〜K2分别选择灯得四种闪动方式;
(2)K3用于控制灯得循环方式(顺时针或逆时针);
(3)K4用于选择灯得两种循环速度
(4)K0用于引发外部中断,在外部中断子程序中,读取通过K1-K4所设定得循环彩灯得工作方式,并按所设定得工作方式控制彩灯运行。
二实验原理图
三、实验流程图
实验二2
中断程序〉
四、实验程序
ORG0000H
oLJMPMA1N
ORG0003H
oLJMPINTOPRO
°。
ORG0100H
MAIN:
MOVPl,#0FFH
MOVSP,#60H
。
SETBEXO
gSETBITOogao
-SETBEA
-MOVC,Pl、2
oMOV50II,C
oMOVC,Pl、3
oMOV51H.C
oJBP1、0,NEXT1
。
JNBP1、0,NEXT2
NEXT1:
JBP1、LCIRCLEl
JNBPKl.CIRCLE2
NEXT2:
JBP1、1,CIRCLE3
JNBPl、1.CIRCLE4
CIRCLE1:
MOVA,#80H
。
UMPSTEPO
CIRCLE2:
MOVA,#OC0H
。
LJMPSTEPO
CIRCLE3:
MOVA.#0AAH
。
LJMPSTEPO
CIRCLE4:
MOVA»#OEOH
LJMPSTEPO
STEPO:
MOVP2,A
JB50II,S1
°。
JNB50H.S2
STEPl:
。
JB51II,LOOP1
-JNB51H,LOOP2
S1:
LCALLDELAY1
UMPSTEP1
S2:
LCALLDELAY2
UMPSTEPl
DELAY1:
MOVR7,#100
DI:
MOVR6,#100
D2:
MOVR5・#10
D3:
DJNZR5,D3
。
DJNZR6,D2
aDJNZR7,D1
RET
DEL
AY2:
MOVR7,#200
D4:
MOVR6冲00
D5:
MOVR5,#10
D6:
DJNZR5,D6
o
DJNZR6,D5
-DJNZR7.D4
0
RET4。
o
LOOP1:
RLA
LJMPSTEPO
LOOP2:
RRA
UMPSTEPO
oORG0400H
INTOPRO:
MOVC.P1、2
oMOV5011,C
oMOVC,Pl、3
oMOV5111,C
。
JB
Pl.0,WORK1
JNBPl、hWORK2
WORK1:
JBPl、1,LI
JNBPl、1,L2
WORK2:
JBPl、1,L3
JNBPl、LL4
L1:
MOVA,#8011
LJMPPASS
L2:
MOVA,#0C0H
UMPPASS
L3:
MOVA,#OAAH
LJMPPASS
L4:
MOVA.#OEOH
UMPPASS
PASS:
RETI
-END
_、实验功能
1.实验采用4位一体得数码管,用P1口通过驱动芯片控制段码输出信号线,P0口
通过驱动芯片控制位选线:
(1)当开关K0接低电平时,第一位依次显示0〜F,然后第二位、第三位、第四
位,再循环回第一位.
(2)当开关K0接高电平时,四位动态显示"HELP"
二实验原理图
5V
P1.0
PO.O
P0.1
P0.2
P0.3
P0.4
P0.5
P0.6
P0.7
P2.0
P2.1
P2.2
P2.3
5V
实验三
三、实验流程图
开始
Pl、0就是否为
显示HELP子程序
刿斯数就足否显示一
按位循环显示0・F
调用延时子程序
delayI
PK0就是否为
调用位显示子程
序LOOP1
左移一位P2
判断就是否显示一
四、
实验程序
org000OhljmpmainorgOlOOh
main:
movp2,#0ffh
oo
0
setbp1、0
movdptr,#(ab
movr0,#0mova.#00hloop1:
movrO,#00h
jnbplx0,hsjmploop2h:
movp2,#0feh
1call1ight
movp2,#0fdh
1calllight
。
movp2,#0fbh
oo
lca111ight
oo
movp2.#11101111b
。
1call1ight
。
sjmp1oopl
light:
jbpl、0Joop2
mova,r0
movca,a+dptr
oo
incr0
movp0»a
lcaIIdelay1
cjner0,#16、Iight
movrO、#0
。
ret
1oop2:
movp2,#0feh
movpO.#73h
leal1delayl
jnbpl、0,loop1
movp2,#0fdh
movpO.#38h
Ica11delay1
jnbpl、0,1oop1
movp2,#0fbh
movpO,#79h
lcalldeIay1
jnbplx0,1oop1
movp2,#111011lib
movpO.#76h
lea11dclay1
jnbp1、Otloopl
sjmploop1
tab:
db3fh,06h,5bh,4fh,66h,6dh,7dh.07h.7tli.6fh,77117
ch,39h,5eh,79h,71h
delay1:
MOVR3.#l0
D2:
MOVR2,#100
DI:
MOVRL#100
DO:
DJNZR1.DO
DJNZR2,D1
DJNZR3,D2
RET
end
_、实验功能
1.用TO定时器实现1秒定时,控制一个LED亮1秒,灭1秒,并不断循环。
二实验原理图
5V
KO
TO
P2.7
三、实验流程图
实验四1
四、实验程序
main:
loop:
org0000h
1jmpmainorg000bhljmptOprO
orgO10Oh
movsp,#60h
movtmod,#01h
movth0,#0b8h
movt10,#00h
movrO,#100
setbea
setbetO
setbtr0
sjmp$
1jmploop
tOpr0:
djnzrO,w
cplp2、7
movrO,#100
w:
movthO,#0b8h
movtl0,#00h
reti
end
2、
_、实验功能
实现一个4位秒表:
(1)用开关K0模拟秒表得启动、停止、清零功能,按一次启动计时,按一次停止,再按一次清零,在三个状态中循环。
(2)最低位按1/10秒计数,依次计数单位为1/10秒,1秒,1分
(3)要求K0使用外部中断,优先级高于TO得优先级
二实验原理图
5V
实验四2
三、实验流程图
四、实验程序
orgOOOOh
ljmpmainorg0003h
1jnipintxOorg000bh
1jmptOpr0org0100h
main:
movtmod,#01hmovth0,#0b8hmovtlO,#00hmovp2曲Offh
movrO.#1
movrl,#0movr2.#0movr3.#0
movr4,#0
movr5,#0
mova,#0
movdptr,#tabsetbea
setbexO
setbitOsetbtr0
oo
d
setbpx0setbetO
k:
lcallaaajmpk
aaa:
o
Q
Q
Q
movp2,#0feh
mova.r2lca111ooplcallmm
movp2,#Ofdhmova、r3lea11looplcallmm
movp2,#0fbhmova,r4lca111oop
lea11mm
movp2,#11101111bmova,r5lcall1ooplcallmm
ret
mm:
loop:
tab:
intx0:
djnzacc,$
djnzacc,$
movca,a+dptr
movpO,a
ret
db3fh,06h.5bh,4fh.66h,6dh,7dh.07h,7fh,6fhincr0
cjner01,st
setbtrO
reti
cjncrO,#2,w
clrtrO
reti
mova,#0
movrO,a
movrLa
movr2,a
movr3,a
movr4,a
movr5>a
reti
movthOt#0b8h
mov(10,ttOOh
incr1
cjner110,cxit
movrl.#0
incr2
cjner2,#10,exit
movr2,#0
incr3
cjner3,#10,exit
movr3,#0
incr4
cjner4,#6.exit
movr4・#0
cjner510,cxit
exit:
retiend
实验五脉冲竟度与周期测量实验
—、实验功能
同时测量脉冲宽度与周期,由开关K0选择显示脉冲宽度还就是显示脉冲周期。
二实验原理图
5V
实验五3
三、实验流程图
MOVA,TLO
MOVR2ZA
SUBBA,#48H
MOVA,RO
MOVBf#2
MOVB#10
DIVAB
DIVAB
MOVB,#10
MOVR3,B
DIVAB
ADDAf#10
MOVRlzB
MOVR4fA
四、实验程序
ORG0000H
1impmainorgOOObh
1jmpt
org0lOOh
main:
movtmod,#oahmovthO,#48h
movtl0,#48h
setbea
setbet0
movdptr,#tab
mova,#0
movr0,#0
movrl,#0
movr2,#0
movr3,#0
movr4,#0
jbpls0,b0
loopO:
jbp3、2,loopO
setbtrO
1oopl:
jnbp3、2,1oopl
Ioop2:
jbp3、2Joop2
1oop3:
jnbp3、2,1oop3
Ioop4:
jbp3、2,loop4
clrtrO
1jmploop
b0:
jbp3x2,bO
setbtrO
bl:
inbp3、2,bl
b2:
jbp3、2,b2
c1rtrO
loop:
movaztIOsubba,#48hmovbz#2divabmovrl,bmovr2,a
mova,r0
movb,#10divab
movr3,b
adda,#10movr4za
movp2,#11111110b
movafr1
leaII
lea11z
movp2,#11111101b
mova』2
lea11
leadz
movp2,#11111011b
movafr3
lead
leal1z
movp2,#111101lib
mova』4
Icall
Icallz
Ijmpmain
move
afa+dptr
movpO,a
ret
z:
djnzaccx$
djnzacc;$ret
tab:
hs7fh,6fh
db3fh,06h,5bh,4fh,66hz6dhf7dhz07
dbObfhz86hf0d8hz0cfh,0e6h,0
edhQfdh,87h,0ffh,0efh
org0200h
incr0
reti
end
实验六串行通信实验
_、实验功能
利用串行口方式0实现一个七段数码管得显示控制,轮流显示0〜9十个数码
二实验原理图
实验六
三、实验流程图
四、实验程序
org。
OOOOh
ajmp°main
main:
movscon,#OOh
movoodptr.#table
omowrO,#10。
aclr叩1、0
NEXT:
djnz^r0,send。
g勿mp。
main。
send:
。
clea
gmovoa.a+dptr
^movosbuf.a。
jnb。
ti>$。
gcIp弘
ainc。
dptr。
“aca11。
delay
ajmpmext◎
delay:
miowrl,#50
1oopl:
Ioop2:
movr2,#100
movoor3,#50
zdjnzgdjnzr2>◎Hjnz。
ret
table:
r3,$
1oop2
rLloopl
DB3aFh,06h・5bh,4fh,66h.6dh,7dh,07h・7th6巾
oend
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 接口 技术 实验 原理图 源程序