注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题

zhangbo.0209的个人空间 http://home.eeworld.com.cn/space-uid-597174.html [收藏] [复制] [分享] [RSS]

日志

单片机常见问题及RS232、RS485、TTL电平、CMOS电平

已有 44 次阅读2017-12-24 21:16 |个人分类:单片机

计算机串口电平:

      高:-12V(范围-3-15V

      低:+12V(范围+3+15V

单片机为TTL电平:

      高电平:+5V

      低电平:0V

B表示二进制数,H表示16进制数。

RS232RS485TTL电平、CMOS电平

什么是TTL电平、CMOS电平、RS232电平?它们有什么区别呢?一般说来,CMOS电平比TTL电平有着更高的噪声容限。

(一)、TTL电平标准
输出 L <0.8V H>2.4V
输入 L <1.2V H>2.0V
TTL
器件输出低电平要小于0.8V,高电平要大于2.4V。输入,低于1.2V就认为是0,高于2.0就认为是1。于是TTL电平的输入低电平的噪声容限就只有(0.8-0)/2=0.4V,高电平的噪声容限为(5-2.4)/2=1.3V

(二)、CMOS电平标准
输出 L <0.1*Vcc H>0.9*Vcc
输入 L <0.3*Vcc H>0.7*Vcc.
由于CMOS电源采用12V,则输入低于3.6V为低电平,噪声容限为1.8V,高于3.5V为高电平,噪声容限高为1.8V。比TTL有更高的噪声容限。

(三)、RS232标准
负逻辑:逻辑1的电平为-3-15V,逻辑0的电平为+3+15V,注意电平的定义反相了一次。

不足之处:

1 接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL 电平不兼容故需使用电平转换电路方能与TTL电路连接。
2 RS232 可做到双向传输,全双工通讯 最高传输速率 20kbps
3 接口使用一根信号线和一根信号返回线而构成共地的传输形式, 这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。
4 传输距离有限,最大传输距离15米。

(四)、RS485标准
逻辑1的电平为+2+6V,逻辑0的电平为-2-6V

双向传输,半双工通讯, 最高传输速率10Mbps

最大传输距离约为1200m

RS-485接口是采用平衡驱动器和差分接收器的组合,抗共模干能力增强,即抗噪声干扰性好。

 

TTLCMOS电平使用起来有什么区别

1.电平的上限和下限定义不一样,CMOS具有更大的抗噪区域。同是5伏供电的话,ttl一般是1.7V3.5V的样子,CMOS一般是2.2V,2.9V的样子,不准确,仅供参考。

2.电流驱动能力不一样,ttl一般提供25毫安的驱动能力,而CMOS一般在10毫安左右。

3.需要的电流输入大小也不一样,一般ttl需要2.5毫安左右,CMOS几乎不需要电流输入。

4.很多器件都是兼容TTLCMOS的,datasheet会有说明。如果不考虑速度和性能,一般器件可以互换。但是需要注意有时候负载效应可能引起电路工作不正常,因为有些ttl电路需要下一级的输入阻抗作为负载才能正常工作。

1. TTL电路和CMOS电路的逻辑电平

VOH: 逻辑电平 1 的输出电压

VOL: 逻辑电平 0 的输出电压

VIH : 逻辑电平 1 的输入电压

VIH : 逻辑电平 0 的输入电压

TTL电路临界值:

VOHmin = 2.4V VOLmax = 0.4V

VIHmin = 2.0V VILmax = 0.8V

CMOS电路临界值(电源电压为+5V

VOHmin = 4.99V VOLmax = 0.01V

VIHmin = 3.5V VILmax = 1.5V

2. TTLCMOS的逻辑电平转换

CMOS电平能驱动TTL电平

TTL电平不能驱动CMOS电平,需加上拉电阻。

3. 常用逻辑芯片特点

74LS系列: TTL 输入: TTL 输出: TTL

74HC系列: CMOS 输入: CMOS 输出: CMOS

74HCT系列: CMOS 输入: TTL 输出: CMOS

CD4000系列:CMOS 输入: CMOS 输出: CMOS

 

 

 

注意:51单片机上电所有的I/O口都默认为高电平!

Include main函数及宏定义define后不加分号。

 

编译完成后会生成HEXbin文件,Kill软件只能生成HEX文件,伟福软件可以生成HEXbin文件。

下载程序的时候先把试验板上的电源按钮关掉,选择好下载文件并点击下载按钮后再打开电源,因为51单片机是冷启动。

 

可以按位来控制P1 sbit D=P^0; 也可以用总线式来控制P1 P1=0Xfd;

 

要让程序停止到某一行就用 while(1);

程序从main 函数中依此执行到最后一行后会继续从第一行开始执行,并如此循环,但这没有理论提出,所以要让程序循环就要用

while(1)

{

}循环,来进行程序在函数体中的大循环了。

 

时钟周期也叫振荡周期,为外接晶振的倒数,如:1/12M=1/12us

一个机器周期=12个时钟周期

一个指令周期为1-4个机器周期

 

小黄箭头指向的代码是下一步将要执行的代码

 

内层for语句中变量定值为110,外层for中变量为多少,这个for嵌套语句就延时多少毫秒。

 

声明子函数的方法:将函数返回值特性、函数名及后面的小括号完全复制,若是无参函数,则小括号内为空;若是有参数,则需要在小括号里面依此写上参数类型,只写参数类型,无需写参数,参数类型之间用逗号隔开。最后小括号的外面必须加上分号“;”。

 

 

 

复位电路的工作原理
在书本上有介绍,51单片机要复位只需要在第9引脚接个高电平持续2us就可以实现,那这个过程是如何实现的呢?在单片机系统中,系统上电启动的时候复位一次,当按键按下的时候系统再次复位,如果释放后再按下,系统还会复位。所以可以通过按键的断开和闭合在运行的系统中控制其复位。
     
开机的时候为什么为复位
电路图中,电容的的大小是10uf,电阻的大小是10k。所以根据公式,可以算出电容充电到电源电压的0.7倍(单片机的电源是5V,所以充电到0.7倍即为3.5V),需要的时间是10K*10UF=0.1S。也就是说在电脑启动的0.1S内,电容两端的电压时在0~3.5V增加。这个时候10K电阻两端的电压为从5~1.5V减少(串联电路各处电压之和为总电压)。所以在0.1S内,RST引脚所接收到的电压是5V~1.5V。在5V正常工作的51单片机中小于1.5V的电压信号为低电平信号,而大于1.5V的电压信号为高电平信号。所以在开机0.1S内,单片机系统自动复位(RST引脚接收到的高电平信号时间为0.1S左右)。
   
按键按下的时候为什么会复位
在单片机启动0.1S后,电容C两端的电压持续充电为5V,这是时候10K电阻两端的电压接近于0VRST处于低电平所以系统正常工作。当按键按下的时候,开关导通,这个时候电容两端形成了一个回路,电容被短路,所以在按键按下的这个过程中,电容开始释放之前充的电量。随着时间的推移,电容的电压在0.1S内,从5V释放到变为了1.5V,甚至更小。根据串联电路电压为各处之和,这个时候10K电阻两端的电压为3.5V,甚至更大,所以RST引脚又接收到高电平。单片机系统自动复位。
   
总结:
1、复位电路的原理是单片机RST引脚接收到2US以上的电平信号,只要保证电容的充放电时间大于2US,即可实现复位,所以电路中的电容值是可以改变的。
2
、按键按下系统复位,是电容处于一个短路电路中,释放了所有的电能电阻两端的增加引起的。

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

小黑屋|手机版|Archiver|电子工程世界 ( 京ICP证 060456

GMT+8, 2018-4-26 13:32 , Processed in 0.028470 second(s), 11 queries , Redis On.

Powered by EEWORLD电子工程世界

© 2018 http://bbs.eeworld.com.cn/

返回顶部