内容介绍
内容介绍
本期Funpack活动选用的板卡:
Microchip的8位PIC MCU开发板DM164137,其芯片为PIC16F18446。
本期任务:
通过按键扩展功能,分为按键点击(快速点击),短按(大于1秒),长按(大于5秒)用来控制板上LED显示。同时外接串口模块打印信息(包括按键信息,电位计信息)
程序流程:
当按键按下时,使用定时器开始计数,松开时判断按下的时间,跳转到不同的按键事件,执行不同的串口打印和LED状态翻转。
部分代码:
#include <xc.h>
#include "mcu.h"
#include "key.h"
#define _XTAL_FREQ 16000000
void __interrupt() Int(void)
{
unsigned int temp,cTemp;
static unsigned int cnt;
if((PIR0bits.TMR0IF == 1)&&(PIE0bits.TMR0IE == 1))
{
PIR0bits.TMR0IF = 0;
if(cnt <500)
cnt++;
else
{
cnt = 0;// 100毫秒一次
keyScan();
// LED4_STATE ^=1;
// LED5_STATE ^=1;
// LED6_STATE ^=1;
//LED7_STATE ^=1;
}
}
}
void main(void)
{
unsigned char t,buff[10]={0};
initOSC();
initIO();
initAD();
initUart();
initTimer0();
initInterrupt();
while(1)
{
t = getAD();
buff[0] = 'A';
buff[1] = 'D';
buff[2] = '=';
buff[3] = t/100+0x30;
buff[4] = t%100/10+0x30;
buff[5] = t%10+0x30;
buff[6] = '\r';
buff[7] = '\n';
putString(buff);
__delay_ms(500);
CLRWDT();
}
return;
}
附件下载
keyWork.X.zip
程序源码
团队介绍
山东科创工作室
团队成员
小芳说
评论
0 / 100
查看更多
猜你喜欢
FunPack第七期——基于DM164137的按键和ADC实验by叶开通过按键扩展功能,分为按键点击(快速点击),短按(大于1秒),长按(大于5秒)用来控制板上LED显示。同时外接串口模块打印信息(包括按键信息,电位计信息)
yekai
885
Funpack第七期——基于DM164137的按键实验通过按键扩展功能,分为按键点击(快速点击),短按(大于1秒),长按(大于5秒)用来控制板上LED显示。同时外接串口模块打印信息(包括按键信息,电位计信息)
cardry
964
Funpack第七期——基于DM164137的按键实验通过按键扩展功能,分为按键点击(快速点击),短按(大于1秒),长按(大于5秒)用来控制板上LED显示。同时外接串口模块打印信息(包括按键信息,电位计信息)。
星辰i
840