单片机实训指导书.docx

上传人:b****1 文档编号:14111856 上传时间:2023-06-20 格式:DOCX 页数:72 大小:416.23KB
下载 相关 举报
单片机实训指导书.docx_第1页
第1页 / 共72页
单片机实训指导书.docx_第2页
第2页 / 共72页
单片机实训指导书.docx_第3页
第3页 / 共72页
单片机实训指导书.docx_第4页
第4页 / 共72页
单片机实训指导书.docx_第5页
第5页 / 共72页
单片机实训指导书.docx_第6页
第6页 / 共72页
单片机实训指导书.docx_第7页
第7页 / 共72页
单片机实训指导书.docx_第8页
第8页 / 共72页
单片机实训指导书.docx_第9页
第9页 / 共72页
单片机实训指导书.docx_第10页
第10页 / 共72页
单片机实训指导书.docx_第11页
第11页 / 共72页
单片机实训指导书.docx_第12页
第12页 / 共72页
单片机实训指导书.docx_第13页
第13页 / 共72页
单片机实训指导书.docx_第14页
第14页 / 共72页
单片机实训指导书.docx_第15页
第15页 / 共72页
单片机实训指导书.docx_第16页
第16页 / 共72页
单片机实训指导书.docx_第17页
第17页 / 共72页
单片机实训指导书.docx_第18页
第18页 / 共72页
单片机实训指导书.docx_第19页
第19页 / 共72页
单片机实训指导书.docx_第20页
第20页 / 共72页
亲,该文档总共72页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

单片机实训指导书.docx

《单片机实训指导书.docx》由会员分享,可在线阅读,更多相关《单片机实训指导书.docx(72页珍藏版)》请在冰点文库上搜索。

单片机实训指导书.docx

单片机实训指导书

编制:

胡兴志徐斌高学

目录

1对象系统3

1.1系列产品概述3

1.2装置3

1.2.1实验箱3

1.2.2微处理器模块3

1.2.3软件4

2.微处理器概述及调试方法5

2.1STC51系列单片机概述5

2.2单片机调试方法6

3.单片机实验指导部分11

3.1流水灯实验11

3.2基本指令的编程练习14

3.3旋转灯模拟17

3.4键控数码管加减显示实验20

3.5定时器控制数码显示25

3.6生产流水线模拟系统30

3.7五相步进电机的模拟控制35

3.8十字路口交通灯控制40

3.9机械手动作实验44

1对象系统

1.1系列产品概述

本设备采用西门子S7-200、S7-300、S7-400,以及三菱PLC、欧姆龙PLC、研华ADAM8000等PLC、以及单片机为核心(可根据用户要求另行选择),集可编程逻辑控制器、微处理器控制器、编程软件、工控组态软件、模拟控制实验板、微处理器仿真对象、真实工业对象等于一体。

在本装置上,可直观地进行控制器的基本指令练习、多个控制器实际应用的模拟实验及实物实验。

整个系统结构紧凑、功能多样、使用方便,既能进行验证性、设计性实验,又能提供综合性实验,可满足本科、大专及中专等不同层次的教学实验要求,还可为研究开发提供实验平台。

提供各种形式的硬件装置系统,包括墙面形式、台架形式、桌面形式、斜台箱式与普通铝合金箱式等多种形式。

产品的模块是独立的,可以任意选择安装到小型台架或大型台驾的模块类型。

甚至可以安装其他控制系统,以便进行PLC与其他设备的协同处理或联网运行。

不像其他厂家,完全由发光管组成的实验系统,而是提供了多个真实模型,包括:

小型电梯系统、小型直线机械运动控制系统、小型的旋转角度控制系统、温度控制系统、电机转速控制系统等等。

1.2装置

1.2.1实验箱

A8000B型箱式控制器实验装置由实验箱、控制器、软件、实验选件、配件等部分组成。

实验箱体为钢质喷塑箱,坚固美观。

内部有两个电路板,一个开关电源。

1.2.2微处理器模块

采用8051兼容处理器。

一般提供不少于14DI/10DO的数字量。

如果选择的模块包括模拟量,则一般提供不少于2AI/AO的模拟量。

SST51单片机可以载入兼容KEILC的监控程序。

可以支持ISP,从而节省仿真器和编程器,正适合我们的需求。

方便开发:

具有SOFTICE在片仿真功能,开发工程师不需仿真器和编程器便可开发调试产品.可实现单步、断点、全速的仿真,变量数据一目了然。

并且在片仿真解决了专用仿真器存在的-“不能仿真非标准52的特殊功能;接触不良;编程不能运行”的缺陷.

方便生产.芯片的批量编程,仅需一个芯片搞定.既不需生产部配备电脑,编程器,编程插座等生产设备,又避免了因为人为因素的选错文件,程序泄密等弊端.简单,安全,保密,易于生产管理。

编程注意:

不要试图写P3.0,P3.1,或者整体P3口写。

因为这两个端口用于与计算机通信。

由于原来的设计问题不是用于仿真模式,而连接到了I1.0,I1.1,所以这两个端口已经从硬件断开。

输入I0.0-I0.7对应P1.0-P1.7。

P3.2对应I1.2,P3.3对应I1.3,P3.4对应I1.4,P3.5对应I1.5,P3.6对应I1.6。

I1.0,I1.1不能用。

注意:

输入高电平,对应为单片机内部0,输入低电平或者断开,则单片机内部为1。

P2.0-P2.7对应Q0.0-Q0.7。

P3.6对应Q1.0,Q3.7对应Q1.1。

单片机输出高电平,则Q输出为22-24V。

低电平时0V-0.7V。

1.2.3软件

编程软件

针对各个8051的编程软件,KEILC,以及各种编译器。

实验软件

提供所有实验的参考例程,并加以详细注解,是教师教学以及学生学习的有力帮手和实验的平台。

有关软件,请参考对应的说明书。

2.微处理器概述及调试方法

2.1STC51系列单片机概述

STC89C52单片机,它是美国ATMEL公司生产的低电压,高性能的CMOS8位单片机,片内寄存器可反复擦洗,含有32个可编程双向I/O口,3个16位定时/计数器,共8个中断源。

需要指出且注意的是,单片机在系统设计时,管脚EA要始终接高电平。

因为EA接高电平时,单片机读取内部程序存储器。

当扩展有外部ROM时,读取完内部ROM后自动读取外部ROM,EA接低电平时,单片机直接读取外部ROM。

而设计中使用的STC89C52是有内部ROM的,所以此引脚始终接高电平。

2.2单片机调试方法

1:

打开KeilC51程序

,新建一个工程;

2:

保存在自己新建的文件夹中;

3:

点击保存出现CPU选择对话框,选择ATMEL系列的AT89C51;

选择AT89C51

4:

出现是否添加标准51初始代码对话框,选“否”;

5:

工程建立之后新建源程序文件,点击”File”菜单下“New”选项;

6:

保存在工程文件夹内,C程序文件后缀为”.C”,汇编程序文件后缀为“.ASM”;

7:

在文本编辑区编写源程序并保存;在SourceGroup上右击选择“AddFilesToGroup…”选项添加源文件至工程;

8:

将本实验指导书下面的实验例程复制到此文本编辑区内,点击编译。

9:

点击编译按钮,编译工程;

10:

进入目标板调试选项设置,点击“Project”菜单下“OptionsforTarget…”选项;

或者点击这个图标

11.点击Output,勾选CreateHEXFile

注意:

.最后,再点击编译按钮进行编译,看到下图位置出现creatinghexfilefrom……后,进行下面烧录步骤。

向单片机烧录程序步骤如下

12.在面板编写程序,之后点击编译,打开烧录软件

STC_ISP.

13.选择STC89C52RC

14.点击OpenFile/打开文件,选择要烧录的HEX文件。

15.点击Download/下载,给单片机进行复位(断电再给电!

!

!

)。

16.此时如果显示下载OK,则程序成功烧录到单片机内部,此时可在实验板看到程序执行效果。

3.单片机实验指导部分

3.1流水灯实验

一、实验目的

1、熟悉单片机实验装置。

特别是电平高低与输入输出的关系。

2、熟悉编程软件操作。

3.熟悉烧录软件的使用。

二、实验步骤

1、通过防转叠插锁紧线与单片机的主机相应的输入输出插孔相接。

