单片机的应用(1)流水灯_第1页
单片机的应用(1)流水灯_第2页
单片机的应用(1)流水灯_第3页
单片机的应用(1)流水灯_第4页
单片机的应用(1)流水灯_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机的应用(1)---流水灯1单片机应用开发的过程2流水灯的制作3定时计数器内容提要:本周课程内容概述这次课程中,通过流水灯的制作过程,介绍单片机应用系统的开发过程,过程中所需要的工具。由流水灯中的定时问题,引入定时计数器。本周知识点:1.单片机开发的过程及所用工具2.以流水灯为例复习已学习过的单片机的相关知识点:单片机的引脚单片机指令系统单片机的开发第一步:制作硬件电路首先当然是画原理图了,可以用Protel画(四年级时会学习),也可以用手画。对于复杂的电路,还要根据原理图生成PCB板图(Protel可以自动生成),里面有些诀窍,留待大四研究。当然也可以手画。PCB图举例由于流水灯的电路较简单,所以直接在面包板上焊接电路。电路焊好后,就可以开始编程了。编程是在电脑上进行的,和C语言一样,需要一个软件环境,推荐使用:KeilC516.xx版,安装时可选Uvision2安装。在KeilC环境中将所编写的源程序汇编成HEX或是BIN文件,然后,用编程器将HEX或BIN文件烧入单片机中,再将单片机插到做好的硬件电路中,通电,就可以看到结果了。(1)发光二极管:在两端的电压差超过其导通压降(一般为1.7V~1.9V)时开始发光工作。其点亮电流为5mA~10mA。(2)书上提到的晶体振荡器实际叫晶体谐振器,即立式晶振,内部没有集成电容,使用时需外接电容才能工作;而晶体振荡器的内部集成有电容,使用时不需外接电容就可起振。(3)51单片机的P0口使用时需外接上拉电阻,而P1,P2,P3口内部由于集成有上拉电阻,因此外部不需再接上拉电阻。另I/O口的驱动电流uA级。流水灯涉及的知识点:51单片机实现流水灯的原理图:从原理图看出,所选用的单片机是Atmel公司的AT89C51,这是由于它是一种带FlashROM的单片机。FlashROM是一种快速存储式只读存储器,可以电擦除,同时在调电后数据不会丢失。编程寿命可达一千次左右。其余同MCS-8051。要考虑51单片机的引脚驱动能力,由于示例采用的是AT89C2051,一种只有20个引脚的51单片机,其P1和P3口上可以有20mA的驱动电流,因此没有添加驱动芯片。

ORG0000HLJMP2000HORG2000HMOVSP,#30HMOVR0,#FEHCLRALOOP:MOVP1,R0;点亮第一个灯

LCALLDELAY51单片机实现流水灯的源程序:

MOVA,R0RLAMOVR0,ASJMPLOOPDELAY:……..RETEND51单片机实现流水灯的源程序:定时计数器

前面的延时,我们采用了软件延时程序,但这样做并不精确,首先程序的指令中包含的其它的判断指令,定时时间不能精确控制;其次,主程序中做了循环延时,就不能进行其它程序功能的设计。单片机之所以在工业控制中有大量的应用,就是在于它有其独特的定时、计数功能。下面,我们学习51单片机的定时计数器,并实现小灯的闪烁功能定时/计数器一、定时/计数器的结构51子系列单片机内有两个十六位增一

定时/计数器TH0计数值高八位TL0计数值低八位TH1计数值高八位TL1计数值低八位TMODTCON工作方式定时/计数控制控制控制1、工作方式控制寄存器

TMOD

TMODM0

M1C/GATE

M0

M1C/GATET1T0GATE——门控位。

GATE=0启动不受/INT0或/INT1的控制;

GATE=1启动受/INT0或/INT1的控制。

C/T——外部计数器/定时器方式选择位

C//T=0定时方式;

C//T=1计数方式。

M1M0——

工作模式选择位(编程可决定四种工作模式)。

2、定时/计数器控制寄存器TCONTCONTF1TR1TF0TR0IE1IT1IE0IT0

能否启动定时/计数器工作与GATE有关,分两种情况:

GATE=0时,若TRi=1,开启Ti计数工作;(i=0或1)若TRi=0,停止Ti计数。

GATE=1时,若TRi=1且/INTi=1时开启Ti计数;若TRi=1且/INTi=0时不能开启Ti计数。

