完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 3htech 于 2012-11-8 14:21 编辑
鸿哥,可否把你的代码发个附件? 这样看,格式不对齐,有点累。 另有两个问题, 1,您的小延时程序delay1()函数在当前硬件基础上,延时时长是多少? 2,您的中断频率是多少? 3,该按键程序是不是仅适用于单击?我看着代码里是这样的。 (独立按键)而且我也发现,如果多个键同时按下的话,程序应该得到的是最后查询那条口线的的键值。不知道对不对。 继续期待。 |
|
|
|
|
|
不了解PIC,25个中断延时时间才能检查出按键值,所以中断的频率应该很快,1ms或2ms;期待下文...
|
|
|
|
|
|
|
|
|
|
本帖最后由 jianhong_wu 于 2012-12-16 10:02 编辑
对不起,我不会以附件的形式发给任何人。我的程序是直接在word文档里写的,没有经过上机编译,所以有可能会有语法错误。真正的有心人,真正感兴趣的人,我相信他会自己去克服阅读的不便,这个也是我考验读者的机会。我希望真正想学东西的人,自己私下上机调试练习,纯粹阅读进步不大。 1,您的小延时程序delay1()函数在当前硬件基础上,延时时长是多少? 您问的这个问题对于实战来说没有意义。因为我也不知道,而且也没必要知道。你只要知道delay1(40)里面的“40“这个数是决定延时的长短即可,当你发现上机测试时,这个时间太长了,你就把它改小点,当你发现它太短了,就把它改大点,直到你自己满意为止,何必知道时长是什么呢,你说对不对? 2,您的中断频率是多少 这个问题的回答同上。 3,该按键程序是不是仅适用于单击?我看着代码里是这样的。 (独立按键)而且我也发现,如果多个键同时按下的话,程序应该得到的是最后查询那条口线的的键值。不知道对不对。 你的判断没错,说明你有一定的编程基础,不错。 2012年12月16日鸿哥良心发现之后的补充: 记得我刚出第一节“按键行列扫描与蜂鸣器”的时候,网友“3htech ”曾经质疑过我在中断里直接用delay1(40)这个延时,昨天也有个朋友针对这个问题跟我讨论过,我觉得有必要在此多说明一下。在定时中断里用delay1(40)这种延时确实是兵家大忌。我这段程序是直接复制我当时做的一个项目的,因为这个项目是用在工控上的流程控制,对速度不敏感,而且delay1(40)这个延时还不是特别长,所以在这个项目上没有什么影响。为了不误人子弟,我还是决心把delay1(40)改成计数延时的方式,目前已经更改完毕。同时感谢网友“3htech ”的建议。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
求解外围电路实现的是4脚给持续低电平复位并正常工作,高电平不工作的原因
2076 浏览 1 评论
3486 浏览 3 评论
PIC1946程序有一个变量在运行过程中恢复初始值其他变量保持不变
2329 浏览 2 评论
2754 浏览 0 评论
PIC16F1825的RC5引脚,在主程序中操作无效,在中断中可以改变是为什么?
4012 浏览 5 评论
956浏览 0评论
用XC8编译PIC18F25K80时提示下面Error,求怎么解决这个问题
6343浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 08:57 , Processed in 0.903704 second(s), Total 91, Slave 81 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号