K0单片机C语言教程

上传人:s9****2 文档编号:593215428 上传时间:2024-09-23 格式:PPT 页数:157 大小:5.58MB
返回 下载 相关 举报
K0单片机C语言教程_第1页
第1页 / 共157页
K0单片机C语言教程_第2页
第2页 / 共157页
K0单片机C语言教程_第3页
第3页 / 共157页
K0单片机C语言教程_第4页
第4页 / 共157页
K0单片机C语言教程_第5页
第5页 / 共157页
点击查看更多>>
资源描述

《K0单片机C语言教程》由会员分享,可在线阅读,更多相关《K0单片机C语言教程(157页珍藏版)》请在金锄头文库上搜索。

1、第一章第一章 单片机基础知识单片机基础知识单片机(单片微控制器)不是完成某一个逻辑功能的芯片,而是把一个单片机(单片微控制器)不是完成某一个逻辑功能的芯片,而是把一个“计算机系统计算机系统”集成到一个芯片上。一块芯片就成了一台计算机。集成到一个芯片上。一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。学习使用单片机是了解计算机原理与结构的最佳选择。学习使用单片机是了解计算机原理与结构的最佳选择。第一代:第一代:七十年代后期,4位逻辑控制器件发展到8位。NMOS工艺(速度低,功耗大、集成度低)

2、。代表产品:MC6800和Intel8048第二代第二代:八十年代初,CMOS工艺,并逐渐被高速低功耗的HMOS工艺代替。代表产品:MC146805和Intel8051第三代第三代:近十年来,MCU的发展出现了许多新特点:(1)在技术上,由可扩展总线型向纯单片型发展,即只能工作在单片方式。(2)MCU的扩展方式从并行总线型发展出各种串行总线。(3)将多个CPU集成到一个MCU中。(4)在降低功耗,提高可靠性方面,MCU工作电压已降至3.3V。第四代第四代:FLASH的使用使MCU技术进入了第四代。单片机的发展历史单片机的发展历史 抗干扰能力强,可靠性好,工作温度范围宽 控制功能强,数值计算能力

3、相对较差 指令系统比通用微机的指令系统简单,具有许多面向控制的指令 具有很高的性价比单片机的特点单片机的特点单片机在智能仪器仪表中的应用;单片机在工业测控中的应用;单片机在计算机网络和通讯技术中的应用;单片机在日常生活及家电中的应用;单片机在办公自动化方面。单片机的应用领域单片机的应用领域1.有有NEC赞助的开发工具赞助的开发工具2.有实验仪器有实验仪器为什么学为什么学NEC单片机单片机1.硬件电路设计硬件电路设计2.软件设计软件设计课程目标课程目标学习方法学习方法1.读图:读图: 实实验验仪仪器器电电路路图图是是最最好好的的硬硬件件例例子子,学学会会了了,将来做适当修改即可设计出各种实用图纸

4、。将来做适当修改即可设计出各种实用图纸。2.读程序:读程序: 上上机机操操作作的的程程序序是是最最好好的的软软件件例例子子,学学会会了了,将来做适当修改即可设计出各种实用程序。将来做适当修改即可设计出各种实用程序。课堂实施方案课堂实施方案主动提问题讨论,每人主动提问题讨论,每人20个,每个个,每个1分分单片机应用系统硬件组成单片机应用系统硬件组成NEC单片机教学实验仪简介单片机教学实验仪简介1 实验仪外观实验仪外观、布局布局和图纸和图纸2 功能特点和实验项目功能特点和实验项目nNEC单片机教学实验仪集成有强大的硬件资源,单片机教学实验仪集成有强大的硬件资源,为用户提供了多种选择,使用户可以进行

5、各种为用户提供了多种选择,使用户可以进行各种相关的实验。相关的实验。n基于基于PM+,SM+的仿真调试功能;的仿真调试功能;n带有带有128KB的的FLASH用于用户的程序下载;用于用户的程序下载; I2C接口的接口的EEPROM实验电路;基本实验电路;基本I/0口插排;口插排;2 功能特点和实验项目功能特点和实验项目(续续)n46行列键盘电路;按键中断及复位电路;行列键盘电路;按键中断及复位电路; A/D转转换换器器的的应应用用电电路路;温温度度压压力力扩扩展展应应用用电电路路;红外遥控电路;红外遥控电路;n44 LED点阵模块;点阵模块;7段码显示电路;段码显示电路;LCD; 蜂蜂鸣鸣器器

6、驱驱动动控控制制电电路路;音音乐乐喇喇叭叭驱驱动动控控制制电电路路;步进电机、直流电机实验;步进电机、直流电机实验;nRS-232和和RS-485接口电路;接口电路;CAN应用电路;应用电路; LIN应用电路;应用电路;SPI应用电路。应用电路。NEC 单片机参考文档单片机参考文档设备文档设备文档(1)78K0/KF2用户手册(U17397E)(2)U17397E78K/0 系列指令用户手册( U12326E)开发工具开发工具(软件软件)文档文档(1),汇编包 (操作 :U17199E;语言:U17198E ;结构化汇编语言 :U17197E )(2)CC78K0 ,C 编译器 (操作 : U

7、17201E ;语言:U17200E )(3)SM+系统仿真器 (操作:U17246E;开放式外部用户接口规范:U17247E)(4)集成调试器 (操作:U17437E)(5)PM+ Ver. (U16934E)开发工具开发工具(硬件硬件)文档文档(1)QB-78K0KX2在线仿真器(U17341E)(2)QB-78K0MINI片上调试仿真器(U17029E)NEC 单片机产品概述单片机产品概述78K0/Kx2 系列系列 uPD78F0547D第四章第四章 硬件结构硬件结构/构建最小系统构建最小系统1.1 引脚图、内部功能框图引脚图、内部功能框图第一节第一节 NEC单片机硬件结构单片机硬件结构

8、 9P 7171.2 引脚功能引脚功能(1) 电源引脚电源引脚 CPU电源电源VDD,地,地VSS; 端口电源端口电源EVDD,地,地EVSS; 外部低电压检测的电压输入引脚外部低电压检测的电压输入引脚EXLVI 1。图 3.22 5V稳压电路图(2) 时钟电路引脚时钟电路引脚 时时钟钟分分外外部部输输入入时时钟钟与与系系统统时时钟钟两两种种,同同时时还还分分为为主主时时钟钟与与副副时时钟钟两两类。类。 外部时钟:外部时钟:外部时钟输入外部时钟输入EXCLK(主时钟主时钟) 14外部时钟输入外部时钟输入EXCLKS (副副时钟时钟) 11 系统时钟系统时钟(内部时钟)(内部时钟): 晶体振荡器

