单片机及其控制技术教学课件汇总完整版电子教案全书整套课件幻灯片(最新)_第1页
单片机及其控制技术教学课件汇总完整版电子教案全书整套课件幻灯片(最新)_第2页
单片机及其控制技术教学课件汇总完整版电子教案全书整套课件幻灯片(最新)_第3页
单片机及其控制技术教学课件汇总完整版电子教案全书整套课件幻灯片(最新)_第4页
单片机及其控制技术教学课件汇总完整版电子教案全书整套课件幻灯片(最新)_第5页
已阅读5页,还剩142页未读 继续免费阅读

下载本文档

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

文档简介

1、单片机及其控制技术项目一 认识单片机任务1-1 初识单片机任务要点:本任务主要是使初学者了解、认识单片机,理解单片机的概念,了解单片机的用途、特点及其发展趋势。1.1.1单片机基本概念单片机也许大家都听说过,单片机到底是什么?它是用来做什么的呢?项目一 认识单片机1.1.2 点亮一个LED灯为了更好的认识单片机,理解单片机的功能,我们通过实例来进一步认识单片机。用单片机来点亮一个LED灯,如图所示:在P1.0端口上接一个发光二极管LED,任务就是要让发光二极管LED点亮。这里要解决的问题主要有以下几个:(1) 发光二极管LED如何发光;(2) 单片机如何控制LED发光;(3) 单片机工作需要哪

2、些基本条件;(4) 单片机控制LED发光的程序如何编写。1. LED如何发光项目一 认识单片机2. 单片机如何控制LED发光3. 单片机工作基本条件4. 编写LED发光的程序ORG 0000HLJMP MAINORG 0030HMAIN: CLR P1.0JMP MAINEND 项目一 认识单片机1.1.3 单片机的应用领域(1)日常生活及家电领域 (2)办公自动化领域 (3)商业营销领域 (4)工业自动化 (5)智能仪器仪表 (6)集成智能传感器的测控系统(7)汽车电子与航空航天电子系统1.1.4 单片机的分类1.1.5 单片机的特点1.1.6 单片机的发展趋势1.1.7 现阶段主流单片机简

3、介结构简单、体积小 性能价格比高 可靠性高、耗能小 应用范围广泛。项目一 认识单片机8位主流单片机的种类很多,如下所示。(1)Intel MCS-51兼容单片机有很多,是属于早期的8位单片机系列。(2)Microchip PIC16C 5X/6X/7X/8X 系列、PIC17C、PIC18C 系列。(3)Freescale 68HC908;68S08 系列。(4)Atmel AVR 系列:(5)义隆EM78系列。Microchip的8位PIC系列拥有较大的市场份额,采用类RISC设计,在家用电器、工业控制上应用广泛。Freescale C前身为Motorola半导体)的68系列单片机具有高可靠

4、性,广泛用于汽车电子领域。16位主流单片机的种类如下所示。(1)Intel MCS-96 系列,如 80C196。(2)TI MSP4:30 系列。(3)Microchip PIC24C 系列。(4)Maxim MAXQ 系列(5)凌阳SPMC75系列。(6)Freescale MC68S12 系列。32位主流单片机的种类如下示。(1)ST STM32(Cortex-M3)。(2)Atmel AT32UC3B 系列(AVR32)。(3)NXP LPC2000 系列(ARM7 内核)。(4)Luminary Micro(TI收购)的SteUaris(群星)系列(armCo版内核)。项目一 认识单

5、片机任务1-2解析单片机的内部结构任务要点:掌握单片机各个引脚的功能,掌握常用型号单片机的内部存储器的结构和地址分配。1.2.1 89C51单片机的外部引脚及最小系统单片机的组成 项目一 认识单片机最小应用系统的概念 在实际应用中,由于需求情况不同,单片机应用系统的外围电路及控制要求不同。单片机最小应用系统是指能使单片机独立工作运行的尽可能少的电路连接。89C51单片机内部已经有4kB的Flash ROM及128B的RAM,因此只需外接时钟电路、复位电路及电源即可工作,称为单片机最小应用系统,如图所示。 项目一 认识单片机(2)时钟电路(3)复位电路项目一 认识单片机1.2.2 89C51单片

6、机的存储器结构1. 程序存储器ROM89C51程序存储器特殊功能存储单元项目一 认识单片机2. 数据存储器RAM2.1内部RAM低128单元项目一 认识单片机工作寄存器区 RS0、RS1决定使用的是哪个寄存器 MOV A, RO MOV A, 00H位寻址区 CLR 00H MOV 00H,#00H 或 ANL 00H,#00H用户RAM区项目一 认识单片机2.2内部RAM高I28单元(专用寄存器区)项目一 认识单片机MCS-51中共有22个专用寄存器21个可寻址1、程序计数器PC PC中的数据位将要执行的指令的地址2、累加器ACC 8位寄存器 E0H3、B寄存器 主要用于乘除法运算项目一 认

