单片机一个引脚输入高低电平,怎么编写C51程序处理信号?

作者&投稿:宋茜 (若有异议请与网页底部的电邮联系)
在C51单片机中,中断服务程序怎么撤销中断引脚上的低电平。~

第一个单片机的程序,是谁来编写? 如果也是楼主,那就好办了。
第二个单片机完成了中断的功能,在退出之前,可以向第一个单片机回送一个脉冲;
第一个单片机收到这个脉冲,就应该撤消送到第二个单片机的中断申请信号。
----
另外,如果能算出来完成中断的时间,第一个单片机送来的申请信号,就不要超过这个时间,应该及时、自动的撤消申请信号。
第一个单片机送来的申请信号,也不可过短,应该能让对方检测到。

由于单片机驱动能力有限,常常连接三极管驱动蜂鸣器。
这得看三极管的型号,不同的型号程序稍有不同。
主要是设置是“1”还是“0”驱动,这得看你的电路的连接。
1)如果连接PNP三极管驱动,设置P3_3=0,则蜂鸣器一直响;如果设置
P3_3=0;//响
delay_500ms();
P3_3=1;//不响
delay_500ms();//蜂鸣器每一秒响一次
2)如果连接NPN三极管驱动,设置P3_2=1,则蜂鸣器一直响;如果设置
P3_2=1;//响
delay_500ms();
P3_2=0;//不响
delay_500ms();//蜂鸣器每一秒响一次

我用的是C8051F530A单片机,其中一个引脚接一个振动传感器,有振动时,引脚输入高电平;没有振动,引脚出于低电平,怎么编写C51程序处理高电平信号呢?最好有些参考程序,能有好心人帮编写程序更好。
有好答案提高分数奖励。

高分不高分倒是小事,我干白忙乎的事太多了。C8051F530A单片机由于有交叉开关,得知道你用哪个IO管脚检测这个输入信号才好给出参考程序,还有你没指出用C还是汇编编程。
前面没看到你的图,步骤大概如下:
MOV P0MDIN,#0FFH ;端口0输入方式配置寄存器,全部数字输入
MOV P0MDOUT,#00H ;端口0输出方式配置寄存器,全部开漏
MOV P0SKIP,#0FFH ;端口0跳过寄存器,全部跳过
MOV P0,#0FFH ;

MOV XBR0,#00H ;端口I/O 交叉开关控制0
MOV XBR1,#40H ;端口I/O 交叉开关控制1


8051单片机的详细资料
XTAL1(19脚)接外部晶体的一个引脚。在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器。当采用外部振荡器时,对HMOS单片机,此引脚应接地;对CHMOS单片机,此引脚作为驱动端。 XTAL2(18脚)接外晶体的另一端。在单片机内部,接至上述振荡器的反相放大器的输出端。采用外部振荡器时,对HMOS单片...

学 单片机的教材
不,价格并不高,从几元人民币到几十元人民币,体积也不大,一般用40脚封装,当然功能多一些单片机也有引脚比较多的,如68引脚,功能少的只有10多个或20多个引脚,有的甚至只8只引脚。为什么会这样呢? 功能有强弱,打个比方,市场上面有的组合音响一套才卖几百块钱,可是有的一台功放机就要卖好几千。另外这种芯片的...

51单片机最小系统详解
设置为计数器模式时,外部事件计数脉冲由T0或T1引脚输入到计数器。在每个机器周期的S5P2期间采样T0、T1引脚电平。当某周期采样到一高电平输入,而下一周期又采样到一低电平时,则计数器加1,更新的计数值在下一个机器周期的S3P1期间装入计数器。由于检测一个从1到0的下降沿需要2个机器周期,因此要求...

51单片机引脚ALE的具体作用是什么?怎么控制地址锁存器?
在ALE为低电平期间P0口上的信息为指令或数据信息,以实现低位地址与数据的分离。ALE是自动运行的 ALE:地址锁存控制\/片内EPROM编程脉冲输入信号 ALE(Address Lock Enable)功能是在访问外部存储器时,P0口做为地址\/数据复用口,ALE信号用于锁存低8位地址。当ALE信号为高电平时,P0口上的信息为低8位地址...

8051单片机引脚ALE的作用是什么
在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1\/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址,上置0。此时,ALE只有在执行MOVX,...

51单片机的引脚结构和功能
1、主电源引脚(2根)VCC(Pin40):电源输入,接+5V电源 GND(Pin20):接地线 2、外接晶振引脚(2根)XTAL1(Pin19):片内振荡电路的输入端 XTAL2(Pin20):片内振荡电路的输出端 3、控制引脚(4根)RST\/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。ALE\/PROG(Pin30)...

单片机实训总结范文5篇
利用单片机的P1口扩展一个8位键盘。 2 晶振与复位电路设计 本设计采用的是上电复位的形式,如图3.3所示,上电顺进RST获得高电平,随着电容器C的充电,RST引脚上的高电平将逐渐下降,只要高电平能保持复位所需要的两个机器周期以上时间,单片机就能实现复位操作。 晶振电路为单片机提供工作所需要的时钟信号。震荡频率越高...

