




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
智能产品设计与应用按键控制跑马灯(暂停和继续)GPIO运用扩展案例导入01/PART
ONE按键控制跑马灯(暂停和继续)GPIO运用扩展按键控制跑马灯,按键暂停和继续(功能分解)LED灯检测函数:同时点亮3个LED灯,延时,然后同时关闭3个LED灯。灯光检测完成后,开始进入跑马灯。跑马灯过程:LED1灯亮,其余熄灭,延时,LED2灯亮,其余熄灭,延时,LED3灯亮,其余熄灭,延时...如此反复。按键控制跑马灯:k1按下后,跑马灯暂停保留当前状态;
再次按下k1,从当前状态处继续运行跑马灯;
当k1按下时,不能打断跑马灯运行。任务:按键控制跑马灯(暂停和继续)按键控制跑马灯(暂停和继续)GPIO运用扩展任务:按键控制跑马灯(暂停和继续)方法1:每次亮一个灯后,扫描按键方法2:1)定义一个Flag_Led=1;1:LED跑马灯运行;0:LED跑马灯停止;2)跑马灯中:Flag_Led=1,才做延时累加;3)键盘扫描中:按键按下,Flag_Led取反;4)主程序中:跑马灯和键盘扫描依次循环运行;P1SEL:功能选择0:通用IO1:外设功能P1DIR:方向选择0:输入1:输出P1INP:输入模式作为通用输入端口时,选择输入模式是上拉、下拉还是三态。
CC2530模块P1_0P1_1P0_4P0_1P2_0LED1LED2LED3K1K2P0INP&=~0X02;//P0_1上拉/下拉P2INP&=~0X20;//P0所有引脚上拉P1SEL&=~0X03;//P1_0,P1_1通用IOP0SEL&=~0X12;//P0_1,P0_4通用IOP1DIR|=0X03;//P1_0,P1_1输出P0DIR|=0X10;//P0_4,输出P0DIR&=~0X02;//P0_1,输入按键控制跑马灯(暂停和继续)GPIO运用扩展复习寄存器设置按键控制跑马灯(暂停和继续)GPIO运用扩展方法一:按键扫描程序分析voidmain(void){InitIO();led_check();while(1){led_running();}}voiddelay(unsignedinti){while(i--);}voiddelay2(unsignedinti){unsignedintj=4;while(j--)delay(i);}#include"iocc2530.h"#defineLED1P1_0#defineLED2P1_1#defineLED3P0_4#definek1P0_1延时函数主程序头文件+宏定义voidInitIO(void){P1SEL&=~0X03;//P1_0,P1_1通用IOP0SEL&=~0X12;//P0_1,P0_4通用IO
P1DIR|=0X03;//P1_0,P1_1输出P0DIR|=0X10;//P0_4,输出
P0DIR&=~0X02;//P0_1,输入P0INP&=~0X02;//P0_1上拉/下拉P2INP&=~0X20;//P0所有引脚上拉LED1=1;LED2=1;LED3=1;//开始灯熄灭}voidkeyscan(void)//按键扫描程序{if(k1==0){delay(200);if(k1==0){while(k1==0);}}}按键控制跑马灯(暂停和继续)GPIO运用扩展方法一:按键扫描程序分析端口初始化子程序按键扫描子程序voidled_check(void)//LED灯检测{LED1=0;LED2=0;LED3=0;delay2(60000);LED1=1;LED2=1;LED3=1;}voidled_running(void){LED1=0;LED2=1;LED3=1;keyscan();delay2(60000);LED1=1;LED2=0;LED3=1;keyscan();delay2(60000);LED1=1;LED2=1;LED3=0;keyscan();delay2(60000);LED1=1;LED2=1;LED3=1;keyscan();delay2(60000);}按键控制跑马灯(暂停和继续)GPIO运用扩展方法一:按键扫描程序分析跑马灯子程序LED灯检测子程序voidmain(void){InitIO();led_check();while(1){led_running();keyscan();}}
#include"iocc2530.h"#defineLED1P1_0#defineLED2P1_1#defineLED3P0_4#definek1P0_1unsignedcharF_led=1;//1:跑马灯在跑,0:跑马灯暂停unsignedintcount=0;voidled_running(void);voidkeyscan(void);按键控制跑马灯(暂停和继续)GPIO运用扩展方法二:定义Flag方式程序分析初始化主程序voidkeyscan(void)//按键扫描程序{if(k1==0){delay(200);if(k1==0){while(k1==0)
//led_running();//如果把这句加在while中,则按下按键,跑马灯继续,松开才停if(F_led==1)F_led=0;elseif(F_led==0)F_led=1;}}}按键控制跑马灯(暂停和继续)GPIO运用扩展方法二:定义Flag方式程序分析按键扫描子程序同方法一的区别按键控制跑马灯(暂停和继续)GPIO运用扩展方法二:定义Flag方式程序分析voidled_running(void){delay2(300);if(F_led==1)count++;if(count==1){LED1=0;LED2=1;LED3=1;}elseif(count==201){LED1=1;LED2=0;LED3=1;}
elseif(co
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 粮油会计考试题库及答案
- 森林防火知识培训报告课件
- 八大员的质量员(设备安装专业)考试题及答案(完整版)
- 2025年中级厨师长专业烹饪技能考试试题集
- 2025年数据分析面试题融媒体集
- 2025年中级摄影测量员考试要点及备考指南
- 2025年信息技术职位面试高频问题解答与模拟题
- 2025年高级数字殡葬规划师专业能力评估题库及参考答案详解
- 2025年老年病管理试题及答案
- 2025年人工智能技术应用工程师职称考试模拟题
- 不交养老保险劳务合同范本
- 智慧监狱智能化整体解决方案
- 初中语文现代文阅读训练及答案二十篇
- 2024封窗高空作业免责协议书范本
- DZ/T 0462.1-2023 矿产资源“三率”指标要求 第1部分:煤(正式版)
- 我的收藏(共10篇)
- 临沧市市级单位遴选(选调)工作人员笔试真题2021
- 一年级拼音培训
- 勇气三声部合唱简谱川师音乐学院
- 机械设计基础期末考试试题(含答案解析)
- 货物退还确认书通用模板
评论
0/150
提交评论