7、识单片机4、程序状态字(PSW)5、数据指针(DPTR) DPH高8位 DPL低8位项目一 认识单片机任务1-3 数制转换任务要点:掌握单片机中数的表示和各数制之间的转换。1.3.1常用数制1、数字与码制基础十进制二进制八进制十六进制不同进制间的转换1.3.2不同进制数之间的相互转换1.3.3逻辑运算与、或、非、同或、异或项目一 认识单片机任务1-4单片机的开发工具1.4.1Keil软件的使用Keil Vision2是众多单片机应用开发软件中优秀的软件之一,它支持众多不同公司的51架构的芯片,它集编辑,编译,仿真等于一体,同时还支持PLM ,汇编和C语言的程序设计,它的界面和常用的微软VC+的

8、界面相似,界面友好,易学易用,在调试程序,软件仿真方面也有很强大的功能。Keil单片机模拟调试软件安装完成以后,计算机桌面上将产生一个标注有“Keil Vision2”的图标,双击这个图标就可以进入Keil单片机模拟调试软件的集成开发环境,出现如图所示的屏幕,进入图所示的编辑界面。项目一 认识单片机STC_ISP_V488单片机下载软件的使用1、 这里使用STC-ISP-V4.88免安装版,双击可执行文件,如图所示。2、 启动后,首次设置时只需注意芯片的选择,在左上角下拉框中选择单片机型号,一般的台式机大多只有一个串口,所以COM栏就选择COM1,如果使用别的串口那就选择相应的串口号,其他全部

9、使用默认,其他参数可以使用默认状态,无须改动。总体设置如图所示。项目一 认识单片机1.4.2Proteus 的基本操作1、认识ProteusProteus是英国Labcenter Electronics公司开发的EDA软件。它运行于Windows操作系统上,能够实现原理图设计、电路仿真到PCB设计的一站式作业,真正实现了电路仿真软件、PCB设计软件和虚拟模型仿真软件的三合一。2、进入Proteus ISIS双击桌面上的ISIS 7 Professional图标或者单击屏幕左下方的“开始”“所有程序”“Proteus 7 Professional” “ISIS 7 Professional”,进

10、入Proteus ISIS工作环境,如图1-4-22所示: 项目一 认识单片机3、工作界面Proteus ISIS的工作界面是一种标准的Windows界面,包括:屏幕上方的标题栏、菜单栏、标准工具栏,屏幕左侧的绘图工具栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口,屏幕下方的状态栏,屏幕中间的图形编辑窗口,如图所示: 单片机及其控制技术项目二 LED及数码管控制任务2-1闪烁灯的控制项目二 LED及数码管控制 MOV A,Rn ;RnA ,n=07 MOV A,Ri ;(Ri)A,i=0、1 MOV A,direct ;(direct)A MOV A,#da

11、ta ;dataA 一、数据传送类指令 内RAM数据传送指令 以累加器A为目的字节的传送指令(4条)项目二 LED及数码管控制例:项目二 LED及数码管控制 MOV Rn,A ;ARn,n=07 MOV Rn,direct;(direct)Rn,n=07 MOV Rn,#data ;dataRn,n=07 以工作寄存器Rn为目的字节 的传送指令(3条)项目二 LED及数码管控制 以直接地址为目的字节的传送指令(5条) MOV direct,A ;A(direct) MOV direct,Rn ;Rn(direct),n=07 MOV direct,Ri ;(Ri)(direct),i=0、1

12、MOV direct1,direct2;(direct2)(direct1) MOV direct,#data;data(direct)项目二 LED及数码管控制 以寄存器间址为目的字节的传送指令(3条) MOV Ri,A ;A(Ri),i=0、1 MOV Ri,direct ;(direct)(Ri),i=0、1 MOV Ri,#data ;data(Ri),i=0、1项目二 LED及数码管控制例项目二 LED及数码管控制试编程把30h和40h单元内容进行交换。MOV A,30H ;(30h) AMOV 30H,40H ;(40h) 30h MOV 40H,A ; A 40h RAMXY累加

13、器A30H40H返回项目二 LED及数码管控制 16位数据传送指令MOV DPTR,#data16 ;data16DPTR【例】MOV DPTR,#1234H ;DPTR=1234H该指令也可以用两条8位数据传送指令实现:MOV DPH,#12H ;DPH=12HMOV DPL,#34H ;DPL=34H,DPTR=1234H项目二 LED及数码管控制项目二 LED及数码管控制 MOVX A,Ri ;(Ri)A,i=0、1 MOVX A,DPTR ;(DPTR)A MOVX Ri,A ;A(Ri),i=0、1 MOVX DATR,A ;A(DATR) 外RAM传送指令(4条)项目二 LED及数

14、码管控制2.2减1非0转移指令(2条) DJNZ direct,rel;PC+3PC,(direct)-1direct 若(direct)=0,则程序顺序执行 若(direct)0,则PC+relPC,转移 DJNZ Rn,rel ;PC+2PC,Rn-1Rn, 若Rn=0,则程序顺序执行 若Rn0,则PC+relPC,转移项目二 LED及数码管控制四、任务实施1、硬件设计项目二 LED及数码管控制2、软件设计项目二 LED及数码管控制任务2-2模拟开关灯的控制项目二 LED及数码管控制项目二 LED及数码管控制项目二 LED及数码管控制2、软件设计项目二 LED及数码管控制任务2-3流水灯的

