完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛
|
欢迎改进我的程序,辛苦了。 |
|
|
|
|
|
|
|
|
谢谢,分享
|
|
|
|
|
|
|
|
|
鸿哥的代码是有一些漏了的地方,比如第一节就漏了蜂鸣器IO口的输出配置,还有TMR1溢出中断允许重复配置,其他的到是还没发现什么,不过都是些笔误,程序风格和编程思想都很值得小弟慢慢研究!鸿哥V5
![]() 支持鸿哥
|
|
|
|
|
|
|
|
|
谢谢。能发现这些问题,说明你还是很关注我的技术贴。 |
|
|
|
|
|
|
|
|
偷学了几招鸿哥的独门秘籍,发现此绝技确实了得,绝非凡响;可读性,可移植性都比较高,特别是switch被鸿哥应用得出神入化,我似乎领略到鸿哥用_step做后缀的意义; 看鸿哥的按键扫描程序key_scan ()确实精妙,不过我还是有些许困惑,在此提出我的想法,如果有不当之处望鸿哥指点为谢 鸿哥的几个按键扫描 1、独立按键里面的key_scan()
我觉得这句 “else if(key_lock1==0) //有按键按下,且是第一次被按下” 应该改为:“else if(key_sr1==0)//有按键按下,且是第一次被按下” 2、“鸿哥三宝”之74HC165(按键扫描篇)里面的key_scan()
下面是我修改之后的
我对单片机也是刚入门不久,最近在学习鸿哥的思想, 所以提出这些基础的问题,希望能够得到鸿哥的指点, 站在巨人的肩膀上,才能望得更远。 前面有位朋友说过,山登绝顶人为峰, 感谢鸿哥的无私奉献,希望能够学成鸿哥的秘籍精华。 师承鸿哥,天下一绝,也希望有志之士一起学习,一起共勉,一起进步! 谢谢~~~~~~~ |
|
|
|
|
|
|
|
|
你提的这两点,我觉得都不如我原来的代码。我建议你亲自动手搭电路来测试一下你的新想法,看看会遇到什么问题,然后自己去找原因,这样你才会有进步。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
关于第一点,我解释下吧 if(key_sr1==1) //IO是高电平,说明按键没有被按下,这时要及时清零一些标志位 { key_lock1=0; //按键自锁标志清零 delay_cnt1=0; //按键去抖动延时计数器清零,此行非常巧妙 } else if(key_lock1==0) //这句其实等于( key_lock1 == 0 && key_sr1 == 1), key_lock1 是为了保证不让按键一直出发,如果你改成你说的那样, { //你按住按键蜂鸣器会一直响的,鸿哥的思路是你按住不放开只触发一次按键 ++delay_cnt1; //延时计数器 if(delay_cnt1>cnt_delay_cnt1) { delay_cnt1=0; key_lock1=1; //自锁按键置位,避免一直触发 key_sec=1; //触发1号键 } } 请看上面红色的解释,站在鸿哥巨人的肩膀上会看得更远哦 |
|
|
|
|
|
|
|
|
关于第二点,鸿哥那里165是低电平触发按键的,你那搞反了,我没研究过165,所以不知道你的对不对,但是出发按键还是按鸿哥那样有锁触发一次比较好 |
|
|
|
|
|
|
|
|
你的理解非常正确。不过你的解释有笔误。应该是: else if(key_lock1==0) //这句其实等于( key_lock1 == 0 && key_sr1 == 0)。 注意:以上的 key_sr1==0,你原来的笔误写成了 key_sr1==1. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
jianhong_wu 发表于 2013-9-19 13:01 嗯嗯,写快了没检查。 |
|
|
|
|
|
|
|
jianhong_wu 发表于 2013-9-19 13:01 这回可好了,值中秋放假之际,鸿哥终于有点时间给我们评作业了。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
我在发表文章之前都会仔细检查一遍,因此很少有错别字。那天看了你的简介,我比你只大一年,我是84年的。我觉得你想学好单片机,一定要同时把英语,高等数学,电子电工的知识也一起同步学,这是基础。单片机一定要自己动手搭搭电路,自己编程序调试调试才能有进步。 |
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
求解外围电路实现的是4脚给持续低电平复位并正常工作,高电平不工作的原因
2382 浏览 1 评论
4241 浏览 3 评论
PIC1946程序有一个变量在运行过程中恢复初始值其他变量保持不变
2619 浏览 2 评论
3118 浏览 0 评论
PIC16F1825的RC5引脚,在主程序中操作无效,在中断中可以改变是为什么?
4577 浏览 5 评论
有套STM32与西门子200程序需要代写,有兴趣的工程师与有联系!
2489浏览 1评论
用XC8编译PIC18F25K80时提示下面Error,求怎么解决这个问题
6799浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-15 15:00 , Processed in 1.200353 second(s), Total 84, Slave 76 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