AT89C51单片机的结构原理与引脚功能
RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE\/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1\/6。因此它可用作对外部输出的...

max485工作原理
RO和DI端分别为接收器的输出和驱动器的输入端,与单片机连接时只需分别与单片机的RXD和TXD相连即可;\/RE和DE端分别为接收和发送的使能端,当\/RE为逻辑0时,器件处于接收状态;当DE为逻辑1时,器件处于发送状态,因为MAX485工作在半双工状态,所以只需用单片机的一个管脚控制这两个引脚即可;A端和B端...

中九小锅芯与电脑联机软件
或者根本不能连接(提示“连接错误”或者仍然是“等待从机连接”,遇到此种情况,除需要检查连接针脚是否正确外,再个就是需要制作5V自取电式升级数据线,见图3:如果大家嫌自己制作升级线太麻烦或者不稳定,可以到淘宝网上面去购买,只是现在刷星都刷疯了,原来10元钱一块MX232转换模块的,...

肇州县13488229737: 51单片机 如何检测某个引脚是否为高低电平 求一个C源程序实例 -
姜敬纳洁: sbit GO_OUT =P3^5; //需要检测的引脚 sbit LED =P3^4; //显示led 引脚为低时候亮 void main() //主程序{while(1) //主循环{if(GO_OUT==0){LED=1; //引脚为低 led不亮}else LED=0; // 否则led点亮}}

肇州县13488229737: 单片机中高低电平语句怎么写????????? -
姜敬纳洁: 比如P1.0置高:SETB P1.0 如果P1.0置低:CLR P1.0 C语言如下: sbit P10=P1^0 . P10=1;//高电平 P10=0;//低电平

肇州县13488229737: 怎么让stm32某个脚输出高/低电平? -
姜敬纳洁: 库函数有 GPIO-SetBits(GPIOC,GPIO-Pin-3) 或者GPIO-Reset(……)命令,也比较简单 开漏输出就是不输出电压,低电平时接地,高电平时不接地.如果外接上拉电阻,则在输出高电平时电压会拉到上拉电阻的电源电压.这种方式适合在连接的...

肇州县13488229737: 单片机P2口置高低电平,程序怎么写 -
姜敬纳洁: mov p2.0 #00h mov p2.1 #ffh mov p2.2 #00h mov p2.3 #ffh mov p2.4 #00h mov p2.5 #ffh mov p2.6 #00h mov p2.7 #ffh 这的语法就错误了, 单个引脚应该是这样 SETB P2.0 意思是P2口的这1个引脚设置为高电平 CLR P2.1 意思是P2口的这2个引脚...

肇州县13488229737: 现在有一个外部电路,有一个引脚要连接到STC单片机P1.1,如何用单片机来识别这个引脚为高还是低电平? -
姜敬纳洁: 需要写一段程序判断.单片机的工作电压是5V,外部电路输出5V电压就是高电平,0v就是低电平.注意单片机默认输出就是高电平.利用if ...else这条语句判断P1.1口是高还是低.#include sbit jiao=P1^1; void main() { if(jiao=1)//判断P1.1是不是高电平 { “这里写如果jiao是高电平执行的程序” } else{ "如果是低电平,就执行这里的程序” } }

肇州县13488229737: 求一检测单片机输入端高低电平的c语言程序 -
姜敬纳洁: 其实使用if语句就可以实现..定义引脚 sbit dianping=P1^4; if(dianping==0) {//........} 这个就是检测低电平

肇州县13488229737: 如何单独控制单片机一个脚电平? -
姜敬纳洁: 例:#include sbit TEST P0^0; main(void) { TEST = 0; ............ TEST = 1; ...............}

肇州县13488229737: 高分!求一单片机检测高低电平程序 -
姜敬纳洁: #include "REG52.H"// 信号输入脚 sbit Extio_INT = P1^0;// 引脚定义 sbit MAX_EXtp1 = P2^0; sbit MAX_EXtp2 = P2^1;/* * 延时1ms */ void Delay_1ms(unsigned int Cnt) { unsigned int x, y; for(x = Cnt; x > 0; x--) for(y = 120; y > 0; y--); }/* * 函...

肇州县13488229737: 请问 有关用C语言描述单片机引脚高低电平语句,除了如P1 - 0表示p1.0口外,还有其他比较方便的表示方法吗 -
姜敬纳洁: 用P1_0表示p1.0是要声明 sbit P1_0 = p1.0是吧?这样多一步变量的声明而已,用起来其实很方便呀.要是想用另外个方法的话,那就直接对p1整体赋值吧,但是这里有一点就是,对p1整体赋值但是又只想改变p1.0的值就要用与和或运算了 具体做法是:p1 = p1 | 0X80; 设置1 p1 = p1 & 0X7F; 设置0 这样看起来,还没定义变量的方便

肇州县13488229737: (新手发问)如何让单片机的管脚输出低电平?? -
姜敬纳洁: 1.对于传统的51单片机,在复位之后所有端口都输出1,即高电平,avr单片机则是portx=0x00,ddrx=0x00的高阻态,pic单片机也是这样. 2.如果你要让led受控,那应该反着接,即在端口输出0的时候才点亮led,另外对于常用的51单片机,高电平...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网