15、控制(一)项目二 LED及数码管控制项目二 LED及数码管控制2、软件设计项目二 LED及数码管控制任务2-4流水灯的控制(二)项目二 LED及数码管控制四、任务实施1、硬件设计项目二 LED及数码管控制2、软件设计项目二 LED及数码管控制任务2-5数码管静态显示控制项目二 LED及数码管控制1、LED显示和接口项目二 LED及数码管控制项目二 LED及数码管控制2、软件设计:参考程序如下:项目二 LED及数码管控制任务2-6数码管动态显示控制项目二 LED及数码管控制四、任务实施1、硬件设计如图所示。项目二 LED及数码管控制2、软件设计根据图中连接,假设8255A的无关地址位为1(也可为

16、0),则8255A的A 口地址为FFFCH, B 口地址为FFFDH,控制口地址为FFFFH,由于A、B 口均为输出,因此控制字为80H。参考程序如下:项目二 LED及数码管控制项目二 LED及数码管控制单片机及其控制技术项目三 按键控制任务3-1 独立按键控制项目三 按键控制2、按键去抖动项目三 按键控制项目三 按键控制四、任务实施:项目三 按键控制项目三 按键控制3、 软件设计项目三 按键控制项目三 按键控制任务3-2 多路开关状态指示项目三 按键控制项目三 按键控制项目三 按键控制项目三 按键控制任务3-3 矩阵键盘的控制项目三 按键控制3.3.2按键识别行线通过电阻接+5V电源,无按键

17、动作时,行线处于高电平。当有键按下时,行线电平状态将由与此行线相连的列线电平决定,列线电平如被指令输出为低,则行线电平为低,反之亦然。由于矩阵键盘中行、列线为多键共用,各按键彼此将发生相互影响,所以必须将行。列线信号配合起来并作适当处理才能确定按下键的位置。(1) 扫描法(2)线反转法项目三 按键控制3.3.3矩阵键盘的工作方式项目三 按键控制项目三 按键控制项目三 按键控制单片机及其控制技术项目四 中断系统与定时器/计数器的应用CPU暂时中止其正在执行的程序,转去执行请求中断的那个外设或事件的服务程序,等处理完毕后再返回执行原来中止的程序, 叫做中断。 为什么要设置中断? 提高CPU工作效率

18、 具有实时处理功能 具有故障处理功能 实现分时操作一.中断概述 什么叫中断? INT0:外部中断0,中断请求信号由P3.2输入。 INT1:外部中断1,中断请求信号由P3.3输入。 T0:定时/计数器0溢出中断,对外部脉冲计数由P3.4输入。 T1:定时/计数器1溢出中断,对外部脉冲计数由P3.5输入。 串行中断:包括串行接收中断RI和串行发送中断TI。二. 中断源和中断控制寄存器 中断源 中断源是指能发出中断请求,引起中断的装置或事件。 80C51单片机的中断源共有5个,其中2个为外部中断源,3个为内部中断源:项目四 中断系统与定时器/计数器的应用 中断请求:定时和外中断控制寄存器TCON;

19、 串行控制寄存器SCON; 中断允许控制寄存器IE; 中断优先级控制寄存器IP。 中断控制寄存器 80C51单片机中涉及中断控制的有3个方面4个特殊功能寄存器:项目四 中断系统与定时器/计数器的应用INT0、INT1、T0、T1中断请求标志放在TCON中串行中断请求标志放在SCON中。 中断请求控制寄存器(88H)TCOND7D6D5D4D3D2D1D0位名称TF1TF0IE1IT1IE0IT0位地址8FH8EH8DH8CH8BH8AH89H88H功能 T1 中断标志T0中断标志 中断标志 触发方式 中断标志触发方式TCON的结构、位名称、位地址和功能如下:项目四 中断系统与定时器/计数器的应

20、用 TCON位功能: TF1 T1溢出中断请求标志 T1计数溢出后,TF1=1 TF0 T0溢出中断请求标志 T0计数溢出后,TF0=1 IE1 外中断中断请求标志 当P3.3引脚信号有效时,IE1=1 IE0 外中断中断请求标志 当P3.2引脚信号有效时,IE0=1 IT1 外中断触发方式控制位 IT1=1,边沿触发方式; IT1=0,电平触发方式。 IT0 外中断触发方式控制位 其意义和功能与IT1相似。项目四 中断系统与定时器/计数器的应用串行控制寄存器SCON(98H)TCOND7D6D5D4D3D2D1D0位名称TIRI位地址99H98H功能 串行发送中断标志串行接收中断标志 TI

21、串行口发送中断请求标志 RI 串行口接收中断请求标志项目四 中断系统与定时器/计数器的应用 80C51对中断源的开放或关闭由中断允许控制寄存器IE控制。 IE在特殊功能寄存器中,字节地址A8H,位地址分别是A8HAFH。IE控制CPU对中断源总的开放或禁止以及每个中断源是否允许中断。 中断允许控制寄存器IE(A8H)IE的结构、位名称和位地址如下:IED7D6D5D4D3D2D1D0位名称EAESET1EX1ET0EX0位地址AFHACHABHAAHA9HA8H中断源CPU串行口T1T0项目四 中断系统与定时器/计数器的应用 EA CPU中断允许控制位 EA=1,CPU开中; EA=0,CPU

