2661|3

855

帖子

5

TA的资源

一粒金砂(高级)

楼主
 

【R7F0C809】+定时器点灯 [复制链接]

粗略上手玩一把,就先拿定时器点个灯吧。直接在官方代码上修改的,思路跟51时代的代码区别不是很大,先初始化定时器,填入初值。主函数调用然后开启定时器,等待定时器溢出后,在中断服务函数里重装初值以及翻转IO口即可。
查看LED灯的硬件连接,可发现:D3阴极连接到了单片机的P01口,如下图所示:
确定好硬件连接后,接下来开始配置IO口为输出。代码部分如下:
      P0 &= 0xFDU;
      PM0 &= 0xFDU;
     PMC0 &= 0xFDU;
这里解释下各个寄存器的作用及配置。P0即为设定端口输出锁存值的寄存器;
PM0为端口模式寄存器;
PMC0为端口模式控制寄存器
这几句代码将P01口配置为数字输出模式,并且向其写0。
端口配置就介绍到这里,下面开始配置定时器。R7F0C809的定时器功能很强大,如下图所示:
由上图可以看出,R7F0C809定时器可以用作间隔定时器、方波输出、计数器、延迟计数器、多路PWM输出、分频器等功能,定时器和串口结合更可以实现串口的波特率校正,即自适应波特率。功能比51强大的多。
本次试验我只使用定时器最基本的功能,即间隔定时器。配置定时器为2ms溢出一次,溢出250次后,翻转IO口,达到500ms亮、500ms灭的效果。通过观察R7F0C809装入定时器数据寄存器的值发现,定时器的计数频率为10MHZ。是主时钟频率的一半。为什么这么说呢?看2ms填入的数值为0X9C3F=39999;1ms填入的数值为0X4E1F=19999;0.5ms对应于0x270F。由以上数据可算出计数频率为10MHZ。
将代码下到板子上,可以看到小灯开始闪烁了。


LED.rar

61.02 KB, 下载次数: 37

最新回复

楼主,给力耶!帖子很详细,很给力啊!顶一下咯@!   详情 回复 发表于 2015-8-28 11:20
点赞 关注(1)
个人签名作为一个菜逼,干货并没有多少。唯一会的就是水,所以回帖水分大。望见谅!

回复
举报

1891

帖子

2

TA的资源

纯净的硅(中级)

沙发
 
不错。。。下一步是不是 AD 了
 
个人签名
分享铸就美好未来。。。




 

回复

2549

帖子

0

TA的资源

五彩晶圆(初级)

板凳
 
不错,学习了
 
 
 

回复

62

帖子

3

TA的资源

一粒金砂(中级)

4
 
楼主,给力耶!帖子很详细,很给力啊!顶一下咯@!
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表