9、晶体振荡器(主时钟主时钟)X1、X2 14、15晶体振荡器晶体振荡器(副副时钟时钟)XT1,、XT2 11、12主时钟高频,副时钟低频,时钟频率越低,功耗越低。主时钟高频,副时钟低频,时钟频率越低,功耗越低。内部时钟中频,可节省引脚占用。内部时钟中频,可节省引脚占用。(3) 输入输入/输出引脚(输出引脚(I/O引脚)引脚) 78F0547D共有71个8位的I/O口以实现数据的输入输出。分别为 P0(P00P06)、P1(P10P17)、P2(P20P27)、 P3(P30P37)、P4(P40P47)、P5(P50P57)、P6(P60P67)、P7(P70P77)、 P12(P120P124

10、)、P13(P130)、P14(P140P145) 。(4) AD转换功能转换功能 ANI0ANI7 共8路AD转换通道,参考模拟电压AVREF 59,模拟地AVSS 60。(5) 定时定时/计数器计数器n2通道通道16位定时器位定时器/事件计数器事件计数器TM00TM01n2通道通道8位定时器位定时器/事件计数器事件计数器TM50TM51n2通道通道8位定时器位定时器H0H1n1通道钟表定时器通道钟表定时器n1通道看门狗定时器通道看门狗定时器(6) 中断中断 中断分外部中断与内部中断。中断分外部中断与内部中断。 共共有有29个中断源,即外中断个中断源,即外中断9个,内部中断个,内部中断20个

11、。个。 9个个外部中断:外部中断:n7个外部中断个外部中断INTP0INTP7n1个键盘中断个键盘中断(INTKR0INTKR7)n1个钟表定时器溢出个钟表定时器溢出INTWT(7) 串口串口1个个1线线LIN 总线总线UART61个个3 线串行线串行UART02个个3 线串行线串行CSI10 和和CSI111个具有自动收发功能的个具有自动收发功能的3 线串行线串行CSIA01个个I2C 总线总线(8) 控制信号控制信号FLMD0: 闪存编程模式设置引脚BUZ: 蜂鸣器输出引脚PCL: 可编程时钟输出引脚。RESET: 系统复位输入引脚。第二节第二节 最小系统构成最小系统构成2.1 复位电路复

12、位电路图图4.3 复位电路复位电路图图 4.4 最小系统复位电路最小系统复位电路2.2 时钟电路时钟电路78F0547D单片机的时钟产生有以下单片机的时钟产生有以下3种方法:种方法:(1)外部时钟方式:外部时钟方式:n主时钟:主时钟:将将外部外部时钟时钟脉冲接入脉冲接入EXCLK引脚引脚;n子时钟:子时钟:将外部时钟脉冲接入将外部时钟脉冲接入EXCLKS引脚。引脚。(X2)S(XT2)(2)内部时钟方式:内部时钟方式:n主时钟:主时钟:在在引引脚脚X1和和X2两两端端接接晶晶振振,利利用用单单片片机机内内部部的的振振荡荡器器,就就构构成成了了稳稳定定的的自自激激振振荡荡器器。外外接接晶晶振振时

13、时,晶晶振振两两端端的的电电容容一一般般选选择择为为30PF左右;晶振的频率范围左右;晶振的频率范围为为。n子时钟:子时钟:在在引引脚脚XT1和和XT2两两端端接接晶晶振振,利利用用单单片片机机内内部部的的振振荡荡器器,就就构构成成了了稳稳定定的的自自激激振振荡器荡器。外外接接晶晶振振时时,晶晶振振两两端端的的电电容容一一般般选选择择为为30PF左右;晶振的频率左右;晶振的频率为为32kHz。XT2XT132kHz(3)高速高速内置时钟内置时钟78K0内置内置8MHz时钟,如无特殊要求,可利用内置时钟。时钟,如无特殊要求,可利用内置时钟。主时钟主时钟通通过过执执行行STOP指指令令或或设设置置

14、主主OSC控控制制寄寄存存器器(MOC)和和处处理理器器时时钟钟控控制制寄寄存存器器(PCC),可停止振荡。,可停止振荡。子子时钟时钟通通过过设设置置处处理理器器时时钟钟控控制制寄寄存存器器(PCC)和和时时钟钟工工作作模模式式选选择择寄寄存存器器(OSCCTL)可可停止振荡。停止振荡。高速内置高速内置时钟时钟通过执行通过执行STOP指令或设置内置振荡器模式寄存器指令或设置内置振荡器模式寄存器(RCM),可停止振荡。,可停止振荡。主时钟主时钟/子子时钟时钟/高速内置高速内置时钟时钟3者只能选择其一工作,其余者只能选择其一工作,其余2个要停止。个要停止。低速内置低速内置时钟时钟(看门狗定时器看门

15、狗定时器(WDT)所用的所用的240kHz时钟信号时钟信号)RESET释释放放后后,低低速速内内置置振振荡荡器器开开始始工工作作。若若Option byte中中设设定定了了“低低速速内内置置振振荡荡器器可可以以使使用用软软件件停停止止”,那那么么可可以以通通过过设设置置内内置置振振荡荡器器模模式式寄寄存存器器(RCM)来来停止振荡。停止振荡。78F0547D单片机单片机时钟的控制时钟的控制:2.3 78K02.3 78K0单片机最小系统单片机最小系统图4.6 最小系统第三节第三节 存储器空间存储器空间 3.4 78K03.4 78K0存储结构存储结构FLASH48k字节字节内部扩展内部扩展RA

16、M6k字节字节内部高速内部高速RAM1k字节字节使用步骤使用步骤1:在程序的开始声明特殊功能能寄存器在程序的开始声明特殊功能能寄存器#pragma sfr /* 特殊功能能寄存器声明特殊功能能寄存器声明 */使用步骤使用步骤2:在主函数开始在主函数开始, 选择存储器容量选择存储器容量4.2 内部存储器容量切换寄存器内部存储器容量切换寄存器(IMS)在主函数开始在主函数开始,需要首先对需要首先对IMS进行设置进行设置,以选以选择择内部高速内部高速RAM和和FLASH的的容量。容量。4.3 内部扩展内部扩展RAM 容量切换寄存器容量切换寄存器(IXS)然后对然后对IXS进行设置进行设置,以,以选择

17、内部扩展选择内部扩展RAM 的的容量。容量。void main() IMS=0XCC; /*内部存储器容量切换寄存器设置,必须有内部存储器容量切换寄存器设置,必须有 */ IXS=0X00; /*内部扩展内部扩展RAM 容量切换寄存器容量切换寄存器设置设置,必须有,必须有 */ .对选定的某型号的对选定的某型号的CPU,设定值是固定的。,设定值是固定的。对对78F0547D:nIMS=0XCC;1k字节字节内部高速内部高速RAM48k字节字节内部内部ROM(FLASH)nIXS=0X00;6k字节字节内部扩展内部扩展RAM第五章第五章 基本端口功能基本端口功能 输输入入输输出出口口(I/O口口

18、)是是单单片片机机与与外外部部联联系系的的唯唯一一途径。途径。通通用用I/O: GPIO(General Purpose I/O),有有时时也也称称为为并行并行I/O(parallel I/O),是,是I/O的最基本形式。的最基本形式。 uPD78F0547D有有11个个并并行行I/O端端口口,记记作作P0、P1、P2、P3、P4、P5、P6、P7、P12、P13、P14。除除P13端端口口只只做做输输出出外外,其其余余端端口口均均可可作作为为输输入入输输出出功功能使用。能使用。第一节第一节 交通灯硬件电路交通灯硬件电路本本项项目目主主要要设设计计一一个个方方向向的的交交通通灯灯控控制制电电路