(I为输入点,Q为输出点。

钮子开关和按动按钮是输入设备,模拟开关量的输入;LED2指示灯是输出负载,用以模拟输出负载的通与断。

2、在编程软件keilc中编写基本指令练习程序,并通过STC-ISP软件烧录进单片机。

3.在单片机中运行程序,并观察效果。

三、输入输出分配

输入后直接送输出。

可以连接线路,观察输入输出的对应关系。

序号

面板符号

输出点

0

R0

Q0.0

1

R1

Q0.1

2

R2

Q0.2

3

R3

Q0.3

4

R4

Q0.4

5

R5

Q0.5

6

R6

Q0.6

7

R7

Q0.7

四、参考程序(c语言)

#include//此文件中定义了51的一些特殊功能寄存器

#include

sbitI00=P1^0;

sbitI01=P1^1;

sbitI02=P1^2;

sbitI03=P1^3;

sbitI04=P1^4;

sbitI05=P1^5;

sbitI06=P1^6;

sbitI07=P1^7;

//sbitI10=P3^0;

//sbitI11=P3^1;

sbitI12=P3^2;

sbitI13=P3^3;

sbitI14=P3^4;

sbitI15=P3^5;

sbitQ00=P2^0;

sbitQ01=P2^1;

sbitQ02=P2^2;

sbitQ03=P2^3;

sbitQ04=P2^4;

sbitQ05=P2^5;

sbitQ06=P2^6;

sbitQ07=P2^7;

sbitQ10=P3^6;

sbitQ11=P3^7;

voiddelayms(unsignedcharms)

//延时子程序

{

unsignedchari;

while(ms--)

{

for(i=0;i<120;i++);

}

}

main()

{

unsignedcharLED;

LED=0xfe;

while

(1)

{

P2=~LED;

if(LED==0x00)

{LED=0xfe;}

delayms(250);

LED=LED<<1;//循环右移1位,点亮下一个LED"<<"为左移位

}

}

五、实验步骤

1、按照输入和输出两个配置表,将单片机的输入输出与相应面板符号的插孔用连接线连好;

2、按照输入输出配置,参照参考程序,编写实验程序;

3、下载编写程序到单片机,运行程序;

4、观看实验效果。

3.2基本指令的编程练习

在基本指令的编程练习实验区完成本实验。

一、实验目的

1、熟悉单片机实验装置。

特别是电平高低与输入输出的关系。

2、熟悉编程软件操作。

二、实验步骤

1、通过防转叠插锁紧线与单片机的主机相应的输入输出插孔相接。

(I为输入点,Q为输出点。

钮子开关和按动按钮是输入设备,模拟开关量的输入;LED2指示灯是输出负载,用以模拟输出负载的通与断。

2、在编程软件中编写基本指令练习程序,并烧录到单片机中运行。

3、在单片机中运行程序,动作相应的输入设备,观察能够正确输入输出。

三、输入输出分配

输入后直接送输出。

可以连接线路,观察输入输出的对应关系。

序号

输入点

面板编号

输出点

面板编号

0

I0.0

P0

Q0.0

Q0

1

I0.1

P1

Q0.1

Q1

2

I0.2

P2

Q0.2

Q2

3

I0.3

P3

Q0.3

Q3

4

I0.4

P4

5

I0.5

P5

6

I0.6

P6

7

I0.7

P7

四、程序代码

#include

#defineHIGH1

#defineLOW0

sbitI00=P1^0;

sbitI01=P1^1;

sbitI02=P1^2;

sbitI03=P1^3;

sbitI04=P1^4;

sbitI05=P1^5;

sbitI06=P1^6;

sbitI07=P1^7;

//sbitI10=P3^0;

//sbitI11=P3^1;

sbitI12=P3^2;

sbitI13=P3^3;

sbitI14=P3^4;

sbitI15=P3^5;

sbitQ00=P2^0;

sbitQ01=P2^1;

sbitQ02=P2^2;

sbitQ03=P2^3;

sbitQ04=P2^4;

sbitQ05=P2^5;

sbitQ06=P2^6;

sbitQ07=P2^7;

sbitQ10=P3^6;

sbitQ11=P3^7;

//初始化函数

voidinit()

{

I00=HIGH;

I01=HIGH;

I02=HIGH;

I03=HIGH;

I04=HIGH;

I05=HIGH;

I06=HIGH;

I07=HIGH;

//I10=HIGH;

//I11=HIGH;

I12=HIGH;

I13=HIGH;

I14=HIGH;

I15=HIGH;

Q00=LOW;

Q01=LOW;

Q02=LOW;

Q03=LOW;

Q04=LOW;

Q05=LOW;

Q06=LOW;

Q07=LOW;

Q10=LOW;

Q11=LOW;

}

//主函数

voidmain()

{

init();//思考实际I0口电平与单片机内部电平关系,验证基本输入输出逻辑关系。

while

(1)

{

Q00=I00&I01;

Q01=I02|I03;

Q02=~(I04|I05);

Q03=~(I06&I07);

}

}

五、实验步骤

1、按照输入和输出两个配置表,将单片机的输入输出与相应面板符号的插孔用连接线连好;

2、按照输入输出配置,参照参考程序,编写实验程序;

3、下载编写程序到单片机,运行程序;

4、观看实验效果。

验证逻辑输入输出关系。

3.3旋转灯模拟

在旋转灯模拟系统区完成本实验。

一、实验目的

1.通过对工程实例的模拟,熟练地掌握单片机的编程和程序调试方法;

2.进一步熟悉单片机的I/O连接;

3.熟悉单片机I/O的具体应用。

二、控制要求

程序启动后,以C1为起点逆时针每隔1s点亮一排发光管,一周后以1s顺时针关闭一排发光管。

三、输入/输出分配

(一)输出:

序号

名称

面板符号

程序符号

输出点

0

C1

C1

QB0

Q0.0

1

C2

C2

Q0.1

2

C3

C3

Q0.2

3

C4

C4

Q0.3

4

C5

C5

Q0.4

5

C6

C6

Q0.5

6

C7

C7

Q0.6

8

C8

C8

Q0.7

四、参考程序

#include

#include

#defineucharunsignedchar

#defineuintunsignedint

sbitI00=P1^0;

sbitI01=P1^1;

sbitI02=P1^2;

sbitI03=P1^3;

sbitI04=P1^4;

sbitI05=P1^5;

sbitI06=P1^6;

sbitI07=P1^7;

//sbitI10=P3^0;

//sbitI11=P3^1;

sbitI12=P3^2;

sbitI13=P3^3;

sbitI14=P3^4;

sbitI15=P3^5;

sbitQ00=P2^0;

sbitQ01=P2^1;

sbitQ02=P2^2;

sbitQ03=P2^3;

sbitQ04=P2^4;

sbitQ05=P2^5;

sbitQ06=P2^6;

sbitQ07=P2^7;

sbitQ10=P3^6;

sbitQ11=P3^7;

voidDelayMS(uintx)

{

uchart;

while(x--)

{

for(t=120;t>0;t--);

}

}

voidmain()

{

uchari;

P2=0x01;

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

{

P2=_crol_(P2,1);

DelayMS(150);

}

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

{

P2=_cror_(P2,2);

DelayMS(150);

}

}

五、实验步骤

1、按照输入和输出两个配置表,将单片机的输入输出与相应面板符号的插孔用连接线连好;

2、按照输入输出配置,参照参考程序,编写实验程序;

3、下载编写程序到单片机,运行程序;

4、观看实验效果。

3.4键控数码管加减显示实验

在LED数码显示实验区完成本实验。

一、实验目的

1、通过对工程实例的模拟,熟练地掌握单片机的编程和程序调试方法。

2、进一步熟悉单片机的I/O连接。

3、熟悉数码显示指令的应用。

二、控制要求

按启动按钮后,由八组LED发光二极管模拟的八段数码管开始加数显示:

显示次序是0、1、2、3、4、5、6、7、8、9,再返回初始显示0,并循环不止。

如果按下保持按钮,当前显示的状态将会减数显示,每次减一。

如果按下停止按钮,将会清零显示。

三、输入输出分配

(一)输入:

序号

名称

面板符号

程序符号

输入点

0

加计数

START

E00

I0.0

1

减计数

KEEP

E01

I0.1

2

清零

STOP

E02

I0.2

(二)输出:

序号

名称

面板符号

程序符号

输出点

0

A

A

QB0

Q0.0

1

B

B

Q0.1

2

C

C

Q0.2

3

D

D

Q0.3

4

E

E

Q0.4

5

F

F

Q0.5

6

G

G

Q0.6

7

DP

DP

Q0.7

数字

HGFEDCBA

16进制

0

00111111

3FH

1

00000110

06H

2

01011011

5BH

3

01001111

4FH

4

01100110

66H

5

01101101

6DH

6

01111101

7DH

7

00000111

07H

8

01111111

7FH

9

01101111

6FH

四、参考程序

/*按键控制数码管加减显示实验*/

/*I00I01I02分别接在STARTKEEPSTOP.Q00--Q07分别接在A--DP.

说明功能:

START键加数,KEEP键减数,STOP键清零。

*/

#include

#include

#defineHIGH1

#defineLOW0

sbitI00=P1^0;

sbitI01=P1^1;

sbitI02=P1^2;

sbitI03=P1^3;

sbitI04=P1^4;

sbitI05=P1^5;

sbitI06=P1^6;

sbitI07=P1^7;

//sbitI10=P3^0;

//sbitI11=P3^1;

sbitI12=P3^2;

sbitI13=P3^3;

sbitI14=P3^4;

sbitI15=P3^5;

sbitQ00=P2^0;

sbitQ01=P2^1;

sbitQ02=P2^2;

sbitQ03=P2^3;

sbitQ04=P2^4;

sbitQ05=P2^5;

sbitQ06=P2^6;

sbitQ07=P2^7;

sbitQ10=P3^6;

sbitQ11=P3^7;

bitC;//全局变量

unsignedlongreg=0;

unsignedcharcodeseg[]={

0x3F,/*0*/

0x06,/*1*/

0x5B,/*2*/

0x4F,/*3*/

0x66,/*4*/

0x6D,/*5*/

0x7D,/*6*/

0x07,/*7*/

0x7F,/*8*/

0x6F,/*9*/

0x77,/*A*/

0x7C,/*b*/

0x39,/*C*/

0x5E,/*d*/

0x79,/*E*/

0x71,/*F*/};

unsignedchari;

//初始化函数

voidinit()

{

I00=HIGH;

I01=HIGH;

I02=HIGH;

I03=HIGH;

I04=HIGH;

I05=HIGH;

I06=HIGH;

I07=HIGH;

//I10=HIGH;

//I11=HIGH;

I12=HIGH;

I13=HIGH;

I14=HIGH;

I15=HIGH;

Q00=LOW;

Q01=LOW;

Q02=LOW;

Q03=LOW;

Q04=LOW;

Q05=LOW;

Q06=LOW;

Q07=LOW;

Q10=LOW;

Q11=LOW;

}

//晶振12MHz时,大约延时j*10ms

voiddelay_10ms(unsignedintj)

{

unsignedinti;

while(j--)

{

for(i=0;i<767;i++)

{

_nop_();

}

}

}

voidbutton()

{

if(I00==LOW)//启动按键

{

delay_10ms

(1);//延时再检测,去抖动

if(I00==LOW)i++;//加一

while(!

I00);//释放按键才退出按键识别

}

if(I01==LOW)//保持按键

{

delay_10ms

(1);//延时再检测,去抖动

if(I01==LOW)//如果大于0,则减一

{

if(i==0){i=16;}

i--;

}

while(!

I01);//释放按键才退出按键识别

}

if(I02==LOW)//停止按键

{

delay_10ms

(1);//延时再检测,去抖动

if(I02==LOW)i=0;//清零

while(!

I02);//释放按键才退出按键识别

}

}

//主函数

voidmain()

{

init();

i=0;

while

(1)

{

if(i>=0&&i<=15)

{

button();//从这里加入按键识别

P2=seg[i];//显示当前数值,

}

else

{

i=0;

}

}

}

五、实验步骤

1、按照输入和输出两个配置表,将单片机的输入输出与相应面板符号的插孔用连接线连好;

2、按照输入输出配置,参照参考程序,编写实验程序;

3、下载编写程序到单片机,运行程序;

4、观看实验效果。

修改程序后让数码管每次加减2.

3.5定时器控制数码显示

在LED数码显示实验区完成本实验。

一、实验目的

1、通过对工程实例的模拟,熟练地掌握单片机的编程和程序调试方法。

2、进一步熟悉单片机的I/O连接。

3、熟悉数码显示指令的应用。

二、控制要求

按启动按钮后,由八组LED发

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

当前位置:首页 > 农林牧渔 > 水产渔业

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2