基于单片机的数字电压表设计毕设论文内容摘要:

器 F0H F7 F6 F5 F4 F3 F2 F1 F0 B E0H E7 E6 E5 E4 E3 E2 E1 E0 A D0H D7 D6 D5 D4 D3 D2 D1 D0 PSW B8H BC PS BB PT1 BA PX1 B9 PT0 B8 PX0 IP B0H B7 B6 B5 B4 B3 B2 B1 B0 P3 A8H AF EA AC ES AB ET1 AA EX1 A9 ET0 A8 EX0 IE A0H A7 A6 A5 A4 A3 A2 A1 A0 P2 98H 9F SM0 9E SM1 9D SM2 9C REN 9B TB8 9A RB8 99 TI 98 RI SCON 90H 97 96 95 94 93 92 91 90 P1 88H 8F TF1 8E TR1 8D TF0 8C TR0 8B IE1 8A IT1 89 IE0 88 IT0 TCON 80H 87 86 85 84 83 82 81 80 P0 中断 外部中断 INT0 和 INT1 可根据寄存器 TCON 中的 IT0和 IT1 位状态分别设置为电平或者边沿触发实际产生的中断标志是 TCON中的位 IE0 和 IE1当产生外部中断时如果是边沿触发进入中断服务程序后由硬件清除中断标志位如果中断是电平触发由外部请求源而不是由片内硬件控制请求标志定时器 0和定时器 1中断由 TF0 和 TF1 产生 当产生定时器中断时进入中断服务程序后由片内硬件清除标志位 串口中断由 RI和 TI产生进入中断服务程序后这些标志均不能被硬件清除实际上中断服务程序通常需要确定是由 RI还是 TI产生的中断然后由软件清除中断标志 所以这些产生中断的位都可通过软件置位或清零与通过硬件 置位或清零的效果相同简而言之中断可由软件产生推迟或取消每个中断源可通过置位或清零寄存器 IE 中的相应位分别使能或禁止 IE中还包含一个全局禁止位 EA可以立即禁止所有的中断 1 中断优先级结构 每个中断源都可通过编程中断优先级寄存器 IP 和 IPH 单独设置优先级一个中断服务程序可响应更高级的中断但不能响应同优先级或低级中断最高级中断服务程序不响应其它任何中断如果两个不同中断优先级的中断源同时申请中断时响应较高优先级的中断申请如果 2 个同优先级的中断源同时申请中断内部查询顺序将确定首先响应哪一个中断请求 查询顺序如 下所示 中断源 同级优先级 ① IE0 外部中断 0 最高 ② TF0 定时器 0 ③ IE1 外部中断 1 ④ TF1 定时器 1 ⑤ RITI UART ⑥ TF2EXF2 定时器 2 最低 注同级优先级只用来处理相同优先级别中断源同时申请中断的情况 IP和 IPH寄存器中包含了一些无效位由于这些位可能用于其它 80C51 系列产品中用户软件不应将这些位写入 1 2 中断的处理 中断标志在每个机器周期的 S5P2 时 采样在下一个机器周期查询该采样如果在 S5P2 周期时有一个标志置位查询周期将发现它然后中断系统产生一个LCALL 调用对应的服务程序由硬件产生的 LCALL 在下面任意一种情况下都会推迟执行 ① 同级或更高级的中断已在处理中 ② 当前的周期不是正在执行指令的最后一个周期 ③ 正在处理的指令是 RETI 或任何写 IE 或 IP 寄存器的指令 条件 2确保正在处理的指令在进入任何中断服务程序前可以执行完毕条件 3确保了如果正在处理的指令是 RETI 或任何访问 IE或 IP寄存器的指令那么在进入任何中断服务程序 之前至少再执行一条指令 查询周期在每个机器周期都会重复所查询的值是在前一个机器周期的 S5P2出现的值需要注意的是如果一个中断标志位有效但仍然没有被响应是因为出现上面所述的情况如果当阻碍的条件撤除时中断标志不再有效中断将不再响应换句话说实际上如果中断标志有效时没有响应中断之后将不再被记忆每次查询周期都会更新中断标志 3 外部中断 外部中断源可配置为电平触发或边沿触发通过将寄存器 TCON 中的位 IT1 或IT0 置位或清零实现如果 ITx 0 外部中断 x 通过 INTx 脚的低电平触发如果 ITx 1外部中断 x 为边沿触发该模 式下对 INTx 脚连续采样如果在一个周期为高电平而下一个周期为低电平中断请求标志 IEx 将置位然后通过 IEx 请求中断 由于外部中断脚每个机器周期采样一次输入高或低应当保持至少 12 个振荡周期以确保能够采样到如果外部中断为边沿触发外部中断源应当将中断脚至少保持 1 个机器周期高电平然后至少保持 1 个机器周期低电平这样就确保了边沿能够被检测到以使 IEx 置位当调用中断服务程序后 CPU自动将 IEx 清零如果外部中断为电平触发外部中断源必须一直保持请求有效直到产生所请求的中断然后在中断程序结束之前撤除请求否则将产生另一 次中断 4 响应时间 INT0 和 INT1 电平在每个机器周期的 S5P2 取反并锁存到 IE0和 IE1 在下个周期之前该值不会被电路查询如果请求有效且应答的条件正确下个执行的指令就是硬件子程序调用请求中断 CALL 指令本身占用两个周期因此从中断请求有效到开始执行中断服务程序的第一条指令需要至少 3 个完整的机器周期 芯片擦除 整个 PEROM 阵列和三个锁定位的电擦除可通过正确的控制信号组合并保持ALE 管脚处于低电平 10ms 来完成此外 AT89C51 设有稳态逻辑可以在低到零频率的条件下静态逻辑支持两种软件可选的掉 电模式在闲置模式下 CPU 停止工作但RAM定时器计数器串口和中断系统仍在工作在掉电模式下保存 RAM的内容并且冻结振荡器禁止所用其他芯片功能直到下一个硬件复位为止 结构特点 18 位 CPU 2 片内振荡器和时钟电路 332 根 IO 线 4 外部存贮器寻址范围 ROMRAM64K 52 个 16 位的定时器计数器 65 个中断源两个中断优先级 7 全双工串行口 8 布尔处理器 33 AD 转换电路 电压是模拟量而数码管显示需要的是数字量故需要采用 AD 转换模拟信号为数字信号供数码管显示出来可供选择的芯片有 ADC0809ADC574 和 TLC2543 等等 由于要求测量精度在 1 因此须选用 12 位精度的 AD 转换器且可直接驱动 LED显示器工作 0809 为 8 位精度故不能采用而综合性价比 TLC2543 就成为了本次设计的首选 被测量模拟量变为数字量之后并不能通过数码管直接显示出来而需要单片机加以处理形成段码才能显示出来而且 AD 电路的时钟与输入输出都需要单片机与其对接予以控制故选择含有内部闪存的 89C51 完成此工作该芯片无论从性能还是价格上都是非常合适的数字信号转换为段码并显示出来需要有程序和其它接口电路配合在程序上 AD 采集程序采用多次取值并求和求平均的 方法得出双字节数据然后通过双字节转换 BCD码子程序得出 BCD码硬件显示上选用动态扫描法即数码管位选端连入单片机的某一组 IO口片选端连入另一组 IO口配合显示子程序实现显示此外主程序和其它程序用中断方式进行组合 由于单片机各个 IO 口的驱动能力有限故应设计驱动电路本设计中的驱动电路主要与显示部分有关数码管的片选端需要连接上拉电阻和三极管以增强驱动能力位选端也选择连接上拉电阻以增强驱动能力 TLC2543是 TI公司的 12位串行模数转换器使用开关电容逐次逼近级数完成AD 转换过程由于是串行输入结构能够节省 51 系列单片机 IO 资源且价格适中分辨率较高因此在仪器仪表中有较为广泛的应用 TLC2543 的特点 112 位分辩率 AD 转换器 2 在工作温度范围内 10μ s 转换时间 311 个模拟输入通道 43 路内置自测试方式 5 采样率为 66kbps 6 线性误差177。 1LSB 7 有转换结束输出 EOC 8 具有单双极性输出 9 可编程的 MSB 或 LSB 前导 10 可编程的输出数据长度引脚号 名称 IO 说明 1 ~ 91112 AIN0~ AIN10 I 模拟量输入端 11 路输入信号由内部多路器选通对于41MHz 的 IOCLOCK 驱动源阻抗必须小于或等于 50Ω而且用 60pF 电容来限制模拟输入电压的斜率 15 I 片选端在端由高变低时内部计数器复位由低变高时在设定时间内禁止 DATAINPUT 和 IO CLOCK 17 DATAINPUT I 串行数据输入端由 4 位的串行地址输入来选择模拟量输入通道 16 DATA OUT O AD 转换结果的三态串行输出端为高时处于高阻抗状态为低时处于激活状态 19 EOC O 转换结束端在最后的 IOCLOCK 下降沿之后 EOC 从高电平变为低电平并保持到转换完成和数据准备传输为止 10 GND 地 GND是内部电路的地回路端 除另有说明外所有电压测量都相对 GND 而言 18 IO CLOCK I 输入输出时钟端 IOCLOCK 接收串行输入信号并完成以下四个功能 1在 IO CLOCK 的前 8 个上升沿 8 位输入数据存入输入数据寄存器 2 在 IOCLOCK 的第 4个下降沿被选通的模拟输入电压开始向电容器充电直到 IOCLOCK的最后一个下降沿为止 3 将前一次转换数据的其余 11 位输出到 DATA OUT 端在 IOCLOCK 的下降沿时数据开始变化 4IOCLOCK 的最后一个下降沿将转换的控制信号传送到内部状态控制位 14 REF I 正基准电压端基准电压的正端 通常为 V 被加到 REF最大的输入电压范围由加于本端与 REF端的电压差决定 13 REF I 负基准电压端基准电压的低端通常为地被加到 REF 20 V 电源 REF 接 5V 电压 REF接地端接 P14 口 TDO 端接 P12 口 TDI 端接 P13 口 TCK 端接 P11 口 EOC 端接 P10 口 TLC2543 控制字 TLC2543 的工作过程如下首先在 812 或 16 时钟周期里向片内控制寄存器写入 8位的控制字控制字中的 2位决定时钟长度在最后一个时钟周期的下降沿启动AD 转换过程经过一段转换时间在随后的 812 或 16 个时钟周期 里从 DATA OUT 脚读出数据 控制字的定义见下表 32 表 32 TLC2543 控制字的定义表 功能 控制字 地址 L1 L2 LSBF BIP D7 D6 D5 D4 D3 D2 D1 D0 AIN0 0 0 0 0 AIN1 0 0 0 1 AIN2 0 0 1 0 AIN3 0 0 1 1 AIN4 0 1 0 0 AIN5 0 1 0 1 AIN6 0 1 1 0 AIN7 0 1 1 1 AIN8 1 0 0 0 AIN9 1 0 0 1 AIN10 1 0 1 0 VnefVnef 2 1 1 0 0 Vnef 1 1 0 1 Vnef 1 1 1 0 软件断电模式 1 1 1 1 8 bits 0 1 12 bits X 0 16 bits 1 1 高位在前 0 低位在前 1 无极性输出 0 有极性输出 1 控制字的前 4位 D7D4 代表 11个模拟通道的地址当其为 11001110时选择片内检测电压当其为 1111时为软件选择的断电模式此时 AD转换器的工作电流只有 25uA 控制字。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。