单片机原理用应用实验讲义.docx

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

单片机原理用应用实验讲义.docx

《单片机原理用应用实验讲义.docx》由会员分享,可在线阅读,更多相关《单片机原理用应用实验讲义.docx(24页珍藏版)》请在冰点文库上搜索。

单片机原理用应用实验讲义.docx

单片机原理用应用实验讲义

 

单片机实验

讲义

华南农业大学

 

第一部分:

89C51单片机实验系统介绍

一、系统概述

本系统采用STC89C52单片机作为核心处理模块,属于51兼容机,除了具备51单片机的系列特点之外,还具有在线编程的能力,可选择使用串口方式或者ISP下载线的方式完成目标程序的下载。

本系统的I/O全部对用户开放,而且具有丰富的系统资源。

系统的标准配置包含:

1.STC89C52学习板一块

2.USB线一条

3.串口线一条

4.1602LCD模块一个

5.光盘一张

 

二、系统资源

系统具有如下丰富资源:

1.8个发光二极管

2.4位LED数码管

3.蜂鸣器

4.继电器与输出端子

5.外部中断按键(中断实验)

6.4*4矩阵键盘

7.PS/2电脑键盘接口

8.LCD1602接口

9.LCD12864接口

10.ADC模数转换(TLC0831芯片)

11.DAC数模转换(DAC0832芯片)

12.EEPROM实验(AT24C02)

13.实时时钟实验(DS1302)

14.串口实验

15.温度传感器(DS18B20)

16.红外遥控接收头(HS0038B)

17.I2C总线接口

18.步进电机接口

19.USB直接供电,也可有5V稳压电源直接供电

20.所有I/O口外扩

 

第二部分基本实验

实验一实验环境

一、实验目的:

1.熟悉单片机实验使用的编译软件KeiluVision2,并掌握使用其进行程序编写的流程。

2.掌握实验板所用的程序下载软件使用方法。

二、实验设备:

STC89C52单片机实验板、串口下载线、USB连接线、电脑

三、实验原理

系统编程软件

本系统采用可采用KeiluVision2作为程序编辑和调试软件。

使用Keil软件进行单片机程序的步骤如下:

1.首先安装Keil软件,然后双击

,打开keil软件

2.点击菜单第4项Project,建立一个工程文件,按确定以后,进入芯片型号选择,这里有国外各厂家的产品及其对应型号,选择正确的型号,并按确定。

这里没有STC的单片机,可以选择Atmel公司的AT89S52,之后按确定。

会出现如下的提示:

表示是否将初始化代码加到工程项目里,如果你使用的是C51编程,那么应该按是,如果是汇编语言则按否。

3.此时,一个工程文件就建立了,但是这个工程里面不包含任何文件。

可以打开菜单的第一项File\new,建立一个新的文本文件,将这个文件保存在项目文件相同的目录,根据使用汇编语言或者C语言编写后缀选择.asm或者.c.

4.此后,在工程窗口中找到sourcegroup1,点击右键,选择addfilestogroup“sourcegroup1”把上面的.asm或者.c文件添加到工程项目里。

之后,就可以在sourcegroup1下看到刚才添加的文件了。

5.接下来双击添加的.asm或者.c文件,然后在右边的程序编辑区进行程序的编写。

6.编辑完成后,就可以进行调试了,点击编译进行调试,直到没有错误。

7.右键点击TARGET1,选择optionsfortarget‘target1’,点击选项卡的第三项“OUTPUT”,在createexecutable中选中createHEXFile后,点击确定,之后再编译,就可以生成产生烧写文件,也就是例子中的ts.hex文件。

8.使用程序下载软件将上述文件ts.hex文件写入单片机(见程序下载软件)。

程序下载软件

本系统使用的STC89C52单片机支持串口烧写程序,首先在光盘:

STC89C52/软件\程序下载软件\STC串口下载软件中找到

,将其复制到硬盘上,然后双击打开,再双击

,就打开了串口下载软件,下载时的具体步骤如下:

1.由Keiluvision2编译软件

编译产生.hex文件(见Keil软件介绍)。