22、关中,且屏蔽所有5个中断源。 EX0 外中断INT0中断允许控制位 EX0=1,INT0开中;EX0=0,INT0关中。 EX1 外中断INT1中断允许控制位 EX1=1,INT1开中;EX1=0,INT1关中。 ET0 定时/计数器T0中断允许控制位 ET0=1,T0开中;ET0=0,T0关中。 ET1 定时/计数器T1中断允许控制位 ET1=1,T1开中;ET1=0,T1关中。 ES 串行口中断(包括串发、串收)允许控制位 ES=1,串行口开中;ES=0,串行口关中。说明: 80C51对中断实行两级控制,总控制位是EA,每一中断源还有各自的控制位。首先要EA=1,其次还要自身的控制位置“1

23、”。项目四 中断系统与定时器/计数器的应用项目四 中断系统与定时器/计数器的应用(3)中断优先寄存器IP(B8H) IP在特殊功能寄存器中,字节地址为B8H,位地址分别是B8HBFH,IP用来锁存各中断源优先级的控制位,其格式如图所示。 三. 中断处理过程 中断处理过程大致可分为四步: 中断请求、中断响应、中断服务、中断返回 中断请求 中断源发出中断请求信号,相应的中断请求标志位(在中断允许控制寄存器IE中)置“1”。 中断响应 CPU查询(检测)到某中断标志为“1”,在满足中断响应条件下,响应中断。 中断响应条件: 该中断已经“开中”; CPU此时没有响应同级或更高级的中断; 当前正处于所执

24、行指令的最后一个机器周期; 正在执行的指令不是RETI或者是访向IE、IP的指令, 否则必须再另外执行一条指令后才能响应。项目四 中断系统与定时器/计数器的应用 中断响应操作 CPU响应中断后,进行下列操作: 保护断点地址; 撤除该中断源的中断请求标志; 关闭同级中断; 将相应中断的入口地址送入PC; 80C51五个中断入口地址:INT0:0003H; T0:000BH;INT1:0013H T1:001BH;串行口:0023H 执行中断服务程序 中断服务程序应包含以下几部分: 保护现场 执行中断服务程序主体,完成相应操作 恢复现场 中断返回 在中断服务程序最后,必须安排一条中断返回指令RET

25、I,当CPU执行RETI指令后,自动完成下列操作: 恢复断点地址。 开放同级中断,以便允许同级中断源请求中断。项目四 中断系统与定时器/计数器的应用 四. 中断响应等待时间 若排除CPU正在响应同级或更高级的中断情况,中断响应等待时间为: 38个机器周期五. 中断请求的撤除 中断源发出中断请求,相应中断请求标志置“1”。 CPU响应中断后,必须清除中断请求“1”标志。否则中断响应返回后,将再次进入该中断,引起死循环出错。 对定时/计数器T0、T1中断,外中断边沿触发方式,CPU响应中断时就用硬件自动清除了相应的中断请求标志。 对外中断电平触发方式,需要采取软硬结合的方法消除后果。 对串行口中断

26、,用户应在串行中断服务程序中用软件清除TI或RI。项目四 中断系统与定时器/计数器的应用六. 中断优先控制和中断嵌套 中断优先控制 80C51中断优先控制首先根据中断优先级,此外还规定了同一中断优先级之间的中断优先权。其从高到低的顺序为: INT0、INT1、T0、T1、串行口。 中断优先级是可编程的,而中断优先权是固定的,不能设置,仅用于同级中断源同时请求中断时的优先次序。 80C51中断优先控制的基本原则: 高优先级中断可以中断正在响应的低优先级中断,反之则不能。 同优先级中断不能互相中断。 同一中断优先级中,若有多个中断源同时请求中断,CPU将先响应优先权高的中断,后响应优先权低的中断。

27、项目四 中断系统与定时器/计数器的应用项目四 中断系统与定时器/计数器的应用 中断嵌套 当CPU正在执行某个中断服务程序时,如果发生更高一级的中断源请求中断,CPU可以“中断”正在执行的低优先级中断,转而响应更高一级的中断,这就是中断嵌套。 中断嵌套只能高优先级“中断”低优先级,低优先级不能“中断”高优先级,同一优先级也不能相互“中断”。 中断嵌套结构类似与调用子程序嵌套,不同的是: 子程序嵌套是在程序中事先按排好的;中断嵌套是随机发生的。 子程序嵌套无次序限制,中断嵌套只允许高优先级“中断”低优先级。项目四 中断系统与定时器/计数器的应用七. 中断系统的应用 中断初始化 设置堆栈指针SP 定

