已阅读5页,还剩86页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章MCS 51单片机的定时器 串口和中断系统 4 1MCS 51单片机的定时器4 2MCS 51单片机的串口4 3MCS 51单片机的中断系统 4 1 1定时器T0和T14 1 2定时器T2 4 1MCS 51单片机的定时器 4 1MCS 51单片机的定时器 MCS 51单片机内部可有3个定时器 计数器 T0 T1 T2 可配置为定时器或计数器 通常 将片内没有定时器T2的单片机称为51型单片机 有定时器T2的称为52型单片机 定时器Tn n 0 1 2 由2个8位计数器THn和TLn组成 T0及T1的配置和控制寄存器分别为TMOD TCON T2的配置和控制寄存器分别为T2MOD T2CON 4 1 1定时器T0和T1 方式寄存器TMOD TMOD是一个特殊功能寄存器 用于配置定时器T0和T1的工作方式 其字节地址为89H 不可位寻址 上电缺省值为00H TMOD的低4位用于配置定时器T0 高4位用于配置定时器T1 下面依次给出TMOD的格式表 各控制位的功能描述表 以及定时器的工作方式选择表 TMOD的格式 4 1 1定时器T0和T1 方式寄存器TMOD TMOD的控制位描述 4 1 1定时器T0和T1 方式寄存器TMOD 定时器的工作方式选择 4 1 1定时器T0和T1 方式寄存器TMOD TCON是一个特殊功能寄存器 用于控制定时器T0和T1的运行 同时还是中断请求和中断触发方式寄存器 TCON的字节地址为88H 可以位寻址 上电缺省值为00H 下面依次给出TCON的格式表与各控制位的描述表 4 1 1定时器T0和T1 控制寄存器TCON TCON的格式 4 1 1定时器T0和T1 控制寄存器TCON TCON的控制位描述 4 1 1定时器T0和T1 控制寄存器TCON 定时器T0和T1有方式0 方式1 方式2 方式3等四种工作方式 以满足不同的应用需要 工作方式由TMOD中的M1和M0来配置 4 1 1定时器T0和T1 工作方式 方式0 适合定时器T0和T1 定时器T0的方式0的工作结构如下图所示 它是13位计数器 由TL0的低5位和TH0的8位组成 TL0的低5位每个机器周期增加1 它溢出时向TH0进位 TH0计数溢出时 置位溢出标志TF0 设晶振频率为 计数初值为 则T0定时间隔为 4 1 1定时器T0和T1 工作方式 定时器T0的方式0结构 4 1 1定时器T0和T1 工作方式 4 1 1定时器T0和T1 工作方式 方式1 适合定时器T0和T1 定时器T0的方式1的工作结构如下图所示 它和方式0的差别仅在于计数器的位数不同 在方式1中 TL0为低8位 TH0为高8位 构成一个16位的计数器 设晶振频率为 计数初值为 则T0定时间隔为 定时器T0的方式1结构 4 1 1定时器T0和T1 工作方式 4 1 1定时器T0和T1 工作方式 方式2 适合定时器T0和T1 定时器T0的方式2结构如下图所示 它是自动重装初值的8位计数器 在方式2中 TL0为8位计数器 TH0为计数初值寄存器 当TL0溢出时 一方面置位溢出标志TF0 同时将TH0中的计数初值送至TL0 使TL0从初值开始重新加1计数 设晶振频率为 计数初值为 则定时间隔为 定时器T0的方式2结构 4 1 1定时器T0和T1 工作方式 4 1 1定时器T0和T1 工作方式 方式3 仅用于定时器T0 定时器T0工作于方式3时 它分为2个8位计数器TL0和TH0 TL0可以作为8位定时器或外部事件计数器 它使用定时器T0的控制位GATE TR0 INT0 TF0等进行控制 其计数初值必须由软件每次设定 TH0固定工作为8位定时器方式 它使用定时器T1的控制位TR1 TF1 即当TR1为1时 允许TH0计数 TH0计数溢出时 置位溢出标志TF1 此时 定时器T1的运行由方式字来控制 方式3停止计数 其它方式允许计数 但计数溢出时不置位标志TF1 定时器T0的方式3结构 4 1 1定时器T0和T1 工作方式 4 1 2定时器T2 在52型单片机中另外还有定时器T2 定时器T2是一个16位的定时器 可工作于定时器或计数器方式 它有两组数据寄存器 即TH2 TL2 RCAP2H RCAP2L 有捕获 自动重装 可配置为加或减计数 波特率发生器等三种工作模式 由特殊功能寄存器T2CON和T2MOD来配置和控制其工作 4 1 2定时器T2 控制寄存器T2CON T2CON是一个特殊功能寄存器 用于设置定时器T2的工作模式 和控制T2的运行 其字节地址是C8H 可位寻址 上电缺省值为00H 下面依次给出T2CON的格式表 各控制位的功能描述表 以及工作模式表 T2CON的格式 4 1 2定时器T2 控制寄存器T2CON T2CON的控制位描述 4 1 2定时器T2 控制寄存器T2CON 定时器T2的工作模式 4 1 2定时器T2 控制寄存器T2CON T2MOD是一个特殊功能寄存器 用于补充配置定时器T2的工作方式 其字节地址为0C9H 不可位寻址 上电缺省值为XXXXXX00B 下面依次给出T2MOD的格式表 各控制位的功能描述表 4 1 2定时器T2 方式寄存器T2MOD T2MOD的格式 4 1 2定时器T2 方式寄存器T2MOD T2MOD的控制位描述 4 1 2定时器T2 方式寄存器T2MOD 定时器T2有捕获 自动重装 波特率发生器等三种工作模式 以满足不同的应用需要 其工作模式通过配置T2CON来选择 4 1 2定时器T2 工作模式 选择捕获模式时 如果 EXEN2 0 定时器T2是一个16位的定时器或计数器 其溢出将导致TF2置位 从而引起中断 如果 EXEN2 1 定时器T2做同样的操作 但T2EX的负跳变将导致TH2和TL2的值分别进入RCAP2H和RCAP2L 同时导致EXF2置位 从而引起中断 定时器T2的捕获模式结构见下图 4 1 2定时器T2 工作模式 定时器T2的捕获模式结构 4 1 2定时器T2 工作模式 在自动重装模式下 定时器T2可编程配置为加计数或减计数 这与T2MOD的DCEN位有关 上电复位时 DCEN为零 DCEN 0的自动重装模式如下图所示 此时定时器T2只能为加计数器 如果 EXEN2 0 定时器T2是一个16位的定时器或计数器 溢出导致TF2置位 从而引起中断 同时 RCAP2H和RCAP2L中的值自动装入TH2和TL2 RCAP2H和RCAP2L中的值是由软件预置的 如果 EXEN2 1 计数溢出或T2EX的负跳变都可引起重装 T2EX的负跳变同时置位EXF2 可以引起中断 4 1 2定时器T2 工作模式 定时器T2的自动重装模式 DCEN 0 4 1 2定时器T2 工作模式 DCEN 1的自动重装模式见下图 此时定时器T2可设置为加计数或减计数 计数方向通过T2EX管脚控制 T2EX为高电平时定时器T2加计数 定时器T2溢出 也称为上溢 会导致TF2置位 同时也使RCAP2H和RCAP2L中的值分别自动装入TH2和TL2 T2EX为低电平时定时器T2减计数 当TH2和TL2与存储在RCAP2H和RCAP2L中的值相等时 定时器T2溢出 也称为下溢 定时器T2下溢使TF2置位 同时使得0FFFFH重新装入定时器寄存器 EXF2位在定时器T2上溢或下溢时将发生翻转 能被用作第17位分辨率 同时此种工作模式下 EXF2位不作为中断标志 4 1 2定时器T2 工作模式 定时器T2的自动重装模式 DCEN 1 4 1 2定时器T2 工作模式 在波特率发生器模式下 定时器T2的结构如下图所示 TH2的溢出将使RCAP2H和RCAP2L的值装入寄存器TH2和TL2 但不会置位TF2 也不产生中断 如果 EXEN2 1 T2EX的负跳变可置位EXF2引起中断 但不会重装TH2和TL2 此时 T2EX可用作外部中断 在该模式下 定时器T2 TR2 1时 每个状态周期加1 故T2溢出率 振荡器频率 2 65536 RCAP2H RCAP2L RCAP2H RCAP2L 表示RCAP2H和RCAP2L看作无符号整数时的值 为避免写操作与重装操作相冲突 在访问定时器T2和RCAP2之前 应先停止定时器T2的工作 即先将TR2清零 4 1 2定时器T2 工作模式 T2的波特率发生器模式 4 1 2定时器T2 工作模式 4 2 1串口的一般概念4 2 2MCS 51单片机串口的结构4 2 3MCS 51单片机串口的工作方式4 2 4多机通信原理4 2 5MCS 51单片机串口的波特率4 2 6MCS 51单片机串口应用编程实例 4 2MCS 51单片机的串口 计算机的中央处理器与外界交换信息通常有并行和串行两种通信方式 数据的各位同时传送的方式称为并行通信 数据一位一位传送的方式称为串行通信 实现并行通信的接口称为并口 例如MCS 51单片机的P1口就是并口 并行通信所需传输线的根数和数据位数相等 因此数据线较多 但它的通信速度较快 适合于近距离通信 串行通信通过串口来实现 它需要的传输线少 但速度慢 适合于远距离通信 串行通信通常又有异步和同步两种基本通信方式 以及单工 半双工 全双工三种传送方法 4 2 1串口的一般概念 异步通信方式每次传送一帧数据 下图为一种典型的异步通信数据格式 异步通信方式的优点是数据传送的可靠性较高 缺点是通信效率比较低 在异步通信中 CPU与外设之间必须有两项约定 即字符格式和波特率 字符格式保证双方将同一信息串理解成同一种意义 原则上可自由制定 波特率定义为每秒钟传送的二进制数的位数 4 2 1串口的一般概念 4 2 1串口的一般概念 在同步通信中 数据字节之间没有间隔 下图为一种典型的同步通信数据格式 同步通信具有效率高 速度快的优点 在传感器等专用设备中使用十分广泛 在串行通信中 单工传送是指通信接口只能发送或只能接收 双工传送是指通信接口既能发送又能接收 它分为半双工和全双工传送 其中 半双工传送是指任一时刻不能既发送又接收 全双工传送是指通信双方具有同时发送和接收数据的能力 MCS 51单片机的串口是一个全双工的通用异步串口 可以同时发送和接收数据 通称UART口 它可用于与串行外设进行通信 或用于MCS 51多机系统之间的通信 还可以工作于移位寄存器模式 用于扩充I O口 MCS 51单片机的串口通过引脚RXD和TXD 即P3 0和P3 1的第二功能 与外界通信 特殊功能寄存器SBUF是串口缓冲寄存器 包括发送寄存器和接收寄存器 它们有相同名字和地址空间 但不会出现冲突 因为接收寄存器只能被CPU读出数据 发送寄存器只能被CPU写入数据 MCS 51单片机通过两个特殊功能寄存器SCON和PCON来配置和控制串口的工作方式 4 2 2MCS 51单片机串口的结构 串口控制寄存器SCON是一个特殊功能寄存器 它的主要功能是选择串行通信方式 控制串口的发送和接收 以及指示串口的工作状态等 其字节地址是98H 可位寻址 上电缺省值为00H SCON的下面依次给出SCON中每一位的定义 以及每一位的功能描述 4 2 2串口的结构 串口控制寄存器SCON SCON的格式 4 2 2串口的结构 串口控制寄存器SCON SCON各位的功能描述 4 2 2串口的结构 串口控制寄存器SCON PCON也是一个特殊功能寄存器 它是为了在CHMOS型的单片机上实现电源控制 节电模式和掉电模式 而附加的 PCON的最高位SMOD是串口波特率系数控制位 见下表 当SMOD位为1时波特率加倍 PCON的其它位为掉电方式控制位 其功能因具体的单片机型号而异 4 2 2串口的结构 电源控制寄存器PCON PCON的格式 4 2 2串口的结构 电源控制寄存器PCON MCS 51单片机串口有4种工作方式 方式0 方式1 方式2 方式3 它们由SCON中的SM0 SM1定义 下面分别介绍 4 2 3MCS 51单片机串口的工作方式 串口的工作方式选择 4 2 3MCS 51单片机串口的工作方式 方式0为移位寄存器输入 输出方式 可外接移位寄存器以扩展I O口 也可以外接同步输入 输出设备 8位串行数据从引脚RXD输入或输出 引脚TXD输出同步时钟脉冲 方式0输出数据时 CPU将数据写入发送寄存器SBUF 立即启动发送 将数据以fOSC 12 fOSC为振荡器频率 的特率输出 低位在前 高位在后 发送完一帧数据后 发送中断标志TI由硬件置位 当串口以方式0接收时 先置位允许接收控制位REN 当 RI 0且 REN 1时 开始接收 当接收到第8位数据时 将数据移入接收寄存器 并由硬件置位RI 通常 新的数据送入外部移位寄存器之后要通知单片机 单片机才开始这个接收过程 4 2 3串口的工作方式 方式0 下图给出了移位寄存器74HC164的引脚及其与MCS 51单片机的连接电路图 74HC164是一种8位串入并出移位寄存器 其功能表见下表 电路中 MCS 51单片机的串口工作于移位寄存器输出方式 引脚RXD输出的串行数据移入74HC164的A B端 引脚TXD输出的移位脉冲接入74HC164的CLK端 74HC164的QA QH将并行输出数据 4 2 3串口的工作方式 方式0 74HC164的引脚图MCS 51和74HC164的连接电路图 4 2 3串口的工作方式 方式0 4 2 3串口的工作方式 方式0 74HC164功能表 方式1为波特率可变的8位异步通信接口方式 每帧信息包括一个起始位0 八个数据位和一个停止位1 波特率由定时器T1或T2的溢出率决定 方式1发送 当CPU将数据写入发送缓冲区SBUF时 启动发送 数据从引脚TXD输出 发送完毕后由硬件置位发送中断标志TI 方式1接收 REN 1时 若引脚RXD采样到负跳变 并确认是起始位0 则按照设定格式接收一帧数据 只有 RI 0 且满足下列条件之一时 才把接收到的8位数据和停止位分别送入接收寄存器和RB8 并置位中断标志RI 否则信息将丢失 条件1 SM2 0 停止位可为1或0 条件2 SM2 1 停止位必须为1 4 2 3串口的工作方式 方式1 方式2和3除波特率外 其余相同 方式2的波特率为振荡器频率的1 64或1 32 方式3的波特率由定时器T1或T2的溢出率确定 方式2和3均为9位UART方式 比方式1增加了一位可编程的第9位数据 方式2和3的发送 数据由TXD端输出 其中数据字有9位 附加的第9位来自SCON寄存器的TB8位 加上起始位和停止位共有11位 当CPU将数据写入SBUF时启动发送 发送完一帧后 置位中断标志TI 方式2和3的接收 在 REN 1时 当采样到引脚RXD从1到0的跳变时 开始接收数据 接收到第9位数据后 在 RI 0 且还满足下列两个条件之一 接收到的数据才进入SBUF和RB8 并置位RI 条件1 SM2 0 第9位数据可为1或0 条件2 SM2 1 第9位数据必须为1 4 2 3串口的工作方式 方式2和方式3 串口控制寄存器SCON中的SM2为多机通信控制位 串口以方式2或方式3接收时 若 SM2 1 则只有接收到的第9位数据 RB8 1时 数据才送入SBUF 置位中断标志RI 否则 不置位RI 信息丢失 CPU不作任何处理 当SM2为0时 则接收到一个数据后 不管第9位数据RB8是1还是0 都将数据装入SBUF 并置位中断标志RI 请求CPU处理 利用这个特性 便可实现MCS 51单片机的主从式多机通信 主从式通信的硬件连接示意图如下图所示 在主从式通信中 各个从机有不同的地址 从机都初始化为9位异步通信方式 方式2或3 置位SM2 允许接收串行中断 4 2 4多机通信原理 8051多机系统主从通信结构框图 4 2 4多机通信原理 主机要与某一从机通信时 先发出联络命令 联络命令的TB8为1 各个从机收到的RB8为1 置位RI 请求CPU处理 地址符合的从机就将SM2清零 并给主机作出应答 地址不符合的从机保持SM2为1 不动作 主机收到应答之后 就可以和从机通信 进行双向数据传输 主机发送的信息帧的第9位TB8为0 只有联络好的从机 SM2 0的从机 才会收到主机的命令或数据 并作相应处理 其它从机由于SM2保持为1 对主机的通信命令和数据不作任何处理 这样便实现了主机和从机之间的一对一的通信 当一次通信结束以后 从机的SM2恢复为1 主机可以发出新的联络命令 以便和另一个从机进行通信 4 2 4多机通信原理 串口的波特率 4 2 5MCS 51单片机串口的波特率 注 fOSC表示振荡器频率 常用波特率 4 2 5MCS 51单片机串口的波特率 例1 对于4 2 3节中单片机与74HC164的连接电路 假设并行口的各位都接一个发光管 用下面的程序 可将其做成流水灯 ORG2000HSTART MOVSCON 00H 将串口设置成方式0SETBP1 0 置位74HC164的CLRMOVA 80H 最高位灯先亮OUT0 MOVSBUF A 启动串行输出OUT1 JNBTI OUT1 检查串行输出是否结束CLRTI 清TI 以备下次发送LCALLDELAY 延时一段时间RRA 循环右移 LJMPOUT0 开始下一轮 4 2 6串口应用编程实例 串口方式0 DELAY NOPMOVR7 00HDJNZR7 RETEND 4 2 6串口应用编程实例 串口方式0 例2 编制MCS 51单片机的串行通信程序 通过UART口向外轮流送出数据55H和AAH 并把外围电路向UART口送来的数据送到P1口 ORG0000HLJMPSTARTORG0030HSTART MOVSP 5FH 设置堆栈指针MOVTMOD 20H 定时器T1设置成模式2MOVPCON 80H SMOD 1MOVTH1 0FDH 设置波特率MOVSCON 50H 将串口设置成方式1MOVR0 0AAH 准备送出的数SETBREN 允许接收SETBTR1 定时器T1开始工作 4 2 6串口应用编程实例 异步通信 WAIT MOVA R0CPLAMOVR0 AMOVSBUF A 本指令将启动串行发送LCALLDELAYJBCTI WAIT1 发送成功 转WAIT1LJMPWAIT 否则 当前数据丢失 发 送下一数据WAIT1 JBCRI READ RI的置位是由接收成功引 起的LJMPWAIT1 没有接收到 重新检查RI 4 2 6串口应用编程实例 异步通信 READ MOVA SBUF 从SBUF取出接收到的数据MOVP1 ALJMPWAIT 开始下一轮发送DELAY NOPMOVR7 00HDJNZR7 RETEND本程序通过不断地测试TI和RI来检查发送或接收是否成功 这种方式称为查询方式 由于测试过程CPU必须等待 它占用了CPU的全部时间 在通信故障时CPU还可能进入死循环 要提高程序效率与可靠性 最好采用中断方式 下面介绍MCS 51单片机的中断系统 4 2 6串口应用编程实例 异步通信 4 3 1MCS 51单片机的中断源4 3 2MCS 51单片机的中断控制4 3 3MCS 51单片机的中断响应过程4 3 4MCS 51单片机的中断编程举例 4 3MCS 51单片机的中断系统 所谓中断 是指CPU在执行现行程序的过程中 外部发生了某一事件 请求CPU立即去处理 于是CPU暂停当前工作 转入处理所发生的事件 处理完以后 再回到原来暂停的地方 继续执行程序 这样的过程称为中断 实现这种功能的部件称为中断系统或中断机构 产生中断的请求源称为中断源 处理中断事件的程序称为中断服务程序 当系统中存在多个中断源时 可以规定各个中断源的优先级 低优先级的中断服务可以被高优先级的中断源所中断 这个过程叫做中断嵌套 4 3MCS 51单片机的中断系统 CPU对中断的响应可以分为以下几个步骤 1 保护断点 把下一条将要执行的指令的地址送入堆栈保存 2 寻找中断入口 根据引起中断的中断源 查找相应的中断服务程序的入口地址 所有中断服务程序的入口地址常称为中断向量表 在入口地址处应存放用户设置的中断处理程序 即中断服务程序 保护断点和查找中断服务程序入口地址的工作通常是由计算机的硬件自动完成的 与编程者无关 程序员所要做的是编写中断服务程序 并将中断入口地址填入中断向量表 3 执行中断服务程序 4 中断返回 CPU执行完中断服务程序后 从堆栈中取出中断之前所保存的指令的地址 并从该地址的程序开始 继续执行 4 3MCS 51单片机的中断系统 典型MCS 51单片机有5个中断源 其中 2个是外部中断源 INT0 INT1 3个是内部中断源 定时器T0溢出中断 定时器T1溢出中断 串口发送接收中断 大多数52型单片机还有定时器T2中断 新型单片机因系统资源不同可能设置有更多的中断 如A D和D A中断等 4 3 1MCS 51单片机的中断源 MCS 51单片机的外部中断包括外部中断源0和1 是由外部引脚引入的中断源 对应的引脚为 INT0 INT1 外部中断可以编程为边沿触发或电平触发方式 触发控制和中断标志锁存在TCON的低4位 TCON寄存器中的IT0和IT1分别是 INT0和 INT1的触发方式控制位 ITx 0为电平方式 ITx 1为边沿方式 x 0 1 采用电平方式触发时 外部中断源必须保持低电平 直到该中断被CPU响应 同时在该中断服务程序执行完之前 外部中断源必须撤除 否则 其中断标志位IEx一直为1 将触发下一次中断 采用边沿方式触发时 IEx由外部引脚上信号的下降沿置位 CPU响应中断时 由硬件清零 4 3 1中断源 外部中断源 定时器T0溢出中断 当定时器T0计数产生溢出时 由硬件置位TF0 向CPU请求中断 一直保持到CPU响应中断时才由硬件将TF0清零 或由查询程序清零 定时器T1溢出中断 与定时器T0类似 串口中断 串口的接收中断标志RI和发送中断标志TI经 逻辑或 以后 作为内部的一个中断源 串口发送完一个字符以后由硬件置位TI 接收到一个字符以后由硬件置位RI CPU响应中断时 并不清零RI和TI 必须由软件清零 定时器T2溢出中断 与定时器T2有关的中断标志有两个 即TF2和EXF2 它们经 逻辑或 运算后 作为内部的一个中断源 这两个标志也必须由软件清零 4 3 1中断源 内部中断源 MCS 51单片机由中断允许寄存器IE来对中断源进行开放和屏蔽 IE的字节地址为0A8H 可以位寻址 上电缺省值为00H IE的格式见下表 某位为1时表示对应的中断开放 否则就屏蔽 4 3 2中断控制 中断允许寄存器IE EA CPU中断总开放标志 1 开放中断 0 屏蔽所有中断 ES 串口中断允许位 ET1 定时器T1中断允许位 EX1 外部中断1中断允许位 ET0 定时器T0中断允许位 EX0 外部中断0中断允许位 ET2 定时器T2中断允许位 4 3 2中断控制 中断允许寄存器IE IE的格式 MCS 51单片机有两个中断优先级 每一中断源可编程为高级中断或低级中断 一个正被执行的低级中断仅可以被高级中断所中断 高级中断不能被任何中断所中断 MCS 51单片机由中断优先级寄存器IP来对设置中断源的优先级 IP的字节地址为0B8H 可以位寻址 上电缺省值为00H IP的格式见下表 某位为1表示对应的中断为高级中断 否则为低级中断 CPU同时接收到几个同一优先级的中断请求时 由自然优先级决定先响应哪个中断 自然优先级由高到低的顺序是 INT0 定时器T0 INT1 定时器T1 串口 定时器T2 4 3 2中断控制 中断优先级寄存器IP PT2 定时器T2中断优先级控制位 PS 串口中断优先级控制位 PT1 定时器T1中断优先级控制位 PX1 外部中断1中断优先级控制位 PT0 定时器T0中断优先级控制位 PX0 外部中断0中断优先级控制位 4 3 2中断控制 中断优先级寄存器IP IP的格式 MCS 51单片机的CPU在每一个机器周期中顺序检查每一个中断源 如果出现下列情况之一 CPU正在处理相同的或更高优先级的中断 现行的机器周期不是所执行的指令的最后一个机器周期 正在执行的指令是 1 RETI 2 写IE 3 写IP CPU将丢弃中断查询的结果 否则 CPU将在紧接着的下一个机器周期执行中断查询的结果 具体是 将程序计数器PC的内容自动压入堆栈 将被响应的中断服务程序的入口地址送到PC 中断返回时 又将栈顶的内容弹回PC 4 3 3MCS 51单片机的中断响应过程 4 3 3MCS 51单片机的中断响应过程 MCS 51单片机的中断向量表 例1 利用MCS 51单片机的定时器溢出中断可以产生各种频率的方波信号 其方法是让定时器工作于自动重装方式 开放相应的定时中断 并在中断服务程序中对输出引脚的电平进行翻转即可 其中 定时器T0和T1为8位自动重装模式 定时器T2为16位自动重装模式 后者可输出更低的频率 设晶体振荡器频率为12MHz 波形由引脚P1 0输出 设要采用定时器T0来产生20KHz的方波 由于在每个周期中 引脚电平应翻转2次 所以引脚P1 0的翻转频率应为40KHz 同时应考虑到在定时器方式中 定时器T0是每经过1个机器周期 即12个时钟周期 加1 因此 定时器的重装值为 256 12M 12 40K 231 0E7H 4 3 4中断编程举例 利用定时中断产生方波 中断向量表ORG0000H 主程序的开始地址JMPSTARTORG000BH 定时器T0的中断向量地址JMPINTT0ORG0030HSTART 主程序 定时器T0初始化MOVTMOD 02H 定时器T0工作在方式2MOVTCON 0HMOVTH0 0E7H 配置自动重装初值 0E7 4 3 4中断编程举例 利用定时中断产生方波 MOVTL0 0E7HMOVIE 82H 开定时器T0中断SETBTR0 启动定时器T0计数LOOP NOP 主程序 空操作JMPLOOPINTT0 Timer0中断服务程序CPLP1 0 P1 0输出翻转RETI 中断返回END 4 3 4中断编程举例 利用定时中断产生方波 4 3 4中断编程举例 PWM发生器设计 例2 脉冲宽度调制技术 简称PWM技术 在电机调速和开关电源的控制等场合获得了广泛应用 PWM信号是一种周期固定 有效宽度可以调节的方波信号 如上图所示 它的周期T是固定值 有效电平宽度是 可根据需求进行调整 它在T中所占的比重 T 称为占空比 通过调节占空比 就可以调节电机速度或电源电压 4 3 4中断编程举例 PWM发生器设计 用模拟电路产生PWM信号 通常将控制信号与三角波或锯齿波相比较 因此需要有三角波产生电路和比较器电路 如果采用单片机 利用2个定时器即可生成PWM信号 本例介绍利用MCS 51单片机产生PWM波的方法 具体是利用定时器T0来设置PWM波的周期T 利用定时器T1来设置PWM波的有效宽度 相关程序的配置如下 在主程序中 进行如下配置 配置定时器T0和T1都工作在8位自动重装方式 根据PWM波的周期T 计算定时器T0的计数初值 N0 256 T fOSC 12 其中fOSC为振荡器频率 根据PWM波的有效宽度 计算定时器T1的计数初值 N1 256 fOSC 12 开定时器T0和T1定时中断 启动定时器T0和T1计数 4 3 4中断编程举例 PWM发生器设计 在定时器T0中断服务程序中 依次完成如下操作 PWM波的输出管脚置为高电平 启动定时器T1计数 在此之前 定时器T1完成了自动重装但没开始计数 经过时间后 定时器T1将产生计数溢出中断 中断返回 在定时器T1中断服务程序中 依次完成如下操作 停止定时器T1计数 PWM波的输出脚置为低电平 由于此时有效电平宽度正好达到时间 PWM波应翻转为无效电平 中断返回 4 3 4中断编程举例 PWM发生器设计 例如 设fOSC 12MHz 要求在引脚P1 0输出频率为10KHz 占空比60 的PWM波 根据前面的公式 可以计算出
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 关于移交印章的协议书
- 公司软件订购合同范本
- 企业销售培训合同范本
- 卫生局位聘用合同范本
- 厨师老板分红合同范本
- 合同履行转让协议模板
- 代理品牌销售合同范本
- 卖东西授权协议书范本
- 厂房劳务分包合同范本
- 南京月嫂中介合同范本
- 2025-2026学年冀教版(2024)小学数学一年级上册(全册)教学设计(附目录P339)
- 2024译林版八年级英语上册期末复习:Unit1~Unit8全册各单元语法知识点 讲义(含练习题及答案)
- 房屋安全性鉴定方案
- 工作责任感的衡量与评价标准
- 麻精药品考试题及答案
- 感觉运动整合理论-洞察及研究
- 备孕知识课件
- 小班健康活动:风婆婆与小树叶
- 国企资产管理办法细则
- 人教版(2024)八年级上册生物期末复习全册知识点考点背诵提纲
- 慢性根尖周炎病例分析
评论
0/150
提交评论