若TRi=0,

停止Ti计数。

TR0——定时/计数器0运行控制位。

软件置位,软件复位。

TR1——定时/计数器1运行控制位。(用法与TR1类似)

二、定时/计数器的四种工作模式1、模式0计数寄存器TLi

低5位+THi8位(T1、T0的等效逻辑结构)TLi(5位)THi(8位)TFi中断控制BAC/T=0振荡器1/12&≥1TiTRiGATEINTiC/T=10~40~7C//T=0——定时;C//T=1——对外计数。定时:fosc/12=1/(12/fosc)=1/T波形等间隔,次数已定,时间确定即对机器周期进行计数。左图定时时间为N*TN个方波T计数:脉冲不等间隔。

每个下降沿计数一次

确认一次负跳变需两个机器周期,

所以,计数频率最高为fosc/24。

2、模式1与模式0相似。与模式0的区别:计数位数不同。计数寄存器:THi(高8位)+TLi(低8位)

TFi中断TLi(8位)THi(8位)0~70~7控制BAC/T=0振荡器1/12&≥1TiTRiGATEINTiC/T=13、模式2与模式0、1的区别:1)计数位数不同;2)初值自动重装。

TFi中断TLi(8位)THi(8位)控制BAC/T=0振荡器1/12&≥1TiTRiGATEINTiC/T=14、模式3T0定时/计数,而T1停止计数,但可作波特率发生器。T0分成两独立定时/计数器TL0和TH0。TL0使用C//T、GATE、TR0、/INT0、TF0定时/计数,TH0使用TR1、TF1因此,只能用于定时

TF0中断控制BAC/T=0振荡器1/12&≥1TiTRiGATEINTiC/T=1TL0(8位)振荡器1/12TH0TF1中断(a)TL0作8位定时/计数器(b)TH0作8位定时器模式3时,T1可定时为模式0、1、2的定时/计数,但不可中断,所以一般只作串口波特率发生器用。振荡器1/12TL1(5位)TH1(8位)串行口C/T=0C/T=1T1(P3.5)振荡器1/12TL1(8位)TH1(8位)串行口C/T=0C/T=1T1(P3.5)TLi(8位)THi(8位)振荡器1/12C/T=0C/T=1T1(P3.5)串行口(a)T0模式3时T1模式0(b)T0模式3时T1模式1(c)T0模式3时T1模式2编程前确定参数:(1)定时/计数器——T0、T1选择其一,(2)工作方式——C//T及GATE,(3)计数初值——加1计数、16位。

计数:X=M-N;M=213=8192(模式0)M=216=65536(模式1)M=28=256(模式2、模式3)定时:X=M–N=M–t/T(t为所要求的定时时间,T为机器周期)

(4)工作模式——M1、M0

N0010

1046MX四、定时/计数器的应用编制初始化程序:1)写TMOD;2)确定IE、IP;3)写计数初值;4)启动计数(TRi)

例1、设计一个能产生t=1ms的周期信号发生器,试编程。解:选T0;C//T=0,GATE=0

N=t/T=t/[12×(1/fosc)]=500

所以,X=M-500,模式0、模式1均可,取模式0,M=213=8192X=8192-500=7692=1E0CH=0001111000001100B,

1E0CH01100TL011110000TH0F0H0CH先将低五位放入TL0中,再将剩余的数从右向左数出八位放入TH0中。

LJMPMAINORG000BHLJMPINSE1ORG1000HMAIN:

MOVSP,#60HMOVTL0,#0CHMOVTH0,#0F0HMOVTMOD,#00H

SETBTR0SETBET0SETBEASJMP$

………ORG0000H

INSE1:MOVTL0,#0CHMOVTH0,#0F0HCPLP10RETI小结:1、MCS-51单片机内有几个定时计数器?如何计数?2、T0、T1有几种工作方式?3、编程应用前要事先确定的参数有几个?

定时/计数器的应用TF1TR1TF0TR0IE1IT1IE0IT0

M0

M1C/GATE

M0

M1C/GATETMODTCON复习:例2、设fosc=6MHz,利用单片机内定时/计数器及P10口线输出1000个脉冲,脉冲周期为2mas,试编程。

8031P1.0T12ms

T=12×1/fosc=2us选取T0定时;T1计数。

设T0采用中断方式产生周期为2ms方波,T1对该

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论