28、义中断优先级 定义外中断触发方式 开放中断 安排好等待中断或中断发生前主程序应完成的操作内容。 中断服务主程序 中断服务子程序内容要求: 在中断服务入口地址设置一条跳转指令,转移到中断服务程序的实际入口处。 根据需要保护现场。 中断源请求中断服务要求的操作。 恢复现场。与保护现场相对应,注意先进后出、后进先出操作原则。 中断返回,最后一条指令必须是RETI。项目四 中断系统与定时器/计数器的应用【例】 出租车计价器计程方法是车轮每运转一圈产生一个负脉冲,从外中断(P3.2)引脚输入,行驶里程为轮胎周长运转圈数,设轮胎周长为2m,试实时计算出租车行驶里程(单位米),数据存32H、31H、30H。

29、 中断系统应用举例解:编程如下: ORG 0000H;复位地址 LJMP STAT;转初始化 ORG 0003H;中断入口地址 LJMP INT;转中断服务程序项目四 中断系统与定时器/计数器的应用 ORG 0100H;初始化程序首地址STAT: MOV SP,#60H;置堆栈指针 SETB ITO;置边沿触发方式 MOV IP,#01H;置高优先级 MOV IE,#81H;开中 MOV 30H,#0;里程计数器清0 MOV 31H,#0; MOV 32H,#0; LJMP MAIN;转主程序,并等待中断 ORG 0200H;中断服务子程序首地址INT: PUSH Acc;保护现场 PUSH

30、PSW; MOV A,30H;读低8位计数器 ADD A,#2;低8位计数器加2m MOV 30H,A;回存 CLR A; ADDC A,31H;中8位计数器加进位 MOV 31H,A;回存 CLR A; ADDC A,32H;高8位计数器加进位 MOV 32H,A;回存 POP PSW;恢复现场 POP Acc ; RETI;中断返回项目四 中断系统与定时器/计数器的应用【例】现有5个外中断源EX1、EX20、EX21、EX22和EX23,高电平时表示请求中断,要求执行相应中断服务程序,试编制程序。 解:ORG0000H;复位地址LJMPMAIN;转主程序ORG0003H;中断入口地址LJM

31、PPINT0;转中断服务程序ORG0013H;中断入口地址LJMPPINT1;转中断服务程序项目四 中断系统与定时器/计数器的应用 ORG0100H ;主程序首地址MAIN: MOVSP,#60H;置堆栈指针 ORLTCON,#05H;置INT0、INT1为边沿触发方式 SETBPX0 ;置为高优先级 MOVIE,#0FFH;全部开中 ;主程序内容 ORG 1000H;中断服务程序首地址 PINT0: PUSHAcc;中断,保护现场 LCALL WORK1;调用EX1服务子程序 POPAcc;恢复现场 RETI;中断返回 ORG 2000H ;中断服务程序首地址PINT1: CLR EA ;C

32、PU禁中 PUSH Acc ;中断保护现场 PUSH DPH ; PUSH DPL ; SETB EA ;CPU开中项目四 中断系统与定时器/计数器的应用 JB P1.0,LWK20;P1.0=1,EX20请求中断 JB P1.1,LWK21;P1.1=1,EX21请求中断 JB P1.2,LWK22;P1.2=1,EX22请求中断 LCALL WORK23 ;P1.3=1,调用EX23服务子LRET: CLR EA;CPU禁中 POP DPL;恢复现场 POP DPH; POP Acc; SETB EA;CPU开中 RETI;中断返回LWK20: LCALL WORK20;P1.0 = 1,

33、调用EX20服务子程序 SJMP LRET ;转中断返回LWK21: LCALL WORK21 ;P1.1 = 1,调用EX21服务子程序 SJMP LRET;转中断返回LWK22: LCALL WORK22 ;P1.2 = 1,调用EX22服务子程序 SJMP LRET;转中断返回项目四 中断系统与定时器/计数器的应用 定时/计数器是单片机系统一个重要的部件,其工作方式灵活、编程简单、使用方便,可用来实现定时控制、延时、频率测量、脉宽测量、信号发生、信号检测等。此外,定时/计数器还可作为串行通信中波特率发生器。80C51定时/计数器项目四 中断系统与定时器/计数器的应用80C51单片机内部有

34、两个定时/计数器T0和T1,其核心是计数器,基本功能是加1。对外部事件脉冲(下降沿)计数,是计数器;对片内机周脉冲计数,是定时器。计数器由二个8位计数器组成。定时时间和计数值可以编程设定,其方法是在计数器内设置一个初值,然后加1计满后溢出。调整计数器初值,可调整从初值到计满溢出的数值,即调整了定时时间和计数值。定时/计数器作为计数器时,外部事件脉冲必须从规定的引脚输入。且外部脉冲的最高频率不能超过时钟频率的1/24。一. 定时/计数器概述项目四 中断系统与定时器/计数器的应用TCON低4位与外中断 、 有关,已在中断中叙述。 高4位与定时/计数器T0、T1有关。 TF1:定时/计数器T1溢出标

