打印

用C编写一程序.动态扫描放在哪里好?

[复制链接]
1880|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
qianlong30|  楼主 | 2008-1-14 21:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
主从机通信(PIC16F877A),主机任务:
1. 动态扫描19个七段LED;
2. 扫描11个按键(软件消抖),
3. 串行通信,向从机发送一个命令字节,然后接受从机传过来的12字节(从机12字节是连续发送的),波特率 很低,300左右(为了抗干扰),主从通信距离300米.


这个动态扫描放在哪里好?放在定时中断程序中?还是定时中断置1,主程序查询到1后调用动态扫描程序?但感觉主程序查询1的方法很麻烦.做什么工作都要想着查询是否是1以确定扫描.放在中断程序中又担心扫描时耽误了通信接收.

菜鸟请赐教.

相关帖子

沙发
hotpower| | 2008-1-14 22:07 | 只看该作者

定时=20mS/11

使用特权

评论回复
板凳
wlsui| | 2008-1-14 22:24 | 只看该作者

定时24ms/19

定时24ms/19,不但解决19个LED问题,也解决按键问题

使用特权

评论回复
地板
hotpower| | 2008-1-14 23:34 | 只看该作者

实际应用取20mS/20较好

为了节拍可以为时钟等利用,一般取周期为20mS或25mS.

若选择11做节拍,即以键盘为"基准",那么节拍应该为20mS/11=1.818mS
这样显示周期为29Hz左右,估计有些晃眼~~~

若选择11做节拍,即以显示为"基准",那么节拍应该为20mS/19=1.053mS
这样显示周期为50Hz,肯定看者舒服.

但若想节拍为时钟等利用,应该取20mS/20=1mS
显示周期依然为50Hz.

多的那个可以处理其他的任务.

节拍计数器为 0~10时处理显示和键盘任务
节拍计数器为11~18时只处理显示
节拍计数器为   19时处理其他任务




使用特权

评论回复
5
xwj| | 2008-1-15 08:36 | 只看该作者

一般放定时中断里,时间多少无所谓,但一定要把周期错开

使用特权

评论回复
6
LastNew| | 2008-1-15 11:34 | 只看该作者

系统时钟1mS?

系统时钟1mS?
会不会太频繁了

我取的5mS,要扫10个键,还有LCD,会出什么样的问题了?

使用特权

评论回复
7
ayb_ice| | 2008-1-15 16:22 | 只看该作者

放大主循环哪里都可以

使用特权

评论回复
8
martial| | 2008-1-15 17:26 | 只看该作者

定时1ms是不是有点少呀,感觉好多都花时间超过1ms

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

149

主题

349

帖子

2

粉丝