数码之家

 找回密码
 立即注册
搜索
查看: 778|回复: 6

[C51] 下面是stc8单片机定时20ms函数请问如何改成中断0.1ms

[复制链接]
发表于 2022-12-6 19:47:20 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

您需要 登录 才可以下载或查看,没有账号?立即注册

x
void Timer0Init(void)                //20毫秒@24.000MHz
{
        AUXR &= 0x7F;                //定时器时钟12T模式
        TMOD &= 0xF3;                //设置定时器模式
        TL0 = 0xC0;                //设置定时初始值
        TH0 = 0x63;                //设置定时初始值
        TF0 = 0;                //清除TF0标志
        TR0 = 1;                //定时器0开始计时
        ET0 = 1;
}

发表于 2022-12-6 20:15:17 | 显示全部楼层

void Timer0Init(void)                //0.1毫秒,100US@24.000MHz
{
        AUXR &= 0x7F;                //定时器时钟12T模式
        TMOD &= 0xF3;                //设置定时器模式
        TL0 = 0x38;                //设置定时初始值
        TH0 = 0xFF;                //设置定时初始值
        TF0 = 0;                //清除TF0标志
        TR0 = 1;                //定时器0开始计时
        ET0 = 1;
}
回复 支持 反对

使用道具 举报

发表于 2022-12-6 20:22:07 | 显示全部楼层
试试 TH0=0x09; TL0=0x60
回复 支持 反对

使用道具 举报

发表于 2022-12-6 20:28:19 | 显示全部楼层
用STC-ISP啊
回复 支持 反对

使用道具 举报

发表于 2022-12-7 12:12:59 来自手机浏览器 | 显示全部楼层
用中断需要开总中断EA=1,还需要开定时器中断ET0=1,当然还需要写一个中断函数   interrupt  1。我看你这个应该不是自动重装的,所以中断函数里边还需要重新给定时器付初值。
回复 支持 反对

使用道具 举报

发表于 2022-12-9 00:33:22 | 显示全部楼层
TMOD &= 0xF3;
不可屏蔽中断的16位自动重载模式
与模式0相同,不可屏蔽中断,中断优先级最高,高于其他所
有中断的优先级,并且不可关闭,可用作操作系统的系统节拍
定时器,或者系统监控定时器。

100微秒@24.000MHz,初始时间间隔设置
TL0 = 0x38;
TH0 = 0xFF;
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2022-12-9 10:16:20 | 显示全部楼层
STC的下载软件上就有定时器计算器,设置好参数后,都可以自动的生成代码,非常方便使用

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

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

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-5-4 00:28 , Processed in 0.249600 second(s), 11 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

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