35、志。 TF0:定时/计数器T0溢出标志。 TR1:定时/计数器T1运行控制位。TR1=1,T1运行;TR1=0,T1停。 TR0:定时/计数器T0运行控制位。TR0=1,T0运行;TR0=0,T0停。TCON的字节地址为88H,每一位有位地址,均可位操作。 定时/计数器控制寄存器TCON二. 定时/计数器的控制寄存器TCONT1中断标志T1运行标志T0中断标志T0运行标志INT1中断标志INT1触发方式INT0中断标志INT0触发方式位名称TF1TR1TF0TR0IE1IT1IE0IT0位地址8FH8EH8DH8CH8BH8AH89H88H项目四 中断系统与定时器/计数器的应用高4位控制T1低

36、4位控制T0门控位计数/定时方式选择工作方式选择门控位计数/定时方式选择工作方式选择GC / TM1M0GC / TM1M0TMOD用于设定定时/计数器的工作方式低4位用于控制T0,高4位用于控制T1。 定时/计数器工作方式控制寄存器TMOD(89H) M1M0 工作方式选择位M1M0工作方式功能00方式013位计数器01方式116位计数器10方式2两个8位计数器,初值自动装入11方式3两个8位计数器,仅适用T0项目四 中断系统与定时器/计数器的应用 C/T 计数/定时方式选择位 C/T=1,计数工作方式,对外部事件脉冲计数,用作计数器。 C/T=0,定时工作方式,对片内机周脉冲计数,用作定时

37、器。 GATE 门控位 GATE=0,运行只受TCON中运行控制位TR0/TR1的控制。 GATE=1,运行同时受TR0/TR1和外中断输入信号的双重控制。 只有当INT0/INT1=1且TR0/TR1=1,T0/T1才能运行。 注意:TMOD字节地址89H,不能位操作,设置TMOD须用字节操作指令。项目四 中断系统与定时器/计数器的应用三. 定时/计数器工作方式 工作方式0 13位计数器,由TL0低5位和TH0 8位组成,TL0低5位计数满时不向TL0第6位进位,而是向TH0进位,13位计满溢出,TF0置“1”。最大计数值213 = 8192。 工作方式1 16位计数器,最大计数值为216

38、= 65536。 工作方式2 8位计数器,仅用TL0计数,最大计数值为28= 256,计满溢出后,一方面进位TF0,使溢出标志TF0 = 1;另一方面,使原来装在TH0中的初值装入TL0。 优点:定时初值可自动恢复;缺点:计数范围小。 适用于需要重复定时,而定时范围不大的应用场合。项目四 中断系统与定时器/计数器的应用 工作方式3 方式3仅适用于T0,T1无方式3。 T0方式3 在方式3情况下,T0被拆成二个独立的8位计数器TH0、TL0。 TL0使用T0原有的控制寄存器资源: TF0,TR0,GATE,C/T,INT0,组成一个8位的定时/计数器; TH0借用T1的中断溢出标志TF1,运行控

39、制开关TR1,只能对片内机周脉冲计数,组成另一个8位定时器(不能用作计数器)。 T0方式3情况下的T1 T1由于其TF1、TR1被T0的TH0占用,计数器溢出时,只能将输出信号送至串行口,即用作串行口波特率发生器。项目四 中断系统与定时器/计数器的应用其中: N与工作方式有关: 方式0时,N=13; 方式1时,N=16; 方式2、3时,N=8。 机周时间与主振频率有关:机周时间=12/fosc fosc=12MHZ时,1机周=1S; fosc=6MHZ 时,1机周=2S。 四. 定时/计数器的应用 计算定时/计数初值80C51定时/计数初值计算公式:项目四 中断系统与定时器/计数器的应用解:工

40、作方式0: 213500S/2S=8192-250=7942=1F06H 1F06H化成二进制: 1F06H=0001 1111 0000 0110B =000 11111000 00110 B其中:低5位00110前添加3位000送入TL0 TL0=000 00110B=06H; 高8位11111000B送入TH0 TH0=11111000B=F8H。【例】 已知晶振6MHz,要求定时0.5mS,试分别求出T0工作于方式0、方式1、方式2、方式3时的定时初值。项目四 中断系统与定时器/计数器的应用 工作方式1: T0初值 =216-500s/2s=65536250=65286=FF06H T

41、H0=FFH;TL0=06H。 工作方式2: T0初值 =28-500s/2s=256-250=6 TH0=06H;TL0=06H。 工作方式3: T0方式3时,被拆成两个8位定时器,定时初值可分别计算,计算方法同方式2。两个定时初值一个装入TL0,另一个装入TH0。因此: TH0=06H;TL0=06H。 从上例中看到,方式0时计算定时初值比较麻烦,根据公式计算出数值后,还要变换一下,容易出错,不如直接用方式1,且方式0计数范围比方式1小,方式0完全可以用方式1代替,方式0与方式1相比,无任何优点。项目四 中断系统与定时器/计数器的应用 定时/计数器应用步骤 合理选择定时/计数器工作方式 计

42、算定时/计数器定时初值(按上述公式计算) 编制应用程序 定时/计数器的初始化 包括定义TMOD、写入定时初值、设置中断系统、启动定时/计数器运行等。 正确编制定时/计数器中断服务程序 注意是否需要重装定时初值,若需要连续反复使用原定时时间,且未工作在方式2,则应在中断服务程序中重装定时初值。项目四 中断系统与定时器/计数器的应用【例】试用T1方式2编制程序,在P1.0引脚输出周期为400S的脉冲方波,已知fosc=12MHZ。解: 计算定时初值 T1初值=28-200s/1s=256200=56=38H TH1=38H;TL1=38H 设置TMOD: 0 0 10 0000 B=20H T0控

