微机控制实验指导书ADD电机.docx

上传人:b****5 文档编号:24842910 上传时间:2023-06-02 格式:DOCX 页数:24 大小:1.04MB
下载 相关 举报
微机控制实验指导书ADD电机.docx_第1页
第1页 / 共24页
微机控制实验指导书ADD电机.docx_第2页
第2页 / 共24页
微机控制实验指导书ADD电机.docx_第3页
第3页 / 共24页
微机控制实验指导书ADD电机.docx_第4页
第4页 / 共24页
微机控制实验指导书ADD电机.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

微机控制实验指导书ADD电机.docx

《微机控制实验指导书ADD电机.docx》由会员分享,可在线阅读,更多相关《微机控制实验指导书ADD电机.docx(24页珍藏版)》请在冰豆网上搜索。

微机控制实验指导书ADD电机.docx

微机控制实验指导书ADD电机

实验一扩展A/D转换器实验

一、实验目的

1.掌握8051单片机扩展A/D转换器的方法;

二、实验内容

实验设备上有一片A/D转换芯片ADC0809。

ADC0809与51单片机的接口电路如下图所示。

实验内容为通过调节实验设备上的电位器RW,输出0~5V直流电压,送入ADC0809通道0(IN0),将模拟电压转换成二进制数字送P1口,通过LED显示转换结果,利用万用表测试输入电压,并和转换后数字值进行对照,计算转换误差。

A/D转换程序可以从延时、查询、中断三种方法中任选一种。

实验电路中CS/0809与地址译码器Y3相连,IN0直流信号区的“0~5V”。

为了方便计算,AD0809参考电压为可调电位器调节,其电压为5.12V。

三、接线方案

接线:

CS/0809接Y3/IO地址

IN0/0809接0~5V/直流信号

P10~P17/C51单片机接L0~L7/LED显示

P3.3/C51单片机接EOC/0809

图1-1实验线路

四、参考程序流程图

五、实验步骤

1、连接串行通信电缆和电源线;

2、根据图1-1及接线方案进行电路连接;

3、将C51单片机核心板上的三个开关分别拨到“总线”、“运行”“单片机”;

4、打开实验箱上的电源开关。

5、利用KeilC51创建实验程序,并进行编译生成后缀为.HEX的文件;

6、利用STC-ISP软件将后缀为.HEX的文件下载到单片机ROM中(下载最高波特率4800);

7、观察实验现象,并记录。

若实验现象有误请重复第5、6步。

六、参考程序

ADCADREQU0298H;0809A/D读写地址,选择IN0通道

ORG0000H

LJMPMAIN

ORG0100H

MAIN:

;ADC0809通道0A/D子程序

;使用DPTR、

;A/D转换的结果用P1口输出显示

ADC:

MOVDPTR,#0298H;ADCADR;取0809通道IN0的地址

MOVX@DPTR,A;写入任意一个数,启动A/D转换

SETBP3.3

LOOP1:

JBP3.3,LOOP1;查询EOC管脚,是否变低LOOP2:

JNBP3.3,LOOP2;查询EOC管脚,是否变高

;EOC管脚又变高表示A/D转换完成,可以读数据了

MOVXA,@DPTR;从0809中读出A/D之后的数据

MOVP1,A

LJMPADC

END;程序体结束

七、思考题

1、测试记录8~10组输入电压和转换数值,并绘制转换曲线图。

2、利用延时法设计A/D转换程序实现A/D转换功能;

实验二扩展D/A转换器实验

一、实验目的

1.掌握8051单片机扩展D/A转换器的方法;

二、实验内容

实验设备上有一片D/A转换芯片DAC0832。

DAC0832与8051单片机的接口电路如图所示,采用单缓冲方式,具有单双极性输出端(图中的Ua、Ub)。

实验电路中CS未与地址译码器连接,实验时CS/DA0832与地址译码器Y2相连,D/A转换输入数据N与输出电压的关系为:

Ua=5/256×N(V);Ub=2×5/256×N-5(V)。

实验内容为:

编写程序产生

(1)锯齿波;

(2)正弦波。

利用示波器观察波形。

三、接线方案

图2-1实验线路

接线:

CS/0832接Y2/IO地址

Ua或Ub/0832接示波器

四、参考程序流程图

1、锯齿波

2、正弦波

五、实验步骤

1、连接串行通信电缆和电源线;

2、根据图1-1及接线方案进行电路连接;

3、将C51单片机核心板上的三个开关分别拨到“总线”、“运行”“单片机”;

4、打开实验箱上的电源开关。

5、利用KeilC51创建实验程序,并进行编译生成后缀为.HEX的文件;

6、利用STC-ISP软件将后缀为.HEX的文件下载到单片机ROM中(下载最高波特率4800);

7、观察实验现象,并记录。

若实验现象有误请重复第5、6步。

六、参考程序

1、锯齿波程序

ORG00H

