《单片机原理及应用》实验报告Word下载.docx
- 文档编号:18009646
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:14
- 大小:33.67KB
《单片机原理及应用》实验报告Word下载.docx
《《单片机原理及应用》实验报告Word下载.docx》由会员分享,可在线阅读,更多相关《《单片机原理及应用》实验报告Word下载.docx(14页珍藏版)》请在冰豆网上搜索。
END
3、将相应的.hex文件下载到AT89S52单片机芯片内部,观察指示灯LS1~LS8的运行结果。
4、分析以下程序段,编译、下载后,观察运行结果跟上述程序有何区别。
程序1.2:
MAIN:
CALLDELAY
;
---显示延时----------
DELAY:
MOVR1,#0FFH
DELAY1:
MOVR2,#0FFH
DELAY2:
NOP
DJNZR2,DELAY2
DJNZR1,DELAY1
RET;
延时返回
5、在程序1.2的基础上,修改成从LS1~LS8依次点亮的流水灯程序,下载到单片机芯片中,观察实际运行结果。
四、思考题
1、如果程序编译后,在项目文件夹内找不到.hex文件,一般问题出在哪里?
、
2、P0.0~P0.7口置0、置1跟LS1~LS8的亮、灭有何关系?
为什么?
3、P0口如果改作为输入口,编程时应该注意什么?
实验二T0或T1定时器、计数器实验
1、掌握定时器T0或T1的工作方式;
2、掌握利用对定时器溢出的查询,实现定时的编程方法。
1、在Keil软件中,输入下列程序,编译、下载,观察实验板中LS1的工作状况。
单片机晶振12MHz,则程序2.1使LS1亮、灭的周期是多少?
程序2.1
MOV40H,#50
MOVTMOD,#10H
MOVTL1,#0B0H
MOVTH1,#3CH
SETBTR1;
启动T1
LP:
JBCTF1,LP2
AJMPLP
LP2:
MOVTL1,#0B0H;
重新设置计数初值
MOVTH1,#3CH
DJNZ40H,LP
MOV40H,#50
CPLP0.0
SJMPLP
END
2、修改程序2.1,使P0.7口接的LS8每隔0.5秒亮、灭一次,程序写入实验报告。
3、在上述程序基础上,改写实验一的流水灯程序,每隔1秒,从LS1~LS8依次闪亮一次,不断循环,程序写入实验报告。
1、如果单片机晶振频率改成6MHz,T0定时器在工作方式0,从0开始溢出一次,需要多少时间?
2、计数器和定时器差别在什么地方?
实验三中断实验
1、熟悉MCS-51单片机中断的编程方法;
2、利用定时器溢出中断产生定时的编程方法。
1、在Keil软件中,输入下列程序,编译、下载,观察实验板中指示灯工作状况。
已知晶振12MHz,则P0.7口指示灯闪烁的频率为多少?
程序3.1
ORG0000H
LJMPMAIN
ORG001BH;
定时器T1中断入口地址
AJMPINTT1
ORG0100H
MOVP0,#00H
MOVTMOD,#10H
MOVTH1,#3CH
MOVTL1,#0B0H
MOVIE,#88H
SETBTR1;
LP:
SJMPLP
ORG60H
INTT1:
MOVTH1,#3CH;
中断服务程序
CPLP0.7
RETI
2、在程序3.1的基础上,编写1秒钟闪烁切换间隔的流水灯程序,循环顺序来回切换,即LS1->
LS2->
…->
LS8,再切换成LS8->
LS7->
LS1
1、MCS-51有几个中断源,编写中断服务程序都有何规范?
2、定时器中断和查询两种工作方式都能实现定时,各有什么特点?
实验四单片机控制蜂鸣器实验
1、掌握单片机对利用蜂鸣器的控制方法;
2、结合定时器,产生定时的蜂鸣;
3、掌握蜂鸣器产生音乐的编程方法。
1、蜂鸣器接在P2.0口上,实验前接上跳线J12;
2、利用定时器实验的程序,每隔5秒,产生一次鸣叫,持续1秒,程序写入报告;
3、分析下面利用蜂鸣器产生音乐的程序4.1“兰花草”。
上网搜索更多的音乐,改写程序4.1,发出相应的音乐声。
1、伪指令DB、DW有什么作用?
2、“兰花草”程序中,用到了什么中断?
入口地址在哪里?
实验五交通灯控制实验
1、掌握键盘与数码管显示的基本方法;
2、掌握单片机程序综合设计的方法。
1、分析键盘程序5.1和数码管显示程序5.2。
程序5.1
程序名:
MCS51实验板配套程序-74HC165实验
功能:
读取74HC165并口上的键盘数据,同时判断键盘值进行led的开关
8个单键分别接在74HC165的并行口,相关连接见如下管脚定义,更详细见原理图。
------定义-----------------------------------
plbitP3.6;
165锁存
clkbitP3.7;
165时钟
DobitP3.5;
165数据
keyvarequ20h;
读取的键盘数据放到20H中
;
为便于以下程序直接使用S1-S8按钮,这里也要定义一下按钮的名称
s1bitkeyvar.0;
对应s1,下同
s2bitkeyvar.1
s3bitkeyvar.2
s4bitkeyvar.3
s5bitkeyvar.4
s6bitkeyvar.5
s7bitkeyvar.6
s8bitkeyvar.7
------使用实例------------------------------
main:
lcallRkey;
使用键盘前要读一次键盘值,仅这一点和直接连接的按键不同
jnbs1,key0;
到按键1按下处理,接下来和一般的直连按键使用方法一样
jnbs2,key1;
到按键2按下处理
ajmpmain
key0:
lcallDelay;
有必要的话要加上键抖延时
延时后再读键盘
jnbs1,key0_Dow;
再次判断的确是s1按下,到按下处理
-------一下程序和普通直接连接按键的处理方法相同------
key1:
去键抖延时
jnbs2,key1_Dow;
再次判断的确是s2按下,到按下处理
key0_Dow:
cplp0.0;
翻转LS1
k1l:
lcallRkey
jnbs1,k1l;
判断按键是否抬起,否则程序会重复读键
key1_Dow:
cplp0.1;
翻转LS2
k2l:
lcallRkey
jnbs2,k2l;
判断按键是否抬起,否则程序会重复读键
------读键盘子程序---------------------------
Rkey:
clrpl
setbpl;
-|_|-装入
movr0,#8;
读8位
loop:
movc,Do;
提取1位
rlca
setbclk
clrclk;
_|-|_时钟
djnzr0,loop
movkeyvar,a;
保存键盘值
ret
------延时程序--------------------------------
Delay:
movr1,#25
L1:
movr0,#200
djnzr0,$
djnzr1,L1
ret
end
程序5.2
MCS51U实验板配套程序-显示部分
在数码显示器上显示“1234”,以及LED灯显示10100101二进制。
电路介绍:
显示由一片74HC595驱动4位共阴数码管
详细连接见下面管脚定义,实验前要连接J13
********************************************************************
datbitp1.0;
定义驱动74595的数据脚为p1.0
clkbitp1.1;
74595的时钟
latbitp1.2;
栓锁
gwbitp1.3;
个位显示控制脚
swbitp1.4;
十位
bwbitp3.3;
百位
qwbitp3.4;
千位
sjgwequ30h;
显示数据存储器
sjswequ31h
sjbwequ32h
sjqwequ33h
--------------------------------
movsp,#40h
movp1,#0fh
movp0,#5ah;
显示10100101二进制
main:
显示1234这个数
movsjgw,#4;
个位显示4
movsjsw,#3;
十位显示3
movsjbw,#2;
百位显示2
movsjqw,#1;
千位显示1
abc:
lcalldisplay;
调用显示子程序
ljmpabc;
循环显示
************************************************************************
74HC595显示程序,使用RS1=1,RS0=0的1区
---------------------------------------------------------
display:
PUSHACC;
保存ACC
pushpsw
clrrs1
setbrs0;
使用第一区工作寄存器
movdptr,#xstab
mova,sjgw;
取得数据
movca,@a+dptr;
提取字模
acalldsout;
调用送出子程序
clrgw
acallds1ms;
调用显示1ms延时程序
setbgw
mova,sjsw
送出
clrsw
显示1ms
setbsw
mova,sjbw
clrbw
setbbw
mova,sjqw
clrqw
显示1ms
setbqw
poppsw
POPACC;
出栈
ret;
返回调用
---送出循环----------
dsout:
8位
dloop:
rlca;
高位在前
movdat,c;
送出1位
clrclk
djnzr0,dloop;
循环8次
setblat;
clrlat;
锁存
RET
ds1ms:
movr1,#10
ds1lo:
movr2,#100
djnzr2,$
djnzr1,ds1lo
延时返回
显示字表(共阴)
xstab:
DB3FH,06H,5BH,4FH;
"
0"
"
1"
2"
3"
DB66H,6DH,7DH,07H;
4"
5"
6"
7"
DB7FH,6FH,77H,7cH;
8"
9"
A"
B"
DB39H,5eh,79h,71h;
C"
D"
E"
F"
2、设计一个模拟路口交通灯的程序,P0.0红灯、P0.1为黄灯、P0.2为绿灯,按键S1启动,在数码管上显示倒计时。
30秒红灯;
3秒黄灯;
30秒绿灯。
之后全部熄灭。
再按下S1,再重复一次。
程序调试成功,当场演示,并写入实验报告。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机原理及应用 单片机 原理 应用 实验 报告