




免费预览已结束,剩余77页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 第四章51系列单片机的功能模块及应用 主要掌握并行口 串行口 定时器的结构 工作原理及应用 2 4 1并行口及其应用 51系列单片机的并行口 按特性可分类为 单一的准双向口 如89C52的P1 2 P1 7 多功能复用的准双向口 如89C52的P1 0 P1 1 P3 0 P3 7 可作地址总线输出口的准双向口 P2 可作地址 数据总线口的三态双向口 P0 3 每个I O线均由锁存器 输出电路和输入缓冲器组成 每一条口线可独立用作输入和输出 作输出时可锁存数据 输入时可缓冲数据 CPU对口的读操作有两种 读 修改 写操作 读口锁存器状态 例 ANLP0 A P0 P0 A ORLP0 data P0 P0 dataDECP0 P0 P0 1 读引脚操作 读口引脚上外部输入信息 例MOVA P1 4 5 4 1 1P0口 P0口是一个三态双向口 可作为地址 数据分时复用口 也可作为通用I O接口 其1位的结构原理如下图所示 P0口由8个这样的电路组成 6 P0口1位结构图 起输出锁存作用 8个锁存器构成了SFR P0 V1 V2组成输出驱动器 以增大带负载能力 三态门1是引脚输入缓冲器 读锁存器端口 7 2 地址 数据分时复用功能当P0口作为地址 数据分时复用总线时 可分为两种情况 一种是从P0口输出地址或数据 另一种是从P0口输入数据 8 在访问片外存储器而需从P0口输出地址或数据信号时 控制信号应为高电平 1 使转换开关MUX把反相器4的输出端与V1接通 同时把与门3打开 1 当地址或数据为 1 时 经反相器4使V1截止 而经与门3使V2导通 P0 x引脚上出现相应的高电平 1 2 当地址或数据为 0 时 经反相器4使V1导通而V2截止 引脚上出现相应的低电平 0 这样就将地址 数据的信号输出 9 3 通用I O接口功能当P0口作为通用I O口使用 在CPU向端口输出数据时 对应的控制信号为0 转换开关把输出级与锁存器Q端接通 同时因与门3输出为0使V2截止 此时 输出级是漏极开路电路 当写脉冲加在锁存器时钟端CLK上时 与内部总线相连的D端数据取反后出现在Q端 又经输出V1反相 在P0引脚上出现的数据正好是内部总线的数据 当要从P0口输入数据时 引脚信息仍经输入缓冲器进入内部总线 10 总之 一P0口作为一般I O口使用1P0口用作输出口 必须外接上拉电阻 才有高电平输出 2P0口作输入口 先向端口锁存器写入 1 二P0口作为地址 数据总线使用1以P0口引脚输出低8位地址或数据信息2由P0口输入数据三P0口可驱动8个LSTTL电路 11 4 1 2P1口 准双向口 12 P1 0 P1 1为多功能双向口 P1 2 P1 7为单一功能准双向口 P1口的第一功能是准双向口 每一位可分别定义为输入线或输出线 输出驱动部分由场效应管V1与内部上拉电阻组成 当其某位输出高电平时 可以提供上拉电流负载 13 P1的某一位作为输入线时 该位的口锁存器必须保持 1 使输出场效应管截止 该引脚才可由内部拉高电路拉成高电平 或由外部电路拉成低电平 P1口具有驱动4个LSTTL负载的能力 14 15 4 1 3P2口 准双向口 16 当作为准双向通用I O口使用时 控制信号使转换开关接向左侧 锁存器Q端经反相器3接V1 其工作原理与P1相同 也具有输入 输出 端口操作三种工作方式 负载能力也与P1相同 17 1系统中外接程序存储器时 P2口输出程序存储器的高8位地址 不作I O口使用 2系统中无外接程序存储器 而扩展有片外RAM的系统中 片外RAM的容量 256B P2口仍做输入 输出口使用 使用R0或R1作地址指针 片外RAM的容量 256B P2口不能做输入 输出口 而做系统扩展的高8位地址总线口使用 使用DPTR P2R0 P2R1作地址指针 18 4 1 4P3口 准双向口 19 P3口是一多功能口 既做准双向口又做特殊输入输出口 1做通用I O口使用 P3口做输入使用 应由软件向口锁存器写 1 20 2做第二功能使用 某位做第二功能使用该位D锁存器Q应被硬件自动置 1 P3 0RXDP3 5T1P3 1TXD 出 P3 6WR 出 P3 2INT0P3 7RD 出 P3 3INT1P3 4T0 3P3口具有驱动4个LSTTL负载的能力 21 4 1 5并行口的应用 1外接蜂鸣器2利用可控硅控制加热电路3BCD码拨码盘的接口BCD码拨码盘构造 一个拨码盘可以输入1位十进制数据 拨码盘拨到某个位置时 控制线分别与4位数据线中某几位接通 接通线定义为 1 不通的线定义为 0 22 4 2定时器及其应用 定时器功能 1定时操作2测量外部输入信号3定时输出4监视系统正常工作 23 4 2 1定时器的结构和工作原理 1定时器由一个N位计数器 计数时钟源控制电路 状态和控制寄存器等组成 2计数脉冲有两个来源 外部的脉冲源 系统的时钟振荡器 TMODTCON 中断 24 3用作定时器时 每经过一个机器周期 计数器自动加1 直到计数溢出 用作计数器时 外部时钟脉冲加在定时器的外输入端T0 P3 4 或T1 P3 5 每出现一次负跳变 计数器加1 4两个模拟开关 左边决定定时 计数器的工作状态 右边决定脉冲源是否加在计数器的输入端 516位的计数器由两个8位SFRTH和TL组成 25 定时器 计数器T0 T1的结构框图 26 4 2 2定时器 计数器T0和T1 一方式寄存器TMOD 89H 1不能进行位寻址 只能用字节寻址 复位时 TMOD所有位为0熟悉各位功能T1方式字段T0方式字段 27 GATE 门控位 1 定时器的计数受外部引脚输入电平的控制 0 定时器的计数不受外部引脚输入电平的控制 C T 功能选择位 1 计数功能 0 定时功能 M1M0 工作方式选择位 28 适于T0 两个8位计数器 29 二控制寄存器TCON 88H 1既可字节寻址又可位寻址 复位时 TCON各位为0例 SETBTR1 启动定时器T1工作熟悉各位功能D7D6D5D4D3D2D1D0 30 TF1 定时器 计数器T1的溢出标志位TR1 定时器 计数器T1的运行控制位TF0 定时器 计数器T0的溢出标志位TR0 定时器 计数器T0的运行控制位IE1 外部中断1下降沿触发标志位IE0 外部中断0下降沿触发标志位IT1 外部中断1触发类型选择位IT0 外部中断0触发类型选择位 31 三定时器 计数器的初始化初始化即将控制字写入定时器 计数器的过程 初始化一般步骤 1写入初值TH0 TL0或TH1 TL12对TMOD赋值3对IE赋值 有中断产生时 4 若用软件启动 则仅把TR0或TR1置 1 若用外中断引脚电平启动 则还需给外引脚加启动电平 32 四定时器 计数器的4种工作方式1方式0 33 方式0是一个13位的定时器 计数器 由TL0的低5位和TH0的8位组成 定时时间为T 12 213 a fosc s最大定时时间 M 213 8192T 34 例7 已知晶振频率fosc 6MHZ 若使用T0方式0产生10ms定时中断 试对T0进行初始化编程 MOVTH0 63HMOVTL0 18HSETBTR0MOVIE 82HRET 35 例 T0工作于方式0 要求在P1 0引脚上产生周期为2ms的方波输出 fosc 6MHZ ORG0000HAJMPMAINORG000BHAJMPINQPORG0030HMAIN MOVTMOD 00HMOVTH0 0F0HMOVTL0 0CHSETBTR0 启动T0SETBET0 允许T0中断SETBEA 开放CPU中断AJMP 定时中断等待 36 ORG4000H 中断服务程序INQP MOVTH0 0F0H 重写定时常数MOVTL0 0CHCPLP1 0 P1 0变反输出RETI 37 2方式1方式1是一个16位定时器 计数器 结构和操作方式与方式0基本相同 定时时间为T 12 216 a fosc s最大定时时间 M 216 65536T 38 例 设fosc 12MHz T0工作于方式1 产生50ms定时中断 TF0为高级中断源 试编写主程序中的初试化程序和中断服务程序 使P1 0产生周期为1秒的方波 MAIN MOVSP EFHMOVTH0 3CHMOVTL0 0B0HMOVTMOD 1MOVIP 2 39 MOVIE 82HSETBTR0MOV30H 0AHPTF0 ORLTL0 0B0H 中断服务程序MOVTH0 3CHDJNZ30H PTF0RMOV30H 0AHCPLP1 0PTF0R RETI 40 用查询法 MOV30H 0AHMOVTH0 3CHMOVTL0 0B0HMOVTMOD 1SETBTR0L2 JBCTF0 L1SJMPL2L1 MOVTH0 3CHMOVTL0 0B0H 41 DJNZ30H L2MOV30H 0AHCPLP1 0SJMPL2 42 3方式2方式2是能重置初值的8位定时器 计数器 TL0作为8位计数器 TH0作为计数初值寄存器 适于用做较精确的定时脉冲信号发生器 定时时间T 12 28 a fosc s最大定时时间 M 28 256T 43 定时器 计数器方式2的逻辑结构 44 MOVTMOD 60H 设置T1为方式2计数MOVTH1 9CH 赋初值MOVTL1 9CHSETBTR1DE JBCTF1 RE 查询计数溢出AJMPDERE CPLP1 0AJMPDE 例 用定时器1在方式2计数 要求每计满100次 将P1 0端取反 外部计数信号由P3 5引入 每跳变一次计数器加1100 28 a a 156 9CH 45 定时器 计数器方式3的逻辑结构 4方式3 46 方式3只适用于T0 T0分为两个独立的8位计数器TL0和TH0 一般T1用作串行口波特率发生器 最大定时时间 M 28 256T例用定时器T0 分别产生两个方波 一个周期为200 s 另一个周期为400 s fosc 9 216MHZ 47 解 定时初值计算TL0 28 9 216 106 100 10 6 12 256 76 8 179 2转换十六进制为0B3HTH0 28 9 216 106 200 10 6 12 256 153 6 102 4转换十六进制为66H 48 ORG0000HAJMPMAINORG000BH TL0中断入口AJMPITL0ORG001BH TH0中断入口AJMPITH0ORG0100HMAIN MOVSP 60HMOVTMOD 03H 49 MOVTL0 0B3HMOVTH0 66HSETBTR0 启动TL0初值SETBTR1 启动TH0初值SETBET0 允许TL0中断SETBET1 允许TH0中断SETBEA CPU中断开放AJMP 50 ORG0200HITL0 MOVTL0 0B3HCPLP1 0 输出方波200 sRETIITH0 MOVTH0 66HCPLP1 1 输出方波400 sRETI 51 五门控位的应用 GATE位是控制外部输入脉冲对定时计数器的控制 当为 1 时 允许外部输入电平控制启 停定时器 利用这个特性可测量外部输入脉冲的宽度 例 利用T0门控位测试INT0引脚上出现的正脉冲的宽度 将所测得值高位存入片内71H单元 低位存入片内70H单元 fosc 12MHz 测试时 应在 INT0为低电平时 设TR0为1 当 INT0变高时 启动计数 当 INT0再变低时 停止计数 该计数值即被测正脉冲宽度 52 MOVTMOD 09H T0定时器方式 GATE 1MOVTL0 00HMOVTH0 00HMOVR0 70HJBP3 2 等待P3 2变低SETBTR0 启动T0准备工作JNBP3 2 等待P3 2变高JBP3 2 等待P3 2再次变低CLRTR0 停止计数MOV R0 TL0 存放计数低字节INCR0MOV R0 TH0 存放计数高字节SJMP 53 4 3串行接口UART 一两种基本的通信方式 a 并行通信 b 串行通信 54 二串行通信传输方式 a 单工方式 b 半双工方式 c 全双工方式 55 三串行通信两种基本方式1异步通信 异步通信中数据或字符是一帧一帧传送 帧即为一个字符的完整通信格式 又称帧格式 在帧格式中 一个字符由4部分组成 起始位 数据位 奇偶校验位 停止位 串行异步传送的字符格式 56 2同步通信数据或字符开始处是由一同步字符来指示 并由时钟实现发送端和接收端同步 四波特率 Baudrate 波特率就是数据的传送速率 即每秒钟传送的二进制位数 单位为位 秒 要求发送端与接收端的波特率必须一致 57 4 3 1串行接口的组成和特性 51系列单片机的串行口是全双工异步串行通信接口 一串行口结构1波特率发生器主要由T1 T2及内部的一些控制开关和分频器组成 提供串行口的时钟信号即TCLK RCLK 58 串行口结构框图 59 2串行口的内部包含 串行数据缓冲寄存器SBUF数据接收缓冲器 只读出不写入 和数据发送缓冲器 只写入不读出 物理上隔离 共用一个地址 99H 串行发送时 从片内总线向发送缓冲器写入数据 即MOVSBUF A串行接收时 从接收缓冲器读出数据到片内总线 即MOVA SBUF 串行口控制寄存器 60 串行数据输入 输出引脚接收方式下 串行数据从RXD P3 0 输入 串行口内部在接收缓冲器之前还有移位寄存器 构成串行接收双缓冲结构 避免数据接收重叠 发送方式下 串行数据从TXD P3 1 输出 串行口控制逻辑 61 二串行口控制1串行口控制寄存器SCON 98H SM0和SM1 62 SM2方式2和方式3的多机通信控制位 方式0 SM2 0 方式1 若SM2 1 只有接收到有效停止位 接收中断RI才置1 方式2和方式3中 如SM2 1 则接收到的第9位数据 RB8 为0时不启动接收中断标志RI 即RI 0 并且将接收到的前8位数据丢弃 RB8为1时 才将接收到的前8位数据送入SBUF 并置位RI 产生中断请求 当SM2 0时 则不论第9位数据为0或1 都将前8位数据装入SBUF中 并产生中断请求 该功能用于多机通信中 63 REN允许串行接收位1 允许接收 0 禁止接收由软件置1或清0 相当于串行接收的开关 TB8发送数据D8位在方式2和方式3时 TB8为所要发送的第9位数据 在多机通信中 以TB8位的状态表示主机发送的是地址还是数据 TB8 0为数据 TB8 1为地址 也可用作数据的奇偶校验位 该位由软件置位或复位 64 RB8接收数据D8位在方式2和方式3时 接收到的第9位数据 可作为奇偶校验位或地址帧或数据帧的标志 方式1时 若SM2 0 则RB8是接收到的停止位 在方式0时 不使用RB8位 TI发送中断标志在方式0时 当发送数据第8位结束后 或在其它方式发送停止位后 由内部硬件使TI置位 向CPU请求中断 CPU在响应中断后 必须用软件清零 此外 TI也可供查询使用 65 RI接收中断标志位在方式0时 当接收数据的第8位结束后 或在其它方式接收到停止位的中间时由内部硬件使RI置位 向CPU请求中断 在CPU响应中断后 也必须用软件清零 RI也可供查询使用 66 2特殊功能寄存器PCON SMOD位是串行口波特率系数控制位 为1时使波特率加倍 其余位是掉电方式控制位 与串行口无关 67 4 3 2串行接口的工作原理 一方式01方式0为同步移位寄存器输入 输出方式 常用于扩展并行I O口 2数据由RXD串行输入 输出 TXD输出移位脉冲 3数据传输波特率固定为fosc 12 4接收 发送的是8位数据 传输时低位在前 68 输出 当执行写SBUF的指令时 MOVSBUF A 启动串行数据发送 从低位开始串行输出 当完成一个字节的输出后就停止移位 并置位TI 输入 在REN 1 RI 0时启动串行口接收 当外部移位寄存器内容移入内部移位寄存器 并写入SBUF 则置位RI 停止移位 完成一个字节的输入 注意 每当发送或接收完8位数据时 由硬件将发送中断TI或接收中断RI标志置 1 CPU响应TI或RI中断请求时 不会清除标志 必须由软件清 0 69 二方式11方式1时 串行口为10位通用异步接口 2数据传输波特率由定时 计数器T1和T2的溢出决定 由程序设定 当T2CON中RCLK和TCLK置位时 由T2作接收 发送的波特率发生器 当RCLK和TCLK都为0时 由T1作接收 发送的波特率发生器 3数据从引脚TXD端输出 从引脚RXD输入 70 发送当数据写入发送缓冲器时 启动发送器开始发送 8位数据发送完 置位TI 1 并申请中断 通知CPU可发送下一个数据 接收在REN 1的前提下 确认是真正起始位 0 后 开始接收一帧数据 当RI 0且SM2 0时 数据被接收 71 三方式2和方式31CPU向发送缓冲器写入数据就启动串行口发送 发送完毕 使TI 1 2接收时 先置REN为 1 将RI清 0 再根据SM2状态和所接收到RB8状态决定串口在信息到来后是否会使RI 1 申请中断 接收数据 当SM2 0 不管RB8状态 将RI置1 串口接收当SM2 1 RB8 1时 多机通信 接收信息为地址 将RI置1 串口接收RB8 0时 接收信息为数据 但不发给本从机 此时RI不置1 数据丢失 72 4 3 3波特率一方式0 波特率 振荡器频率 12二方式2 波特率 2SMOD 振荡器频率 64三方式1 3 T1产生波特率 波特率 2SMOD 振荡器频率 32 12 256 TH1 注 记住当振荡器频率选用11 0592MHZ时 对于常用波特率 能正确计算T1的初值 73 4 3 4多机通信原理 在主从式多机系统中 1主机发出的信息有两类 一类为地址 用来确定需要和主机通信的从机 特征是串行传送的第9位数据为1 另一类是数据 特征是串行传送的第9位数据为0 2对从机来说 在接收时 若RI 0 则只要SM2 0 接收总能实现 而若SM2 1 则发送的第9位TB8必须为1接收才能进行 74 1主机首先发出要求通信的从机地址信号 此时 所有从机的SM2都为 1 所有从机均收到地址信号 2从机判断主机发出的地址信号是否与本从机号相符 相符的从机SM2 0 反之为 1 3主机发送数据帧 仅SM2 0的从机可收到 75 4 3 5串行口的应用和编程 一串行口应用同一印板内 两个单片机串行口可直接通信 单片机与PC机之间利用串行口通信 必须进行电平转换 二串行口编程串行口初始化编程 选择串行口工作方式 波特率 允许串行口中断 即对SCON PCON TMOD TCON TH1 TL1 IE IP SBUF编程 76 例 编写程序 功能为对串行口初始化为方式1输入 输出 fosc 11 0592MHZ 波特率为9600 先在串行口上输出字符串 MCS 51 接着读串行口上输入的字符 又将该字符从串行口上输出 MOVTMOD 20HMOVTH1 0FDHMOVTL1 0FDHSETBTR1MOVSCON 52HMOVR4 0MOVDPTR TSAB 77 LP1 MOVA R4MOVCA A DPTRJZLP6LP3 JBCTI LP2SJMPLP3LP2 MOVSBUF AINCR4SJMPLP1LP6 JBCRI LP5SJMPLP6LP5 MOVA SBUF LP8 JBCTI LP7SJMPLP8LP7 MOVSBUF ASJMPLP6TSAB DB MCS 51 DB0AH
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年事业单位工勤技能-河北-河北机械热加工一级(高级技师)历年参考题库含答案解析
- 2025年事业单位工勤技能-河北-河北图书资料员三级(高级工)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-江苏-江苏防疫员三级(高级工)历年参考题库含答案解析
- 2025年事业单位工勤技能-江苏-江苏工程测量工四级(中级工)历年参考题库含答案解析
- 2025年事业单位工勤技能-广西-广西计量检定工三级(高级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-广东-广东热处理工二级(技师)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-广东-广东林木种苗工一级(高级技师)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-安徽-安徽热力运行工三级(高级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-安徽-安徽城管监察员三级(高级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-北京-北京房管员一级(高级技师)历年参考题库典型考点含答案解析
- 飞机电气接地技术标准线路施工课件
- 酒店店长述职报告
- (完整版)智能语音平台建设技术建议方案书
- 成人糖尿病食养指南
- 2025年中国冻果行业市场发展前景及发展趋势与投资战略研究报告
- 新版电子物料编码原则
- 2025广东省劳动合同样本
- 医疗机构患者信息管理制度
- 食品安全知识宣传材料
- 言语语言障碍康复护理
- 旧油罐防腐施工方案
评论
0/150
提交评论