2.连接好开发板的电源线(可USB供电,也可5V电源供电)和串口线,先保持断电状态。

3.双击

打开程序下载软件,选择单片机型号为STC89C52RC(根据系统板上的单片机型号)

4.选择文件,点击OpenFile/打开文件,打开目标.Hex文件

5.然后点击下载按钮

6.等提示打开电源时,给系统上电

7.出现如下画面,下载完成

四、实验步骤:

1.学会使用程序编译软件和下载软件。

2.编写程序实现LED1到LED8全部点亮。

3.延时0.2秒;

4.LED1到LED8全灭;

5.延时0.2秒

6.跳转到第2步开始执行。

7.按照实验流程的要求编写程序,并完成调试。

五、实验要求:

1.预习,书写实验报告(包括实验目的,原理、步骤、流程图、实验程序)。

2.上机调试程序,直到完成所要求的功能并在实验报告后面书写程序调试时所遇到的问题和最终解决的办法。

 

实验二跑马灯实验

一、实验目的:

1.使用P1口作为输出控制led灯实现跑马灯实验。

2.学习数据输出程序的设计方法。

3.学习延时程序的编写方法,并会计算延时时间。

二、实验设备:

STC89C52单片机实验板、串口下载线、USB连接线、电脑

三、实验原理

1.电路原理

实验的电路原理图如图2-1所示,发光二极管采用共阳极接法,阳极接上拉排阻(470欧)到VCC,并通过开关J-LED控制VCC的通断来控制发光二极管,阴极接单片机P1口,要使这里的发光二极管发光,P1口就要输出低电平。

(注:

J-LED是控制发光二极管的开关),考虑人眼的视觉暂留(0.1S),要实现灯光闪烁必须调整发光二极管亮灭的时间。

实验板电路的原理图如图2-1所示。

电路板实物图上LED管的图如图2-2所示。

 

 

图2-1发光二极管电路原理图

图2-2发光二极管

2.延时程序

普通延时程序的一般写法:

MOVR2,#100(1个周期)

D1:

DJNZR2,D1(2个周期*循环100次)

RET(2个周期)

延时次数=1+100*2+2=203MC

若晶振频率f=12MHz,则机器周期=1us

1机器周期=12时钟周期

因此延时时间T=203*1=203us,此时改变R2的值,最大可实现的延时时间=(1+255*2+2)*1=513us≈0.5ms。

若需要较大的延时时间,则需要多重循环。

例如:

MOVR3,#200

D2:

MOVR2,#250

D1:

DJNZR2,D1;

DJNZR3,D2;

RET

若机器周期仍为1us,则延时时间

T=1+200(1+250*2)+200*2+2=100603us≈0.1s

四、实验步骤:

1.分析实验所用到的电路原理图,根据需要连接跳线帽。

2.编写程序实现LED1到LED8逐个点亮(延时时间均为0.2秒);

3.LED1到LED8全亮,延时0.2秒;

4.LED8到LED1逐个灭,延时0.2秒;

5.跳转到第2步开始执行。

6.按照实验流程的要求编写程序,并完成调试。

五、实验要求:

1.预习,书写实验报告(包括实验目的,原理、步骤、流程图、实验程序)。

2.上机调试程序,直到完成所要求的功能并在实验报告后面书写程序调试时所遇到的问题和最终解决的办法。

 

实验三数码管显示实验-静态显示

一、实验目的:

1.学习数码管的静态显示原理

2.学习数码管静态显示的编程方法

3.学习实际数码管的引脚测量方法

二、实验设备:

STC89C52单片机实验板、串口下载线、USB连接线、电脑

三、实验原理图

1.数码管显示原理

常用的是七段式和八段式LED数码管,八段比七段多了一个小数点,其他的基本相同。

八段就是指数码管里有八个小LED发光二极管,通过控制不同的LED的亮灭显示出不同的字形。

数码管又分为共阴极和共阳极两种类型,共阴极就是将八个LED的阴极连在一起,让其接地,这样给任何一个LED的另一端高电平,它便能点亮。

而共阳极就是将八个LED的阳极连在一起。

其原理图如下。

