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

上传人:dfg****19 文档编号:180313714 上传时间:2023-01-05 格式:DOC 页数:31 大小:1.15MB
返回 下载 相关 举报
11年单片机原理用应用实验讲义_第1页
第1页 / 共31页
11年单片机原理用应用实验讲义_第2页
第2页 / 共31页
11年单片机原理用应用实验讲义_第3页
第3页 / 共31页
点击查看更多>>
资源描述
单片机原理实验讲义 31第一部分: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. 熟悉单片机实验使用的编译软件Keil uVision2,并掌握使用其进行程序编写的流程。2. 掌握实验板所用的程序下载软件使用方法。二、实验设备:STC89C52单片机实验板、串口下载线、USB连接线、电脑三、实验原理系统编程软件本系统采用可采用Keil uVision2作为程序编辑和调试软件。使用Keil软件进行单片机程序的步骤如下:1. 首先安装Keil 软件,然后双击,打开keil软件 2. 点击菜单第4项Project,建立一个工程文件,按确定以后,进入芯片型号选择,这里有国外各厂家的产品及其对应型号,选择正确的型号,并按确定。这里没有STC的单片机,可以选择Atmel公司的AT89S52,之后按确定。会出现如下的提示:表示是否将初始化代码加到工程项目里,如果你使用的是C51编程,那么应该按是,如果是汇编语言则按否。 3. 此时,一个工程文件就建立了,但是这个工程里面不包含任何文件。可以打开菜单的第一项Filenew,建立一个新的文本文件,将这个文件保存在项目文件相同的目录,根据使用汇编语言或者C语言编写后缀选择.asm或者.c.4. 此后,在工程窗口中找到source group 1,点击右键,选择add files to group “source group 1” 把上面的.asm或者.c文件添加到工程项目里。之后,就可以在source group 1下看到刚才添加的文件了。 5. 接下来双击添加的.asm或者.c 文件,然后在右边的程序编辑区进行程序的编写。6. 编辑完成后,就可以进行调试了,点击编译进行调试,直到没有错误。7. 右键点击TARGET 1,选择options for target target 1,点击选项卡的第三项“OUTPUT” ,在create executable 中选中create HEX File后,点击确定,之后再编译,就可以生成产生烧写文件,也就是例子中的ts.hex文件。8. 使用程序下载软件将上述文件ts.hex文件写入单片机(见程序下载软件)。程序下载软件本系统使用的STC89C52单片机支持串口烧写程序,首先在光盘:STC89C52/软件程序下载软件STC串口下载软件中找到 ,将其复制到硬盘上,然后双击打开,再双击,就打开了串口下载软件,下载时的具体步骤如下:1. 由Keil uvision2编译软件编译产生 .hex 文件(见Keil软件介绍)。2. 连接好开发板的电源线(可USB供电,也可5V电源供电)和串口线,先保持断电状态。3. 双击打开程序下载软件,选择单片机型号为STC89C52RC(根据系统板上的单片机型号) 4. 选择文件,点击OpenFile/打开文件,打开目标.Hex文件 5. 然后点击下载按钮 6. 等提示打开电源时,给系统上电 7. 出现如下画面,下载完成 四、实验步骤:1. 学会使用程序编译软件和下载软件。2. 编写程序实现LED1到LED8全部点亮。3延时0.2秒;4. LED1到LED7全亮;5. 延时0.2秒,跳转到第2步开始执行。6. 按照实验流程的要求编写程序,并完成调试。五、实验要求: 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. 延时程序 普通延时程序的一般写法: MOV R2,#100 D1:DJNZ R2, D1 RET 延时次数= 1+100*2+2=203MC 若晶振频率f=12MHz, 则机器周期=1us因此延时时间T=203*1=203us ,此时改变R2的值,最大可实现的延时时间=(1+255*2+2)*1=513us0.5ms。若需要较大的延时时间,则需要多重循环。例如: MOV R3,#200D2: MOV R2,#250D1: DJNZ R2, D1; DJNZ R3,D2; RET若机器周期仍为1us,则延时时间 T= 1+200(1+250*2)+200*2+2=100603us0.1s四、实验步骤:1. 分析实验所用到的电路原理图,根据需要连接跳线帽。2. 编写程序实现LED1到LED8逐个点亮(延时时间均为0.2秒);3LED1到LED7全亮,延时0.2秒;4. LED7到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 数码管显示示意图共阳极的数码管0F的段编码是:0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH; 共阴极的数码管0F的段编码是:3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H2. 实验板原理图 一个八段数码管称为一位,多个数码管并列在一起可构成多位数码管,它们的段选线(即a,b,c,d,e,f,g,dp)连在一起,而各自的公共端称为位选线。实验的电路原理图如图2-5所示:图2-5 LED数码管电路原理图板上的LED数码管采用共阳型数码管,即每一位数码管都有一个公共的阳极。P2.0-P2.3分别为四位数码管的位选信号(低电平有效),P0口是数码管的段信号。LED显示器工作方式有两种:静态显示方式和动态显示方式。静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。这种方法的优点是占用CPU时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高。选中第一位LED数码管(P2.0置低),同时给P0口送不同的段码字,数码管就会出现不同的数字。(见教材241页)四、实验步骤: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位数码管循环显示 0123456789ABCDEF,每组时间间隔位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所示:开始两个红灯亮延时3秒东西路口绿灯亮,南北路口红灯亮延时5秒东西路口绿灯灭东西路口黄灯闪烁5次两红灯亮延时0.2秒南北路口绿灯亮,东西路口红灯亮延时5秒南北路口绿灯灭南北路口黄灯闪烁5次两红灯亮延时0.2秒中断入口有关寄存器入栈操作端口使红灯全亮,黄、绿灯全灭延时5秒取中断前所保存的数据输出,恢复原始状态有关寄存器出栈外部中断允许标志置位中断返回 图2-9 中断程序流程图图2-8 主程序交通灯亮灭规则 4. 根据流程图,编写实验程序,并完成调试。五、实验要求: 1. 预习,书写实验报告(包括实验目的,原理、步骤、流程图、实验程序)。 2. 上机调试程序,直到完成所要求的功能并在实验报告后面书写程序调试时所遇到的问题和最终解决的办法。实验七 定时器控制循环彩灯一、实验目的:1 学习89C51内部定时器的使用和编程方法。2 进一步掌握中断处理程序的编写方法。二、实验设备:STC89C52单片机实验板、串口下载线、USB连接线、电脑三、实验原理1 定时常数的确定定时器/计数器的输入脉冲周期与机器周期一样, 为振荡频率的1/12。本实验中时钟频率为12.0 MHZ,现要采用中断方法来实现0.5秒延时,要在定时器1中设置一个时间常数,使其每隔0.05秒产生一次中断,CPU响应中断后将R0中计数值减一,令R0=0AH,即可实现0.5秒延时。时间常数可按下述方法确定:机器周期=12晶振频率=12/(12106)=1us设计数初值为X,则(216-X)110-6=0.05,可求得X=15535化为十六进制则X=3CAFH,故初始值为TH1=3CH,TL1=AFH2 初始化程序包括定时器初始化和中断系统初始化,主要是对IP、IE、TCON、TMOD的相应位进行正确的设置,并将时间常数送入定时器中。由于只有定时器中断,IP便不必设置。3 设计中断服务程序和主程序中断服务程序除了要完成计数减一工作外,还要将时间常数重新送入定时器中,为下一次中断做准备。四、实验步骤:1. 分析实验所用到的电路原理图,根据需要连接跳线帽。2. 89C51内部定时器1按方式1工作,即作为16位定时器使用,每0.05秒钟T1溢出中断一次。P1口的P1.0P1.7分别接发光二极管的LED1LED8。要求编写程序模拟一循环彩灯。彩灯变化花样为: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/643) 在工作方式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采用方式1,波特率为1.2Kbps,不加倍,请计算定时常数。3. 根据要求,编写实验程序,并完成调试。五、实验要求: 1. 预习,书写实验报告(包括实验目的,原理、步骤、流程图、实验程序)。 2. 上机调试程序,直到完成所要求的功能并在实验报告后面书写程序调试时所遇到的问题和最终解决的办法。
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 机械制造 > 工业自动化


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!