内容介绍
内容介绍
Hello,我是道,一名电子工程师,这是我的第七期参与Funpack项目中,这一期的8位单片机又让我回到以前51时代芯片资源紧缺的感觉,就几K的容量,感觉啥应用的做不了。后面细看它的外设相对于ST的更加开放,支持更多玩法
这一次我也没有玩其他的,就是使用板卡自带的按钮和灯来完成这个项目。
首先是使用USB转串口的线连接单片机的RC7和RB5脚,这两个是他的串口引脚
芯片的RA5、RA1、RA2、RC5分别对应板卡的LED4、5、6、7四个灯
芯片的RC4对应板卡的S1按钮
使用IDE MCC配置系统如下
该项目通过delay函数和计数器来控制时间。通过轮询的方式读取按钮的状态。初始化LED4闪烁、如果按键时间小于1s就闪烁LED5、大于1s小于5s就闪烁LED6、大于5s就闪烁LED7,每次按按钮都将按键类型通过串口发送出来的。
下面是核心代码:
void Key_Push(void)
{
__delay_ms(1000);
if(S1_GetValue()==0)
{
__delay_ms(5000);
if(S1_GetValue()==0)
{
Led_Type=3;
printf("Long Push\r\n");
}
else
{
Led_Type=2;
printf("Short Push\r\n");
}
}
else
{
Led_Type=1;
printf("Fast Push\r\n");
}
while(S1_GetValue()==0);
LED4_SetLow();
LED5_SetLow();
LED6_SetLow();
LED7_SetLow();
}
while (1)
{
__delay_ms(5);
count++;
if(count==100)
{
count=0;
switch(Led_Type)
{
case 0:
LED4_Toggle();
break;
case 1:
LED5_Toggle();
break;
case 2:
LED6_Toggle();
break;
case 3:
LED7_Toggle();
break;
}
}
if(S1_GetValue()==0)
{
Key_Push();
}
// Add your application code
}
8位单片机的资源非常少,适合做低成本但是量大的项目。根据项目需求,倒是可以学习一下
附件下载
PIC.zip
团队介绍
道之道
评论
0 / 100
查看更多
猜你喜欢
Funpack2-2:KIT_AURIX_TC275_LITE-呼吸灯任务二:
设计一个呼吸灯,通过旋转板卡上的电位计,改变呼吸灯闪烁速率,同时将ADC采集的数据通过串口/CAN,发送到另一台设备上显示
flag&刺猬
565
Funpack2-6-nRF7002蓝牙键鼠复合设备Funpack第二季第六期,基于nRF7002DK开发板实现蓝牙鼠标+键盘复合设备
yearnext
261
Funpack2-6:基于nRF7002 DK的蓝牙键鼠复合设备任务一:使用板卡的蓝牙连接,设计一个蓝牙鼠标+键盘复合设备,按键1作为鼠标点击,按键2作为键盘输入按下时输入“eetree”字符,电脑开启大写锁定时,板卡的LED亮起。
flag&刺猬
237