图2-3数码管原理图

   其中引脚图的两个COM端连在一起,是公共端,共阴数码管要将其接地,共阳数码管将其接正5伏电源,a,b,c,d,e,f,g,dp称为段选线。

显示时,都从段选线送入字符编码,而选中哪个位选线,那个数码管便会被点亮。

数码管的8段,对应一个字节的8位,a对应最低位,dp对应最高位。

所以如果想让数码管显示数字0,那么共阴数码管的字符编码为00111111,即3FH;共阳数码管的字符编码为11000000,即0C0H。

可以看出两个编码的各位正好相反。

如下图。

图2-4数码管显示示意图

共阳极的数码管0~F的段编码是:

0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH;

共阴极的数码管0~F的段编码是:

3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H

2.实验板原理图

一个八段数码管称为一位,多个数码管并列在一起可构成多位数码管,它们的段选线(即a,b,c,d,e,f,g,dp)连在一起,而各自的公共端称为位选线。

实验的电路原理图如图2-5所示:

图2-5LED数码管电路原理图

板上的LED数码管采用共阳型数码管,即每一位数码管都有一个公共的阳极。

P2.0-P2.3分别为四位数码管的位选信号(低电平有效),P0口是数码管的段信号。

LED显示器工作方式有两种:

静态显示方式和动态显示方式。

静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码。

当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。

这种方法的优点是占用CPU时间少,显示便于监测和控制。

缺点是硬件电路比较复杂,成本较高。

选中第一位LED数码管(P2.0置低),同时给P0口送不同的段码字,数码管就会出现不同的数字。

(见教材P241)

四、实验步骤:

1.分析实验所用到的电路原理图,根据需要连接跳线帽。

2.选择4位数码管中的1位,循环显示0-F,每位之间间隔为0.2S编程并完成调试。

五、实验要求:

1.预习,书写实验报告(包括实验目的,原理、步骤、流程图、实验程序)。

2.上机调试程序,直到完成所要求的功能并在实验报告后面书写程序调试时所遇到的问题和最终解决的办法。

 

实验四数码管显示实验-动态显示

一、实验目的:

1.学习数码管的动态显示原理

2.学习数码管动态显示的编程方法

二、实验设备:

STC89C52单片机实验板、串口下载线、USB连接线、电脑

三、实验原理图

1.动态显示原理

在实际的单片机系统中,往往需要多位数码管显示。

由于每个数码管至少需要8个I/O口,如果需要多个数码管,则需要太多I/O口,而单片机的I/O口是有限的。

在实际应用中,一般采用动态显示的方式解决此问题。

动态显示时所有数码管的段选全部连接在一起,多个数码管交替显示,利用人的视觉暂留作用使人看到多个数码管同时显示。

在编程时,需要输出段选和位选信号,位选信号选中其中一个数码管,然后输出段码,使该数码管显示所需要的内容,延时一段时间后,再选中另一个数码管,再输出对应的段码,高速交替。

例如需要显示数字“12”时,先输出位选信号,选中第一个数码管,输出1的段码,延时一段时间后选中第二个数码管,输出2的段码。

把上面的流程以一定的速度循环执行就可以显示出“12”,由于交替的速度非常快,人眼看到的就是连续的“12”。

在动态显示程序中,各个位的延时时间长短是非常重要的,如果延时时间长,则会出现闪烁现象;如果延时时间太短,则会出现显示暗且有重影。

实际显示时每位显示的延时时间1ms。

2.电路原理图

实验的电路原理图如图2-5所示。

实验板上的LED数码管采用共阳型数码管,即每一位数码管都有一个公共的阳极。

P2.0-P2.3分别为四位数码管的位选信号(低电平有效),P0口是数码管的段信号。

四、实验步骤:

1.分析实验所用到的电路原理图,根据需要连接跳线帽。

2.4位数码管循环显示"0123""4567""89AB""CDEF"4组数,每组数字显示时间为3秒,之后显示下一组。

编写程序并完成调试。

五、实验要求:

1.预习,书写实验报告(包括实验目的,原理、步骤、流程图、实验程序)。