19、路,要要求求有有红红、黄黄、绿绿三三盏盏灯灯。每每个个灯灯的的定定时时时时间间可可以以预预设设,按按照照绿绿灯灯、黄黄灯灯、红红灯灯顺顺序序点点亮,循环往复。亮,循环往复。电路主要包括电路主要包括LED、单片机最小系统。、单片机最小系统。图 5.2 交通灯硬件电路第二节第二节 端口功能端口功能 2.2 端口内部结构端口内部结构n端端口口0是是具具有有输输出出锁锁存存功功能能的的7位位I/O 端端口口。通通过过使使用用端端口口模模式式寄寄存存器器0(PM0),可可以以位位选选端端口口0为输入或输出模式。为输入或输出模式。n如如果果P00P06作作为为输输入入端端口口,则则内内部部上上拉拉电电阻阻

20、的的使使用用可可以以通通过过上上拉拉电电阻阻选选择择寄寄存存器器0(PU0)以以1位单元的方式指定。位单元的方式指定。n这这个个端端口口还还可可以以用用于于定定时时器器I/O、串串行行接接口口数数据据I/O、时钟、时钟I/O 和芯片选择输入。和芯片选择输入。三三态态门门1、输输入入缓缓冲冲器器8、选选择择器器7、与与非非门门2、非非门门5和和6、及及场场效效应应管管3、上上拉电阻拉电阻4125683740:输出输出0:1/111:输出输出三态门三态门1、 与非门与非门2、场场效效应应管管3、上上拉拉电电阻阻4、非门非门5和和6、 选择器选择器7、输入缓冲器输入缓冲器8125683740:输出输

21、出0: 1三态门三态门1、 与非门与非门2、场场效效应应管管3、上上拉拉电电阻阻4、非门非门5和和6、 选择器选择器7、输入缓冲器输入缓冲器815683741:输入输入1: 1: 01、输出功能、输出功能设设置置端端口口功功能能寄寄存存器器PM为为0。1号号三三态态门门打打开开,输输出出锁锁存存寄寄存存器器P中中的的值值就就对对外外输输出出。使使用用传传送送指指令令对对输输出出锁锁存存器器进进行行写写操操作作,输输出出锁锁存存器器的的内内容容从从引引脚脚输输出出。一一旦旦数数据据写写入入输输出出锁锁存存器器,它它将将一一直直保保存存到到新新数数据据被被写写入入。当当复复位位信信号号产产生生时时

22、输输出出锁锁存存器器的的内容被清零。内容被清零。2、输入功能、输入功能设设置置端端口口功功能能寄寄存存器器PM为为1。1号号三三态态门门关关闭闭,输输出出锁锁存存寄寄存存器器P中中的的值值就就不不能能对对外外输输出出。外外部部数数值值通通过过3、4两两个个非非门门到到达达选选择择器器。通通过过选选择择器器被内部总线读取。被内部总线读取。3、上拉电阻选择、上拉电阻选择(当当端端口口功功能能寄寄存存器器PM为为1输输入入时时)设设置置上上拉拉电电阻阻选选择择寄寄存存器器PU为为1。2号号与与非非门门输输出出为为0,功功率管导通,即可使用上拉电阻。率管导通,即可使用上拉电阻。n上拉电阻将上拉电阻将输

23、入输入信号信号通过电阻通过电阻连接到电源,连接到电源,电阻起限流作用。电阻起限流作用。n当开关断开时,当开关断开时,上拉电阻迅速上拉电阻迅速将将信号信号拉高为拉高为高高电平。电平。若没有上拉电阻,则若没有上拉电阻,则开关断开时的开关断开时的电平不确定。电平不确定。第三节第三节 软件设计软件设计NY开始绿灯亮绿灯延时黄灯亮红灯延时黄灯延时红灯亮黄灯亮二次/单片机端口使用输出功能,端口单片机端口使用输出功能,端口模式模式寄存器设置为寄存器设置为0/#pragma sfr /* 特殊功能能寄存器声明特殊功能能寄存器声明 */void delay() /* 灯延时函数灯延时函数 */ int i ,

24、j; for(i=0;i500;i+) for(j=0;j500;j+); void main() IMS=0XCC; /*内部存储器容量切换寄存器设置,必须有内部存储器容量切换寄存器设置,必须有 */ IXS=0X00; /*内部扩展内部扩展RAM 容量切换寄存器,必须有容量切换寄存器,必须有 */ PM1.0=0; /*端口模式为输出模式端口模式为输出模式 */ PM1.1=0; /*端口模式为输出模式端口模式为输出模式 */ PM1.2=0; /*端口模式为输出模式端口模式为输出模式 */ while(1) /*当为当为1时,条件为真,一直循环时,条件为真,一直循环 */ delay()

25、; P1.0=0; /*输出低电平,输出低电平,绿绿灯亮灯亮 */ P1.1=1; /* */ P1.2=1; /* */ delay(); P1.0=1; P1.1=0; /*输出低电平,输出低电平,黄黄灯亮灯亮 */ P1.2=1; delay(); P1.0=1; P1.1=0; /*输出低电平,输出低电平,黄黄灯亮灯亮 */ P1.2=1; delay(); P1.0=1; P1.1=1; P1.2=0; /*输出低电平,输出低电平,红红灯亮灯亮 */ 第六章第六章 中断功能中断功能n3.2 存储器单元和存储单元地址存储器单元和存储单元地址n3.3 访问存储器访问存储器n3.4 78K

26、0存储结构存储结构q3.4.1 内部程序存储空间内部程序存储空间q3.4.2 存储器组存储器组q3.4.3 内部数据存储空间内部数据存储空间q3.4.4 特殊功能寄存器特殊功能寄存器(SFR)区域区域n微型计算机结构简介微型计算机结构简介qCPU和控制寄存器和控制寄存器q程序计数器程序计数器(PC)n第一节第一节 中断基础知识中断基础知识n第二节第二节 计数器硬件电路计数器硬件电路存储器存储器地址译码器地址译码器A3 A2 A1 A0R0R1R2R14R151 2?来来自自地地址址总总线线的的地地址址信号信号0Q3 D3Q2 D2Q1 D1Q0 D0D3 D2 D1 D0CLKCLRWR&R0

27、1个个4位存储单元位存储单元14存储器原理图存储器原理图0 1 1 0 0 0 1 0单元的单元的内容内容R0R1R2D7D6D5D4D3D2D1D0译译码码器器A0A1A2A3R14R15读写控制电路W R 168的存储器的存储器微型计算机结构框图微型计算机结构框图三三态态门门1、输输入入缓缓冲冲器器8、选选择择器器7、与与非非门门2、非非门门5和和6、及及场场效效应应管管3、上上拉电阻拉电阻4125683740:输出输出0:1/111:输出输出特殊功能寄存器特殊功能寄存器n特特殊殊功功能能寄寄存存器器在在功功能能上上与与一一般般存存储储器器不不同同:对对I/O接接口口而而言言,接接口口控控

28、制制寄寄存存器器控控制制各各接接口口的的功功能能,接接口口数数据据寄寄存存器器向向外外设设发发送送数数据据或或接接受受来来自自外外设设的的数数据据。但但特特殊殊功功能能寄寄存存器器的的读读写写与与存存储储器器完完全全相相同同,每每个个特特殊殊功功能能寄寄存器都有一个唯一的地址;存器都有一个唯一的地址;n在在描描述述各各个个I/O接接口口的的功功能能时时,为为了了方方便便,可可以以认认为为特特殊功能寄存器分布在各个相应的殊功能寄存器分布在各个相应的I/O接口中;接口中;n从从存存储储器器组组织织和和使使用用的的角角度度,希希望望具具有有相相同同功功能能的的存存储储器器单单元元具具有有连连续续的的

