找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

51初学小白~请问定时器为什么不能触发

查看数: 2038 | 评论数: 9 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2022-8-25 11:30

正文摘要:

RT,刚刚学习51的定时器,想做一个每隔50MS闪灯的程序,但LED却常亮,编译是正常的,求问各位老师问题出在哪里了帮忙指点一下,谢谢定时器初始化方法是STC-ISP生成的 50MS 12T 16位自动重载 #include <STC89C5xR ...

回复

ID:825397 发表于 2022-8-25 14:31
定时器模式设置不对。将TMOD &=0xf0改为TMOD =0X01试试。建议不要用ISP中的定时器设置程序,很多错误
ID:59202 发表于 2022-8-25 13:48
如果你用的是stc89c5x的芯片,哪有16位自动重载这个模式,那么TMOD &= 0XF0这一句设定肯定不合适,在应用前还是先搞清楚用的是啥芯片,再研究一下对应的pdf
ID:161164 发表于 2022-8-25 13:19
就算你有钛合金氪石眼你也看不到50MS的闪灯闪烁
ID:647261 发表于 2022-8-25 13:16
这50ms已经超出了正常人能看到的范围了,改1秒试试
ID:1039663 发表于 2022-8-25 13:10
解决了,是89c52没有16位定时器重载,选择16位就好了
ID:624769 发表于 2022-8-25 13:02
时间太短,闪了你也看不出来,500ms翻转一次比较好,这是其1,其二,stc89系列,模式0是13位定时器方式,那么,你所以为的50ms,其实只有6ms出头,那么等于就是常亮了。
ID:451718 发表于 2022-8-25 13:01
1,int类型的i,能够累加到65534么?
2,定时器中断是50ms的间隔,50ms翻转一次P22口的状态,你确定你的肉眼能否分辨100ms以内的闪烁?
ID:491577 发表于 2022-8-25 12:57
你确定可以分辨出50ms闪烁?改成500ms闪烁吧
ID:883242 发表于 2022-8-25 12:39
用手甩一下电路板,如果看到一条连续的亮线,说明没闪。如果看到的是不连续的亮点,那就是已经闪了,但是你的眼睛无法分辨50ms这么快的速度。

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表