- 1、本文档共20页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机接口及应用_Chapter4_1.ppt
周立功单片机 第4章 前向通道配置与接口技术 第4章 目录 1.单片机应用系统中的前向通道 2.A/D转换器 第4章 目录 1.单片机应用系统中的前向通道 2.A/D转换器 4.1 单片机应用系统中的前向通道 概述 单片机应用系统由被控对象和单片机系统两大部分组成。通过单片机系统的实时数据采集、实时决策和实时控制,使被控对象完成预定的任务,实现设定的功能。 单片机系统和被控对象之间的信息交互的通道,称为I/O通道。这一章主要讲解前向通道,即输入通道,图1是前向通道的一般结构图。 . . . 图1 前向通道的结构 单 片 机 系 统 开关量输入 传感与变送 A/D转换 传感与变送 被 控 对 象 开关量的输入 被控对象的一些开关状态可以经过开关量输入通道输入单片机系统。 单片机通过它的端口线和被控对象接口;如果端口线不足,可以通过I/O口扩展。 开关量输入需要解决的问题 电平匹配。现场开关量一般不是TTL电平,需要进行转换 。 电气隔离。使用单片机控制的场合环境一般比较恶劣,来自现场的干扰严重,故一般采用光电隔离。 图1 开关量输入 图2 单片机开关量输入接口 开关量输入实例 锁存芯片74HC573(U2): 锁存数据,提高驱动能力 数据缓冲器74HC245(U3) 3-8译码器74HC138(U4) 0x80FFH 输出周期性脉冲读取输入的开关量 3 图2 单片机开关量输入接口 开关量输入实例 锁存芯片74HC573(U2): 锁存数据,提高驱动能力 数据缓冲器74HC245(U3) 3-8译码器74HC138(U4) 0xD0FFH 输出周期性脉冲读取输入的开关量 1:接74HC245的E端。 2:通过和74HC138进行逻辑组合后接74HC573的OC端 便于使用MOVX(读外部数据)来实现对输入信号的控制。 3 开关量输入实例 图3 开关量外部输入接口电路 外部现场的关于压力、锅炉水位等开关量信息通过开关SWSPST的通断反映。这一开关量经U2输入到单片机。 开关量输入实例 ORG 0000H AJMP MAIN ORG 0100H MAIN: … ;外部地址 MOV DPTR, #0xD0FFH ;获取开关量 MOVX A, @DPTR … SJMP MAIN END 计数器的设计 图4 计数脉冲产生电路 采用8052芯片,利用它提供的3个定时器/计数器,设计一个二通道计数器,可对外部脉冲计数。 //计数器程序 #include reg52.h #include intrins.h BYTE count_low; BYTE count_high; unsigned long count_value0; /*软件计数,当计数器0达到硬件溢出时,计数器加1*/ unsigned long count_value1; /*软件计数,当计数器1达到硬件溢出时,计数器加1*/ //定时器2初始化程序 void clock2_initial() reentrant using 0 { TR2=0; T2XON=0x00; TH2=0x3C; //定时器初值设置 TL2=0x0b0; TR2=1; //启动 } //计数器0初始化程序 void clock0_initial() reentrant using 0 { TR0=0; TH0=0x00; //从0开始计数 TL0=0x00; TR0=1; //启动 } //计数器1初始化程序 void clock1_initial() reentrant using 0 { TR1=0; TH1=0x00; //从0开始计数 TL1=0x00; TR1=1; //启动 } //计数器0中断响应 void clock0_int(void) interrupt 1 using 0 { EA=0; TF0=0;
文档评论(0)