2.上机调试程序,直到完成所要求的功能并在实验报告后面书写程序调试时所遇到的问题和最终解决的办法。

 

实验五矩阵键盘实验

一、实验目的:

1.学习非编码键盘的工作原理和键盘的扫描方式。

2.学习键盘的去抖方法和键盘应用程序的设计。

二、实验设备:

STC89C52单片机实验板、串口下载线、USB连接线、电脑

三、实验原理图

键盘是单片机应用系统接受用户命令的重要方式。

单片机应用系统一般采用非编码键盘,需要由软件根据键扫描得到的信息产生键值编码,以识别不同的键。

按照键盘的连接方式,键盘还可分为独立键盘和矩阵式键盘两种。

本板采用4*4矩阵键盘,行信号分别为P1.0-P1.3,列信号分别为P1.4-P1.7。

具体电路连接见图2-6.

图2-6矩阵键盘电路原理图

对于键的识别一般采用逐行(列)扫描查询法,判断键盘有无键按下,由单片机I/O口向键盘送全扫描字,然后读入列线状态来判断。

详细内容见教材233页。

四、实验步骤:

1.分析实验所用到的电路原理图,根据需要连接跳线帽(由于P1.3和P1.4管脚和实时时钟芯片DS1302复用,所有在做矩阵键盘实验的时候务必拔去板上的DS1302芯片,以免产生干扰)。

2.按不同的键(0-F),使用数码管的静态显示(选4位中1位)显示按键的键值。

3.根据题目要求,编写实验程序,并完成调试。

五、实验要求:

1.预习,书写实验报告(包括实验目的,原理、步骤、流程图、实验程序)。

2.上机调试程序,直到完成所要求的功能并在实验报告后面书写程序调试时所遇到的问题和最终解决的办法。

 

实验六带应急的交通灯控制实验

一、实验目的:

1.使用P1口做为输出实现交通灯控制实验。

2.学习外部中断技术的基本使用方法和中断处理程序的编程方法。

二、实验设备:

STC89C52单片机实验板、串口下载线、USB连接线、电脑

三、实验原理

本实验电路部分如图2-1和2-2所示,使用发光二极管模拟交通灯,LED1到LED3作为东西路口的红、黄、绿灯,LED5到LED7作为南北路口的红、黄、绿灯。

灯的亮灭规则按流程图要求。

由原理图可分析出,当端口为低电平时,发光二极管亮,高电平时,发光二极管灭,考虑人眼的视觉暂留(0.1S),调整发光二极管亮灭的延时时间。

在上述要求的基础上增加允许急救车优先通过的要求。

当有急救车到达时,两个方向上的红灯亮,以便让急救车通过,假定急救车通过路口的时间为5秒,急救车通过后,交通灯恢复中断前的状态。

本实验以单脉冲为中断申请,表示有急救车通过。

中断0的电路原理图如下图所示:

图2-7外部中断电路原理图

四、实验步骤:

1.分析实验所用到的电路原理图,根据需要连接跳线帽。

2.根据实验要求设LED1到LED3作为东西路口的红、黄、绿灯,LED5到LED7作为南北路口的红、黄、绿灯。

3.主程序首先按照图2-8的流程来执行程序,当有急救车通过时,按下中断按键,进入中断子程序,亮灭规则如图2-9所示:

 

 

图2-9中断程序流程图

 

图2-8主程序交通灯亮灭规则

4.根据流程图,编写实验程序,并完成调试。

五、实验要求:

1.预习,书写实验报告(包括实验目的,原理、步骤、流程图、实验程序)。

2.上机调试程序,直到完成所要求的功能并在实验报告后面书写程序调试时所遇到的问题和最终解决的办法。

 

实验七定时器控制循环彩灯

一、实验目的:

1.学习89C51内部定时器的使用和编程方法。

2.进一步掌握中断处理程序的编写方法。

二、实验设备:

STC89C52单片机实验板、串口下载线、USB连接线、电脑

三、实验原理

1.定时常数的确定

定时器/计数器的输入脉冲周期与机器周期一样,为振荡频率的1/12。

