51单片机输出时钟信号能不能做到P1.1口输出的同时P2.1口输入

CC2530的P2.3、P2.4口能配置成输出,不能配置成输入,该怎么办? - ZigBee技术 - 德州仪器在线技术支持社区
CC2530的P2.3、P2.4口能配置成输出,不能配置成输入,该怎么办?
发表于3年前
<input type="hidden" id="hGroupID" value="43"
&span style=&font-size:xx-&>&a href=&.cn/product/cn/CC2530& target=&extwin&>CC2530&/a>,已经将32K时钟选择为RC震荡,并且将P2.3、P2.4配置为普通IO口,经实验P2.3、P2.4可以输出高低电平,但是配置成输入无法检测到IO口上的高低电平,别的IO口没这个问题,这是为什么?&/span>&/p>&div style=&clear:&>&/div>" />
CC2530的P2.3、P2.4口能配置成输出,不能配置成输入,该怎么办?
此问题尚无答案
All Replies
,已经将32K时钟选择为RC震荡,并且将P2.3、P2.4配置为普通IO口,经实验P2.3、P2.4可以输出高低电平,但是配置成输入无法检测到IO口上的高低电平,别的IO口没这个问题,这是为什么?
You have posted to a forum that requires a moderator to approve posts before they are publicly available.51单片机小问题 1、用P1口作为输入时要不要加排阻?输出呢? 2、单片机收到某个紧急信号时要停止_百度知道
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。
51单片机小问题 1、用P1口作为输入时要不要加排阻?输出呢? 2、单片机收到某个紧急信号时要停止
51单片机小问题1、用P1口作为输入时要不要加排阻?输出呢?2、单片机收到某个紧急信号时要停止所以工作,这个程序怎么写?
我有更好的答案
1、不用加排阻,关键是电压不能超差。2、这个紧急信号可以连到单片机的外部中断0引脚,可以使用最高中断的方法处理,在中断程序里编写停止工作的程序,一旦得到中断信号单片机就立即启动中断程序停止你要停止的工作。
采纳率:25%
21、P1口输入输出都不需要加排阻,只有P0口才需要加排阻、要停止工作
本回答被网友采纳
用加,当然加了也不影响,是脉冲。这个要看你所谓的紧急是什么事,有多种方法的,具体根据信号情况定。比如是个电平信号,那要看是低还是高
为您推荐:
其他类似问题
51单片机的相关知识
&#xe675;换一换
回答问题,赢新手礼包&#xe6b9;STC12LE5A60S2单片机使用P1.0和P1.1口做AD检测电压,出现AD0的值有一瞬间和AD1相同,求解。 - 单片机/MCU论坛 -
中国电子技术论坛 -
最好最受欢迎电子论坛!
后使用快捷导航没有帐号?
STC12LE5A60S2单片机使用P1.0和P1.1口做AD检测电压,出现AD0的值有一瞬间和AD1相同,求解。
16:15:54  
如题,使用STC12LE5A60S2单片机的P1.0和P1.1口做两组电池的电压实时检测并显示,两组电池电压交替检测,如果A组电池电压低于46V时关闭LED0和LED1,然后继续检测B组电池电压,B组电池电压低于46V时关闭LED2和LED3;如果B组电池电压低于46V时关闭LED2和LED3,然后继续检测A组电池电压,A组电池电压低于46V时关闭LED0和LED1。但程序出现一个问题:A组电池电压为48V不变,B组电压由48V缓慢下降,当降到46V时,关闭LED2和LED3,然后单片机检测到A组的电压瞬间也变成46V导致LED0和LED1也关闭了,接着检测到的A组电池电压又恢复到48V,但使用示波器量测过A组电压全过程中并未发生变化,非常疑惑,请各位大神解答,非常感谢。
附上此部分的程序。
void discharge(void) interrupt 0
& && &&&unsigned char a,LED0,LED1,LED2,LED3;
& && &&&unsigned int&&ADDATA;
& && &&&LED0=1;& && &
& & & & LED1=1;& && &
& & & & LED2=1;& && &
& & & & LED3=1;
& & & & a=0;
& & & & LCD12864_clear();& & //12864清屏
& & & & get_adc_result(a);& & //获取a通道电压值 ,返回的是temp
& & & & discharge_buffer=(temp-70;& & & & //精确计算实际电压值,discharge_buffer为实际的电压值的100000倍,便于12864显示小数部分
& & & & ADDATA=(uint)(discharge_buffer/100000);&&//对实际电压值取整,方便和46V进行比较
& & & & disp12864_fangdianya(a);&&//在12864上显示a通道的电压值
& & & & do
& & & && &a=1-a;& & //对a进行取反,轮流检测P1.0和P1.1通道的电压
& & & && &get_adc_result(a);& && && & //获取a通道电压值 ,返回的是temp
& & & && &discharge_buffer=(temp-54;//精确计算实际电压值,discharge_buffer为实际的电压值的100000倍,便于12864显示小数部分
& & & && &ADDATA=(uint)(discharge_buffer/100000);//对实际电压值取整,方便和46V进行比较
& & & && &disp12864_fangdianya(a); //在12864上显示a通道的电压值
& & & & while(46&ADDATA);
& & & & if(a==1)& && && && & //如果a=1,说明B组电池电压低于46V,关掉LED2和LED3
& & & &&&{
& & & && &LED2=0; LED3=0;
& & & &&&}& && &&&
& && &&&else& && && && &&&//否则,说明A组电池电压低于46V,关掉LED0和LED1
& && && & {
& && && && & LED0=0; LED1=0;
& && && & }
& & & & a=1-a;& && && & //对a取反,下面要检测另一路电池电压
& & & & Delay100ms();& && & //延时100ms
& & & & get_adc_result(a);& && && & //获取a通道电压值 ,返回的是temp
& & & & discharge_buffer=(temp-54;&&//精确计算实际电压值,discharge_buffer为实际的电压值的& && && && && && && && && && && && && && && && && && && && && && && && && && & //100000倍,便于12864显示小数部分
& & & & ADDATA=(uint)(discharge_buffer/100000); //对实际电压值取整,方便和46V进行比较
& & & & disp12864_fangdianya(a); //在12864上显示a通道的电压值
& & & & do
& & & && &get_adc_result(a);& && && & //获取a通道电压值 ,返回的是temp
& & & && &discharge_buffer=(temp-54;//精确计算实际电压值,discharge_buffer为实际的电压值的& && && && && && && && && && && && && && && && && && && && && && && && && && & //100000倍,便于12864显示小数部分
& & & && &ADDATA=(uint)(discharge_buffer/100000);//对实际电压值取整,方便和46V进行比较
& & & && &disp12864_fangdianya(a);//在12864上显示a通道的电压值
& && && & Delay100ms();& &//延时100ms
& & & & while(46&ADDATA);
& & & & if(a==0) {&&
& & & && && && &&&LED0=0; LED1=0;
& & & & & & & && && &&&}
& & & & else
& && & & & & & & & & & {&&
& & & && && && && &LED2=0; LED3=0;
& & & && && && & } & & & &
10:16:07  
没有人能够解答这个问题吗?
11:10:43  
PCB在线计价下单
板子大小:
板子数量:
PCB 在线计价
感觉交替测压通道应该给个延时,毕竟AD采集有个反映时间;或者分别用两组通道采集试试看
11:53:57  
观望中,也来学习一下
20:24:52  
两次检测之间要重新初始化AD,转换通道,希望能帮到你,可以在联系我
Powered by
供应链服务
版权所有 (C) 深圳华强聚丰电子科技有限公司51单片机的等不亮啊 p0.1、p1.1、p1.2这三个灯_百度知道
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。
51单片机的等不亮啊 p0.1、p1.1、p1.2这三个灯
我有更好的答案
程序贴出来
那么你Ied灯是负端接I&#47;O口正端接电源么?
刚才是所有的灯都CLR,单单CLR这三个 p1.1的灯可以亮。 啥意思啊?我用的是USB供电,
你是用开发板做的,还是自己做的最小系统? 程序应该没问题,主要看硬件怎么连
我是用开发板做的,硬件都不用连的啊,只要连几条线, 是不是灯坏了啊,
有这个可能,你试一下其它几个LED灯,如果能点亮那很可能是灯坏了
做流水实验的时候,经过p1.2的时候,他不亮,而且会有滴答的一声。这是什么原因啊
你直接把LED灯的一端接电源,接I&#47;O口的那端接到地
看它能不能亮,不能亮就是坏了
额,怎么做啊,我是开发板啊,不能拆吧,
不是叫你拆,你有用普通的导线直接把LED一端接到电源,一端接地即可
灯亮了,可是程序的时候灯不会亮,是不是电路板坏了呢,
采纳率:26%
硬件电路看有没有问题?再看你的程序有没有问题?你的问题太笼统了,不好回答,具体点
这样写,只有p1.1的能亮。要是全部CLR,那么这三个都不能亮LOOP:
CLR以后三个确实都不亮了这个很正常,你那一个亮是这个程序吗?
是的。数码管显示数字8的时候,即:P0=0x80的时候,p0.1应该是亮的,但它也没亮。#include &reg51.h&main(){
END这段代码要工作,数码管必须是共阳的,然后公共端接5V电源。这样二极管的反向端接单片机的P1口,就可以工作。但是为了稳定,AJMP前面必须加一段延时程序。至少50ms延时。这样才稳定,不然你接好点路,程序也正确,但是由于变化速度太快,二极管没有响应过来,你已经输出改变了。
还是不能亮,做流水实验的时候,经过p1.2的时候,他不亮,而且会有滴答的一声。这是什么原因啊#include
&at89x51.h&
void main(void){P0_0=0;for(i=0;i
&50000;i++){;}P0_1=0;}
这样的实验板无法说。建议买个好的。或者自己焊接一个板子。你最简单的就是在proteus下仿真,如果那里出结果。板子上面不行,那就是硬件问题。
哈哈,那是你的开发板上还接了其他的东西吧,很多开发板都是有这样的问题的,看看你的开发板上有没有什么和p1口关联的跳线什么的。滴答一声应该是p1口是接到了继电器或者蜂鸣器上了。
找到了,继电器的原因才滴答。 不过 灯还是不亮。。。唉,应该是坏的
其他1条回答
为您推荐:
其他类似问题
51单片机的相关知识
&#xe675;换一换
回答问题,赢新手礼包&#xe6b9;【图文】第2次《单片机原理与应用》-中断和P1口输入和输出_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
第2次《单片机原理与应用》-中断和P1口输入和输出
大小:714.50KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢

我要回帖

更多关于 单片机io口输出电压 的文章

 

随机推荐