单片机原理及应用实验指导书10级.docx

上传人:b****4 文档编号:3486533 上传时间:2022-11-23 格式:DOCX 页数:23 大小:438.74KB
下载 相关 举报
单片机原理及应用实验指导书10级.docx_第1页
第1页 / 共23页
单片机原理及应用实验指导书10级.docx_第2页
第2页 / 共23页
单片机原理及应用实验指导书10级.docx_第3页
第3页 / 共23页
单片机原理及应用实验指导书10级.docx_第4页
第4页 / 共23页
单片机原理及应用实验指导书10级.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

单片机原理及应用实验指导书10级.docx

《单片机原理及应用实验指导书10级.docx》由会员分享,可在线阅读,更多相关《单片机原理及应用实验指导书10级.docx(23页珍藏版)》请在冰豆网上搜索。

单片机原理及应用实验指导书10级.docx

单片机原理及应用实验指导书10级

一、实验仪布局

图1DP-51PRO单片机综合仿真实验仪

二、调试前的准备工作

1.硬件环境

(1)拿出随机提供的串口通信电缆,一端连接TKSMonitor51仿真器的RS-232串行

通信口,而另一端则连接到PC机的串口上(COM1或COM2)。

(2)打开实验仪的工作电源,此时即为仿真调试准备好了硬件环境。

2.软件调试环境的设置

(1)双击KeilC51快捷图标,进入KeilC51集成开发环境,这时KeilC51集成环境自动打开上次正确退出时所编辑的工程项目文件,如图2所示。

图2KeilC51集成开发环境界面

(2)点击菜单栏上的Project项,会弹出下拉式菜单,这时选择Optionfortarget‘target1’将出现如图3所示的调试环境设置界面

图3调试环境设置窗口

(3)第1项Target属性的设置,对于在TKSMonitor51仿真器上进行的仿真、调试,由于MON51监控程序已经占用了从0000H-7FFFH地址单元的程序存储空间,因此用户的应用程序必须从8000H地址单元开始存放,即用户应设置Off-ChipCodeMemory栏内的Eprom选项。

具体配置请见图3,对于第4项“C51”的配置请按图4进行设置。

图4C51属性栏的设置

(4)Debug环境的设置:

首先选择Debug项,进入如图5所示的设置画面,这时就可以对其中的每项进行具体设置了,当然您完全可以按照图5进行设置(要点:

在该选项中UseSimulator是软件模拟仿真,它只能对程序的语法及其结构做一般性的分析,与硬件没有联系;而Use选项则是硬件仿真,且根据所选用的驱动而使用不同的硬件仿真方式,对于TKSMonitor51仿真器而言应该选择KeilMonitor-51Driver选项)。

同时它的Settings项还为我们提供了一个串口通信设置环境,通过它我们可以灵活设置串行通信的端口和波特率,其设置环境如图6所示,但请注意:

由于在调试模式下,TKSMonitor51仿真器需要与上位机进行通信,因此它们的通信协议必须一致,波特率也必须相同且为9600bps。

图5Debug调试环境设置

图6串口属性设置

(5)至于其它的选项用户可按默认值进行设置或不用设置最后点击确定加以确认。

 

实验一单片机I/O口控制实验

实验学时:

2学时

实验类型:

演示

实验要求:

必修

一实验目的

利用单片机的P1口作I/O口,学会利用P1口作为输入和输出口。

二实验设备和器件

PC机一台

DP-51PRO单片机综合仿真实验仪一台

三实验内容

1.编写程序,用P1口作为控制端口,使D1区的LED轮流亮。

2.编写程序,用P1.0~P1.6口控制LED,P1.7口控制LED的亮和灭(P1.7口接按键,按下时LED亮,不按时LED灭)。

四实验要求

学会使用单片机的P1口作为I/O口。

也可以利用P3口完成该实验,完成实验报告。

五实验步骤

1.用导线把A2区的J61接口与D1区的J52接口相连原理如图A所示。

2.先编写一个延时程序。

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,$

DJNZR6,$

DJNZR6,$

DJNZR7,Loop

RET

END

C51程序1:

#include

#include

voiddelay(void)

{

unsignedchari,j,k;

for(i=2;i>0;i--)

for(j=200;j>0;j--)

for(k=250;k>0;k--);

}

voidmain()

{

unsignedcharld=0xfe;

while

(1)

{

P1=ld;

delay();

ld=_crol_(ld,1);

}

}

程序2

ORG8000H;此为硬件仿真调试程序使用软件仿真或直接运行应改为0000H

LJMPMain

ORG8100H;此为硬件仿真调试程序使用软件仿真或直接运行应改为0100H

Main:

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

SJMPMain

END

C51程序2:

#include

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口完成流水灯,左移,右移,闪烁,全亮的程序。

九完成实验报告。

实验二电子琴实验

实验学时:

2学时

实验类型:

演示

实验要求:

必修

一实验目的