本实验中时钟频率为12.0MHZ,现要采用中断方法来实现0.5秒延时,要在定时器1中设置一个时间常数,使其每隔0.05秒产生一次中断,CPU响应中断后将R0中计数值减一,令R0=0AH,即可实现0.5秒延时。

时间常数可按下述方法确定:

机器周期=12÷晶振频率=12/(12×106)=1us

设计数初值为X,则(216-X)×1×10-6=0.05,可求得X=15536

化为十六进制则X=3CB0H,故初始值为TH1=3CH,TL1=B0H

2.初始化程序

包括定时器初始化和中断系统初始化,主要是对IP、IE、TCON、TMOD的相应位进行正确的设置,并将时间常数送入定时器中。

由于只有定时器中断,IP便不必设置。

3.设计中断服务程序和主程序

中断服务程序除了要完成计数减一工作外,还要将时间常数重新送入定时器中,为下一次中断做准备。

四、实验步骤:

1.分析实验所用到的电路原理图,根据需要连接跳线帽。

2.89C51内部定时器1按方式1工作,即作为16位定时器使用,每0.05秒钟T1溢出中断一次。

P1口的P1.0~P1.7分别接发光二极管的LED1~LED8。

要求编写程序模拟一循环彩灯。

彩灯变化花样为:

①LED1、LED2、…LED8依次点亮;②LED1、LED2、…LED8依次熄灭;③LED1、LED2、…LED8全亮;④LED1、LED2、…LED8全灭。

①、②、③、④各时序间隔为0.2秒。

发光二极管按以上规律循环显示。

3.根据流程图,编写实验程序,并完成调试。

有兴趣的同学可以在此基础上,使用定时器控制蜂鸣器发出一段音乐。

五、实验要求:

1.预习,书写实验报告(包括实验目的,原理、步骤、流程图、实验程序)。

2.上机调试程序,直到完成所要求的功能并在实验报告后面书写程序调试时所遇到的问题和最终解决的办法。

 

实验八单片机到PC机数据传送实验

一、实验目的:

1.掌握89C51串行口方式1的工作方式及编程方法。

2.掌握串行通讯中波特率的设置。

3.在给定通讯波特率的情况下,会计算定时时间常数。

二、实验设备:

STC89C52单片机实验板、串口下载线、USB连接线、电脑

三、实验原理

89C51单片机串行通讯的波特率随串行口工作方式选择的不同而不同,除与振荡频率f,电源控制寄存器PCON的SMOD位有关外,还与定时器T1的设置有关。

1)在工作方式0时,波特率固定,仅与系统振荡频率有关,其大小为f/12。

2)在工作方式2时,波特率也只固定为两种情况:

当SMOD=1时,波特率=f/32

当SMOD=0时,波特率=f/64

3)在工作方式1和3时,波特率是可变的:

当SMOD=1时,波特率=定时器T1的溢出率/16

当SMOD=0时,波特率=定时器T1的溢出率/32

其中,定时器T1的溢出率=f/(12*(256-N)),N为T1的定时时间常数。

在实际应用中,往往是给定通讯波特率,而后去确定时间常数。

例如:

f=6.144MHZ,波特率等于1200,SMOD=0时,则1200=6144000/(12*32*(256-N)),计算得N=F2H。

时间常数可通过教材中P163的表7-2查询。

RS232串行通信是常见的通信方式之一,本板采用MAX232电平转换芯片使单片机的串口和计算机的串口相连进行通信。

具体电路原理图如图2-10所示。

图2-10串口电路原理图

四、实验步骤:

1.分析实验所用到的电路原理图,根据需要连接跳线帽。

2.本实验要求通过单片机的串行口循环向PC发送从0-100的数据。

定时器T1采用方式2,波特率为1.2Kbps,不加倍,请计算定时常数。

SMOD=0,初值=E6H

3.根据要求,编写实验程序,并完成调试。

五、实验要求:

1.预习,书写实验报告(包括实验目的,原理、步骤、流程图、实验程序)。

2.上机调试程序,直到完成所要求的功能并在实验报告后面书写程序调试时所遇到的问题和最终解决的办法。

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

当前位置:首页 > PPT模板 > 商务科技

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

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