单片机实验报告 1000字优秀word范文 15页Word文件下载.docx
《单片机实验报告 1000字优秀word范文 15页Word文件下载.docx》由会员分享,可在线阅读,更多相关《单片机实验报告 1000字优秀word范文 15页Word文件下载.docx(12页珍藏版)》请在冰豆网上搜索。
![单片机实验报告 1000字优秀word范文 15页Word文件下载.docx](https://file1.bdocx.com/fileroot1/2022-10/13/e0bc8063-0319-4593-8955-b8c9c76cb142/e0bc8063-0319-4593-8955-b8c9c76cb1421.gif)
ORG0040H//主程序初始地址
MAIN:
MOVP1,#0FFH//将P1口设置成输入状态
MOVP0,P1//将P1口输入的状态传输给P0口输出
AJMPMAIN//返回主程序,循环执行主程序,保证实时END//结束
任务二
1.实现的功能:
用5个开关K0-K4,控制P2口所接8个灯的循环,各开关的功能要求如下:
(1)K1,K2分别选择灯的四种闪动方式;
(2)K3用于控制灯的循环方式(顺时针或逆时针);
(3)K4用于选择灯的两种循环速度
(4)K0用于引发外部中断,在外部中断子程序中,读取通过K1-K4所设定的循环彩灯的工作方式,并按所设定的工作方式控制彩灯运行。
2.硬件原理图:
3.流程图:
4.程序:
ORG
LJMP
MOV
SETB
MOV
JB
JB0000HMAIN0003HPINT00100HSP,#40HEAEX0IT0P1,#0FFHP1.0,MP1.1,M2//外部中断0入口//设置栈底//打开中断允许位//打开外部中断0允许位////将P1口设置成输入状态//判断P1.0(K1)和P1.1(K2)状态选择闪动方式//
M1:
AJMP
M2:
M:
JB
M3:
M4:
NEXT1:
NEXT2:
L:
RL
R:
RR
NEXT3:
LCALL
S2:
LCALL
SJMP
PINT0:
MO1:
MO2:
MO:
MO3:
MO4:
NEXT4:
RETI
DELAY:
LOOP1:
LOOP2:
LOOP3:
NOPP2,#01HNEXT1P2,#03HNEXT1P1.1,M4P2,#07HNEXT1P2,#0FHC,P1.2PSW.2,CC,P1.3PSW.6,CPSW.2,RA,P2AP2,ANEXT3A,P2AP2,APSW.6,S2DELAYDELAYNEXT20200HP1.0,MOP1.1,MO2P2,#01HNEXT4P2,#03HNEXT4P1.1,MO4P2,#07HNEXT4P2,#0FHC,P1.2PSW.2,CC,P1.3PSW.6,CR5,#05HR6,#64HR7,#0FFH//闪动方式1,1个灯循环移动////闪动方式2,2个灯循环移动//////闪动方式3,3个灯循环移动////闪动方式4,4个灯循环移动////将P1.2(K3)的状态送给PSW.2////将P1.3(K4)的状态送给PSW.6//判断PSW.2(K3)状态选择循环方向////////////////判断开关PSW.6(K4)状态选择闪动速度//////循环执行闪动程序//中断程序//判断P1.0(K1)和P1.1(K2)状态选择闪动方式////闪动方式1,1个灯循环移动////闪动方式2,2个灯循环移动//////闪动方式3,3个灯循环移动////闪动方式4,4个灯循环移动////将P1.2(K3)的状态送给PSW.2////将P1.3(K4)的状态送给PSW.6//返回主程序//延时程序,延时0.5s
NOPDJNZDJNZDJNZRETENDR7,LOOP3R6,LOOP2R5,LOOP1//返回
实验三七段LED数码管控制实验
实验采用4位一体的数码管,用P1口通过驱动芯片控制段码输出信号线,P0口通过驱动芯片控制位选线,自主选择驱动芯片,设计实现电路,并实现以下功能:
(1)当开关K0接低电平时,第一位依次显示0~F,然后第二位、第三位、第四位,再循环回第一位。
(2)当开关K0接高电平时,四位动态显示“HELP”。
ORG0000H
LJMPMAIN
ORG0100H
SETBP2.0
JNBP2.0,M2
MOVP0,#10001000B
MOVP1,11111100B
MOVR0,#4
MOVA,P0
RLA
MOVP0,A
MOVDPTR,#NUM2
MOVA,#1
MOVCA,@A+DPTR
MOVP1,A
DJNZR0,NEXT2
AJMPNEXT1
NUM1:
DB11111100B,01101110B,10011110B,0001110B,11001110B
MOVP1,#00000000B
MOVR0,#15
MOVR1,#0
CLRP2.1
MOVA,R1
INCR1
LCALLDELAY
DJNZR0,NEXT4
SETBP2.1
MOVR0,#15
CLRP2.2
NEXT5:
DJNZR0,NEXT5
SETBP2.2
CLRP2.3
NEXT6:
DJNZR0,NEXT6
SETBP2.3
CLRP2.4
NEXT7:
DJNZR0,NEXT7
SETBP2.4
AJMPM2
NUM2:
DB11111100B,01100000B,11011010B,01100110B,10110110B
DB10111110B,11100000B,1111110B,11110110B,11101110B
DB11111110B,10011100B,11111110B,10011110B,10001110B//0-FDELAY:
MOVR5,#05
MOVR6,#100
MOVR7,#0FFH
NOP
NOP
DJNZ
RET
ENDR7,LOOP3R6,LOOP2R5,LOOP1
实验四定时器中断实验
实现一个4位秒表:
(1)用开关K0模拟秒表的启动、停止、清零功能,按一次启动计时,按一次停止,再按一次清零,在三个状态中循环。
(2)最低位按1/10秒计数,依次计数单位为1/10秒,1秒,1分。
(3)要求K0使用外部中断,优先级高于T0的优先级。
ORGAJMPORGAJMPORGAJMPORGMAIN:
MOVMOVMOVSETBSETBSETBSETBSETBCLRMOVMOVMOVMOVMOVMOVMOVLOOP:
CJNELOOP1:
MOVMOV
MOV0000HMAIN0003HX_0000BHT_00040HTMOD,#01HTH0,#0B8HTL0,#00HET0IT0PX0EX0EAAR1,AR2,AR3,AR4,AR5,AR6,AR0,#0R0,#1,LOOPDPTR,#NUMR1,#03HR7,#11110111B
MOVMOVCMOVMOVMOV
ACALLA,@R1A,@A+DPTRP0,#0FFHP2,AP0,R7LOOP3MOVRRMOVINCCJNEAJMPNUM:
DBDBLOOP3:
DJNZRETORGX_0:
INCCJNESETBRETISTOP:
CJNECLRRETICLRE:
CLRMOVMOVMOVMOVMOVMOVMOVRETIORGT_0:
MOVMOVINCCJNEMOVINCCJNEMOVINC
CJNEA,R7AR7,AR1R1,#07H,LOOP2LOOP111111100B,01100000B,11011010B,11110010B,01100110B10110110B,10111110B,11100000B,11111110B,11110110BACC,$0100HR0R0,#1,STOPTR0R0,#2,CLRETR0AR0,AR1,AR2,AR3,AR4,AR5,AR6,A0200HTL0,#00HTH0,#0B8HR2R2,#10,T0_RR2,#0R3R3,#10,T0_RR3,#0R4R4,#10,T0_R
T0_R:
MOVINCCJNEMOVINCCJNEMOVRETIENDR4,#0R5R5,#6,T0_RR5,#0R6R6,#10,T0_RR6,#0
实验五脉冲宽度与周期测量实验
P1.0接开关K0,K0断开测量脉冲宽度,K0导通测量脉冲周期,将测试结果显示在4位数码管上,单位为μs。
:
LP1:
LP2:
JNB
LP3:
JNB
LP4:
NEXT:
CLR
DIV
CLR
SUBB0000HMAIN000BHINT_T00040HR7,#0TMOD,#02HTH0,#47HTL0,#47HET0EAP3.2,LP1P3.2,LP2TR0P3.2,LP3P1.0,NEXTP3.2,LP4TR0A,R7B,#10ABR0,AR1,BA,TL0CA,#47H