松翰单片机之跑马灯程序解析

[复制链接]
hfbjjs | 2010-12-10 21:05:29 | 显示全部楼层
提一点建议或者意见:
作为帮助初学者的出发点是非常好的,感谢!
但是,作为示例或者提示性的例子,最好能够科学一些.
这里使用 2501B 做例子芯片,跑马灯的频率选择,应该比较迎合人们观看的是间隔 0.5S 时间,为什么?日常使用的时钟冒号就是 0.5S 啊!一闪一闪,从小到大,许多看数字钟的人都习惯了!(注意:这里仅仅对例子而言,实际项目里,可能要快一些!也可能要慢一些!)
再就是:最大限度分析选用芯片的资源,就说 2501B ,有一个实时时钟,使用外部 32768 低频晶体,有一个 RTC 选项,自动生成每隔0.5S中断一次(不用中断也行,可以轮询这个中断标志).有了这个 0.5S 时基,做什么流水灯都很方便,压根无需你去设置定时器的初始化值.
你在示例里,进入中断子程序,也是不够精练的, 2501B 支持很简单的进入与退出中断处理程序,有专门的指令,例如:
INT_SERVICE:;//进入中断子程序
                       PUSH ; 保存 ACC 和PFLAG................一条指令就搞定
                        ;…中断里你的其它指令
             ;…中断里你的其它指令
              POP ; 恢复ACC 和 PFLAG................一条指令就搞定
                        RETI ; 退出中断
是不是更加干净利落啊?
顺便提示: 2051B 是双时钟系统的单片机,当选择 0.5S 实时时钟产生后,仍然可以选择内部 16MHZ 高速时钟运行程序.外部的 32768HZ 晶体仅仅为了实时时钟.编译选项就选择:IHRC_RTC 内部高速16MHz RC,0.5sec RTC.
----------------仅供大家参考.欢迎指教!
wenhuating1314 | 2010-12-16 11:37:38 | 显示全部楼层
顶一下,楼主真好
qiufeng36 | 2010-12-22 18:12:34 | 显示全部楼层
谢谢了,正在找这方面得东东呢!
yhy630 | 2010-12-24 21:26:32 | 显示全部楼层
收到,楼主辛苦!!
wjoby | 2011-1-4 19:23:26 | 显示全部楼层
松翰真小气,不像合泰那样共享资源!
bai_yechuang | 2011-1-11 19:59:06 | 显示全部楼层
对初学者来说,太有用拉。希望楼主可以写点针对松翰单片机入门者的程序。
seleman0305 | 2011-2-8 15:08:20 | 显示全部楼层
程式初学,谢谢
先行者 | 2011-2-11 14:33:03 | 显示全部楼层
谢谢分享、、、
归一 | 2011-2-11 14:38:20 | 显示全部楼层
分享了
谢了
anflower | 2011-2-13 08:48:21 | 显示全部楼层
希望,能提供个C资源程序!
您需要登录后才可以回帖 登录 | 注册

本版积分规则