试验4按键扫描8种LED亮灭模式控制ICC.PDFVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
试验4按键扫描8种LED亮灭模式控制ICC

/ ARM-AVR 入式开发论坛 实验4:按键扫描+8 种LED 亮灭模式控制(ICC) 更多笔记 / 一、程序结构 二、仿真效果 Author linxiyiran E_mail:605987969@ ※转载请注明出处 / ARM-AVR 入式开发论坛 三、程序源码 1、main.c 1. /******************************************************************************* 2. Platform : AVR mega16学习板(www .) 3. Project : 实验四:按键扫描+8种LED 亮灭模式控制 4. Clock F : 3.6864M 5. Software : ICCAVR7.14C 6. Author : 林夕依然 7. Version : 08.11.22 8. Updata : 09.02.25 模块化 9. 09.04.30 增加proteus 仿真模型,修改key_scan.c检测程序,仿真通过 10. comments : 11. 1、以学习板八个LED 灯和八个按键为硬件电路,JP7 短路块需装上 12. 2、AVR 单片机端口寄存器的使用及理解 13. 3、练习程序模块化,结构化的书写 14. 4、端口电平检测程序的编写方法 15. 5、8种LED 点亮模式由对应的KEY 键选择,同时按下多个键时,LED 点亮模式不 循环进行, 16. 详见仿真。原因为:尽管key_scan.c采用循环判断方式,但采用了状态处理程序 17. 6、增加状态处理,防止运行选定LED模式序时按下其他按键 18. Problem : 19. 1、当前模式运行时切换其他模式时必须先复位,否则不能实现切换,考虑自动切换实现方法 20. 解决方法:更改key_scan.c检测程序,使用for循环,不用while (1)无限循环。 21. *******************************************************************************/ 22. #include iom16v .h 23. #include macros.h 24. 25. void main () 26. { 27. port_init (); 28. while (1) 29. { 30. key_scan (); 31. } 32. //MCUCR=0x40; //空闲模式,CPU 占用100% Author linxiyiran E_mail:605987969@ ※转载请注明出处 / ARM-AVR 入式开发论坛 33. //MCUCR=0x50; //ADC 噪声抑制模式,CPU 占用100% 34. //MCUCR=0x60; //掉电模式,CPU 占用80% 35. //MCUCR=0x70; //省电模式,CPU 占用4% 36. //MCUCR=0xE0; //Standby 模式,CPU 占用80% 37. MCUCR=0xF0; //扩展Standby 模式,CPU 占用4% 38. asm (sleep); //CPU休眠指令 39. } 2、key_scan.c 1. #include iom16v .h 2. #include macros.h 3. /***键盘扫描函数***/ 4. void key_scan () 5. { 6. int l,m,n,o,p,q,r,s,i; 7. 8. if ((PINA(1PA0))==0) //模式1:顺序点亮 9. { 10

文档评论(0)

zhuwo + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档