单片机如何按键上升沿触发

单片机开发的时候,需要考虑到芯片成本问题,一般来说,引脚越多的芯片价格越贵,比如同等功能的SOP28肯定比SOP20的要贵不少。那么有什么方案可以去解决IO口不够用的问题呢?如果你的项目中有数码管,或者有大批量的LED灯需要点亮,不妨可以试一试这个LED驱动芯片,这个芯片叫1668,1668是一种带键盘扫描接口的LED驱动控制专用电路,内部集成有MCU数字接口、数据锁存器、LED高压驱动、键盘扫描等电路。

1668特性说明:显示模式键扫描亮度调节电路串行接口振荡方式:内置RC振荡内置上电复位电路1668使用说明:单片机只需要使用三根线和TM1668通信,就可以实现大批量LED灯驱动。首先STB片选信号,低电平有效,当STB为高时,CLK无效。然后CLK时钟线,DIO数据线。DIO在时钟上升沿输入/输出串行数据,从低位开始。

1、如何用单片机普通I/O口检测上升沿或下降沿

用单片机普通I/O口检测上升沿或下降沿,只有一种方法,就是写程序,采用查询方式,查询引脚的状态,当状态发生变化,就是下降沿,或上升沿了。您是问硬件的方式?还是软件的方式?如果是硬件的方式,那么,各种单片机很不相同,需要具体看它的资料。一般来说,某些引脚,例如:外中断引脚、定时器的计数触发引脚、捕获引脚等等,都可以用来检测上升沿与下降沿。

您可以在中断服务程序中做所需的相应操作。至于是上升沿捕获,还是下降沿捕获,还是二者都能捕获,可以由用户自己选择配置。如果是用软件的方式来检测,那道理就简单了。用查询方式:只要将要检测的信号接到某个输入端口的某个位,在程序中反复读取该位的输入,一旦遇到“上次是0此次是1”的情况,就说明检测到了上升沿,遇到“上次是1此次是0”的情况,就说明检测到了下降沿。

2、请问用单片机中断0边沿触发在程序里如何判断是上升沿还是下降沿

这个你可以在端口中设置他是上升沿有效还是下降沿有效啊,要不你也可以试试:按键按下去不放看是否产生中断,再放了看是否产生中断。对于外部中断0,可以这样设置:IT01;//下降沿触发。这个边沿,不用软件判断。也根本无暇判断。阁下说的是什么单片机啊?假如是80c51单片机,那么只有两种出发中断的方式。下降沿触发和低电平触发。

3、单片机按键触发C程序

楼上这么多还叫简单啊!是51系列的吧,那就用中断吧!例如AT89s52,用P3.2中断输入,用P1.1输出,首先在代码适当位置初始化下面代码一次EA1;//中断总开关EX01;//开外部中断,即P3.2口,单片机第12脚切换为中断输入//接下来是中断处理函数voidkey_proc()interrupt0//连接到中断入口0{inti3000;while(i>0);//简单去抖动P1.1~P1.1;//对P1.1电平求反}当按键按下时。