、 延伸讨论
1〉 在 修 改 主 程 序 +$ 的 过 程 中 , 对 寄 存 器
BC、C"##C"##%、C"#C"#% 的名称问题,对于刚入手
者确实有一定难度。由于包含了文件 9,:;:$&9,该文件又包
含了“K%(%$&3,这是与选用的 !0 相关的,建议打开这个
!0 相关的头文件仔细阅读,对于 " 口数据寄存器的定义如下,
如果看不懂建议要搞懂 语言的数据结构和联合的用法。关于方
向寄存器的定义与此相似。
2〉 关于采用 - 循环进行延时的问题。首先这种方法很难做到精确
的延时,而且对于首次使用这款单片机的人来说,粗略延时都很
难估算,这是因为 - 循环的延时跟系统的总线时钟有关。虽然
电路板上焊接了 IL 晶振,但上面的例子并没有用到,用的是
内部缺省时钟。内部缺省时钟在不修改参数的情况下,总线时钟
是 IL。如果在主函数死循环前面添加修改时钟的代码,将时
钟切换到外部晶振,同时启用内部的 ** 锁频环,将下面的代码
放在 -<??=死循环之前,将会产生 IL 的总线时钟,重新下载
运行后发现 *# 闪烁的速度明显加快。
7888C"#."#.G .?%)%%%%%%%8887
.M!,-0++>
1M."M.?
.0.>
1M.C"#%?78."#.G .".%87
1M.C"#?78."#.G .".87
1M.C"#?78."#.G .".87
1M.C"#?78."#.G .".87
1M.C"#?78."#.G .".87
1M.C"#?78."#.G .".87
1M.C"#?78."#.G .".87
1M.C"#?78."#.G .".87
F". ?
FC"#CG?
).+:;C"#CGC"#N%)%%%%%%%?
4,O+C"#C"#$"M.
4,O+C"#C"#%C"#$". $C"#%
4,O+C"#C"#C"#$". $C"#
4,O+C"#C"#C"#$". $C"#
4,O+C"#C"#C"#$". $C"#
4,O+C"#C"#C"#$". $C"#
4,O+C"#C"#C"#$". $C"#
4,O+C"#C"#C"#$". $C"#
4,O+C"#C"#C"#$". $C"#