单片机原理及应用实验指导书10级Word文档下载推荐.docx
《单片机原理及应用实验指导书10级Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《单片机原理及应用实验指导书10级Word文档下载推荐.docx(23页珍藏版)》请在冰豆网上搜索。
3.将LED轮流亮的程序编写完整并调试运行。
4.使用导线把A2区的J61接口的P1.0~P1.6与D1区的J52接口的LED1~LED7
相连另外A2区J61接口的P1.7与D1区的J53的KEY1相连原理如图B所示。
5.编写P1.7控制LED的程序并调试运行按下K1看是否全亮。
6.A2区J61接口的P1.7与D1区的J54的SW1相连然后再运行程序拨动开关MOD_SW1查看结果。
实验原理图
六实验预习要求
理解该实验的硬件结构,先参照汇编语言程序编好对应的C51程序,在KEILC51环境下进行软件仿真。
七实验参考程序
程序1;
ORG8000H;
此为硬件仿真调试程序使用软件仿真或直接运行应改为0000H
LJMPMain
ORG8100H;
此为硬件仿真调试程序使用软件仿真或直接运行应改为0100H
Main:
MOVA,#0FFH
CLRC
MainLoop:
CALLDelay
RLCA
MOVP1,A;
把A的值输出到P1口
SJMPMainLoop
Delay:
;
延时
MOVR7,#0
Loop:
MOVR6,#0
DJNZR6,$
DJNZR7,Loop
RET
END
C51程序1:
#include<
reg51.h>
intrins.h>
voiddelay(void)
{
unsignedchari,j,k;
for(i=2;
i>
0;
i--)
for(j=200;
j>
j--)
for(k=250;
k>
k--);
}
voidmain()
unsignedcharld=0xfe;
while
(1)
P1=ld;
delay();
ld=_crol_(ld,1);
程序2
JBP1.7,SETLED;
按键没有按下时跳转到SETLED
CLRLED:
CLRP1.0
CLRP1.1
CLRP1.2
CLRP1.3
CLRP1.4
CLRP1.5
CLRP1.6
SJMPMain
SETLED:
SETBP1.0
SETBP1.1
SETBP1.2
SETBP1.3
SETBP1.4
SETBP1.5
SETBP1.6
C51程序2:
sbitk1=P1^7;
sbitS6=P1^6;
sbitS5=P1^5;
sbitS4=P1^4;
sbitS3=P1^3;
sbitS2=P1^2;
sbitS1=P1^1;
sbitS0=P1^0;
main()
if(k1==0)
{S6=0;
S5=0;
S4=0;
S3=0;
S2=0;
S1=0;
S0=0;
else
{S6=1;
S5=1;
S4=1;
S3=1;
S2=1;
S1=1;
S0=1;
八实验思考
1.第二个程序中如果使用KEY1作为外部中断控制LED的亮和灭时,程序应如何修改.
2.试用本节知识,用P1口完成流水灯,左移,右移,闪烁,全亮的程序。
九完成实验报告。
实验二电子琴实验
利用实验仪上提供的按键K1~K7作为电子琴按键,控制蜂鸣器发声使用户了解计算机发声原理,熟悉定时器和键盘扫描电路的工作原理及编程方法。
二实验设备及器件
PC机一台
DP-51PRO单片机综合仿真实验仪一台
1.编写一段程序,用P3.3口控制(输出7种音阶标称频率的方波),使D4区的蜂鸣器发出不同的音调。
程序检测按键的状态,当某一键按下时,蜂鸣器发出对应的音调。
2.按照歌曲的音调使用D1区的按键K1~K7,弹奏一首简单的音乐。
四实验步骤
1.用导线将A2区J58接口P3.3口INT1和D4区的J8接口相连,然后将D1区的J53接口和A2区的J61接口一一对应相连。
如图2.1所示。
图2.1实验原理图
2.编写按键的动态键盘扫描程序,根据不同音阶的频率编写蜂鸣器的音调控制程序,然
后完成电子琴的主程序设计。
3.调试编写好的程序,然后使用键盘演奏一段好听的音乐。
五实验参考程序
BUZZEQUP3.3;
端口定义
ORG8000H
LJMPMAIN
ORG800BH
LJMPINT_T0
ORG8100H
MAIN:
MOVSP,#60H;
初始化堆栈指针
MOVP1,#0FFH;
设置P1口为输入模式
MOVTMOD,#01H;
设置定时器0为工作模式1
SETBET0;
开定时器0中断
SETBEA;
开总中断
CLRTR0;
关闭定时器0
START:
MOVR0,P1
CJNER0,#0FFH,KEY1;
键盘扫描
CLRTR0
SJMPSTART
KEY1:
CJNER0,#0FEH,KEY2;
K1键按下
MOV30H,#0FBH;
设置音阶1
MOV31H,#0E9H
LJMPSET_TIMER
KEY2:
CJNER0,#0FDH,KEY3;
K2键按下
MOV30H,#0FCH;
设置音阶2
MOV31H,#5CH
KEY3:
CJNER0,#0FBH,KEY4;
K3键按下
设置音阶3
MOV31H,#0C1H
KEY4:
CJNER0,#0F7H,KEY5;
K4键按下
设置音阶4
MOV31H,#0EFH
KEY5:
CJNER0,#0EFH,KEY6;
K5键按下
MOV30H,#0FDH;
设置音阶5
MOV31H,#045H
KEY6:
CJNER0,#0DFH,KEY7;
K6键按下
设置音阶6
MOV31H,#92H
KEY7:
CJNER0,#0BFH,NOKEY;
K7键按下
设置音阶7
MOV31H,#0D6H
SET_TIMER:
SETBTR0;
发声
NOKEY:
无键按下
INT_T0:
;
T0中断服务程序
MOVTH0,30H;
定时器赋初值
MOVTL0,31H
CPLBUZZ;
输出方波
RETI
六实验思考题
结合实验仪上的硬件设计一个可以任意选曲播放的电子音乐盒
七完成实验报告
实验三串转并/并转串的i/o口实验
综合
1.熟悉并掌握串转并的I/O口扩展方法
2.熟悉并掌握并转串的I/O口扩展方法
1.写程序,通过单片机的P1口控制74HC164的串行输入端口,实现串并转换。
2.验证串并转换数据的正确性。
3.编写程序,通过单片机的P1口控制74HC165的串行数据输入端口,实现并串转换。
4.采用8位的拨码开关作为输入数据,验证程序设计的正确性。
1.熟悉串并转换芯片的工作原理,学会使用串并转换芯片扩展单片机的I/O口资源。
表3.174HC164真值表
2.熟悉并串转换芯片的工作原理,学会使用并串转换芯片扩展单片机的I/O口资源。
表3.274HC165真值表
串转并步骤
1.短接C5区JP10接口,将C5区J43接口与A2区J61接口的P10~P13对应相连(CLK对P10等等)如图3.1所示。
图3.1串并转换实验原理图
2.运行编写好的软件程序,完成一次串并转换。
3.使用C2区的逻辑笔或D1区的J52接口(LED指示灯)测试并行输出数据Q0~Q7数据的正确性。
并转串步骤
1.短接C4区JP11跳线,将C4区J90接口与A2区J61接口的P10~P15对应相
连(/PL对应连接P10等等)。
如图3.2实验原理图。
图3.2并串转换实验原理图
2.将D1区的J54接口连接到C4区J98并行数据输入接口,设置拨码开SW1~SW8的状态。
3.打开程序调试软件,下载运行编写好的软件程序,完成一次并串转换操作,把拨码开关的状态读出来。
4.查看程序运行结果是否正确。
认真阅读本实验内容,提前做好实验准备工作。
程序1:
串转并程序
CLKEQUP1.0
DINAEQUP1.1
DINBEQUP1.2
CLR164EQUP1.3
设置堆栈指针
NOP;
设置以下端口的初始状态
CLRCLK;
CLK=0
SETBDINB;
DINB=1
CLRCLR164;
CLR=0输出端口清零
SETBCLR164;
CLR=1
MOVA,#0AAH;
用户输出数据初始化
MOVR4,#08H
SLCHG:
MOVDINA,C;
串行输出一位数据
SETBCLK;
置位时钟
NOP
CLRCLK
DJNZR4,SLCHG
SJMP$;
程序结束,完成一次串并转换
程序2:
并转串程序
PLEQUP1.0
CLK1EQUP1.1
CLK2EQUP1.2
SEREQUP1.3
Q7EQUP1.5
MOVR4,#00;
DJNZR4,$
MOVA,#0;
变量清零
SETBQ7;
Q=1,端口设置为输入状态
CLRSER;
SER=0
CLRCLK2;
CLK2=0
CLRPL;
/PL=0
锁存并行输入数据
SETBPL;
/PL=1
MOVR4,#08H;
设置循环变量
CLRCLK1
PLCHG:
MOVC,Q7;
读入一位串行数据
SETBCLK1;
时钟脉冲
DJNZR4,PLCHG
MOVR7,A;
保存数据8个拨码开关的状态保存于R7中
完成一次并串转换在此设置断点查看R7的内容
八.完成实验报告
实验四8×
8LED扫描输出实验
验证
使用户学会利用单片机的I/O口进行LED点阵的扫描显示。
DP-51PROC单片机综合仿真实验仪一台
编写一段程序,用P1口控制扫描,用C5区的74HC164控制显示输出,使C3区的8×
8点阵显示一个”×
”。
学会使用单片机对LED点阵进行扫描显示。
1.使用导线把A2区的J61接口与C3区的J46接口从P10~P17到LD_1~LD_8对应相连。
2.使用导线把C5区的J97接口与C3区的J47接口从Q0~Q7到LD_A~LD_H对应相连。
3.使用导线把A2区的J58接口和C5区的J43接口从INT0到CLK,从INT1到DINA,从T0到DINB,从T1到CLR对应相连,另外短接C5区JP10和C3区JP2。
4.编写一段从74HC164输出八位数据的程序。
5.再编写一个完整的LED点阵扫描程序,显示”×
六实验参考程序
CLKEQUP3.2
DINAEQUP3.3
DINBEQUP3.4
CLEAREQUP3.5
AJMPMAIN
MOVSP,#70H
MOV50H,#07EH
MOV51H,#0BDH
MOV52H,#0DBH
MOV53H,#0E7H
MOV54H,#0E7H
MOV55H,#0DBH
MOV56H,#0BDH
MOV57H,#07EH
CLRCLEAR
SETBCLK
SETBDINA
SETBDINB
SETBCLEAR
MAINLOOP:
MOVR6,#8H
MOVDPTR,#09000H
MOVR1,#50H
FLASHCY:
MOVA,@R1
MOVR0,A
INCR1
CLRA
MOVCA,@A+DPTR
MOVP1,0FFH
LCALLSENDTO
MOVP1,A
INCDPTR
LCALLDELAY
DJNZR6,FLASHCY
SJMPMAINLOOP
SENDTO:
PUSHACC
CLRCLK
SENDTIME:
MOVR7,#08H
MOVA,R0
CLRC
SENDCY:
RRCA
MOVDINA,C
CLRCLK
DJNZR7,SENDCY
POPACC
RET
DELAY:
MOVR7,#01
DELAY0:
MOVR4,#17
DELAY1:
MOVR3,#28
DJNZR3,$
DJNZR4,DELAY1
DJNZR7,DELAY0
RET
OGR09000H
DB0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH
六实验思考
思考用并口的方式来完成本实验,并且改变图形。
七完成实验报告。
实验五步进电机控制实验
了解步进电机的工作原理。
掌握它的转动控制方式和高速方式。
DP-51PROC单片机综合仿真实验仪一台
1.编写程序,通过单片机的P1口控制步进电机的控制端,使其按一定的控制方式进行转动。
2.分别采用双四拍(AB→BC→CD→DA→AB)方式、单四拍(A→B→C→D→A)方式和单八拍(A→AB→B→BC→C→CD→D→DA→A)方式编程,控制步进电机的转动方向和转速。
3.观察不同控制方式下,步进电机转动时的振动情况和步进角的大小,比较这几种控制方式的优缺点。
四实验要求
学会步进电机的工作原理和控制方法,掌握一些简单的控制电路和基本的电机基础知识。
1.安装C10区JP6接口上的短路冒,将C10区的J41接口与A2区J61接口的P10~P13对应相连。
2.打开程序调试软件,下载运行编写好的软件程序,观察步进电机的转动情况。
3.修改步进电机的控制程序,再次运行程序,比较它们的不同控制效果。
六实验原理
BAEQUP1.0
BBEQUP1.1
BCEQUP1.2
BDEQUP1.3
ORG8000H
LJMPMAIN
ORG8100H
MOVSP,#60H
ACALLDELAY
SMRUN:
;
电机控制方式为单双八拍
MOVP1,#08H;
A
MOVP1,#0CH;
AB
MOVP1,#04H;
B
MOVP1,#06H;
BC
MOVP1,#02H;
C
MOVP1,#03H;
CD
MOVP1,#01H;
D
MOVP1,#09H;
DA
SJMPSMRUN;
循环转动
单步延时程序
MOVR4,#10
MOVR5,#250
DJNZR5,$
DJNZR4,DELAY1
END
八程序流程图
九实验思考
思考一下,怎么改变电机的转速。
十完成实验报告。