关于单片机检测高低电平IO口电平转换

查看: 2191|回复: 0
当单片机与计算机串行通讯时无MAX232电平转换芯片时怎么办?
用分立元件搭建的串口电平转换电路:特点是电路简单实用,具时效性!使用时只需将TO_MCU的接口接到目标单片机板中与相应的串口引脚相连!DB通过串口线直接与计算机串口相连接即能完成单片机与计算机之间的通讯!
以下是模块化之后的PCB版图:
同时,当与计算机通讯之时接利用计算机超级终端软件或串口调试助手与单片机进行通讯!
注意计串行通讯学习的几个要点:
1、数据流方式:并行和串行,并行特点是传输速度快,适合短距离传输,同时占用的IO资源多,造价高。串行特点是传输速度不及并行,但是能够完成远距离的数据传输,同时占用的资源少。
2、通讯方式:同步和异步,同步是指两个或多个实体模块之间采用同一个系统时钟作为系统驱动源,异步是指两个或多个实体模块之间采用各自的时钟信号作为自己的驱动源信号。当多个模块并存时,在同一个系统中可同时存在异步和同步的混合通讯方式。结合1说法就有了同步并行和异步并行,同步串行和异步串行四种数据传输通讯方式。
3、重点了解异步串行通讯:
A、通讯方式:单工、半双工、全双工!重点学习全双工…
B、通讯方式中掌握波特率的计算方法
C、定时器的在串行通讯中的运用(重点)
D、串行特殊功能寄存器和控制寄存器的运用
E、收发寄存器SBUF在收与发过程中的含义 例如:(重点)
& &SBUF=R;//(发送) 此时会将并行数据+加上帧信息位(起始位,校验位,停止位)数据转化成串行数据送出
& &R=SBUF;//(接收)此时会将发收到到的串行数据(由数据位和帧信息位)提取其中的数据位并将提取到的数据转化成并行数据在单片机中进行需要的处理
& &其中R可以为char R型变量或多重char型指针数组R
& &必须重点掌握:可完成通过计算对单片机在工业控制、数据采集、实时监测、智能模块等等的运用!
//==========================================================================
//功能:系统将计算机发送来的数据送给P1口进行显示或作用到外部设备,同时系统将
//& && &接收到的数据返回到计算机中
//调试工具:kiel_C 串口调试助手
//程序制作人:张建刚
//时间 :日
//==========================================================================
#include&reg52.h&
#include&stdio.h&
#define uchar unsigned char
#define uint&&unsigned int
void main()
{
r=0;& &//初始化
TMOD=0x20;//设置定时器1为工作方式2
TH1=0 //定时器装入初值
TL1=0
TR1=1;& &//启动定时器
REN=1;& &//串行使能
SM0=0;
SM1=1;& &//通讯方式1,可变波特率
EA=1;& &//开总中断
ES=1;& &//开串行中断
while(1)
{
&&if(flag==1) //等待收到完成标志位
&&{
& &ES=0; //禁止串行中断
& &flag=0; //接收完成标志位置0
& &SBUF=r; //将输入的值返回给计算机
& &while(!TI); //等待发送标中断志位置1
& &TI=0; //清除发送标中断志位
& &ES=1;// 开启串行中断
&&}
}
}
void ser() interrupt 4& &//串行中断服务子程序 当接收中断标志被置1
{& & //此时程序将会执行中断服务程序
RI=0;& &//清除接收中断标志
P1=SBUF;& && && &//将接收到的数据送到P1口进行显示或者作用给外部设备
r=SBUF;& &//将接收到的数据送给r定义寄存器
flag=1;& &//接收完成标志置1
}复制代码
Powered by怎么改变单片机IO口默认电平_百度知道
怎么改变单片机IO口默认电平
求解啊,接上拉电阻的话就是默认高电平,接下拉电阻就默认低电平??
我有更好的答案
是的,接上拉电阻的话就是默认高电平,输入时可以检测下降沿,接按键到地。接下拉电阻就默认低电平,输入时可以检测上升沿,接按键到电源。 如果不接电阻,默认输出无效电平,当输出有效电平时 有效。 P0口特殊,欲输出高电平,必须接上拉电阻。
我用了STC12C5A60S2的增强型51单片机,这个的单片机可以设置IO口得工作模式,在网上搜索到当IO口开漏时就需要上拉电阻,其实下拉电阻也可以是不??只是确定高还是低电平而已?我用的这个单片机都可以通过软件设置IO口模式不为开漏而是其它模式,比如说:准双向口/弱上拉(标准8051输出模式)、推挽输出 /强上拉、仅为输入(高阻)或开漏输出功能这种情况下,我还需要加上拉电阻么
设置成推挽输出就行了的,任何时间只能有一个MOS导通,I/O功能。不需要上拉电阻!! 在使用配置好的I/O 之前可以自己用软件初始化输出电平。
采纳率:66%
可以通过软件设置IO口模式不为开漏而是其它模式,比如说:准双向口/弱上拉(标准8051输出模式)、推挽输出 /强上拉、仅为输入(高阻)或开漏输出功能这种情况下,我还需要么不需要加上拉电阻
上拉电阻是将I0口的驱动电流加强,下拉电阻是把IO口的驱动电流拉低,并不能改变I0口的默认电平。想改的话加反相器或写个程序就可以了啊
旁观。。。。。
其他1条回答
为您推荐:
其他类似问题
您可能关注的内容
单片机io口的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。3.3V-5V电平转换电路
查看: 8558|
摘要:   如上图,左端接3.3VCMOS电平,可以是STM32、FPGA等的IO口,右端输出为5V电平,实现3.3V到5V电平的转换。   现在来分析下各个电阻的作用(抓住的核心思路是三极管的Vbe导通时为恒定值0.7V左右):   假设没有R87,则当US_CH0的 ...
  如上图,左端接3.3VCMOS电平,可以是STM32、FPGA等的IO口,右端输出为5V电平,实现3.3V到5V电平的转换。
  现在来分析下各个电阻的作用(抓住的核心思路是的Vbe导通时为恒定值0.7V左右):
  假设没有R87,则当US_CH0的高电平直接加在三极管的BE上,&0.7V的电压要到哪里去呢?
  假设没有R91,当US_CH0电平状态不确定时,默认是要Trig输出高电平还是低电平呢?因此R91起到固定电平的作用。同时,如果无R91,则只要输入&0.7V就导通三极管,门槛电压太低了,R91有提升门槛电压的作用(可参见第二小节关于蜂鸣器的分析)。
  但是,加了R91又要注意了:R91如果太小,基极电压近似
  只有Vb&0.7V时才能使US_CH0为高电平时导通,上图的Vb=1.36V
  假设没有R83,当输入US_CH0为高电平(三极管导通时),D5V0(5V高电平)直接加在三极管的CE级,而三极管的CE,三极管很容易就损坏了。
  再进一步分析其工作机理:
  当输入为高电平,三极管导通,输出钳制在三极管的Vce,对电路测试结果仅0.1V
  当输入为低电平,三极管不导通,输出相当于对下一级电路的输入使用10K电阻进行上拉,实际测试结果为5.0V(空载)
  请注意:
  对于大电流的负载,上面电路的特性将表现的不那么好,因此这里一直强调——该电路仅适用于10几mA到几十mA的负载的电平转换。
上一篇:下一篇:
看过《3.3V-5V电平转换电路》的人还看了以下文章:
Powered by &
这里是—这里可以学习 —这里是。
栏目导航:单片机IO口输出类型_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
单片机IO口输出类型
阅读已结束,下载本文需要
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩2页未读,
定制HR最喜欢的简历
你可能喜欢74HC245是单向导通的,能做单片机IO口的电平转换芯片吗?IO口要双向通讯哦_百度知道
74HC245是单向导通的,能做单片机IO口的电平转换芯片吗?IO口要双向通讯哦
我有更好的答案
a应该不行,你一般一个口仅仅做一种方式(I/O)吗,看你是做什么用
采纳率:66%
为您推荐:
其他类似问题
单片机io口的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 单片机高低电平范围 的文章

 

随机推荐