29、地地址址范范围围:ROM连连续续占占一一段段,RAM连连续续占占一一段段。特特殊殊功功能能寄寄存存器器通通常常是是独独立立使使用用的的,地地址址连连续续与与否否并并不不重重要要,但但为为了了清清晰晰和和整整齐齐,为为它它们们安安排排了了最后的最后的256个地址。个地址。CPU和控制寄存器和控制寄存器nCPU中包含了中包含了3个控制寄存器:个控制寄存器:1.程序计数器程序计数器PC2.程序状态字程序状态字PSW3.堆栈指针堆栈指针SPn控制寄存器的内容不能由通常的指令改写,只控制寄存器的内容不能由通常的指令改写,只能由几个特殊指令改写;内容的改变通常是自能由几个特殊指令改写;内容的改变通常是自动

30、的。动的。程序计数器程序计数器(PC)nPC是是一一个个16位位寄寄存存器器,用用于于存存放放下下一一条条将将要要执执行行的的指指令令的地址。的地址。n复复位位信信号号将将复复位位向向量量表表中中地地址址为为0000H和和0001H中中的的值值(第一条指令的地址)赋给(第一条指令的地址)赋给PC。n正正常常情情况况下下,根根据据获获取取的的指指令令的的字字节节数数,PC的的值值会会自自动动累加,即取出一条指令后,累加,即取出一条指令后,PC的值为下条指令的地址。的值为下条指令的地址。n当当执执行行分分支支指指令令时时,则则将将分分支支开开始始处处第第一一条条指指令令的的地地址址赋赋给给PC。n

31、当当执执行行调调用用子子程程序序指指令令时时,则则首首先先将将PC的的值值自自动动存存入入堆堆栈栈中中,然然后后将将子子程程序序开开始始处处第第一一条条指指令令的的地地址址赋赋给给PC,进进入入子子程程序序。当当子子程程序序结结束束时时,子子程程序序返返回回指指令令自自动动将将堆堆栈中的值恢复到栈中的值恢复到PC中,主程序得以从断点处继续执行。中,主程序得以从断点处继续执行。中断向量表中断向量表168第三节第三节 中断控制器中断控制器端口功能端口功能中断控制器中断控制器3.1 内部功能框图内部功能框图中断请求中断请求(AB DB CB)0 正在服务高优先级中断正在服务高优先级中断中断服务的基本

32、操作中断服务的基本操作:1.中断源生成器:中断源生成器:q外外设设提提出出中中断断请请求求,当当脉脉冲冲沿沿检检测测成成功功时时,中中断断请求被通过;请求被通过;2.中断请求标志位:中断请求标志位:q被被通通过过的的中中断断请请求求,在在中中断断请请求求标标志志寄寄存存器器IF中中设置相应的中断请求标志设置相应的中断请求标志位位IFx。n每每个个中中断断源源仅仅设设置置相相应应的的一一个个中中断断请请求求标标志志位位(1位位),因因此此,在在中中断断被被响响应应之之前前,即即使使是是相相同同的的中中断断请请求求再次发生,也只会被认为发生了一次。再次发生,也只会被认为发生了一次。n中断请求标志中

33、断请求标志能由能由CPU自动自动清除。清除。3.优先级优先级控制器控制器:q中中断断屏屏蔽蔽寄寄存存器器的的设设置置决决定定了了允允许许或或屏屏蔽蔽中中断断请请求求标标志志。一一个个允允许许的的中中断断请请求求被被通通过过;一一个个被被屏屏蔽蔽的的中中断断请请求求标标志志不不被被通通过过,处处于于等等待待状状态态。一一旦旦取取消消屏屏蔽蔽,处于等待状态的中断请求被处于等待状态的中断请求被通过通过;q优优先先级级控控制制器器比比较较同同时时通通过过的的中中断断请请求求的的优优先先级级(PR)和正在执行的中断的优先级和正在执行的中断的优先级(ISP););q如如果果两两个个或或两两个个以以上上的的

34、中中断断请请求求同同时时通通过过,则则首首先先响响应应优优先先级级指指定定标标志志(PR)中中优优先先级级高高的的请请求求。如如果果两两个个或或两两个个以以上上的的中中断断请请求求具具有有相相同同的的优优先先级级(PR),则则首先响应默认优先级首先响应默认优先级高高的中断请求。的中断请求。4.实际执行中断的实际执行中断的CPU:q 最最高高优优先先级级的的中中断断请请求求得得到到优优先先级级控控制制器器批批准准,CPU准准备备响应响应该该中断请求中断请求,准备过程,准备过程自动自动完成下列工作完成下列工作:n清除清除该该中断请求标志中断请求标志IF;n将将PSW、PC的内容依次保存到堆栈中的内

35、容依次保存到堆栈中保护现场保护现场;n修修改改PSW将将IE标标志志复复位位为为0(关关中中断断),并并将将被被响应的中断的优先级响应的中断的优先级PR送到送到ISP 中;中;n修修改改PC根根据据30个个不不一一样样的的中中断断源源所所产产生生的的中中断断,将将该该中中断断请请求求对对应应的的向向量量表表地地址址中中存存放放的的中中断断服服务务子子程序的入口地址传送到程序的入口地址传送到PC中;中;qCPU执行中断服务执行中断服务子子程序程序。5.中断返回中断返回: CPU执执行行完完中中断断服服务务子子程程序序后后,自自动动将将保保存存在在堆堆栈栈中中的的内内容容恢恢复复到到PSW、PC中

