物联网 |
您所在的位置:网站首页 › ios13键盘插件 › 物联网 |
文章目录
9 矩阵键盘10 定时器与计数器基础开发示例代码:参数设置总结:
9 矩阵键盘
初始化时为11111110 即0xfe(从高位开始算): 当S1被按下是,变成了0xee: 经过一段时间检测,如果还是0xee,则代表按键按下,同理可以得到其他按键的状态。 例如:当2被按下时: 10 定时器与计数器基础开发1s亮灭一次,亮0.5s,灭0.5s。 LED电路原理图: T1CTL设置: 标记频率/128,自由运行从0x0000至0xffff。 系统默认时钟是2分频,即32MHZ/2=16MHZ,标记频率/128,即16M/128=0.125M(定时器频率) 1/.125M=8us,每次8us,自由运行0XFFFF=65535,65535*8=524280us=524.28ms,大约是0.5s。 T1STAT设置: 选择0通道: 示例代码: #include typedef unsigned char uchar; typedef unsigned int uint; #define LED1 P1_0 void ledinit(void) { P1DIR |= 0x01; //00000001 LED1 = 0; } void T1init(void) { T1CTL = 0x0d;//128分频,自由运行从0x0000至0xffff T1STAT = 0x21;//0010 0001 溢出复位Timer 1 counter-overflow interrupt flag选择0通道 } /*************************** //主函数 ***************************/ void main(void) { uchar count = 0; ledinit(); T1init(); while(1) { if(IRCON > 0) //有中断进入 { IRCON = 0; //清除中断(必要) if(count++ >=1) //记录1s { count = 0; //清除计数 LED1=~LED1; } } } } 参数设置总结: |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |