单片机课程实验报告模板.docx
《单片机课程实验报告模板.docx》由会员分享,可在线阅读,更多相关《单片机课程实验报告模板.docx(46页珍藏版)》请在冰豆网上搜索。
![单片机课程实验报告模板.docx](https://file1.bdocx.com/fileroot1/2023-4/18/cd22ad1e-cda5-4b0a-8dc8-1cefc5434754/cd22ad1e-cda5-4b0a-8dc8-1cefc54347541.gif)
单片机课程实验报告模板
单片机课程实验报告
班级:
电子1011
学号:
10304133
姓名:
杨杏杏
指导老师:
陈杰
实验一:
单灯闪烁
实验目的
1.熟悉单片机I/O接口的线路连接。
2.学习仿真器的使用方法。
3.学习单片机I/O接口的控制方法。
实验器材
一个470欧姆的电阻,一个二极管,一个+5V电源,一个AT89C51。
实验原理
一个470欧姆的电阻,一个二极管,一个+5V电源,一个AT89C51,KeiluVision2软件,ISIS7Professional软件。
软件程序
ORG0000H
STARTP1.0
ACALLDELAY
SETBP1.0
ACALLDELAY
AJMPSTART
DELAY:
MOVR5,#4
D1:
MOVR6,#200
D2:
MOVR7,#123
NOP
DJNZR7,$
DJNZR6,D2
DJNZR5,D1
RET
END
硬件电路
效果描述
单片机的P1.0控制1只LED灯,实现其亮灭的变化,间隔0.2s.操作截图
操作截图
实验体会
通过这次实验可以我们可以知道:
(1)这是通过指令来实现的,如果使用了某条指令,CPU在执行该指令时就会完成相应的操作,通过指令能实现对单片机I/O接口或其他外部设备的控制。
计入,P1.0表示从P1.0引脚输出高电平“1”,CLRP1.0表示从P1.0引脚输出低电平“0”.
(2)随着电阻值的增大,灯泡变暗(3)发现问题要及时解决,不能拖延,可以请教老师和同学。
实验二:
炮马灯设计
实验目的
1.进一步熟悉单片机I/O接口的线路连接。
2.学习数据传送指令和位移指令的应用。
3.学习单片机输出口的控制。
4.进一步熟悉仿真器的使用方法。
5.学习程序固化及系统脱机运行的方法。
实验器材
一个+5V电源,八个二极管,八个470欧姆的电阻,一个AT89C51,KeiluVision2软件,ISIS7Professional软件。
实验原理
1.用单片机的P1口控制8只LED灯,每次点亮两只,完成P1.0P1.1→P1.2P1.3→P1.4P1.5→P1.6P1.7→P1.0P1.1的循环闪烁,时间间隔0.2s。
软件程序
ORG
START:
MOVA,#3FH
MAIN:
RLA
RL,A
MOVP1,A
ACALLDELAY
AJMPMAIN
DELAY:
MOVR5,#4
D1:
MOVR6,#200
D2:
MOVR7,#123
NOP
DJNZR7,$
DJNZR6,D2
DJNZR5,D1
RET
END
硬件电路
效果描述
1.单片机的P1口控制8只LED灯,每次点亮两只,完成P1.0P1.1→P1.2P1.3→P1.4P1.5→P1.6P1.7→P1.0P1.1的循环闪烁,时间间隔0.2s。
操作截图
实验体会
1.通过本次试验可以知道:
只要保证每次从P1口送出的数据中有两个保持电平,就可以将相应的灯点亮。
2.单片机的P1口控制8只LED灯,每次点亮两只,完成P1.0P1.1→P1.2P1.3→P1.4P1.5→P1.6P1.7→P1.0P1.1计进一步加深了。
实验三:
以循环方式实现流水灯
实验目的:
1.进一步熟悉单片机I/O接口的线路连接。
2.学习循环的编程技术。
实验器材
一个+5V电源,八个二极管,八个470欧姆的电阻,一个AT89C5,KeiluVision2软件,ISIS7Professional软件1。
实验原理
实验要求用单片机的P1口控制8只LED灯,每次点亮两只,完成P1.0→P1.1→P1.2→P1.3→P1.4→P1.5→P1.6→P1.7的一次单灯点亮,间隔0.2s,接下来8只LED灯全灭一次,间隔0.2s;接着做P1.7→P1.6→P1.5→P1.4→P1.3→P1.2→P1.1→P1.0的一次点亮,间隔0.2s,接下来0000H灭一次,间隔0.2s,再从开始状态循环,8只LED灯呈现出流水灯的状态。
软件程序
ORG0000H
START:
MOVA,#0
FFH
MOVR0,#8
CLRC
LOOP1:
RLCA
MOVP1,A
ACALLDELAY
DJNZR0,LOOP1
MOVA,#0FFH
MOVP1,A
ACALLDELAY
MOVA,#0FFH
MOVR0,#8
CLRC
LOOP2:
RRCA
MOVP1,A
ACALLDELAY
DJNZR0,LOOP2
MOVA,#0FFH
MOVP1,A
ACALLDELAY
AJMPSTART
DELAY:
MOVR5,#4
D1:
MOVR6,#200
D2:
MOVR7,#123
NOP
DJNZR7,$
DJNZR6,D2
DJNZR5,D1
RET
END
硬件电路
效果描述
单片机的P1口控制8只LED灯,每次点亮两只,完成P1.0→P1.1→P1.2→P1.3→P1.4→P1.5→P1.6→P1.7的一次单灯点亮,间隔0.2s,接下来8只LED灯全灭一次,间隔0.2s;接着做P1.7→P1.6→P1.5→P1.4→P1.3→P1.2→P1.1→P1.0的一次点亮,间隔0.2s,接下来8只LED灯全灭一次,间隔0.2s,再从开始状态循环,8只LED灯呈现出流水灯的状态。
操作截图
实验体会
1.通过本次试验我更加熟悉了I/O接口的线路连接。
2.学会了制作灯的循环点亮。
3.我对本次实验有了更深层的理解。
实验四:
中断控制流水灯
实验目的
1.学习外部中断的基本方法。
2.掌握中断处理程序的编制方法。
3.实验器材
一个+5V电源,八个二极管,八个470欧姆的电阻,一个AT89C51,KeiluVision2软件,ISIS7Professional软件。
实验原理
在程序正常运行时,P1口的8个LED灯座单灯左移8次之后单灯右移7次,如此循环;中断时(即I/N/T/O/)按键按下)P1口的8个LED灯闪烁3次(即全亮,全灭3次)。
软件程序
ORG0000H
LJMPSTART
ORG0003H
LJMPINT_0
ORG0100H
START:
MOVSP,#60H
MOVIE,#81H
SETBIT0
L1:
MOVA,#0FFH
MOVR0,#8
CLRC
L2:
RLCA
MOVP1,A
ACALLDELAY
DJNZR0,L2
MOVR0,#7
L3:
RRCA
MOVP1,A
ACALLDELAY
DJNZR0,L3
AJMPL1
DELAY:
MOVR5,#4
D1:
MOVR6,#200
D2:
MOVR7,#123
NOP
DJNZR7,$
DJNZR6,D2
DJNZR5,D1
RET
INT_0:
PUSHPSW
PUSHACC
SETBRS0
MOVA,#00H
MOVR2,#6
L4:
MOVP1,A
LCALLDELAY
CPLA
DJNZR2,L4
POPACC
POPPSW
RETI
END
硬件电路
效果描述
程序正常运行后,P1口德8个LED灯做单灯左移8次,之后再做右移7次,如此循环;中断时即按下开关,P1的8个LED灯闪烁3次,即全亮全灭。
操作截图
实验体会
1.中断控制流水灯的主要任务是8个LED灯循环左移,右移;在终端服务程序中完成的功能是8个灯闪烁3次。
2.中控制流水灯的闪烁后,我对流水灯的理解进一步加深。
对实训有了更大的兴趣。
实验五:
音乐门铃实验
实验目的
1.掌握终端与定时/技术中和程序的设计方法。
2.学习音乐门铃的设计过程。
实验器材
一个+5V电源,一个喇叭,一个LM386,五个接地电源,一个470欧姆电阻和一个10K欧姆电阻,一个0.0047uF二极管,一个0.1uF二极管,一个10uF二极管,一个47uF二极管和一个AT89C51,KeiluVision2软件,ISIS7Professional软件。
实验原理
利用程序来控制单片机某个口线的高电平或低电平,则在该口上就能产生一定频率的方波,接上喇叭就能发出一定频率的声音,若再利用延时程序控制干低电平的持续时间,就能改变输出频率,从而改变音调。
软件程序
ORG0000H
LJMPMAIN
ORG001BH
LJMPTIM1
ORG0100H
MAIN:
MOVTMOD,#10H
MOVIE,#88H
MAIN1:
MOV60H,#00H
NEXT:
MOVA,60H
MOVDPTR,#TABLE
MOVCA,@A+DPTR
MOVR1,A
JZSTOP
ANLA,#0FH
MOVR6,A
MOVA,R1
SWAPA
ANLA,#0FH
JNZSING
CLRTR1
AJMPDT
SING:
DECA
MOV22H,A
RLA
MOVDPTR,#TABLE1
MOVTH1,A
MOV21H,A
MOVA,22H
RLA
INCA
MOVCA,@A+DPTR
MOVTL1,A
MOV20H,A
SETBTR1
DT:
LCALLDELAY
INC60H
AJMPNEXT
STOP:
CLRTR1
AJMPMAIN1
TIM1:
PUSHACC
PUSHPSW
MOVTH1,21H
MOVTL1,20H
CPLP1.0
POPPSW
POPACC
RETI
DELAY:
MOVR5,#2
D2:
MOVR4,#187
D3:
MOVR3,#248
DJNZR3,$
DJNZR4,D3
DJNZR5,D2
DJNZR6,DELAY
RET
TABLE1:
DW64260,64400,64524,64580
DW64684,64777,64820,64898
DW64968,65030,65058,65110
DW65157,65178,65217
TABLE:
;1
DB82H,01H,81H,94H,84H
DB0B4H,0A4H,04H
DB82H,01H,81H,94H,84H
DB0C4H,0B4H,04H
;2
DB82H,01H,81H,0F44H,0D4H
DB0B4H,0A4H,94H
DB0E2H,01H,0E1H,0D4H,0B4H
DB0C4H,0B4H,04H
DB00
END
硬件电路
效果描述
按下开关,即可弹奏出美妙的“生日快乐“歌曲。
操作截图
实验体会
1.通过本次试验,我掌握了中断定时/技术综合程序的方法。
2.更深一层的了解了音乐门铃的制作过程。
实验六:
交通路口读秒计时显示器
实验目的
1.学习LED数码管的驱动方法。
2.掌握两位LED数码管的编制方法
3.掌握单片机基本I/O口的控制应用
实验器材
一个89C51,两个7447,四个+5V电源,十六个470欧姆的电阻。
,两个SEG,KeiluVision2软件,ISIS7Professional软件。
实验原理:
利用两只共阳极的LED数码管模拟交通路口的读秒显示器,一60s为例。
用AT89C51芯片的P1.0—P1.3经7447扩展个位的七段显示器,P1.4—P1.7经7447扩展个位的十段显示器。
软件程序
ORG0000H
AJMPMAIN
ORG0001H
MAIN:
MOVR4,#60H
LOOP:
MOVP1,R4
LCALLDELAY
MOVA,R4
CLRC
SUBBA,#01H
JBAC,BCD
MOVR4,A
AJMPLOOP
BCD:
JCMAIN
SUBBA,#06H
MOVR4,A
AJMPLOOP
DELAY:
MOVR5,#50
D1:
MOVR6,#50
D2:
MOVR7,#248
DJNZR7,S
DJNZR6,D2
DJNZR5,D1
RET
END
硬件电路
效果描述
按下开关,交通灯呈现出0—9的动态显示。
操作截图
实验体会
我在本次实验中学习LED数码管的驱动方法,掌握两位LED数码管的编制方法,以及单片机基本I/O口的控制应用。
另外当实验顺利完成时我特别有成就感。
实验七:
矩阵式键盘的扩建
实验目的
1.熟悉矩阵式键盘扫描的基本原理。
2.学习单片机基本I/O口真是键盘的电路设计方法。
3.学习矩阵式键盘程序设计基本方法。
实验器材
一个+5V电源,四个200欧姆的电阻,四个二极管,一个AT89C51,16个开关,KeiluVision2软件,ISIS7Professional软件。
实验原理
1.用P1口扩展4*4矩阵式键盘,简直分别为0—15,bingjiangP1口所读的键值(二进制数)从P2.0—P2.3显示出来。
2.四位发光二极管分别代表4位二进制数,二进制中的数码“1”用发光二极管亮来表示,数码“0”用发光二极管灭来表示。
例如:
若1号键被按下,则发光二极管L1亮,,L2—L4灭(0001B);若6号键被按下,则发光二极管L2和L3亮,L12和L4灭,依此类推,L4灭0001B),依此类推。
软件程序
ORG0000H
AJMPMAIN
ORG0100H
MAIN:
MOVR1,#00H
MOVR2,#00H
MOVR4,#04H
MOVR5,#11111110B
MOVA,R5
LOOP:
MOVP1,A
ORLP1,#0F0H
MOVA,P1
LCALLDELAY
MOVR3,#04H
MOVR2,#00H
SETBC
LOOP1:
RLCA
JNCDISPLAY
INCR2
DJNZR3,LOOP1
MOVA,R5
RLA
MOVR5,A
INCR1
DJNZR4,LOOP
LJMPMAIN
DISPLAY:
MOVA,R1
MOVB,#04H
MULAB
ADDA,R2
CPLA
MOVP2,A
LJMPMAIN
DELAY:
MOVR6,#0C8H
D1:
MOVR7,#0A0H
DJNZR7,$
DJNZR6,D1
RET
END
硬件电路
效果描述
若1号键被按下,则发光二极管L1亮,L2—L4灭(0001B);若6号键被按下,则发光二极管L2和L3亮,L12和L4灭,依此类推,L4灭0001B),依此类推。
操作截图
(6号键被按下,L2和L3亮)
(1号键被按下,L1亮,L2—L4灭)
实验体会
1.通过本次试验,我熟悉了矩阵式键盘的基本原理。
2.学习了单片机基本I/O口扩展矩阵式键盘的电路设计方法及矩阵式键盘程序设计的基本方法。
3.另外,在实验中遇到不懂的地方要尽快的想办法解决,不能拖延。
实验八:
独立式案件
实验目的:
1.熟悉独立式按键程序设计的基本方法。
2.学习单片机I/O接口的控制方法。
实验器材:
一个+5V电源,一个接地,三个470欧姆的电阻,三个二极管,一个AT89C51,三个开关,KeiluVision2软件,ISIS7Professional软件
实验原理:
软件程序
voidDelay(uintdel)
{
uinti,j;
for(i=0;ifor(j=0;j<1827;j++)
;
}
voidKEY()
{
if(KEY1==0||KEY2==0||KEY3==0)
{
Delay
(2);
if(KEY1==0||KEY2==0||KEY3==0)
{
if(KEY1==0)
{
LED1=~LED1;
}
elseif(KEY2==0)
{
LED2=~LED2;
}
else
{
硬件电路
效果描述
按下第一个键第一个灯亮。
按下第二个键第二个灯亮。
按下第三个键第三个灯亮。
操作截图
实验体会
通过本次实验我熟悉独立式按键程序设计的基本方法,单片机I/O接口的控制方法,对单片机的掌握达到了更深一层的理解。
实验九:
小小显示屏
实验目的:
1学习8*8点矩阵显示器的使用。
2熟悉单片机基本I/O扩展8*8点矩阵显示器的基本原理。
3.掌握基本I/O的功能及编程方法。
实验器材:
KeiluVision2软件,ISIS7Professional软件,AT89C51,显示屏。
实验原理:
用P1口扩展8*8点矩阵显示器的列线,用P2口控制8*8点矩阵显示器的行线,用一片8*8共阳极点点矩阵显示器显示心形图案。
软件程序
ORG0100H
MAIN:
MOVDPTR,#TAB
MOVR3,#8
MOVR0,#11111110B
N1:
MOVP2,R0
CLRA
MOVCA,@A+DPTR
MOVP1,A
INCDPTR
LCALLDELAY
MOVA,R0
RLA
MOVR0,A
DJNZR3,N1
AJMPMAIN
TAB:
DB30H,48H,44H,22H,44H
DB48H,30H,00H
DELAY:
MOVR5,#1
D1:
MOVR7,#248
DJNZR7,$
DJNZR5,D1
RET
END
硬件电路
效果描述
运行时,LED显示器呈现美丽的心型。
操作截图
ORG0000H
AJMPMAIN
ORG0100H
MAIN:
MOVDPTR,#TAB
MOVR3,#8
MOVR0,#11111110B
N1:
MOVP2,R0
CLRA
MOVCA,@A+DPTR
MOVP1,A
INCDPTR
LCALLDELAY
MOVA,R0
RLA
MOVR0,A
DJNZR3,N1
AJMPMAIN
TAB:
DB30H,48H,44H,22H,44H
DB48H,30H,00H
DELAY:
MOVR5,#1
D1:
MOVR7,#248
DJNZR7,$
DJNZR5,D1
RET
END
实验体会
通过本次试验,我了解到,在实验中于遇到不会的地方并不可怕,关键是要即使解决问题。
小小显示屏实验给了我很大的收获,我不仅掌握了解决问题的方法,而且我的专业技能也大大提高。