36、中恢恢复复现现场场,从从中中断断处处返返回回继继续执行主程序。续执行主程序。3.2 控制寄存器控制寄存器78K0单片机中单片机中6种寄存器用于控制中断功能种寄存器用于控制中断功能:q中断请求标志寄存器中断请求标志寄存器(IF0L、IF0H、IF1L、IF1H)q中断屏蔽寄存器中断屏蔽寄存器(MK0L、MK0H、MK1L、MK1H)q优先级指定寄存器优先级指定寄存器(PR0L、PR0H、PR1L、PR1H)q外部中断上升沿使能寄存器外部中断上升沿使能寄存器(EGP)q外部中断下降沿使能寄存器外部中断下降沿使能寄存器(EGN)q程序状态字程序状态字(PSW)1、中断请求标志寄存器(、中断请求标志寄

37、存器(IF0L, IF0H, IF1L, IF1H)q复位时,这些标志被清复位时,这些标志被清0(开始运行时,不处理中断开始运行时,不处理中断);q当产生中断请求时,当产生中断请求时,相应的相应的中断请求标志中断请求标志位自动位自动置置1;q当当某某中断请求中断请求被被响应时,响应时,该该中断请求标志中断请求标志位自动被位自动被清清0 (防止一次申请被多次响应防止一次申请被多次响应)。中断请求标志寄存器(中断请求标志寄存器(IF0L,IF0H,IF1L,IF1H)各位意义:)各位意义:IFx中断请求中断请求标志标志0没有没有产生产生中断请求中断请求1产生中断请求产生中断请求2、中断屏蔽寄存器(

38、、中断屏蔽寄存器(MK0L, MK0H, MK1L, MK1H)q中断屏蔽标志用于允许中断屏蔽标志用于允许/禁止相禁止相应应的可屏蔽中断的可屏蔽中断;n复位信号将这些寄存器的内容设置为复位信号将这些寄存器的内容设置为1(屏蔽所有中断屏蔽所有中断);n在使用中断前,用在使用中断前,用指令设置这些寄存器指令设置这些寄存器对要使用对要使用的中断,对应的屏蔽位设为的中断,对应的屏蔽位设为0(允许该中断允许该中断)。中断屏蔽寄存器(中断屏蔽寄存器(MK0L,MK0H,MK1L,MK1H)各位意义)各位意义:MKx中断中断屏蔽屏蔽控制控制0允许中断允许中断1禁止中断禁止中断3、优先级指定寄存器(、优先级指

39、定寄存器(PR0L, PR0H, PR1L, PR1H)q优先级指定寄存器用于设置优先级指定寄存器用于设置各各中断中断的的优先级。优先级。n复位信号将这些寄存器的内容设置为复位信号将这些寄存器的内容设置为1(低优先级低优先级);n在使用中断前,用在使用中断前,用指令设置这些寄存器。指令设置这些寄存器。优先级指定寄存器(优先级指定寄存器(PR0L, PR0H, PR1L, PR1H) 各位的意义:各位的意义:PRx优先级优先级选择选择0高高优先级优先级1低低优先级优先级4、外部中断上升沿使能寄存器(、外部中断上升沿使能寄存器(EGP)、)、 外部中断下降沿使能寄存器(外部中断下降沿使能寄存器(E

40、GN)n这两个寄存器指定这两个寄存器指定INTP0INTP7的有效沿。的有效沿。q复位信号将这些寄存器清复位信号将这些寄存器清0(上下沿均无效上下沿均无效);q在使用中断前,用在使用中断前,用指令指令对对EGP和和EGN进行进行设定设定。EGP7EGP6EGP5EGP4EGP3EGP2EGP1EGP0EGN7EGN6EGN5EGN4EGN3EGN2EGN1EGN0外部中断上升沿使能寄存器外部中断上升沿使能寄存器(EGP)、外部中断下降沿使能寄存器、外部中断下降沿使能寄存器(EGN)各位意义:各位意义:EGPnEGNnINTPn引脚有效沿的选择(引脚有效沿的选择(n=07)00禁止禁止脉冲沿检测

41、脉冲沿检测01下降下降沿沿10上升上升沿沿11上升上升沿和下降沿沿和下降沿5、程序状态字(、程序状态字(PSW)nPSW中中保存保存着两大类信息:着两大类信息:指令执行结果指令执行结果;中中断断的的状状态态:中中断断总总开开关关IE(允允许许/禁禁止止可可屏屏蔽蔽中中断断)和和ISP(正正在在服服务务的的中中断断的的优优先先级级,用用于于控控制中断嵌套)。制中断嵌套)。q复复位位信信号号将将PSW的的EI位位清清0(关关中中断断),将将ISP位位设设为为1(低低优先级优先级);q在在使使用用中中断断前前,使使用用专专用用指指令令(EI和和DI)对对PSW的的EI位位进进行行设设定定(EI开开中

42、中断断、DI关关中中断断)为为了了使使用用中中断断,当当然然要开中断;要开中断;q被响应被响应的的中断的优先级中断的优先级PR自动自动送到送到ISP中。中。控制寄存器控制寄存器设置要点总结设置要点总结n中断请求标志寄存器中断请求标志寄存器(IF0L、IF0H、IF1L、IF1H) 自动产生和清除自动产生和清除n中断屏蔽寄存器中断屏蔽寄存器(MK0L、MK0H、MK1L、MK1H) 对要使用的中断,设为对要使用的中断,设为0 (允许该中断允许该中断)n优先级指定寄存器优先级指定寄存器(PR0L、PR0H、PR1L、PR1H) 对要使用的中断,可设为对要使用的中断,可设为0也可也可1,对只有一个中

43、断的情况,啥都一样,对只有一个中断的情况,啥都一样n外部中断上升沿使能寄存器外部中断上升沿使能寄存器(EGP)、外部中断下降沿使能寄外部中断下降沿使能寄存器存器(EGN) 一般设为一般设为EGP =1、 EGN=0上升沿产生中断上升沿产生中断n程序状态字程序状态字(PSW) 要使用中断,当然要设要使用中断,当然要设EI=0(打开中断总开关打开中断总开关);ISP被自动赋值被自动赋值第四节第四节 软件设计软件设计#pragma sfr#pragma interrupt INTP0 LED_INTP0 /*定义使用定义使用INTP0中断,中断函数名中断,中断函数名LED_INTP0*/#pragm

44、a di /*禁止使用中断功能禁止使用中断功能 声明声明*/#pragma ei /*允许使用中断功能允许使用中断功能 声明声明*/unsigned char LED_light10=0x3F,0x30,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F; /* 数码管编码数组数码管编码数组*/unsigned char j=0; /*按键次数变量按键次数变量*/void hdinit() /*硬件初始化硬件初始化*/PM1=0; /* P1端口模式为输出模式端口模式为输出模式 */PU1=0xFF; /* P1端口端口使用上拉电阻使用上拉电阻 */:端口模式为输出

45、模式端口模式为输出模式 */ ?:使用上拉电阻:使用上拉电阻 */ ?PIF0=0; /* INTP0中断请求标志,没有中断请求中断请求标志,没有中断请求 */PMK0=0; /* INTP0中断屏蔽标志,允许中断中断屏蔽标志,允许中断 */PPR0=1; /* INTP0中断优先级,低优先级中断优先级,低优先级 */EGP.0=1; /* INTP0的有效沿:的有效沿:与与EGN组合,上升沿有效组合,上升沿有效 */EGN.0=0;void main (void)DI( ); /* 首先做准备,禁止中断首先做准备,禁止中断 */IMS=0XCC; /* 内部容量设置,必须有内部容量设置,必须

46、有 */IXS=0X00; /* 内部容量设置,必须有内部容量设置,必须有 */hdinit( );EI( ); /* 准备完成,允许中断准备完成,允许中断 */while(1) /* 主程序没有任何实质任务,只是循环等待主程序没有任何实质任务,只是循环等待中断中断 */_interrupt void LED_INTP0( ) /*中断函数中断函数*/P1= LED_light j ; /* P1端口端口赋值,数码管显示相应数值赋值,数码管显示相应数值 */j+; /* 按键次数加按键次数加1 */if( j=10 ) /* 如果按键次数达到如果按键次数达到10次,按键计数归次,按键计数归0

47、*/j=0;20.4.3 中断嵌套中断嵌套n在执行一个中断服务程序时,又响应了其他中断,称中断嵌套。在执行一个中断服务程序时,又响应了其他中断,称中断嵌套。n在在响响应应一一个个中中断断请请求求后后,若若关关中中断断(IE=0),则则禁禁止止响响应应其其它它中中断断请请求求,不不会会产产生生中中断断嵌嵌套套。因因此此,要要允允许许中中断断嵌嵌套套,必必须须在在中中断服务期间执行断服务期间执行EI指令,使指令,使IE=1,从而允许响应其它中断请求。,从而允许响应其它中断请求。n此此外外,即即使使开开中中断断,也也不不一一定定能能产产生生中中断断嵌嵌套套,因因为为还还要要受受到到中中断断优优先先级

48、级的的控控制制。可可使使用用两两类类优优先先级级控控制制方方式式:默默认认优优先先级级和和可可编程优先级。可编程优先级只有编程优先级。可编程优先级只有0和和1两级。两级。n在在中中断断允允许许状状态态中中,如如果果产产生生的的中中断断请请求求的的优优先先级级高高于于正正在在服服务务的的中中断断优优先先级级,则则响响应应该该中中断断请请求求,产产生生中中断断嵌嵌套套。如如果果产产生生的的中中断断请请求求的的优优先先级级低低于于正正在在服服务务的的中中断断优优先先级级,则则不不响响应应该该中中断断请求。请求。n由由于于禁禁止止中中断断或或中中断断请请求求的的优优先先级级别别较较低低,不不被被允允许

49、许的的中中断断请请求求处处于于等等待待状状态态。若若当当前前的的中中断断服服务务已已结结束束,则则在在执执行行至至少少一一条条主主程序指令后才可响应处于等待状态的中断请求。程序指令后才可响应处于等待状态的中断请求。由于未开中断没产生中断嵌套在在INTxx 中中断断服服务务期期间间不不允允许许中中断断(未未执执行行EI 指指令令),因因此此不不响响应应中中断断请请求求INTyy,这这样样不不会会产产生生中中断断嵌嵌套套。中中断断请请求求INTyy 处处于于等等待待状状态态,在在执行一条主程序指令后响应该中断请求。执行一条主程序指令后响应该中断请求。由于优先级控制没产生中断嵌套在在INTxx 中中

50、断断服服务务期期间间不不响响应应中中断断请请求求INTyy,因因为为INTyy 的的优优先先级级低低于于INTxx,这这样样就就不不会会产产生生中中断断嵌嵌套套。中中断断请请求求INTyy 处处于于等等待待状状态态,在在执执行行一一条条主主程程序序指指令令后后响响应应该该中中断断请求。请求。产生两次中断嵌套在在进进行行INTxx 中中断断服服务务期期间间,响响应应了了两两个个中中断断请请求求INTyy 和和INTzz,这这时时就就产产生生了了两两次次中中断断嵌嵌套套。在在响响应应每每个个中中断断之之前前,必须先执行必须先执行EI 指令才能允许响应中断请求。指令才能允许响应中断请求。第七章第七章

51、 TM00定时器定时器计数器00模式控制计数器00模式控制定时定时n捕捉捕捉/比较寄存器比较寄存器比较寄存器比较寄存器n定时属简单应用定时属简单应用n对内部时钟计数,时钟频率恒定对内部时钟计数,时钟频率恒定n用于产生:定时中断、方波、占空比可调的脉用于产生:定时中断、方波、占空比可调的脉冲波等冲波等计数器00模式控制结束结束定时(定时(定时(定时(+ +输出)概述输出)概述输出)概述输出)概述 自动运行计数器00模式控制定时(定时(定时(定时(+ +输出)概述输出)概述输出)概述输出)概述计数器00模式控制结束结束定时定时定时定时 自动运行计数器00模式控制结束结束方波输出方波输出方波输出方波

52、输出 自动运行计数器00模式控制结束结束PPGPPG输出输出输出输出 自动运行计数计数n捕捉捕捉/比较寄存器比较寄存器比较寄存器比较寄存器n计数属简单应用计数属简单应用n对对TI000输入的脉冲计数,脉冲频率随机输入的脉冲计数,脉冲频率随机计数器00模式控制结束结束TI000 TI000 计数计数计数计数 (+ +输出)概述输出)概述输出)概述输出)概述 自动运行计数器00模式控制TI000 TI000 计数计数计数计数 (+ +输出)概述输出)概述输出)概述输出)概述计数器00模式控制结束结束TI000 TI000 计数计数计数计数 (+ +输出)输出)输出)输出)自动运行计数器00模式控制

