//弥补阐明:吴坚鸿程序风格是这样的,但凡做类型的变量的分类 //后缀都用_sec表明。 Uns...。
//弥补阐明:吴坚鸿程序风格是这样的,但凡做类型的变量的分类 //后缀都用_sec表明。 Unsigned char key_sec=0; //哪个按键被触发
//弥补阐明:吴坚鸿程序风格是这样的,但凡只要两种状况(0或许1)的变量, //后缀都用_flag表明。 Unsigned char AD_Flag=0; //用来指示单片机内部硬件AD处理完结的标志
//弥补阐明:吴坚鸿程序风格是这样的,但凡switch()句子括号里边的变量名 //后缀都用_step表明。
unsigned char ad_step=0; //AD扫描过程变量, //弥补阐明:吴坚鸿程序风格是这样的,但凡按键或许感应输入的自锁变量名 //后缀都
//弥补阐明:吴坚鸿程序风格是这样的,但凡输出IO后缀都是_dr,但凡输入的//IO后缀都//是_sr
//弥补阐明:吴坚鸿程序风格是这样的,但凡按键扫描函数都放在守时中 //断里,但凡按键服务程序都是放在main函数循环里。有人说不应该把子程序//放在中止里,别听他们,信鸿哥无崎岖。 void key_scan(); //按键扫描函数,放在守时中止里 void key_service(); //按键服务函数,放在main函数循环里 void ad_samping(); //AD采样, 放在main函数循环里 void delay100(); //小延时
第三节:AD按键扫描与蜂鸣器 (1) 开场白: AD按键能轻松完成一个IO口驱动几个按键的意图,以鸿哥的经历,一个IO口操控的按键数量主张仍是不要超越3个。从实践应用来考 虑,独立按键的方法最好,其次是队伍按键,最次是AD按键。 (2)功用需求:每按一个按键,蜂鸣器就响一次。 (3)硬件原理: (a)用4个电阻竖着串联起来,最上端接5V,最下端接地。从上往下,最上端接5V的算第一个节点,最下端接地算最终一个 节点,共5个节点。用一个带AD的IO口衔接到第2个节点上,此节点上衔接第一个按键,按键的另一端接地。以此方法,第二 个按键衔接到第3个节点,第三个按键衔接到第4个节点。这4个电阻的意图主要是用来分压,靠不同的电压来辨认不同的按 键。 (b)用1个IO通过8050三极管来驱动有源蜂鸣器,有源蜂鸣器通电就一向响,断电就中止。 (4)源码合适的单片机:PIC16f73,晶振为4MHz (5)源代码解说如下: #include //包括芯片相关头文件
(6)小结: 有两路AD通道进行切换时,有必要加一个小延时delay100(),不然会呈现无厘头现象。“无厘头现象“是鸿哥创造的一个新词,专 门用来表明那些不可思议的,用理论欠好解说的现象。 (未完待续下一节)
ad_step=0; //下次循环切换回最前面那个过程,这种操控方法我最喜