




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第六章 MCS 51 的定时 计数器 1 如果采用晶振的频率为 3MHz 定时器 计数器工作方式 0 1 2 下 其最大的定时时间为多 少 解答 因为机器周期 所以定时器 计数器工作方式 0 下 其最大定时时间为 同样可以求得方式 1 下的最大定时时间为 262 144ms 方式 2 下的最大定时时间为 1024ms 2 定时 计数器用作定时器时 其计数脉冲由谁提供 定时时间与哪些因素有关 答 定时 计数器作定时时 其计数脉冲由系统振荡器产生的内部时钟信号 12 分频后提供 定时时 间与时钟频率和定时初值有关 3 定时 计数器用作定时器时 对外界计数频率有何限制 答 由于确认 1 次负跳变要花 2 个机器周期 即 24 个振荡周期 因此外部输入的计数脉冲的最高 频率为系统振荡器频率的 1 24 4 采用定时器 计数器 T0 对外部脉冲进行计数 每计数 100 个脉冲后 T0 转为定时工作方式 定 时 1ms 后 又转为计数方式 如此循环不止 假定 MCS 51 单片机的晶体振荡器的频率为 6MHz 请使 用方式 1 实现 要求编写出程序 解答 定时器 计数器 T0 在计数和定时工作完成后 均采用中断方式工作 除了第一次计数工作方 式设置在主程序完成外 后面的定时或计数工作方式分别在中断程序完成 用一标志位识别下一轮定时器 计数器 T0 的工作方式 编写程序如下 ORG 0000H LJMP MAIN ORG 000BH LJMP IT0P MAIN MOV TMOD 06H 定时器 计数器 T0 为计数方式 2 MOV TL0 156 计数 100 个脉冲的初值赋值 MOV TH0 156 SETB GATE 打开计数门 SETB TR0 启动 T0 开始计数 SETB ET0 允许 T0 中断 SETB EA CPU 开中断 CLR F0 设置下一轮为定时方式的标志位 WAIT AJMP WAIT IT0P CLR EA 关中断 JB F0 COUNT F0 1 转计数方式设置 MOV TMOD 00H 定时器 计数器 T0 为定时方式 0 MOV TH0 0FEH 定时 1ms 初值赋值 MOV TL0 0CH SETB EA RETI COUNT MOV TMOD 06H MOV TL0 156 SETB EA RETI 5 定时器 计数器的工作方式 2 有什么特点 适用于哪些应用场合 答 定时器 计数器的工作方式 2 具有自动恢复初值的特点 适用于精确定时 比如波特率的产生 6 编写程序 要求使用 T0 采用方式 2 定时 在 P1 0 输出周期为 400 s 占空比为 10 1 的矩形 脉冲 解答 根据题意 从 P1 0 输出的矩形脉冲的高低电平的时间为 10 1 则高低电平的时间分别为 363 63 s 和 36 37 s 如果系统采用 6MHz 晶振的话 因此高低电平输出取整 则约为 364 s 和 36 s 编写程序如下 ORG 0000H LJMP MAIN ORG 000BH LJMP IT0P MAIN MOV TMOD 02H 定时器 计数器 T0 为定时方式 2 MOV TL0 4AH 定时 364 s 初值赋值 SETB TR0 启动 T0 开始计数 SETB ET0 允许 T0 中断 SETB EA CPU 开中断 SETB P1 0 WAIT AJMP WAIT IT0P CLR EA CLR P1 0 关中断 MOV R0 9 DLY DJNZ R0 DLY 延时 26 s MOV TL0 4AH 定时 364 s 初值赋值 SETB P1 0 SETB EA RETI 7 一个定时器的定时时间有限 如何实现两个定时器的串行定时 来实现较长时间的定时 答 方式一 在第一个定时器的中断程序里关闭本定时器的中断程序 设置和打开另一个定时器 在另一个定时器的中断程序中关闭本定时中断 设置和打开另一个定时器 这种方式的定时时间为两个定 时器定时时间的和 方式二 一个作为定时器 在定时中断后产生一个外部计数脉冲 比如由 P1 0 接 INT0 产生 另 一个定时器工作在计数方式 这样两个定时器的定时时间为一个定时器的定时时间乘以另一个定时器的计 数值 8 当定时器 T0 用于方式 3 时 应该如何控制定时器 T1 的启动和关闭 答 由 T1 P3 5 口控制定时器 T1 的启动和关闭 9 定时器 计数器测量某正单脉冲的宽度 采用何种方式可得到最大量程 若时钟频率为 6MHz 求 允许测量的最大脉冲宽度是多少 答 采用方式 1 定时工作方式 最大脉冲宽度为 131 072ms 10 编写一段程序 功能要求为 当 P1 0 引脚的电平正跳变时 对 P1 1 的输入脉冲进行计数 当 P1 2 引脚的电平负跳变时 停止计数 并将计数值写入 R0 R1 高位存 R1 低位存 R0 解答 将 P1 1 的输入脉冲接入 INT0 即使用 T0 计数器完成对 P1 1 口的脉冲计数 编写程序如下 ORG 0000H LJMP MAIN ORG 000BH LJMP IT0P MAIN JNB P1 0 MAIN MOV TMOD 05H 定时器 计数器 T0 为计数方式 1 SETB TR0 启动 T0 开始计数 SETB ET0 允许 T0 中断 SETB EA CPU 开中断 WAIT JB P1 2 WAIT CLR EA CLR TR0 MOV R1 TH0 MOV R0 TL0 AJMP IT0P INC R2 RETI 11 THX 与 TLX X 0 1 是普通寄存器还是计数器 其内容可以随时用指令更改吗 更改后的新值是 立即刷新还是等当前计数器计满后才能刷新 答 THX 与 TLX X 0 1 是由特殊功能寄存器构成的计数器 其内容可以随时用指令更改 更改后 的新值是立即刷新 但在读 THX TLX 的值时 应该先读 THX 值 后读 TLX 再读 THX 若两次读得 THX 相同 则可确定读得的内容正确 若前后两次读得的 THX 有变化 再重复上述过程 12 判断下列的说法是否正确 1 特殊功能寄存器 SCON 与定时器 计数器的控制无关 对 2 特殊功能寄存器 TCON 与定时器 计数器的控制无关 错 3 特殊功能寄存器 IE 与定时器 计数器的控制无关 错 4 特殊功能寄存器 TMOD 与定时器 计数器的控制无关 错 第七章 MCS 51 的串行口 1 串行数据传送的主要优点和用途是什么 答 串行数据传送的主要优点是硬件接口简单 接口端口少 2 个 主要用于多个单片机系统之 间的数据通信 2 简述串行口接收和发送数据的过程 答 以方式一为例 发送 数据位由 TXT 端输出 发送 1 帧信息为 10 为 当 CPU 执行 1 条数据 写发送缓冲器 SBUF 的指令 就启动发送 发送开始时 内部发送控制信号 SEND 变为有效 将起始位 想 TXD 输出 此后 每经过 1 个 TX 时钟周期 便产生 1 个移位脉冲 并由 TXD 输出 1 个数据位 8 位 数据位全部完毕后 置 1 中断标志位 TI 然后 SEND 信号失效 接收 当检测到起始位的负跳变时 则 开始接收 接受时 定时控制信号有 2 种 一种是位检测器采样脉冲 它的频率是 RX 时钟的 16 倍 也 就是在 1 位数据期间 有 16 个采样脉冲 以波特率的 16 倍的速率采样 RXD 引脚状态 当采样到 RXD 端从 1 到 0 的跳变时就启动检测器 接收的值是 3 次连续采样 取其中 2 次相同的值 以确认是否是真 正的起始位的开始 这样能较好地消除干扰引起的影响 以保证可靠无误的开始接受数据 3 帧格式为 1 个起始位 8 个数据位和 1 个停止位的异步串行通信方式是方式 1 4 串行口有几种工作方式 有几种帧格式 各种工作方式的波特率如何确定 答 串行口有 3 种工作方式 方式 0 方式 1 方式 2 方式 3 有 3 种帧格式 方式 2 和 3 具有相 同的帧格式 方式 0 的发送和接收都以 fosc 12 为固定波特率 方式 1 的波特率 2SMOD 32 定时器 T1 的溢出率 方式 2 的波特率 2SMOD 64 fosc 方式 3 的波特率 2SMOD 32 定时器 T1 的溢出率 5 假定串行口串行发送的字符格式为 1 个起始位 8 个数据位 1 个奇校验位 1 个停止位 请 画出传送字符 A 的帧格式 起始位 0 1 0 0 0 0 0 0 校验位 停止位 6 判断下列说法是否正确 1 串行口通信的第 9 数据位的功能可由用户定义 对 2 发送数据的第 9 数据位的内容在 SCON 寄存器的 TB8 位预先准备好的 对 3 串行通讯发送时 指令把 TB8 位的状态送入发送 SBUF 错 4 串行通讯接收到的第 9 位数据送 SCON 寄存器的 RB8 中保存 对 5 串行口方式 1 的波特率是可变的 通过定时器 计数器 T1 的溢出设定 对 7 通过串行口发送或接收数据时 在程序中应使用 选 3 1 MOVC 指令 2 MOVX 指令 3 MOV 指令 4 XCHD 指令 8 为什么定时器 计数器 T1 用做串行口波特率发生器时 采用方式 2 若已知时钟频率 通讯波特 率 如何计算其初值 解答 因为定时器 计数器在方式 2 下 初值可以自动重装 这样在做串口波特率发生器设置时 就 避免了重装参数的操作 已知时钟频率 通讯波特率 根据公式 计算出初值 9 串行口工作方式 1 的波特率是 3 1 固定的 为 2 固定的 为 3 可变的 通过定时器 计数器 T1 的溢出率设定 4 固定的 为 10 在串行通讯中 收发双方对波特率的设定应该是 相等 的 11 若晶体振荡器为 11 0592MHz 串行口工作于方式 1 波特率为 4800b s 写出用 T1 作为波特 率发生器的方式控制字和计数初值 解答 初值计算 查阅 P148 表 7 2 可得 FAH 控制字 ANL TMOD 0F0H ORL TMOD 20H MOV TH1 0FAH MOV TL1 0FAH MOV SCON 40H 12 简述利用串行口进行多机通讯的原理 解答 参考 P146 页 13 使用 8031 的串行口按工作方式 1 进行串行数据通讯 假定波特率为 2400b s 以中断方式传 送数据 请编写全双工通讯程序 解答 略 14 使用 8031 的串行口按工作方式 3 进行串行数据通讯 假定波特率为 1200b s 第 9 数据位作 奇偶校验位 以中断方式传送数据 请编写通讯程序 解答 略 15 某 8031 串行口 传送数据的帧格式为 1 个起始位 0 7 个数据位 1 个偶校验位和 1 个停 止位 1 组成 当该串行口每分钟传送 1800 个字符时 试计算出波特率 解答 串口每秒钟传送的字符为 1800 60 30 个字符 秒 所以波特率为 30 个字符 秒 10 位 个字符 300b s 16 为什么 MCS 51 串行口的方式 0 帧格式没有起始位 0 和停止位 1 解答 串行口的方式 0 为同步移位寄存器输入输出方式 常用于外接移位寄存器 以扩展并行 I O 口 一般不用于两个 MCS 51 之间的串行通信 该方式以 fosc 12 的固定波特率从低为位到高位发送或接 受数据 第八章习题解答 1 单片机存储器的主要功能是存储 程序 和 数据 2 试编写一个程序 例如将 05H 和 06H 拼为 56H 设原始数据放在片外数据区 2001H 单元和 2002H 单元中 按顺序拼装后的单字节数放入 2002H 解 本题主要考察了对外部存储器的读 写操作 同学们只要记住正确使用 MOVX 指令就可以了 编程思路 首先读取 2001H 的值 保存在寄存器 A 中 将寄存器 A 的高四位和低四位互换 再屏蔽掉低 四位然后将寄存器 A 的值保存到 30H 中 然后再读取 2002H 的值 保存在寄存器 A 中 屏蔽掉高四位 然后将寄存器 A 的值与 30H 进行或运算 将运算后的结果保存在 2002H 中 ORG 0000H MAIN MOV DPTR 2001H 设置数据指针的初值 MOVX A DPTR 读取 2001H 的值 SWAP A ANL A 0F0H 屏蔽掉低四位 MOV 30H A 保存 A INC DPTR 指针指向下一个 MOVX A DPTR 读取 2002H 的值 ANL A 0FH 屏蔽掉高四位 ORL A 30H 进行拼装 MOVX DPTR A 保存到 2002H END 3 假设外部数据存储器 2000H 单元的内容为 80H 执行下列指令后 MOV P2 20H MOV R0 00H MOVX A R0 累加器 A 中的内容为 80H 4 编写程序 将外部数据存储器中的 4000H 40FFH 单元全部清零 解 本题主要考察了对外部数据块的写操作 编程时只要注意循环次数和 MOVX 指令的使用就可以 了 ORG 0000H MAIN MOV A 0 送预置数给 A MOV R0 0FFH 设置循环次数 MOV DPTR 4000H 设置数据指针的初值 LOOP MOVX DPTR A 当前单元清零 INC DPTR 指向下一个单元 DJNZ R0 LOOP 是否结束 END 5 在 MCS 51 单片机系统中 外接程序存储器和数据存储器共 16 位地址线和 8 位数据线 为何不 会发生冲突 解 因为控制信号线的不同 外扩的 RAM 芯片既能读出又能写入 所以通常都有读写控制引脚 记为 OE 和 WE 外扩 RAM 的 读 写控制引脚分别与 MCS 51 的 RD 和 WR 引脚相连 外扩的 EPROM 在正常使用中只能读出 不能写入 故 EPROM 芯片没有写入控制引脚 只有读出 引脚 记为 OE 该引脚与 MCS 51 单片机的 PSEN 相连 6 区分 MCS 51 单片机片外程序存储器和片外数据存储器的最可靠的方法是 1 看其位于地址范围的低端还是高段 2 看其离 MCS 51 芯片的远近 3 看其芯片的型号是 ROM 还是 RAM 4 看其是与 RD 信号连接还是与 PSEN 信号连接 解 本题的答案是 3 4 7 在存储器扩展中 无论是线选法还是译码法 最终都是为了扩展芯片的 片选 端提供信号 8 请写出图 8 18 中 4 片程序存储器 27128 各自所占的地址空间 解 图中采用了译码法 4 片地址分别为 0000H 3FFFH 4000H 7FFFH 8000H BFFFH C000H FFFFH 9 起止范围为 0000H 3FFFH 的存储器的容量是 16 KB 解 本题属于常识题 在第十一题时将有解答 10 在 MCS 51 中 PC 和 DPTR 都用于提供地址 但 PC 是为了访问 程序 存储器提供地址 而 DPTR 是为访问 数据 存储器提供地址 11 11 根地址线可选 2KB 个存储单元 16KB 存储单元需要 14 根地址线 解 通过总结所学知识 我们得到以下几个信息 2KB 的存储器需要 11 根地址线 地址为 0000H 07FFH 4KB 的存储器需要 12 根地址线 地址为 0000H 0FFFH 8KB 的存储器需要 13 根地址线 地址为 0000H 1FFFH 16KB 的存储器需要 14 根地址线 地址 为 0000H 3FFFH 32KB 的存储器需要 15 根地址线 地址为 0000H 7FFFH 64KB 的存储器需要 16 根 地址线 地址为 0000H FFFFH 以上存储器的首地址均默认为 0000H 12 32KB RAM 存储器的首地址若为 2000H 则末地址为 9FFF H 解 由上题总结得出 32KB RAM 存储器的大小为 0000H 7FFFH 所以只要在后面加上 2000H 即 得到正确答案 13 现有 8031 单片机 74LS373 锁存器 1 片 2764EPROM 和 2 片 6116RAM 请使用他们组成一 个单片机系统 要求 1 画出硬件电路连线图 并标注主要引脚 2 指出该应用系统程序存储器空间和数据存储器空间各自的地址范围 解 1 电路图如下所示 2 2764 的地址为 C000H DFFFH 第一个 6116 的地址为 A000H A7FFH 第二个 6116 的地址为 6000H 67FFH 事实上 由于采用的是线选法 导致了地址不连续 地址空间利用不充分 建议在实际工作中要具 体情况具体分析 在两种地址分配中选一种较好的来应用 14 使用 89C51 芯片外扩一片 E2PROM2864 要求 2864 兼作程序存储器和数据存储器 且首地址 为 8000H 要求 1 确定 2864 芯片的末地址 2 画出 2864 片选端的地址译码电路 3 画出该应用系统的硬件连接图 解 1 2864 为 8KB 的存储器 如果首地址为 8000H 则其末地址为 9FFFH 理由参考第 12 题 2 电路图如下所示 3 电路图如下所示 第九章习题解答 1 I O 接口和 I O 端口有什么区别 I O 接口的功能是什么 解 I O 端口简称 I O 口 常指 I O 接口电路中具有端口地址的寄存器或缓冲器 I O 接口是指单片 机与外设间的 I O 接口芯片 I O 接口功能 一 实现和不同外设的速度匹配 二 输出数据缓存 三 输入数据三态缓冲 2 常用的 I O 接口编址有哪两种方式 它们各有什么特点 MCS 51 的 I O 端口编址采用的是哪种方 式 解 一 独立编址方式 独立编址方式就是 I O 地址空间和存储器地址空间分开编址 独立编址的优 点是 I O 地址空间和存储器地址空间相互独立 界限分明 但是 却需要设置一套专门的读写 I O 的指令 和控制信号 二 统一编址方式 这种编址方式是把 I O 端口的寄存器与数据存储器单元同等对待 统一进 行编址 统一编址的优点是不需要专门的 I O 指令 直接使用访问数据存储器的指令进行 I O 操作 简单 方便且功能强大 MCS 51 单片机使用的是 I O 和外部数据存储器 RAM 统一编址的方式 3 I O 数据传送有哪几种传送方式 分别在哪些场合下使用 解 一 同步传送方式 同步传送又称为有条件传送 当外设速度可与单片机速度相比拟时 常常采 用同步传送方式 最典型的同步传送就是单片机和外部数据存储器之间的数据传送 二 查询传送方式 查询传送方式又称为有条件传送 也称异步传送 单片机通过查询得知外设准备好后 再进行数据传送 异步传送的优点是通用性好 硬件连线和查询程序十分简单 但是效率不高 为了提高单片机的工作效率 通常采用中断方式 三 中断传送方式 中断传送方式是利用 MCS 51 本身的中断功能和 I O 接口的中断 功能来实现 I O 数据的传送 单片机只有在外设准备好后 发出数据传送请求 才中断主程序 而进入与 外设进行数据传送的中断服务程序 进行数据的传送 中断服务完成后又返回主程序继续执行 因此 采 用中断方式可以大大提高单片机的工作效率 4 编写程序 采用 8255A 的 C 口按位置位 复位控制字 将 PC7 置 0 PC4 置 1 已知 8255A 各 端口的地址为 7FFCH 7FFFH 解 本题主要考察对 8255A 的 C 口的操作 其方式控制字的高位为 0 时 低四位对 C 口进行置位 由题目我们得到了方式控制字的地址为 7FFFH ORG 0000H MAIN MOV DPTR 7FFFH 控制字寄存器地址送 DPTR MOV A 0EH 将 PC7 置 0 MOVX DPTR A MOV A 09H 将 PC4 置 1 MOVX DPTR A END 5 8255A 的方式控制字和 C 口按位置位 复位控制字都可以写入 8255A 的同一控制寄存器 8255A 是如何区分这两个控制字的 解 8255A 通过它们的最高位来进行判断 最高位为 1 时 这时 8255A 认为这是方式控制字 否 则认为是 C 口按位置位 复位控制字 6 由图 9 6 来说明 8255A 的 A 口在方式 1 的选通输入方式下的工作过程 解 当外设输入一个数据并送到 PA7 PA0 上时 输入设备自动在选通输入线 STBA 向 8255A 发 送一个低电平选通信号 8255A 收到选通信号后 首先把 PA7 PA0 上输入的数据存入 A 口的输入数据缓 冲 锁存器 然后使输入缓冲器输出线 IBFA 变成高电平 以通知输入设备 8255A 的 A 口已收到它送来 的输入数据 8255A 检测到联络线 STBA 由低电平变成了高电平 IBFA 为 1 状态和中断允许触发器 INTEA 为 1 时 使输出线 INTRA PC3 变成高电平 向 8031 发出中断请求 INTEA 的状态可由用 户通过对 PC4 的置位 复位来控制 8031 相应中断后 可以通过中断服务程序从 A 口的输入数据缓冲 锁 存器读取外设发来的输入数据 当输入数据被 CPU 读走后 8255A 撤销 INTRA 上的中断请求 并使 IBFA 变为低电平 以通知输入外设可以送下一个输入数据 7 8155H 的端口都有哪些 哪些引脚决定端口的地址 引脚 TIMERIN 和 TIMEROUT 的作用是什么 解 8155H 的端口有以下几种 命令 状态寄存器 A 口 B 口 C 口 计数器和 RAM 单元 引脚 IO M A2 A1 A0 决定端口地址 TIMERIN 是计数器输入线 输入的脉冲上跳沿用于对 8155H 片内的 14 位计数器减一 TIMEROUT 为计数器输入线 当 14 位计数器减为 0 时就可以在该引线上输出脉冲或 方波 输出的信号的形状与所选的计数器工作方式有关 8 判断下列说法是否正确 为什么 1 由于 8155H 不具有地址锁存功能 因此在与 8031 的接口电路中必须加地址锁存器 2 在 8155H 芯片中 决定端口和 RAM 单元编址的信号线是 AD7 AD0 和 WR 3 8255A 具有三态缓冲器 因此可以直接挂在系统的数据总线上 4 8255A 的 B 口可以设置成方式 2 解 1 8155H 具有地址锁存功能 2 引脚 IO M A2 A1 A0 决定端口地址和 RAM 单元编址 3 8255A 不具有三态缓冲器 4 8255A 的 B 口只可以设置成方式 0 和方式 1 9 现有一片 8031 扩展了一片 8255A 若把 8255A 的 B 口用做输入 B 口的每一位接一个开关 A 口用作输出 每一位接一个发光二极管 请画出电路原理图 并编写出 B 口某一位接高电平时 A 口相 应位发光二极管被点亮的程序 解 由于电路图比较简单 在这里就画了 大家可以参考图 9 10 A 口每一位接二极管的正极 二 极管的负极接低 B 口每一位接一开关 开关直接接地 这样我们只需要将读到的 B 口的值送给 A 口就 可以满足题目要求了 ORG 0000H MIAN MOV A 10000010B A 口出 B 口入 MOV DPTR 0FF7FH 控制地址送 DPTR MOVX DPTR A 送方式控制字 MOV DPTR 0FF7DH B 口地址送 DPTR MOVX A DPTR 读开关信息 MOV DPTR 0FF7CH A 口地址送 DPTR MOVX DPTR A 将信息反溃到二极管 END 10 假设 8155H 的 TIMERIN 引脚输入的频率为 4MHz 问 8155H 的最大定时时间是多少 解 8155H 记数器的初值范围是 3FFFH 2H 当频率为 4MHz 初值为 3FFFH 时 最大定时时间 为 16383 4E 6 0 00409575S 11 MCS 51 的并行接口的扩展有多种方式 在什么情况下 采用扩展 8155H 比较合适 什么情况 下 采用扩展 8255A 比较适合 解 8255A 具有 3 个 8 位的并行 I O 口 3 种工作方式 可通过编程改变其功能 因而使用灵活方 便 通用性强 可作为单片机与多种外围设备连接时的中间接口电路 8155H 芯片内包含有 256B 的 RAM 存储器 静态 2 个可编程的八位并行口 PA 和 PB 1 个可编程的 6 位并行口 PC 以及 1 个 14 位减法定时器 计数器 所以它经常用于单片机的外围接口芯片 12 假设 8155H 的 TIMERIN 引脚输入的脉冲频率为 1MHz 请编写出在 8155H 的 TIMEROUT 引脚 上输出周期为 10ms 的方波的程序 解 将 1MHz 的脉冲改变为 10ms 的方波 这就让我们想到了在数字电路里面学到的分频器 计算 得出分频前后频率之比为 10000 1 这样我们只要将定时器初值设置为 64H 就可以了 假设 I O 口地址 为 7F00H 7F05H START MOV DPTR 7F04H 指针指向定时器低 8 位 MOV A 64H 送初值给 A MOVX DPTR A 初值送给低 8 位 INC DPTR 指向高 8 位 MOV A 40H 定时器方波输出 MOVX DPTE A MOV DPTR 7F00H 指向命令 状态口 MOV A 0C2H 设定控制字 MOVX DPTE A 启动定时器 END 第十章习题解答 1 为什么要消除按键的机械抖动 消除按键的机械抖动的方法有哪几种 原理是什么 解 在按键的闭合和断开过程中 由于开关的机械特性 导致了按键抖动的产生 如果不消除按键 的机械抖动 按键的状态读取将有可能出现错误 消除按键抖动一般是采用软件或硬件去抖 软件去抖的 原理 在第一次检测到有键按下时 该键所对应的航线是为低电平 执行一端延时 10ms 的子程序后 确 认该行线电平是否仍然为低电平 如果仍为低电平 则确认为该行确实有键按下 2 判断下列说法是否正确 1 8279 是一个用于键盘和 LED LCD 显示器的专用芯片 2 在单片机与微型打印机的接口中 打印机的 BUSY 信号可作为查询信号或中断请求信号使用 3 为给以扫描发方式工作的 8 8 键盘提供接口电路 在接口电路中只需要提供 2 个输入口和 1 个输出口 4 LED 的字型码是固定不变的 解 1 正确 2 正确 3 错误 4 错误 3 LED 的静态显示方式于动态显示方式有何区别 各有什么优缺点 解 静态显示时 数据是分开送到每一位 LED 上的 而动态显示则是数据是送到每一个 LED 上 再根据位选线来确定是哪一位 LED 被显示 静态显示亮度很高 但口线占用较多 动态显示则好一点 适合用在显示位数较多的场合 4 写出表 10 1 中仅显示小数点 的段码 解 80H 共阴极 7FH 共阳极 5 说明矩阵式键盘按键按下的识别原理 解 按键设置在行 列线交点上 行 列线分别连接到按键开关的两端 行线通过上拉电阻接到 5V 上 无按键按下时 行线处于高电平状态 而当有按键按下时 行线电平状态将由与此行线相连的列 线的电平决定 列线的电平如果为低 则行线电平为低 列线的电平如果为高 则行线的电平亦为高 将 行 列线信号配合起来并做适当的处理 才能确定闭合键的位置 6 对于图 10 11 的键盘 采用线反转法原理来编写识别某一按键按下并得到其键号的程序 解 先对 P1 口高四位送低电平 读取 P1 口低四位的值 再对 P1 口低四位送低电平 读取 P1 口 高四位的值 将两次读到的值组合在一起就得到了按键的特征码 在根据特征码查找键值 KEYIN MOV P1 0FH 反转读键 MOV A P1 ANL A 0FH MOV B A MOV P1 0F0H MOV A P1 ANL A 0F0H ORL A B CJNE A 0FFH KEYIN1 RET 未按键 KEYIN1 MOV B A 暂存特征码 MOV DPTR KEYCOD 指向码表 MOV R3 0FFH 顺序码初始化 KEYIN2 INC R3 MOV A R3 MOVC A A DPTR CJNE A B KEYIN3 MOV A R3 找到 取顺序码 RET KEYIN3 CJNE A 0FFH KEYIN2 未完 再查 RET 已查完 未找到 以未按键处理 KEYCOD DB 0E7H 0EBH 0EDH 0EEH DB 0D7H 0DBH 0DDH 0DEH DB 0B7H 0BBH 0BDH 0BEH DB 77H 7BH 7DH 7EH 7 键盘有哪 3 种工作方式 它们各自的工作原理及特点是什么 解 一 编程扫描方式 当单片机空闲时 才调用键盘扫描子程序 反复的扫描键盘 等待用户从键 盘上输入命令或数据 来响应键盘的输入请求 二 定时扫描工作方式 单片机对键盘的扫描也可用定时 扫描方式 即每隔一定的时间对键盘扫描一次 三 中断工作方式 只有在键盘有键按下时 才执行键盘 扫描程序并执行该按键功能程序 如果无键按下 单片机将不理睬键盘 8 根据图 10 14 的电路 编写在 6 个 LED 显示器上轮流显示 1 2 3 4 5 6 的显示程序 解 本电路图采用的是动态显示 程序如下 DIR MOV R0 79H 从 79H 开始里面存放着 MOV R3 01H 1 2 3 4 5 6 MOV A R3 LD0 MOV DPTR 7F01H 位选码 MOV DPTR A INC DPTR MOV A R0 ADD A 0DH MOVC A A PC 取到笔形码 DIR1 MOVX DPTR A 送出显示 ACALL DL1MS INC RO MOV R3 JB ACC 5 LD1 是否到最右边的 LED RL A MOV R3 A 保存位选码 AJMP LD0 LD1 RET DSEG DB 3FH 06H 5BH 4FH 66H 6DH 7DH 0 1 2 3 4 5 6 DL1MS MOV R7 02H DL MOV R6 0FFH DL6 DJNZ R6 DL6 DJNZ R7 DL RET 9 根据图 10 17 的接口电路编写在 8 个 LED 上轮流显示 1 2 3 4 5 6 7 8 的显示程序 比较一下与上一题显示程序的区别 解 本电路图采用的是静态显示 程序如下 DIR SETB P3 3 允许显示 MOV SCON 0 工作方式一 MOV DPTR TAB 笔形码 MOV R7 08H 初值为 8 CALL OUT 8 DEC R7 CALL OUT 7 DEC R7 CALL OUT 6 DEC R7 CALL OUT 5 DEC R7 CALL OUT 4 DEC R7 CALL OUT 3 DEC R7 CALL OUT 2 DEC R7 1 OUT MOV A R7 MOVC A A DPTR 找到对应的笔形码 MOV SBUF A 送出显示 JNB TI CLR TI RET TAB DB 0COH 0F9H 0A4H 0B0H 99H 0 1 2 3 4 DB 92H B2H 0F8H 80H 5 6 7 8 10 8279 中扫描计数器有两种工作方式 这 2 种工作方式各应用在什么场合 解 按编码方式工作时 计数器作二进制计数 4 位计数状态从扫描线 SL0 SL3 输出 经外部译码 器 4 线 16 线译码后 为键盘和显示器提供 16 中取 1 的扫描线 按译码方式工作时 扫描计数器的最低 2 位在 8279 内部被译码后 从 SL0 SL3 输出 为键盘和显示器直接提供了 4 中取 1 的扫描线 11 简述 TpuP 40A 16A 微型打印机的 Centronics 接口的主要信号线的功能 与 MCS 51 单片机相 连接时 如何连接这几条控制线 解 DB0 DB7 数据线 单向传输 由单片机输入给打印机 STB STROBE 数据选通信号 在该信号的上升沿 数据线上的 8 位并行数据被打印机读入机 内锁存 BUSY 打印机忙状态信号 当该信号有效 高电平 时 表示打印机正忙于处理数据 此时 单 片机不得使 STB 信号有效 向打印机送入新的数据 ACK 打印机的应答信号 低电平有效 表明打印机已取走数据线上的数据 ERR 出错信号 当送入打印机的命令格式出错时 打印机立即打印 1 行出错信息 提示出错 在 打印出错信息之前 该信号线出现一个负脉冲 脉冲宽度为 30us 用一根地址线来控制写选通信号 STB 和读取 BUSY 引脚状态 12 如果把图 10 30 中打印机的 BUSY 线断开 然后与 8031 的 INTO 线相接 请简述电路的工作原 理并编写把以 20H 为起始地址的连续 20 个内存单元中的内容输出打印的程序 解 本程序采用外部中断来进行数据打印 先打印一个数据 当 BUSY 线从高电平变成低电平时 在打印下一个数据 ORG 0000H LJMP MAIN ORG 0003H LJMP IN ORG 0030H MAIN SETB EX0 允许外部中断 SETB IT0 SETB EA MOV R0 7FH 控制口地址 MOV A 81H 控制字 MOVX R0 A MOV R1 20H 数据区首地址 MOV R2 19 计数器 MOV A R1 打印内容 MOV R0 7CH A 口地址 MOVX R0 A MOV R0 7FH MOV A 0EH MOVX RO A PC7 0 MOV A 0FH MOVX R0 A PC7 1 SJMP IN DJNZ R2 EX 20 个数据都结束了吗 INC R1 指向下一个数据 MOV A R1 MOV R0 7CH MOVX R0 A MOV R0 7FH MOV A 0EH MOVX RO A MOV A 0FH MOVX R0 A EX RETI 13 根据图 10 14 8155H 与 32 键的键盘相连接 编写程序实现如下功能 用 8155H 的定时器定时 每隔 1S 读 1 次键 并将其读入的键值存入片内 RAM 中 30H 开始的单元中 解 14 采用 8279 芯片的键盘 显示器接口方案 与本章介绍的其他键盘 显示器的接口方案相比 有什 么特点 解 8279 芯片的具有不断扫描 自动消抖 自动识别出闭合的键并得到键号 能对双键或 N 键同 时按下进行处理 第 11 章 1 由运算放大器构成的电流 电压转换电路 2 D A 转换器的主要指标如下 1 分辨率 D A 转换器的分辨率指输入的单位数字量变化引起的模拟量输出的变化 是对输入量变化敏感程 度的描述 2 建立时间 建立时间是描述 D A 转换速度快慢的一个参数 用于表明转换速度 其值为从输入数字量到输出 达到终位误差 1 2 GB 最低有效位 时所需的时间 3 转换精度 理想情况下 精度与分辨率基本一致 位数越多精度越高 严格讲精度与分辨率并不完全一致 只要位数相同 分辨率则相同 但相同位数的不同转换器精度会有所不同 当 DAC 为二进制 12 位 满量程输出电压为 5V 时 分辨率为 1 22 mV 3 DAC 用作程控放大器 其电压放大倍数可由 CPU 通过程序设定 由图可见 需要放大的电压 Vin 和反馈输入端 Rfb 相接 运算放大器输出 Vout 还作为 DAC 的基准电压 VREF 数字量由 CPU 送来 其余如图所示 DAC0832 内部 Iout 一边和 T 型电阻网络相连 另一边又通过反馈电阻 Rfb 和 Vin 相通 可得以下方程组 解上述方程组可得 选 R R6 则上式变为 因此 从最后式子可知 输出电压的放大倍数受 B 控制 4 同步 5 二种方式 1 单缓冲方式 其特点是 DAC0832 内部的两个数据缓冲器有一个处于直通方式 另一个处于受 MCS 51 控制的锁存方式 适用于只有一路模拟量输出 或虽是多路模拟量输出但并不要求多路输出同 步的情况下 2 双缓冲方式 其特点是数字量的输入锁存和 D A 转换输出是分两步完成的 适用于在多路 D A 转换中 要求同步进行 D A 转换输出的情况下 6 A D 转换器的两个最重要指标 1 转换时间和转换速率 转换时间 A D 完成一次转换所需要的时间 转换时间的倒数为转换速率 2 分辨率 A D 转换器的分辨率习惯上用输出二进制位数或 BCD 码位数表示 7 量化误差是由于有限位数字且对模拟量进行量化而引起的 0 195 8 目前应用较广泛的主要有以下几种类型 逐次逼近式转换器 双积分式转换器 式 A D 转换器和 V F 转换器 逐次逼近型 A D 转换器 在精度 速度和价格上都适中 是最常用的 A D 转换器件 双积分 A D 转换器 具有精度高 抗干扰性好 价格低廉等优点 但转换速度慢 近年来在单片 机应用领域中也得到广泛应用 式 A D 转换器 它具有积分式与逐次逼近式 ADC 的双重优点 它对工业现场的串模干扰具 有较强的抑制能力 不亚于双积分 ADC 它比双积分 ADC 有较高的转换速度 与逐次逼近式 ADC 相比 有较高的信噪比 分辨率高 线性度好 不需要采样保持电路 9 对 DAC 来说 分辨率反映了输出模拟电压的最小变化量 而对于 ADC 来说 分辨率表示输出 数字量变化一个相邻数码所需输入模拟电压的变化量 量化误差是由 ADC 的有限分辨率而引起的误差 但量化误差只适用于 ADC 不适用于 DAC 精度与分辨率基本一致 位数越多精度越高 严格讲精度与 分辨率并不完全一致 只要位数相同 分辨率则相同 但相同位数的不同转换器精度会有所不同 10 程序如下 MAIN MOV R0 20H MOV R1 00H MOV R2 00H MOV R3 50 MOV R8 08H LOOP MOV DPTR 7FF8H LOOP1 MOVX DPTR A MOV R6 0AH DELAY NOP NOP NOP DJNZ R6 DELAY MOVX A DPTR INC DPTR MOV R2 DPL MOV DPH R0 MOV DPL R1 MOVX DPTR A INC DPTR MOV R0 DPH MOV R1 DPL MOV DPH 7FH MOV DPL R2 DJNZ R7 LOOP1 LCALL DELAY1M 延时 1 分钟 DJNZ R3 LOOP 11 程序如下 MIAN MOV R1 10 MOV R2 40H MOV R0 7CH MOVX R0 A LOOP NOP LOOP1 NOP JB P3 2 LOOP1 MOVX A R0 MOV R2 A INC R2 MOV R0 7DH MOVX A R0 MOV R2 A INC R2 DJNZ R1 LOOP 12 A B C D 第 12 章 1 P0 口的每位可驱动 8 个 LSTTL 输人 P1 P2 P3 口的每一位只能驱动 4 个 LSTTL 输人 低 电平 2 在 MCS 51 单片机应用系统中 当需用单片机控制各种各样的高压 大电流负载 这些大功率 负载如电动机 电磁铁 继电器 灯泡等 则不能用单片机的 I O 线来直接驱动 而必须通过各种驱动电 路和开关电路来驱动 此外 为了隔离和抗干扰 有时需加接光电耦合器 3 常用的开关型驱动器件有光电耦合器 继电器 晶闸管 功率 MOS 管 集成功率电子开关 固 态继电器等 4 常用电子开关有功率 MOS 管 晶闸管 集成功宰电子开关 固态继电器等等 电子开关器件的 通病是存在通态压降和断态漏电流 5 开关速度快 工作频率高 无噪声 无触点 工作可靠 寿命长 适用于那些需要抗潮湿 抗 腐蚀和防爆场合以及高频和高速系统中 6 以负载电源类型分类 可分为直流型 DC SSR 和交流型 AC SSR 两种 直流型固态电子继 电器是以功率晶体管作为开关元件的 交流型固态屯子继电器足以可控硅作为开关元件的 分别用来接通 和断开直流或交流负载 以开关触点形式分类 可分为常开式和常闭式 常开式的功能是输入端施加信号时 固态继电器输 出端才接通 而常闭式是仅当输入端施加信号时 固态继电器的输出端才被关断 而输入端没有信号时 固态继电器的输出端始终处于闭合状态 以控制触发信号的形式分类 可分为过零型和非过零型 非过零型在输人信号时 不管负载电源电 压相位如何 负载端立即导通 而过零型必须在负载电源电压接近零且输入控制信号有效时 输出端负载 电源才导通 7 使用注意事项 1 要考虑这两项参数通态压降和断态漏电流 2 当使用温度较高时 选用的 SSR 必须留有一定的余量
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年食品安全培训试题和答案
- 肩颈康复辅具生产企业制定与实施新质生产力项目商业计划书
- 2025年护士资格考试《妇产科护理学》练习题(附答案)
- 西服常见缺陷分析说课稿-2025-2026学年中职专业课-服装缝制工艺-服装设计与工艺-轻工纺织大类
- 2025年小学教师资格考试教育心理学历年考试题(含答案)
- 2025年监护员考核试题及答案
- Chapter 2 My hobbies over the years说课稿-2025-2026学年小学英语新思维小学英语6A-新思维小学英语
- 2025年度社区《网格员》押题卷(含答案)
- 2025年登革热诊疗试题(附答案)
- OSA淀粉-乳清分离蛋白复合物在猪油乳液中的构建及其应用研究
- 2025年中国张裕产区葡萄酒特色与品牌国际化发展报告
- 图深度强化学习在配电网故障恢复中的应用研究
- (2017)海南省房屋建筑与装饰装修工程综合定额交底资料
- 2024-2025学年下学期高一英语人教版同步经典题精练之语法填空
- 《社会科学研究方法》课件
- 《基础护理学》第七版考试题库大全-上部分(600题)
- 提高市政雨水管道接口施工一次验收合格率
- 2025年有机化学实验模板
- 基坑安全事故及防范措施
- 欧盟食品安全法律法规
- GB 21258-2024燃煤发电机组单位产品能源消耗限额
评论
0/150
提交评论