53、TI000 TI000 计数计数计数计数 (+ +输出)输出)输出)输出)捕捉捕捉n捕捉捕捉/比较寄存器比较寄存器捕捉捕捉寄存器寄存器n“定时定时”与与“计数计数”的组合,复杂应用的组合,复杂应用n用于测量用于测量TI000输入脉冲的周期、占空比、转输入脉冲的周期、占空比、转速等速等计数器00模式控制TI000TI000触发触发触发触发 捕捉捕捉捕捉捕捉 自动运行结束结束1计数器00模式控制TI000TI000触发触发触发触发 捕捉捕捉捕捉捕捉116 位定时器计数器位定时器计数器00 (TM00)如出现以下情况,计数值复位为0000H。n复位信号的产生nTMC003 和TMC002 被清零n在

54、TI000 引脚输入有效沿进入清零和启动模式下n在TM00 和CR000 相等时进入清零和启动模式下n在单脉冲输出模式下如果OSPT00 被设置为1 或TI000 引脚输入有效沿时16 位定时器捕捉位定时器捕捉/比较寄存器比较寄存器CR000(i) CR000 用作比较寄存器用作比较寄存器qCR000 的设置值与16 位定时器计数器TM00的计数值频繁地相比较,如果相等将产生一个中断请求(INTTM00n)。q在CR000 被重写前一直保持这个值。(ii) CR000 用作捕捉寄存器用作捕捉寄存器q当输入捕捉触发时,TM00 的计数值被捕捉到CR000。q可以使用CRC00 或PRM00 选择

55、TI000 引脚的反向脉冲沿或TI010 引脚的有效沿作为捕捉触发。16 位定时器捕捉位定时器捕捉/比较寄存器比较寄存器CR010(i) CR010 用作比较寄存器用作比较寄存器qCR010 的设置值与16 位定时器计数器TM00的计数值频繁地相比较,如果相等将产生一个中断请求INTTM01。q在CR010 被重写前一直保持这个值。(ii) CR010 用作捕捉寄存器用作捕捉寄存器q当输入捕捉触发时,TM00 的计数值被捕捉到CR010。q可以选择TI000 引脚的有效沿作为捕捉触发。TI000 有效沿由PRM00 来设置。3.2 控制寄存器控制寄存器16 位定时器位定时器/事件计数器事件计数

56、器00的的控制寄存器控制寄存器:q16 位定时器模式控制寄存器位定时器模式控制寄存器TMC00q捕捉捕捉/比较控制寄存器比较控制寄存器CRC00q16 位定时器输出控制寄存器位定时器输出控制寄存器 TOC00q预分频器模式寄存器预分频器模式寄存器 PRM00q端口模式寄存器端口模式寄存器 PM0、端口寄存器端口寄存器 P016 位定时器模式控制寄存器位定时器模式控制寄存器TMC00捕捉捕捉/比较控制寄存器比较控制寄存器CRC0016 位定时器输出控制寄存器位定时器输出控制寄存器 TOC00单脉冲控制单脉冲控制输出反转输出反转输出允许输出允许输出初值输出初值预分频器模式寄存器预分频器模式寄存器

