单片机实训报告.docx

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

单片机实训报告.docx

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

单片机实训报告.docx

单片机实训报告

 

实训报告

 

课程名称:

专业基础实训

 

专业:

自动化班级:

XXXXXX

 

学号:

XX姓名:

 XXXX

 

指导教师:

XXXXXX成绩:

完成日期:

2011年1月14日

 

实训任务名称:

熟悉元器件与电路原理图

任务完成过程与结果:

(总结电路板功能;主要器件功能介绍;电路板元器件参数列表。

注:

内容可多页。

1电路板原理图及电路板主要功能

图1.1电路板原理图

(1)4个LED数码管:

可以试验和仿真各种计数器,数字显示,以及用单片机做电子钟秒表等

(2)8个发光二极管:

可以显示8个P1口的状态,以及试验和仿真各种LED试验,如:

正反流水灯,交通指示等(3)蜂鸣器:

可以完成报警等发声类试验(4)2x2矩阵键盘:

可以与LED数码管,LED指示灯完成按键控制方面试验等(5)继电器控制试验(6)有温度传感器DS18B20,可完成温度检测和显示等实验(7)电路板还支持USB转RS232转接线,完成串口通信,可以直接用于笔记本电脑和台式计算机

2电路板主要器件的功能介绍

2.1单片机MPC89E52芯片[4]

该芯片增加很多功能,性能有了较大提升;ISP在线编程功能,这个功能的优势

在于改写单片机存储器内的程序不需要把芯片从工作环境中剥离;可以向下完全兼容5

1全部字系列产品,兼容STC系列产品,程序存储器写入方式支持ISP在线可编程写

入技术,串行写入、速度更快、稳定性更好,烧写电压也仅仅需要4~5V即可烧写寿

命更长,可烧写1000次~10000次,这样更有利初学者反复烧写,降低学习成本。

2.2晶振[4]

晶振是限制单片机工作速度的主要参数,晶振就是晶体振荡器,单片机中的内接的晶体振荡器是作为时钟使用的,有他就可以确定工作周期,指令周期。

2.3继电器

是一种电子控制器件。

他具有控制系统(又称输入回路)和被控制系统(又称输

出回路),实际上是用较小的电流去控制较大电流的一种“自动开关”其作用:

在电

路中起自动调节,安全保护,转换电路等作用。

2.4MAX232芯片[4]

是MAXIM公司生产的、包含两路接收器和驱动器的IC芯片,适用于各种EIA

-232C和V.28/V.24的通信接口。

MAX232芯片功能:

MAX232内部有一个电源电

压变换器,可以把输入的+5V电源电压变换成为RS-232C输出电平所需的±10V电压

采用此芯片接口的串行通信系统只需单一的+5V电源就可以了。

对于没有±12V电源的场合,其适应性更强。

2.5串行存储器芯片24LC02

24LC02支持I²C总线数据传送协议,I²C总线数据传送协议规定,任何将数据

传送到总线的器件作为发送器,任何从总线接受数据的器件作为接受器,数据传送是

由产生串行时钟和所有起始停止信号的主器件控制的。

主器件和从器件都可以作为发

送器和接收器,但由主控件传送数据的模式通过器件地址输入端A0、A1、和A2可

实现最多8个24LC02器件连接到总线上。

2.6数字温度传感器DS18B20介绍[6]  

2.6.1DS18B20的主要特性 

电压范围:

3.0~5.5V,可由数据线供电仅需要一条口线即可实现微处理

器与DS18B20的双向通讯,支持多点组网功能,体积小,精度高,灵敏度高转

换速度快,具有极强的抗干扰纠错能力。

2.6.2DS18B20工作原理

低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信

号送给计数器。

高温度系数晶振随温度变化其振荡率明显改变,计数器和温度

寄存器被预置在-55℃所对应的一个基数值。

计数器对低温度系数晶振产生的

脉冲信号进行减法计数,当计数器的预置值减到0时,温度寄存器的值加1,计

数器的预置将重新被装入,计数器重新开始对低温度系数晶振产生的脉冲信号

进行计数

2.7上(下)拉电阻

将不确定的信号通过一个电阻嵌位在高电平。

主要应用于四种电路中:

(1)电平转换,目的提高输出电平数值

(2)OC门必须加上上拉电阻才能使用(3)加大普通I/O引脚驱动能力(4)悬空引脚上下拉电阻抗干扰

2.8三极管

可分为PNP型和NPN型,三极管的功能分别为

(1)开关作用

(2)信号放大作用(3)电平转换作用

2.9二极管和发光二极管

具有单向导电性,常用led做指示电路时,应串联限流电阻,该阻值大小应根据不同的使用电压和led所需要的工作电流来选择。

发光二极管的压降一般为1.5-2V其工作电流一般取10-20mA。

2.10LED数码管

分为共阳极和共阴极俩种,一位显示器由八个发光二极管组成,其中7个发光二极管构成字型“8”的各个比划,另一个为小数点。

3电路板元器件参数列表

表1.1电路板元件参数清单

名称

型号

数量

名称

型号

数量

电阻

100Ω

4个

继电器

SYS1-S-105L

2个

电阻

1kΩ

18个

排针

36脚

1个

电阻

10kΩ

6个

跳线

10脚排针

1个

电容

104

2个

阻排

1k*8

1个

电容

30p

2个

数码管

1位

4个

电容

10μf

2个

晶振

12Mhz

1个

电容

1μf

4个

蜂鸣器

ZYDH

1个

三极管

PNP

7个

温度传感器

DS18B20

1个

发光二极管

红色LED

11个

USB接口

母头

1个

二极管

IN5189

1个

IC座

40脚

1个

二极管

IN4007

2个

IC座

8脚

1个

电源口

插口

1个

IC座

16脚

1个

按键

4脚

4个

单片机

89E52

1个

电源开关

6脚

2个

芯片

MAX232

1个

 

 

 

芯片

24LC02

1个

 

实训任务名称:

硬件电路焊接与调试

任务完成过程与结果:

(硬件电路焊接与调试过程、方法、注意事项等项目的描述与总结。

注:

内容可多页。

1焊接工具和材料

(1)电烙铁

电烙铁是焊接电子元器件的重要工具,直接影响着焊接的质量。

电烙铁从结构上

分为外热式和内热式两种,常用的有75W、45W、25W等。

实训使用的是外热式25

W的电烙铁。

(2)焊料

焊料是将被焊物体牢固的焊接到电路板上。

用25W的电烙铁就可以熔化。

使用

的焊锡为管状焊锡丝,内芯有松香做助焊剂。

(3)辅助工具

为了方便焊接操作常采用尖嘴钳、镊子等做为辅助工具。

2元器件的安装

(1)元器件引线成型

为使元器件排列整齐、美观,根据焊点间距,用镊子对元器件引线成型应注意:

引线应留1.5mm以上;弯曲成圆弧状,引线成形后其标称值应处于查看方便的位置。

(2)元器件插装

焊元器件用卧式插装法和立式插装法两种。

3手工焊接方法

(1)焊接的方法

焊接时左手食指中指夹住焊锡丝,右手拿住电烙铁,烙铁头随着锡丝走。

正确的

焊接方法是:

准备施焊、加热焊件、加焊锡、去焊锡和去烙铁。

焊接方法对一般焊点

而言,大约需要两三秒钟。

(2)焊接要注意的事项

用酒精对焊件要先进行表面处理;对元件引脚进行镀锡;焊料量的控制适中;焊

点要圆滑、光亮;加热避免局部过热;金属化孔焊盘和孔内都要湿润填满;保持板面

清洁。

4焊接检查

(1)焊点常见缺陷

短路桥接;拉尖;堆焊;空洞;虚焊等。

(2)目视检查

可借助放大镜检查是否有漏焊;焊点的光泽好不好;焊点的焊料足不足;焊点周

围是否有残留的焊剂;有没有连焊;焊盘有没有脱落;焊点有没有裂纹;焊点是不是

凹凸不平;焊点是否有拉尖等现象。

(3)手触检查

用手指触摸元器件时,有无松动、焊接不牢的现象;用镊子夹住元器件引线轻轻

拉动时,有无松动现象;焊点在摇动时,上面的焊锡是否有脱落现象。

5拆焊的方法

一般像电阻器、电容器、晶体管等引脚不多,可用电烙铁直接拆焊。

其方法将印

制电路板竖起来夹住,一边用电烙铁加热待拆元器件的焊点,一边用镊子或尖嘴钳夹

住元器件引线轻轻拉出,这种方法不宜在一个焊点上多次使用。

6电路的基本测试

通电检查必须在外观检查及连线检查无误后才可进行,它是检验电路性能的关

键步骤。

(1)通电前检查步骤

(a)万用表测量电源的“+”、“-”端间是否短路,显示电阻值是否在合理范

围;

(b)检查供电电源属性和范围是否与要求一致;

(c)第一次通电时应做好随时断电的准备动作。

(2)通电

在第一次通电,电路各处无电源短路故障发生的情况下,即可以进入测试

部分。

通电检查可以发现许多微小的缺陷,通电检查发现的问题见图2.1。

图2.1通电检查可能存在的故障与焊接缺陷的关系

 

实训任务名称:

单片机程序下载练习

任务完成过程与结果:

(程序下载的软硬件环境;测试程序的设计、编译、下载、运行。

注:

内容可多页。

1KeilC51调试软件

 KEILuVISION2是众多单片机应用开发软件之一,它支持众多不同公司的MCS51架构的芯片,它集编辑,编译,仿真等于一体,同时还支持PLM、汇编和C语言的程

序设计。

要使用KEIL51软件,必需先要安装。

首先是运行KEIL51软件

接着按下面的步骤建立一个项目:

(1)点击Project菜单,选择弹出的下拉式菜单中的NewProject,接着弹出一个标

准Windows文件对话窗口,在"文件名"中输入一个C程序项目名称,这里用"test",只

要符合Windows文件规则的文件名都行。

"保存"后的文件扩展名为uv2,这是KEILuVision2项目文件扩展名,可以直接点击此文件以打开先前做的项目。

(2)选择所要的单片机,这里选择常用的Ateml公司的AT89S51。

(3)首先要在项目中创建新的程序文件或加入旧程序文件。

(4)保存新建的程序,把第一个程序命名为test1.c,保存在项目所在的目录中。

C

程序文件已被加到了项目中了,下面就可以编译运行了。

(5)进入调试模式,打开项目,打开它的所在目录,找到test.Uv2的文件就可以打开

先前的项目了。

然后右击项目文件夹,弹出项目功能菜单,选OptionsforTarget'1',

弹出项目选项设置窗口,打开项目选项窗口,转到Output选项选中可以输出HEX

文件到指的路径中。

再将它重新编译一次,编译信息窗口中就显示HEX文件创建到

指定的路径中。

2程序下载工具

(1)安装USB转串口驱动程序

(2)安装驱动下载程序

3Protel99电路设计软件

选“文件“→“新建文件”→“schematicdocument”在新建的文件中画出所需

的硬件原理图

4测试程序

实现的功能:

八个发光二极管每隔一定时间移动一个发光

#include

#include

voiddelayms(unsignedcharms)//延时子程序//

{unsignedchari;

while(ms--)

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

voidmain()

{unsignedcharLED;//主程序//

LED=0xfe;

P1=LED;

while

(1)

{

delayms(250);

LED=_crol_(LED,1);//循环左移1位//

P1=LED;

}

}

 

实训任务名称:

基本功能设计与调试----发光二级管点亮效果控制

任务完成过程与结果:

(实现过程阐述;硬件和软件设计结果,即硬件原理图、主要功能语句带有注释的程序清单。

注:

内容可多页。

4.1基本功能设计与调试----发光二级管点亮效果控制

4.1.1硬件原理图如下

图4.1二极管点亮控制硬件原理图

4.2.2程序如下

实现功能:

发光二极管每隔0.5s右移一位[2]

#include

#include

#defineucharunsignedchar

voiddelayms(ucharms)//5ms延时程序

{while(ms--)

{TH0=0x0ED;

TL0=0x0FF;

TR0=1;

while(!

TF0);

TF0=0;}

TR0=0;}

voidmain()//主程序

{uchart,LED;

TMOD=0x01;

while

(1)

{t=8;

LED=0x7f;

P1=LED;

while(t--)

{delayms(100);

LED=_cror_(LED,1);//循环右移1位,点亮下一个LED

P1=LED;}

}

}

 

实训任务名称:

基本功能设计与调试----继电器触点接通与断开

任务完成过程与结果:

(实现过程阐述;硬件和软件设计结果,即硬件原理图、主要功能语句带有注释的程序清单。

注:

内容可多页。

4.2基本功能设计与调试----继电器触点接通与断开

4.2.1硬件原理图

图4.2继电器控制硬件原理图

4.2.2程序如下

实现功能:

2个继电器每隔一段时间交替断开闭合[2]

#include

#defineucharunsignedchar

voiddelayms(unsignedcharms)//延时程序(非精确延时)

{inti;

while(ms--)

{for(i=0;i<500;i++);}

}

voidmain()

{while

(1)

{

RD=0;

WR=1;

delayms(200);

RD=1;

WR=0;

delayms(200);

}

}

 

实训任务名称:

基本功能设计与调试---蜂鸣器控制

任务完成过程与结果:

(实现过程阐述;硬件和软件设计结果,即硬件原理图、主要功能语句带有注释的程序清单。

注:

内容可多页。

4.3基本功能设计与调试----蜂鸣器控制

4.3.1硬件原理图

图4.3蜂鸣器控制硬件原理图

4.3.2程序如下

实现功能:

控制蜂鸣器每间隔0.5s发声[2]

#include

#defineucharunsignedchar

voiddelayms(ucharms)//5ms延时程序

{

while(ms--)

{

TH0=0x0ED;

TL0=0x0FF;

TR0=1;

while(!

TF0);

TF0=0;

}

TR0=0;

}

voidmain()//主程序

{

IE=0x81;

IT0=0;

while

(1)

{

INT0=0;//蜂鸣器控制端口置0//

delayms(100);

INT0=1;//蜂鸣器控制端口置1//

delayms(100);

}

}

 

实训任务名称:

基本功能设计与调试----LED数码管显示控制(显示:

班号末两位+学号)

任务完成过程与结果:

(实现过程阐述;硬件和软件设计结果,即硬件原理图、主要功能语句带有注释的程序清单。

注:

内容可多页。

4.4基本功能设计与调试----LED数码管显示控制

4.4.1硬件原理图

图4.4LED数码管显示硬件原理图

4.4.2程序如下

实现的功能:

数码管上显示3107[3]

#include

#defineucharunsignedchar

ucharcodetable[]={0x28,0xf9,0x4c,0x58,0x99,0x1a,0x0a,0xf8,0x08,0x18};

sbitwe1=P2^7;sbitwe2=P2^6;

sbitwe3=P2^5;sbitwe4=P2^4;

voiddelay(ucharn)//延时程序(非精确延时)

{uchari;

while(n--)

{for(i=0;i<50;i++);}}

voidmain()

{intt;

while

(1)

{t=100;

while(t)//显示杨芮3107的学号//

{we1=0;

P0=table[7];delay(10);//数码管显示7//

P0=0xff;

we1=1;

we2=0;

P0=table[0];delay(10);//数码管显示0//

P0=0xff;

we2=1;

we3=0;

P0=table[1];delay(10);//数码管显示1//

P0=0xff;

we3=1;

we4=0;

P0=table[3];delay(10);///数码管显示3/

P0=0xff;

we4=1;

t--;

}

}

}

 

实训任务名称:

基本功能设计与调试----矩阵键盘按键识别(K1、K2、K3、K4分别按下,P1口连接的发光二极管分别点亮一个)

任务完成过程与结果:

(实现过程阐述;硬件和软件设计结果,即硬件原理图、主要功能语句带有注释的程序清单。

注:

内容可多页。

4.5基本功能设计与调试----矩阵键盘按键识别

4.5.1硬件原理图

图4.5矩阵键盘硬件原理图

4.5.2程序如下

实现功能:

四个按键K1,K2,K3.K4分别控制P1口的四个发光二极管的亮灭[2]

#include

#defineucharunsignedchar

sbitp20=P2^0;

sbitp21=P2^1;

sbitp22=P2^2;

sbitp23=P2^3;

ucharled=0xff;

voiddelay(ucharm)//延时//

{uchari;

while(m--)

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

}

voidkeyscan()//键值扫描//

{

p20=0;

p21=1;

if(0==p22)//当K3键按下//

{

delay(10);

if(0==p22)

{

led=0XFB;//P1.2口灯亮//

}

}

if(0==p23)//当K4键按下//

{

delay(10);

if(0==p23)

{

led=0XF7;//P1.3口灯亮//

}

}

p20=1;

p21=0;

if(0==p22)//当键K1按下//

{

delay(10);

if(0==p22)

{

led=0XFE;//P1.0口灯亮//

delay(100);

}

}

if(0==p23)//当K2键按下//

{

delay(10);

if(0==p23)

{

led=0XFD;//P1.1口灯亮//

}

}

P1=led;

}

voidmain()//主程序//

{

P1=0xff;//P1口初始化//

while

(1)

{

keyscan();}

}

实训任务名称:

一般应用设计与调试----分秒显示(显示:

分分+秒秒)

任务完成过程与结果:

(实现过程阐述;硬件和软件设计结果,即硬件原理图、主要功能语句带有注释的程序清单。

注:

内容可多页。

5.1一般应用设计与调试----分秒显示

5.1.1硬件原理图

图5.1分秒显示硬件原理图

5.1.2程序如下

实现功能:

数码管动态显示实现简单的分秒时钟,左侧俩个数码管显示分,右侧俩个显示秒,分别为60进制[3]。

#include

#defineucharunsignedchar

ucharcodetable[]={0x28,0xf9,0x4c,0x58,0x99,0x1a,0x0a,0xf8,0x08,0x18};

sbitwe1=P2^7;sbitwe2=P2^6;

sbitwe3=P2^5;sbitwe4=P2^4;

intn;

uchark=10;

voiddisp(intm)//显示//

{ucharfg,fsh,mg,msh;

fg=m/60%10;fsh=m/60/10;

mg=m%60%10;msh=m%60/10;

P0=table[mg];we1=0;//位选,即最右侧数码管显示秒的个位//

while(k--);we1=1;

P0=table[msh];we2=0;//右侧第二个数码管显示秒的十位//

while(k--);we2=1;

P0=table[fg];we3=0;//右侧第三个数码管显示分的个位//

while(k--);we3=1;

P0=table[fsh];we4=0;//左侧数码管显示分的十位//

while(k--);we4=1;}

voiddelayms(ucharms)//5ms延时程序

{while(ms--)

{TH0=0x0ED;TL0=0x0FF;

TR0=1;

while(!

TF0);

disp(n);

TF0=0;}

TR0=0;}

voidmain()//主程序//

{TMOD=0X01;

n=0;

while

(1)

{delayms(200);//1s钟的延时//

n++;

if(n==3600)

n=0;}

}

实训任务名称:

一般应用设计与调试----单元参数设定或修改(按键与LED数码管的综合应用)

任务完成过程与结果:

(实现过程阐述;硬件和软件设计结果,即硬件原理图、主要功能语句带有注释的程序清单。

注:

内容可多页。

5.2一般应用设计与调试----单元参数设定或修改

5.2.1硬件原理图

图5.2按键和数码管综合应用硬件原理图

5.2.2程序如下

实现功能:

起初数码管进行分秒计时,K1,K2键分别控制数码管上数值的增减,K3键控制是否数值自动增减,K4键控制方式(四种方式分别加1加10加60加600)[5]。

#include

#defineucharunsignedchar

ucharcodetable[]={0x28,0xf9,0x4c,0x58,0x99,0x1a,0x0a,0xf8,0x08,0x18};

sbitwe1=P2^7;sbitwe2=P2^6;

sbitwe3=P2^5;sbitwe4=P2^4;

sbitp20=P2^0;sbitp21=P2^1;

sbitp22=P2^2;sbitp23=P2^3;

intn,a=1;

uchart=100,f=0,k=10,q=0,b=1,lock=0;

voiddisp(intm)//显示//

{ucharfge,fshi,mge,mshi;

fge=m/60%10;

fshi=m/60/10;

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

当前位置:首页 > 农林牧渔 > 林学

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

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