43、制位,与T1无关 T1方式2 T1定时器 T1启动与 无关项目四 中断系统与定时器/计数器的应用 编制程序如下: ORG0000H ;复位地址LJMPMAIN ;转主程序ORG001BH ;T1中断入口地址LJMPIT1 ;转T1中断服务程序 ORG0100H ;主程序首地址MAIN: MOVTMOD,#20H ;置T1定时器方式2MOVTL1,#38H ;置定时初值MOVTH1,#38H ;置定时初值备份MOVIP,#00001000B;置T1高优先级MOVIE,#0FFH ;全部开中SETBTR1 ;T1运行SJMP$ ;等待T1中断 ORG 0200H ;T1中断服务程序首地址IT1:

44、CPL P1.0 ;输出波形取反首地址RETI ;中断返回项目四 中断系统与定时器/计数器的应用项目四 中断系统与定时器/计数器的应用 80C51系列单片机有很强的外部扩展能力。外部扩展可分为并行扩展和串行扩展两大形式。 早期的单片机应用系统以采用并行扩展为多,近期的单片机应用系统以采用串行扩展为多。 外部扩展的器件可以有ROM、RAM、I/O口和其他一些功能器件,扩展器件大多是一些常规芯片,有典型的扩展应用电路,可根据规范化电路来构成能满足要求的应用系统。单片机及其控制技术项目五 模数转换的控制任务5-1 D/A转换接口1、D/A转换基本知识在单片机应用系统中,有许多如温度、速度、电压、电流

45、及压力等模拟量,这些都是连续变化的物理量。由于计算机只能处理数字量,因此单片机系统中凡遇到有模拟量的地方,就要进行数字量向模拟量、模拟量向数字量的转换,通过数/模(D/A)和模/数(A/D) 转换接口实现。(1)转换特性D/A转换器(DAC)输入的是n位二进制数字量,经转换后成正比例的输出模拟量电压u0或电流i0 。对于一个n位的DAC,假如U0 (或I0)为其可以输出的最大电压(或电流 ),D(0-2n )为单片机对其输人的二进制值,则 (2) D/A转换器的主要技术性能指标项目五 模数转换的控制2、典型的D/A转换器芯片DAC0832(1)DAC0832的应用特性(2)DACO832引脚功

46、能DACO832的引脚项目五 模数转换的控制(3)DAC0832的输出方式 (4)DAC0832接口1)直通方式当LE1=LE2= l (ILE接+5V,CS、WR1、XFER、WR2接地)时,如图5-1-5所示,DAC0832处于直通状态,当数字量送到数据输入端时,不经过任何缓冲立即进入D/A转换器进行转换,这种方式往往用于非单片机控制的系统中。项目五 模数转换的控制2)单缓冲方式图5-1-5所示为DAC0832的单缓冲务式下与89C51单片机的接口连线。此时,输入锁存器为缓冲状态,而DAC寄存器为直通状态.在这种方式下,输入锁存器和DAC寄存器只占用一个I/O 口地址,DAC寄存盔地址为7

47、FFFH。单片机执行下面指令即可将数字量转化为模拟量输出:MOV A, #DATAMOV DPTR, #7FFFHMOVX DPTR, A项目五 模数转换的控制3) 双缓冲方式 利用双缓冲方式可以实现多路数据转换后信号的同步输出。DACO832双缓冲方式与89C51单片机的接口连线如图5-1-7所示 ,两个DACO832占了3个地址单元,其中两个DAC寄存器共用一个地址 ,以实现同步输出。项目五 模数转换的控制任务5-2 DAC0832在灯的循环渐变中的应用 (3)任务分析 可以将89C51单片机内部单元中的数据从FFH逐渐变到00H并逐一送给DAC0832芯片,再将D/A转换器转换后输出的模

48、拟量以电压的形式驱动发光二极管,通过发光二极管的亮暗程度可以反映DAC0832的转换结果。设计的DAC0832转换接口结构原理图如图5-1-8所示。项目五 模数转换的控制项目五 模数转换的控制参考程序:ORG 0000HMAIN: MOV R2, #0FFH ;设置送出数据的初值BACK: MOV DPTR,#0AOFFH ;DAC0832的地址MOV A, R2MOVX DPTR,A ;将数据送出LCALL DELAY ;调用延时子程序DJNZ R2,BACK ;送出的数据减1SJMP MAIN ;程序重斩开始DELAY: MOV TMOD,#01H ;0.1s 延时子程序,设定定时器0为方

49、式1MOV R2, #03CHDELAYX:MOV TH0,#03CH ;89C51的50ms定时,定时器0赋初值3CB0HMOV TL0,#0B0H ;计数50000机器周期时中断溢出SETB TR0CLR TF0JNB TFO, $DJNZ R2, DELAYX ;循环2次50ms的定时,总定时0.1sCLR TR0CLR TF0RETEND项目五 模数转换的控制任务5-3 A/D转换接口5.3.1 A/D转换接口 A/D转换器(Analog to Digital Converter,简记作ADC)用于实现模拟量向数字量的转换,输出的数字信号大小与输入的模拟量大小成正比。按转换原理,ADC