57、PRM00端口模式寄存器端口模式寄存器 PM0 端口寄存器端口寄存器 P0 n如果使用P00/TI000引脚用于定时器输入,则需要将PM00设置为1。n如果使用P01/TO00/TI010引脚用于定时器输入,则需要将PM01设置为1。n如果使用P01/TO00/TI010 引脚用于定时器输出,则需要将PM01设置为0以及P01 的输出锁存器清0。n注意弄清注意弄清3种运行模式:种运行模式:q自由运行定时器模式自由运行定时器模式q清零清零&启动模式启动模式(通过通过TI000 引脚有效沿输入进入引脚有效沿输入进入)q清零清零&启动模式启动模式(在在TM00 与与CR000 相等时进入相等时进入)

58、q程序暂时不看程序暂时不看q(1)q(2)q(3)第二节第二节 秒表硬件电路秒表硬件电路第一节第一节 AD转换原理转换原理n1.1 逐次逼近逐次逼近AD转换原理转换原理权电阻网络型权电阻网络型 D / A 转换器转换器AVREF+-uoD3D2D1D0I0I1I2I323R22R21R20RIR / 2(MSB)(LSB)S0S1S2S3D3D2D1D0S0S1S2S3电子开关电子开关 :Dn = 1 时,时,Sn 接接AVREF ;Dn = 0 时,时,Sn 接地端接地端 。最低位最低位最高位最高位+-uoD3D2D1D0I0I1I2I323R22R21R20RIR / 2(MSB)(LSB

59、)23R22R21R20RAVREFI1 =I2 =I3 =当当 D3D2D1D0 = 1111时时 :S0S1S2S3D3D2D1D0(LSB)(MSB)I = I3 + I2 + I1 + I0I0 =AVREF23 RAVREF22 RAVREF21 RAVREF20 R第二节第二节 AD转换端口功能转换端口功能A/D 转换器的框图转换器的框图2.1 A/D转换器硬件转换器硬件(1) ANI0ANI7 引脚引脚 这这些些是是8 通通道道A/D 转转换换器器的的模模拟拟输输入入引引脚脚。用用于于输输入入模模拟拟信信号号,以以便便转转换换成成数数字字信信号号。除除了了那那些些被被选选为为模模

60、拟拟输输入入的的引脚外,其它引脚均可用作引脚外,其它引脚均可用作I/O 端口引脚。端口引脚。(2) 采样采样&保持电路保持电路 采采样样&保保持持电电路路在在A/D 转转换换器器启启动动时时用用于于采采样样由由选选择择器器选选择择的的模模拟拟输输入入引引脚脚的的输输入入电电压压,并并在在A/D 转转换换期期间间保保持持采采样到的电压值。样到的电压值。(3) 串联电阻串串联电阻串 串联电阻串用于连接串联电阻串用于连接AVREF 和和AVSS,并产生一个电压,与,并产生一个电压,与采样到的电压值进行比较。采样到的电压值进行比较。(4) 电压比较器电压比较器 电电压压比比较较器器用用于于比比较较采采

61、样样到到的的电电压压值值与与串串联联电电阻阻串串的的输输出出电电压。压。(5) 逐次逼近寄存器逐次逼近寄存器(SAR) 该该寄寄存存器器用用于于转转换换电电压压比比较较器器所所比比较较的的结结果果,并并从从最最高高有有效效位位(MSB)开始。开始。 当当电电压压被被转转换换成成数数字字值值,并并写写入入最最低低有有效效位位时时(A/D 转转换换结结束束),将,将SAR 的内容传送到的内容传送到A/D 转换结果寄存器转换结果寄存器(ADCR)中。中。(6) 10 位位A/D转换结果寄存器转换结果寄存器(ADCR) 每每次次A/D 转转换换结结束束时时,将将A/D 转转换换结结果果从从逐逐次次逼逼

62、近近寄寄存存器器(SAR)传传送送至至该该寄寄存存器器中中。转转换换结结果果保保存存在在该该寄寄存存器器的的高高10 位中位中(低低6 位恒为位恒为0)。(7) 控制器控制器 该该电电路路用用于于控控制制A/D 转转换换的的启启动动和和停停止止操操作作。当当A/D 转转换换结结束时,该控制器产生中断束时,该控制器产生中断INTAD。(8) AVREF 引脚引脚 该该引引脚脚为为A/D 转转换换器器输输入入一一个个模模拟拟供供电电/参参考考电电压压。当当端端口口2 用作数字端口时,该引脚的电压应与用作数字端口时,该引脚的电压应与VDD的电压保持一致。的电压保持一致。 根根据据通通过过AVREF和

63、和AVSS 的的电电压压,将将输输入入到到ANI0 ANI7 的的信号转换成数字信号。信号转换成数字信号。(9) AVSS 引脚引脚 这是这是A/D 转换器的信号地引脚。即便没有使用转换器的信号地引脚。即便没有使用A/D 转换器,转换器,该引脚的电压也应与该引脚的电压也应与VSS 的电压保持一致。的电压保持一致。(10) A/D 转换器模式寄存器转换器模式寄存器(ADM) 该寄存器用于设置被转换的模拟输入信号的转换时间,并该寄存器用于设置被转换的模拟输入信号的转换时间,并启动或停止转换操作。启动或停止转换操作。(11) A/D 端口配置寄存器端口配置寄存器(ADPC) 该寄存器用于将该寄存器用

64、于将ANI0/P20 ANI7/P27 引脚切换成引脚切换成A/D 转换器的模拟输入或端口的数字转换器的模拟输入或端口的数字I/O 输入。输入。(12) 模拟输入通道选择寄存器模拟输入通道选择寄存器(ADS) 该寄存器用来选择输入模拟电压该寄存器用来选择输入模拟电压(将被转换成数字信号将被转换成数字信号)的的端口。端口。(13) 端口模式寄存器端口模式寄存器2 (PM2) 该寄存器用于将该寄存器用于将ANI0/P20 ANI7/P27 引脚切换为输入引脚切换为输入或输出。或输出。2.2 A/D转换器使用的寄存器转换器使用的寄存器n A/D 转换器模式寄存器转换器模式寄存器(ADM)n10 位位

65、A/D转换结果寄存器转换结果寄存器(ADCR)n 8 位位A/D 转换结果寄存器转换结果寄存器(ADCRH)n A/D 端口配置寄存器端口配置寄存器(ADPC)n端口模式寄存器端口模式寄存器2 (PM2)n 模拟输入通道选择寄存器模拟输入通道选择寄存器(ADS)(1) A/D 转换器模式寄存器转换器模式寄存器(ADM)n该寄存器设置模拟输入的该寄存器设置模拟输入的A/D 转换时间,并启动转换时间,并启动/停止转换。停止转换。可由可由1 位或位或8 位存储器操作指令设置位存储器操作指令设置ADM。复位信号产生将该寄存器清零复位信号产生将该寄存器清零(00H)。A/D 转换时间的选择转换时间的选择

66、n最短时间nAVref越高才能使用更短的时间n该表对应的最低A/D 转换时间的选择转换时间的选择nAVref越高才能使用更短的时间n该表对应的最低,最短时间32us(2) 10 位位A/D 转换结果寄存器转换结果寄存器(ADCR)n这是一个这是一个16 位寄存器,用来存储位寄存器,用来存储A/D 转换结果。转换结果。寄存器的低寄存器的低6 位恒为位恒为0。每次。每次A/D 转换结束时,将转换结束时,将转换结果从逐次逼近寄存器传送至转换结果从逐次逼近寄存器传送至ADCR 中。转中。转换结果的高换结果的高8 位存储在位存储在FF09H 中,而转换结果的中,而转换结果的低低2 位存储在位存储在FF0