MOVDPTR,#0290H;D/A转换器的地址

MOVA,#0;设置初值

START:

MOVX@DPTR,A;送出数据,进行转换

INCA;数据加1

SJMPSTART

END;程序体结束

2、正弦波程序

ORG00H

START:

MOVR4,#0H;R4为计数器

DA_S:

MOVDPTR,#TABLE;DPTR指向正弦波数据表

MOVA,R4;送正弦波数据表偏移量

MOVCA,@A+DPTR;从数据表中取一个数据

MOVDPTR,#0290H;DPTR指向D/A转换器的地址

MOVX@DPTR,A;送出转换数据并启动DA转换

INCR4;计数器加1

CJNER4,#32,DA_S;判断32个数据是否送完

SJMPSTART

TABLE:

db80h,96h,0aeh,0c5h,0d8h,0e9h,0f5h,0fdh;正弦波数据表

db0ffh,0fdh,0f5h,0e9h,0d8h,0c5h,0aeh,96h

db80h,66h,4eh,38h,25h,15h,09h,04h

db00h,04h,09h,15h,25h,38h,4eh,66h

END

七、思考题

1、设计实验程序实现三角波的波形输出。

实验三直流电机PWM调速实验

一、实验目的

1.掌握8051单片机控制直流电机的基本原理;

二、实验原理

直流电机的转动方向是由加在电机上的电压正负极性决定的,电压为正,则顺时针方向转,电压为负,则逆时针方向转,转速的改变是通过改变所加脉冲的占空比,占空比越大,转速越快。

占空比示意图如下:

本实验所用的直流电机只能单方向转动,占空比改变电机的转速。

三、实验内容

实验电路如下图所示,ULN2003A作为电机的驱动芯片。

单片机P1.4口输出PWM波控制电机的转速,并利用两个按键来控制电机的转速(按键1为加速;按键2为减速)

接线:

P1.4/C51单片机接直流电机

P1.1/C51单片机接按键1

P1.2/C51单片机接按键2

图3-1实验线路

四、实验步骤

1、连接串行通信电缆和电源线;

2、根据图1-1及接线方案进行电路连接;

3、将C51单片机核心板上的三个开关分别拨到“独立”、“运行”“单片机”;

4、打开实验箱上的电源开关。

5、利用KeilC51创建实验程序,并进行编译生成后缀为.HEX的文件;

6、利用STC-ISP软件将后缀为.HEX的文件下载到单片机ROM中(下载最高波特率4800);

7、观察实验现象,并记录。

若实验现象有误请重复第5、6步。

五、参考程序(直流电机PWM调速.C)

六、思考题

1、利用示波器读取电机的转速(旋转一周产生6个计数脉冲);

2、设定电机转速的阀值,若超速提供报警信号。

#include

#defineucharunsignedchar

/*****************************************************************************

*TH0和TL0是计数器0的高8位和低8位计数器,计算办法:

TL0=(65536-C)%256;*

*TH0=(65536-C)/256,其中C为所要计数的次数即多长时间产生一次中断;TMOD是计数器*

*工作模式选择,0X01表示选用模式1,它有16位计数器,最大计数脉冲为65536,最长时*

*间为1ms*65536=65.536ms*

******************************************************************************/

#defineV_TH00XFF

#defineV_TL00XF6

#defineV_TMOD0X01

staticucharclick=0;/*中断次数计数器变量*/

voidinit_sys(void);/*系统初始化函数*/

voidDelay5Ms(void);

unsignedcharZKB1;

voidmain(void)

{

init_sys();

ZKB1=20;/*占空比初始值设定*/

while

(1)

{

if(!

P1_1)//如果按了+键,增加占空比

{

Delay5Ms();

if(!

P1_1)

{

ZKB1++;

}

}

if(!

P1_2)//如果按了-键,减少占空比

{

Delay5Ms();

if(!

P1_2)

{

ZKB1--;

}

}

/*对占空比值限定范围*/

if(ZKB1>99)ZKB1=99;

if(ZKB1<1)ZKB1=1;

}

}

/******************************************************

*函数功能:

对系统进行初始化,包括定时器初始化和变量初始化*/

voidinit_sys(void)/*系统初始化函数*/

{

/*定时器初始化*/

TMOD=V_TMOD;

TH0=V_TH0;

TL0=V_TL0;

TR0=1;

ET0=1;

EA=1;

}

//延时

voidDelay5Ms(void)

{

unsignedintTempCyc=1000;

while(TempCyc--);

}

/*中断函数*/

voidtimer0(void)interrupt1using2

{

TH0=V_TH0;/*恢复定时器初始值*/

TL0=V_TL0;

++click;

if(click>=100)click=0;

if(click<=ZKB1)/*当小于占空比值时输出低电平,高于时是高电平,从而实现占空比的调整*/

P1_4=0;

else

P1_4=1;

}

实验四步进电机控制实验

一、实验目的