50、可分为四类:计数式、双积分式、逐次逼近式和并行式。(1)典型的A/D转换器芯片ADC08091) ADC0809内部逻辑结构ADC0809内部逻辑结构如图5-1-9所示。项目五 模数转换的控制2)ADC0809的引脚(2)ADC0809与89C51单片机的连接ADC0809与89C51单片机的连接有三种方式查询方式、中断方式和定时方式。采用什么方式,应该根据具体情况来选择。89C51单片机与ADC0809的典型硬件电路如图5-1-11所示,该连接图通过软件编程,既可实现中断方式,又可实现查询方式。3、光电隔离及继电器接口项目五 模数转换的控制5.3.2 ADC0809与89C51单片机的连接A

51、DC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。(1) ADC0809的内部逻辑结构如图5-1-15所示。 由上图可知,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。单片机及其控制技术项目六 综合应用实例任务6-1 可预置可逆4位计数器1实验任务项目六 综合应用实例2电路原理

52、图项目六 综合应用实例3系统板上硬件连线(1)把“单片机系统”区域中的P1.0P1.3端口用8芯排线连接到“八路发光二极管指示模块”区域中的L1L4上;要求:P1.0对应着L1,P1.1对应着L2,P1.2对应着L3,P1.3对应着L4;(2)把“单片机系统”区域中的P3.0/RXD,P3.1/TXD,P3.2/INT0,P3.3/INT1用导线连接到“四路拨动开关”区域中的K1K4上;(3)把“单片机系统”区域中的P3.6/WR,P3.7/RD用导线连接到“独立式键盘”区域中的SP1和SP2上;4程序设计内容(1)两个独立式按键识别的处理过程;(2)预置初值读取的问题(3)LED输出指示项目

53、六 综合应用实例5程序框图如图所示。项目六 综合应用实例任务6-2 定时计数器T0作定时应用技术1实验任务2电路原理图项目六 综合应用实例3系统板上硬件连线(1)把“单片机系统”区域中的P0.0/AD0P0.7/AD7端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个ah端口上;要求:P0.0/AD0对应着a,P0.1/AD1对应着b,P0.7/AD7对应着h。(2)把“单片机系统”区域中的P2.0/A8P2.7/A15端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个ah端口上;要求:P2.0/A8对应着a,P2.1/A9对应着b,P2.7/A15对应着h。4程序设计内容 A

54、T89S51单片机的内部16位定时/计数器是一个可编程定时/计数器,它既可以工作在13位定时方式,也可以工作在16位定时方式和8位定时方式。只要通过设置特殊功能寄存器TMOD,即可完成。定时/计数器何时工作也是通过软件来设定TCON特殊功能寄存器来完成的。项目六 综合应用实例程序框图项目六 综合应用实例任务6-3 动态数码显示技术1实验任务 如图6-3-1所示,P0端口接动态数码管的字形码笔段,P2端口接动态数码管的数位选择端,P1.7接一个开关,当开关接高电平时,显示“12345”字样;当开关接低电平时,显示“HELLO”字样。2电路原理图项目六 综合应用实例3系统板上硬件连线(1)把“单片

55、机系统”区域中的P0.0/AD0P0.7/AD7用8芯排线连接到“动态数码显示”区域中的ah端口上;(2)把“单片机系统”区域中的P2.0/A8P2.7/A15用8芯排线连接到“动态数码显示”区域中的S1S8端口上;(3)把“单片机系统”区域中的P1.7端口用导线连接到“独立式键盘”区域中的SP1端口上;4程序设计内容(1)动态扫描方法动态接口采用各数码管循环轮流显示的方法,当循环显示频率较高时,利用人眼的暂留特性,看不出闪烁显示现象,这种显示需要一个接口完成字形码的输出(字形选择),另一接口完成各数码管的轮流点亮(数位选择)。(2)在进行数码显示的时候,要对显示单元开辟8个显示缓冲区,每个显

56、示缓冲区装有显示的不同数据即可。(3)对于显示的字形码数据我们采用查表方法来完成。项目六 综合应用实例5程序框图项目六 综合应用实例6汇编源程序ORG 00HSTART:JB P1.7,DIR1 MOV DPTR,#TABLE1SJMP DIRDIR1:MOV DPTR,#TABLE2DIR:MOV R0,#00HMOV R1,#01HNEXT:MOV A,R0 MOVC A,A+DPTRMOV P0,A MOV A,R1MOV P2,ALCALL DAY INC R0RL AMOV R1,A CJNE R1,#0DFH,NEXTSJMP STARTDAY:MOV R6,#4D1:MOV R7,#248 DJNZ R7,$DJNZ R6,D1RETTABLE1:DB 06H,5BH,4FH,66H,6DHTABLE2:DB 78H,79H,38H,38H,3FHEND项目六

温馨提示

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

评论

0/150

提交评论