008通用IO接口2-戴敏.ppt

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
通用IO接口-2 本节要点 查询方式下的输入 按键消抖和矩阵键盘 中断的使用 中断方式下的输入 第一个工程:控制发光二极管指示灯闪烁 要求,根据前面课上讲解的知识,设计程序,实现E4灯闪烁。 #include derivative.h“ void delay(void); /*********************************************************/ int main(void) { SIM_SCGC5 = SIM_SCGC5_PORTA_MASK;//打开A口时钟 ,值为0x200u PORTA_PCR10 |= (18); //将A口10号 引脚配置为GPIO口功能 GPIOA_PDDR= 110; //引脚配置为输出功能 while(1) { GPIOA_PTOR|=110; //输出取反寄存器;灯闪烁 delay(); //延时 } return 0; } void delay() //延时程序 { unsigned int i, n, m ; for(i=0;i30000;i++) for(n=0;n100;n++) m=m; } 第二个嵌入式C语言工程:对按键进行查询方式工作,启动/停止发光二极管闪烁 两个按键分别接PTA19,PTE26,当键按下,对应引脚输入低电平。输入、设置内部上拉电阻。 先画流程图,考虑好逻辑关系再编程。 第二个嵌入式C语言工程:对按键进行查询方式工作,启动/停止发光二极管闪烁 #include “derivative.h“ //KEY-PTA19,LED-PTA10 int main(void) { SIM_SCGC5 = SIM_SCGC5_PORTA_MASK;//打开A口时钟 ,值为0x200u PORTA_PCR10 |= (18); //将A口10号 引脚配置为GPIO口功能 PORTA_PCR19 |= (18) | (11) |(10) ; //将A口19号 引脚配置为GPIO口功能,拉电阻有效,上拉 GPIOA_PDDR |= 110; //PTA10引脚配置为输出功能 GPIOA_PDDR = ~(119); //PTA19引脚配置为输入功能 while(1) { //add your code } return 0; } #include “derivative.h“ //KEY-PTA19,LED-PTA10 int main(void) { unsigned int key; //初始化代码 while(1) { //add your code key = GPIOA_PDIR 0x80000; if(key == 0) GPIOA_PDOR = ~(110); //有键按下,LED 亮 else GPIOA_PDOR |= (110); //无键按下,LED 灭 } return 0; } 抖动时间 <10ms 开关动作时间 >100ms “ 1 ” “ 0 ” <10ms 按键抖动 硬件电路消除抖动或软件消除抖动。 软件消除抖动 延时等待10ms 仍有按键信号? Y 有按键信号? N Y N 键盘识别 按键释放? N Y 矩阵键盘 行0 行1 行2 行3 列3 列2 列1 列0 +Vcc 1).扫描法 列线输出,行线输入。 列线逐行输出0,某行有按键,行线输入有0,若无按键,行线输入全部为1。 2).反转法 行列线交换输入、输出,两步获取按键键号。 矩阵键盘 综合练习: 实验仪器上有两个按键、四个LED灯,请自己设计一个控制流程,希望把按键和LED都用上。 例如:荧光棒,多种亮灯模式,通过按键切换模式。 程序的功能说明和流程图, 请写在作业本上,程序第2次 上机时调试。 中断 中断(Interrupt ) 因事件发生,程序中止正常的执行流程,转入到该事件的处理程序。 中断服务程序 (ISR, Interrupt service routine) 中断返回 事件处理完毕(ISR执行完毕)返回正常的流程。 与函数调用的区别 被动

文档评论(0)

tiangou + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档