67、8H 的高的高2位中。位中。n可由可由16 位存储器操作指令读取位存储器操作指令读取ADCR。n复位信号产生将该寄存器清零复位信号产生将该寄存器清零(0000H)。(3) 8 位位A/D转换结果寄存器转换结果寄存器(ADCRH)n这是一个这是一个8 位寄存器,用来存储位寄存器,用来存储A/D 转换结果。转换结果。可以存储可以存储10 位分辨率的高位分辨率的高8 位。位。n可由可由8 位存储器操作指令读取位存储器操作指令读取ADCRH。n复位信号产生将该寄存器清零复位信号产生将该寄存器清零(00H)。对于默认全对于默认全0设置,除转换时间最长以外,设置,除转换时间最长以外,AD转换是转换是8位位

68、AD转换器,转换器,8位结果存于位结果存于ADCRH中。中。对于其它设置,是否还有对于其它设置,是否还有8位情况,不知道,位情况,不知道,可试一试。可试一试。(4) A/D 端口配置寄存器端口配置寄存器(ADPC)n这个寄存器用于将这个寄存器用于将ANI0/P20 ANI7/P27 引脚切引脚切换为换为A/D 转换器的模拟输入或者数字转换器的模拟输入或者数字I/O 端口。端口。n可由可由1 位或位或8 位存储器操作指令设置位存储器操作指令设置ADPC 。n复位信号产生将该寄存器清零复位信号产生将该寄存器清零(00H)。(5) 端口模式寄存器端口模式寄存器2 (PM2)n在使用在使用ANI0/P

69、20ANI7/P27 引脚作为模拟输入引脚作为模拟输入端口时,将端口时,将PM20PM27 设为设为1。如果将。如果将PM20PM27 设为设为0,则它们不能用作模拟输入,则它们不能用作模拟输入端口引脚。端口引脚。n可由可由1 位或位或8 位的存储器操作指令来设置位的存储器操作指令来设置PM2。n复位信号产生将该寄存器设置为复位信号产生将该寄存器设置为FFH。(6) 模拟输入通道选择寄存器模拟输入通道选择寄存器(ADS)n该寄存器用来选择通道,用于该寄存器用来选择通道,用于A/D 转换的模拟输入。转换的模拟输入。n可由可由1 位或位或8 位存储器操作指令设置位存储器操作指令设置ADS。n复位信

70、号的产生将该寄存器清零复位信号的产生将该寄存器清零(00H)。3.1 A/D 转换器操作转换器操作 把把ADM的第的第0 位位(ADCE)置置1 启动比较器的操作。启动比较器的操作。 通过通过ADPC设置通道,用于设置通道,用于A/D 转换的模拟输入,并且通过转换的模拟输入,并且通过PM2设置为输入模式。设置为输入模式。 根据根据ADM 的第的第51 位位(FR2 FR0、LV1 和和LV0)设置设置A/D 转换时间。转换时间。 通过通过ADS选择一个通道用于选择一个通道用于A/D 转换。转换。 设置设置ADM 的第的第7 位位(ADCS)为为1,启动转换操作。,启动转换操作。( 的操作由硬件

71、完成的操作由硬件完成) 由采样由采样&保持电路对输入通道的电压进行采样。保持电路对输入通道的电压进行采样。 在经过一段时间的采样后,采样在经过一段时间的采样后,采样&保持电路处于保持状态,且在保持电路处于保持状态,且在A/D 转换操作结束前一直转换操作结束前一直保持采样电压。保持采样电压。 设置逐次逼近寄存器设置逐次逼近寄存器(SAR)的第的第9 位。位。 由电压比较器比较。由电压比较器比较。 接下来,接下来,SAR 的第的第8 位自动置位自动置1,并进入下一个比较过程。,并进入下一个比较过程。 按此方式继续进行比较,直至按此方式继续进行比较,直至SAR 的第的第0 位。位。 全部全部10 位

72、比较完成后,在位比较完成后,在SAR 中产生一个数值结果,然后将结果传送至中产生一个数值结果,然后将结果传送至A/D 转换结果寄转换结果寄存器存器(ADCR,ADCRH)中,并锁存。同时也会产生中,并锁存。同时也会产生A/D 转换结束中断请求转换结束中断请求(INTAD)。 反复执行步骤反复执行步骤 ,直至,直至ADCS 被清被清0,以停止,以停止A/D 转换器操作。转换器操作。n当当ADCE = 1 时,若要重新启动时,若要重新启动A/D 转换操作,应从步骤转换操作,应从步骤开始。开始。n当当ADCE = 0 时,若要再次启动时,若要再次启动A/D 转换操作,设置转换操作,设置ADCE=1,

73、等待至少,等待至少1 us,然后从步骤,然后从步骤开始操作。开始操作。n如要改变如要改变A/D 转换的通道,则从步骤转换的通道,则从步骤开始。开始。 把把ADM的第的第0 位位(ADCE)置置1 启动比较器的操作。启动比较器的操作。 通过通过ADPC设置通道,用于设置通道,用于A/D 转换的模拟输入,转换的模拟输入,并且通过并且通过PM2设置为输入模式。设置为输入模式。 根据根据ADM 的第的第51 位位(FR2 FR0、LV1 和和LV0)设置设置A/D 转换时间。转换时间。 通过通过ADS选择一个通道用于选择一个通道用于A/D 转换。转换。 设置设置ADM 的第的第7 位位(ADCS)为为

74、1,启动转换操作。,启动转换操作。( 的操作由硬件完成的操作由硬件完成) 由采样由采样&保持电路对输入通道的电压进行采样。保持电路对输入通道的电压进行采样。 在在经经过过一一段段时时间间的的采采样样后后,采采样样&保保持持电电路路处处于于保保持持状状态态,且在且在A/D 转换操作结束前一直保持采样电压。转换操作结束前一直保持采样电压。 设置逐次逼近寄存器设置逐次逼近寄存器(SAR)的第的第9 位。位。 由电压比较器比较。由电压比较器比较。 接下来,设置接下来,设置SAR 的第的第8 位,并进入下一个比较过程。位,并进入下一个比较过程。 按此方式继续进行比较,直至按此方式继续进行比较,直至SAR

75、 的第的第0 位。位。 全全部部10 位位比比较较完完成成后后,在在SAR 中中产产生生一一个个数数值值结结果果,然然后后将将结结果果传传送送至至A/D 转转换换结结果果寄寄存存器器(ADCR,ADCRH)中中,并锁存。同时也会产生并锁存。同时也会产生A/D 转换结束中断请求转换结束中断请求(INTAD)。 反反复复执执行行步步骤骤 ,直直至至ADCS 被清被清0,以停止,以停止A/D 转换器操作。转换器操作。n当当ADCE = 1 时时,若若要要重重新新启启动动A/D 转转换换操操作,应从步骤作,应从步骤开始。开始。n当当ADCE = 0 时时,若若要要再再次次启启动动A/D 转转换换操操作作,设设置置ADCE=1,等等待待至至少少1 us,然然后后从步骤从步骤开始操作。开始操作。n如如要要改改变变A/D 转转换换的的通通道道,则则从从步步骤骤开开始。始。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号