单片机如何检测开关量
单片机串口通信及测控应用实战详解从应用的角度介绍了单片机串口通信及测控技术。主要内容包括单片机及其控制系统概述,单片机开发板B简介串行通信的基本概念,串行通信的接口标准,个人计算机中的串行端口,单片机中的串行端口,PC编程软件的串行通信开发工具分别采用汇编语言和C51语言编写单片机端程序分别采用VisualBasic和VisualC语言编写PC端程序,实现单片机与单片机串口通信,实现单片机与PC模拟量输入与输出、开关量输入与输出,实现单片机测控应用(温度检测、短信收发、智能仪器)采用组态软件KingView实现单片机与PC串口通信。
1、请教如何用51单片机的一个定时器计算三路开关量输入的频率
你是打算测输入信号的脉宽还是一秒钟内发生了多少次开关量输入?如果是频率的话我觉得可以按下面的方式试验一下:只要你的频率是ms级别的应该可以做到的。用中断要考虑同时发生情况下的中断源保持问题,不如用死循环去扫描。扫描和处理频度在us级别就好了。方案1:51的定时器定时时间不长,为了解决这一问题,可以设置一全局变量(假设你用c编程序)作计数器,等到定时中断发生时中断函数给这一全局变量加一,在主程序中判断这一变量的大小,从而推算出定时时间。
这种方案的缺点是必须在中断函数中加入给变量加一的额外语句,使得定时出现误差,但是也能通过减少定时器的定时时间来补偿,不过计算较麻烦,而且不便于精确定时。方案2:使用低频的晶振或低频外部震荡。有些型号的单片机支持0至12mhz的震荡频率,只要频率足够低绝对能够在定时器最大定时时间内产生出想要的脉冲。
2、单片机如何进行电平和脉冲信号检测
电平分两种,一为高电平,二为低电平.当单片机检测到高电平或者低电平时给单片机做出相应的动作就好了。还有脉冲信号也是电平一样的。至于于单片机相连你就直接接单片机I/O口相连,然后编写程序控制就好。还有你设计不同的系统就会用不同的电子元器件。不知你将要设计什么样的系统。只要在IO口的响应时间内,两者的测量基本是一样的。
3、开关量模块如何接单片机
1、将开关量模块的VCC接单片机的5V电源;2、将开关量模块的GND接单片机的GND;3、将开关量模块的SIG接单片机的IO口,如果是模拟量,则需要接到模拟口;4、将开关量模块的EN接单片机的IO口,用来控制开关量模块的使能,如果不需要控制,可以不接。方法是有的信号输出大可以直接连单片机,如LM35可以直接连到单片机的AD转换口。