1.掌握8051单片机控制步进电机的基本原理;

二、实验原理

步进电机驱动是通过对每相线圈中的加电顺序切换来电机作步进式旋转,规律地调节每相线圈上的电信号来改变步进电机的转速和方向。

本实验步进电机为20BY-0(四相四拍)永磁步进电机,驱动方式为二相激励方式,每加电一次,转动角度为18o,各线圈通电顺序与步进方向的关系如下表:

三、实验内容

实验电路如下图所示,电路中ULN2003A为电机驱动芯片。

单片机的P1.0~P1.3分别连接到步进电机的四相,通过P1口输出的控制信号来控制步进电机,并利用P2.0来控制电机的正、反转。

接线方案如下:

P1.0~P1.3/单片机接BA~BD/步进电机

P2.0/单片机接K7/电平开关

图4-1实验线路

四、实验步骤

1、连接串行通信电缆和电源线;

2、根据图1-1及接线方案进行电路连接;

3、将C51单片机核心板上的三个开关分别拨到“独立”、“运行”“单片机”;

4、打开实验箱上的电源开关。

5、利用KeilC51创建实验程序,并进行编译生成后缀为.HEX的文件;

6、利用STC-ISP软件将后缀为.HEX的文件下载到单片机ROM中(下载最高波特率4800);

7、观察实验现象,并记录。

若实验现象有误请重复第5、6步。

五、参考程序

#include

unsignedcharcodeF_Rotation[4]={0x03,0x06,0x0c,0x09};//正转

unsignedcharcodeB_Rotation[4]={0x09,0x0c,0x06,0x03};//反转

sbitKEY=P2^0;

voidDelay(unsignedinti)//延时

{while(--i);}

voidF_R()

{unsignedchari;

for(i=0;i<4;i++)//4相

{P1=F_Rotation[i];//正转查表

Delay(1000);//改变这个参数可以调整电机转

}

}

voidR_R()

{unsignedchari;

for(i=0;i<4;i++)//4相

{P1=B_Rotation[i];//反转查表

Delay(1000);//改变这个参数可以调整电机转

}

}

main()

{

while

(1)

{if(KEY==0)

F_R();

else

R_R();

}

}

六、思考题

1、利用示波器读取电机的转速(旋转一周产生6个计数脉冲);

2、修改程序改变电机转速,并读取转速值。

附录:

一、KeilC51编程软件使用说明

KeilC51编程软件是众多单片机应用开发的优秀软件之一,它集编辑、编译、仿真于一体,支持汇编、C51语言,界面友好,易学易用。

1、启动KeilC51编程软件,出现编辑界面;

2、建立一个新工程,单击Project菜单,在弹出的下拉菜单中选中NewuVisionProject选项。

3、然后选择保存路径,输入工程文件名,点击“保存”;

4、弹出单片机选择框,选择对应的单片机型号,并点“OK”;

5、完成后,屏幕出现编辑环境;

6、点击“File”菜单,在下拉菜单中点击“New”选项;

7、在“Text1”中编写实验程序,完成后保存文件,要保存在所建的工程文件夹中。

在“文件名”栏中输入欲使用的文件名,同时必须输入正确的扩展名。

注意:

如果使用C语言编写程序,则扩展名为.C;如果用汇编语言编写程序,则扩展名为.ASM;

8、回到编辑界面,单击“Target1”前面“+”号,然后在“SourceGroup1”上单击右键,弹出如下菜单;

9、单击“AddFiletoFroup‘SourceGroup1”选择实验程序“SY1.ASM”,然后单击“Add”,则项目中多出SY1.ASM子项;

10、单击“Project”菜单,在下拉菜单中单击“OptionsforTarget‘Target1’”;

11、在“OptionsforTarget‘Target1’”的选项中选择“Output”选项,并在“CreateHEXFile”选项前打上“√”,然后点击“OK”;

12、单击“Project”菜单,在下拉菜单中单击“Buildtarget”选项,若程序无误,编程成功后,则生成后缀为.HEX的文件,该文件是单片机下载文件。

二、STC-ISP下载软件的使用说明

1、打开“STC-ISP”下载软件,界面如下;

2、选择单片机型号,在单片机型号的下拉按钮上单击,选择一致的单片机型号,如:

STC89C52RC;

3、选择串口,在串口选择时,根据设备所接的串口号进行选择,如:

COM1、COM2、USBSerialPort(COM3);

4、单击“打开程序文件”,找到所见项目文件夹,选中后缀为.HEX的文件,并单击打开;

5、单击“下载/编程”按钮,将.HEX文件下载到单片机的ROM中,注意,在单击“下载/编程”按钮后,需要将单片机进行一次冷启动(即:

将实验箱电源关掉,稍等片刻再打开),程序才能下载成功;

6、下载成功后,程序则在单片机内运行,观察实验箱上的实验结果。

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

当前位置:首页 > 初中教育 > 学科竞赛

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

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