物联网

您所在的位置:网站首页 ios13键盘插件 物联网

物联网

2023-05-19 16:16| 来源: 网络整理| 查看: 265

文章目录 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