利用实验仪上提供的按键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

LJMPSET_TIMER

KEY3:

CJNER0,#0FBH,KEY4;K3键按下

MOV30H,#0FCH;设置音阶3

MOV31H,#0C1H

LJMPSET_TIMER

KEY4:

CJNER0,#0F7H,KEY5;K4键按下

MOV30H,#0FCH;设置音阶4

MOV31H,#0EFH

LJMPSET_TIMER

KEY5:

CJNER0,#0EFH,KEY6;K5键按下

MOV30H,#0FDH;设置音阶5

MOV31H,#045H

LJMPSET_TIMER

KEY6:

CJNER0,#0DFH,KEY7;K6键按下

MOV30H,#0FDH;设置音阶6

MOV31H,#92H

LJMPSET_TIMER

KEY7:

CJNER0,#0BFH,NOKEY;K7键按下

MOV30H,#0FDH;设置音阶7

MOV31H,#0D6H

SET_TIMER:

SETBTR0;发声

SJMPSTART

NOKEY:

CLRTR0;无键按下

SJMPSTART

INT_T0:

;T0中断服务程序

MOVTH0,30H;定时器赋初值

MOVTL0,31H

CPLBUZZ;输出方波

RETI

END

六实验思考题

结合实验仪上的硬件设计一个可以任意选曲播放的电子音乐盒

七完成实验报告

实验三串转并/并转串的i/o口实验

实验学时:

2学时

实验类型:

综合

实验要求:

必修

一实验目的

1.熟悉并掌握串转并的I/O口扩展方法

2.熟悉并掌握并转串的I/O口扩展方法

二实验设备及器件

PC机一台

DP-51PRO单片机综合仿真实验仪一台

三实验内容

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

ORG8000H

LJMPMAIN

ORG8100H

MAIN:

MOVSP,#60H;设置堆栈指针

NOP;设置以下端口的初始状态

CLRCLK;CLK=0

SETBDINB;DINB=1

CLRCLR164;CLR=0输出端口清零

SETBCLR164;CLR=1

MOVA,#0AAH;用户输出数据初始化

MOVR4,#08H

SLCHG:

RLCA

MOVDINA,C;串行输出一位数据

SETBCLK;置位时钟

NOP

CLRCLK

NOP

DJNZR4,SLCHG

SJMP$;程序结束,完成一次串并转换

END

程序2:

并转串程序

PLEQUP1.0

CLK1EQUP1.1

CLK2EQUP1.2

SEREQUP1.3

Q7EQUP1.5

ORG8000H

LJMPMAIN

ORG8100H

MAIN:

MOVSP,#60H;设置堆栈指针

MOVR4,#00;延时

DJNZR4,$

MOVA,#0;变量清零

SETBQ7;Q=1,端口设置为输入状态

CLRSER;SER=0

CLRCLK2;CLK2=0

CLRPL;/PL=0

NOP;锁存并行输入数据

SETBPL;/PL=1

NOP

MOVR4,#08H;设置循环变量

CLRCLK1

PLCHG:

MOVC,Q7;读入一位串行数据

RLCA

SETBCLK1;时钟脉冲

NOP

CLRCLK1

NOP

DJNZR4,PLCHG

MOVR7,A;保存数据8个拨码开关的状态保存于R7中

SJMP$;完成一次并串转换在此设置断点查看R7的内容

END

八.完成实验报告

实验四8×8LED扫描输出实验

实验学时:

2学时

实验类型:

验证

实验要求:

必修

一实验目的

使用户学会利用单片机的I/O口进行LED点阵的扫描显示。

二实验设备及器件

PC机一台

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

ORG8000H

AJMPMAIN

ORG8100H

MAIN:

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

SETBCLK

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

END

六实验思考

思考用并口的方式来完成本实验,并且改变图形。

七完成实验报告。

实验五步进电机控制实验

实验学时:

2学时

实验类型:

验证

实验要求:

必修

一实验目的

了解步进电机的工作原理。

掌握它的转动控制方式和高速方式。

二实验设备及器件

PC机一台

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

MAIN:

MOVSP,#60H

ACALLDELAY

SMRUN:

;电机控制方式为单双八拍

MOVP1,#08H;A

ACALLDELAY

MOVP1,#0CH;AB

ACALLDELAY

MOVP1,#04H;B

ACALLDELAY

MOVP1,#06H;BC

ACALLDELAY

MOVP1,#02H;C

ACALLDELAY

MOVP1,#03H;CD

ACALLDELAY

MOVP1,#01H;D

ACALLDELAY

MOVP1,#09H;DA

ACALLDELAY

SJMPSMRUN;循环转动

DELAY:

;单步延时程序

MOVR4,#10

DELAY1:

MOVR5,#250

DJNZR5,$

DJNZR4,DELAY1

RET

END

八程序流程图

九实验思考

思考一下,怎么改变电机的转速。

十完成实验报告。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1