找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4361|回复: 6
打印 上一主题 下一主题
收起左侧

STC8a8k单片机定时器程序问题

[复制链接]
跳转到指定楼层
楼主
ID:230975 发表于 2019-10-12 16:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
为何测出来的小型是500US的上高,500US的低。

#include <stc8.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit led=P1^1;

void init()
     {
           P1M0=0X00;
           P1M1=0X00;
           AUXR&=0X7F;//12T模式
           TMOD&=0Xf0;//定时器0模式0 16位自动装填
           TH0=(65535-1000)/256;
           TL0=(65535-1000)%256;
           TR0=1;
           ET0=1;
           EA=1;
           led=1;
         }
void main()
     {
           init();
           while(1);
              
         }
void TM0_1SR() interrupt 1
    {

          led=~led;
        }


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:155507 发表于 2019-10-13 14:21 | 只看该作者
STC8A默认使用内部振荡器24MHz

回复

使用道具 举报

板凳
ID:213173 发表于 2019-10-13 14:36 | 只看该作者
从楼主的文字表述根本看不出想问什么问题,从程序看是一个500Hz,占空比50%的矩形波发生器。
回复

使用道具 举报

地板
ID:230975 发表于 2019-10-13 16:18 | 只看该作者
wulin 发表于 2019-10-13 14:36
从楼主的文字表述根本看不出想问什么问题,从程序看是一个500Hz,占空比50%的矩形波发生器。

为什么是500HZ,我不是设定的1MS翻一次吗
回复

使用道具 举报

5#
ID:230975 发表于 2019-10-13 16:19 | 只看该作者
wulin 发表于 2019-10-13 14:36
从楼主的文字表述根本看不出想问什么问题,从程序看是一个500Hz,占空比50%的矩形波发生器。

哈哈。是没问题。就是觉得这个初值应该是1MS翻转一次。但是示波器和不一样。
回复

使用道具 举报

6#
ID:213173 发表于 2019-10-13 22:26 | 只看该作者
hmgqljz111 发表于 2019-10-13 16:19
哈哈。是没问题。就是觉得这个初值应该是1MS翻转一次。但是示波器和不一样。

1ms翻转一次,周期就是2ms,频率就是500HZ。楼主的定时器设置虽然是1ms,但这是在12M时钟为前提的。如果在示波器看脉宽500us那一定是主时钟频率翻倍为24M了。
回复

使用道具 举报

7#
ID:65956 发表于 2019-10-14 08:53 | 只看该作者
一种是定时器设置,一种是定时器设置没和单片机晶振同类,比如你设置的1MS设计是按12M设置,可实际烧录时晶振设置是用24M的,这样的就会造成定时时间减半,仅供参考
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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