找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机延时程序 我咋看不出怎么自适应时钟呢?用22M和11M明显不同嘛

[复制链接]
跳转到指定楼层
楼主
ID:1006638 发表于 2023-2-24 15:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/*---------------------------------------------------------------------*/
/* --- STC MCU International Limited ----------------------------------*/
/* --- STC 1T Series MCU Demo Programme -------------------------------*/
/* 如果要在程序中使用此代码,请在程序中注明使用了宏晶科技的资料及程序   */
/*---------------------------------------------------------------------*/


/*************        功能说明        **************

本文件为STC15xxx系列的延时程序,用户几乎可以不修改这个程序.

******************************************/

#include        "delay.h"



//========================================================================
// 函数: void  delay_ms(unsigned char ms)
// 描述: 延时函数。
// 参数: ms,要延时的ms数, 这里只支持1~255ms. 自动适应主时钟.
// 返回: none.
// 版本: VER1.0
// 日期: 2013-4-1
// 备注:
//========================================================================
void  delay_ms(unsigned char ms)
{
     unsigned int i;
         do{
              i = MAIN_Fosc / 13000;
                  while(--i)        ;   //14T per loop
     }while(--ms);
}


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

使用道具 举报

沙发
ID:86926 发表于 2023-2-24 17:46 | 只看该作者
自适应时钟就是不同的MAIN_Fosc定义的频率不同,然后通过/13000计算得到不同的延时值
回复

使用道具 举报

板凳
ID:1034262 发表于 2023-2-24 18:46 | 只看该作者
MAIN_Fosc定义成22M或11M,会有2倍的差别的。
回复

使用道具 举报

地板
ID:94031 发表于 2023-2-24 19:44 | 只看该作者
i = MAIN_Fosc / 13000;时钟高,i就大,循环次数多;反之,时钟低,i就小,循环次数少;
回复

使用道具 举报

5#
ID:579397 发表于 2023-2-24 20:52 | 只看该作者
MAIN_Fosc会变化的,需要你去设置
回复

使用道具 举报

6#
ID:1061331 发表于 2023-2-24 22:17 | 只看该作者
MAIN_Fosc是一直都改变的,你可以自己去具体定义一下
回复

使用道具 举报

7#
ID:230500 发表于 2023-2-25 00:06 | 只看该作者
这个MAIN_Fosc   在程序前面肯定有宏定义
举例比如:
//5us 延时函数,自动适应主时钟
#define MAIN_Fosc        11059200UL    //定义主时钟HZ


void delay5us()
{
    #if MAIN_Fosc == 11059200
        _nop_();
    #elif MAIN_Fosc == 12000000
        _nop_();
    #elif MAIN_Fosc == 22118400
        _nop_(); _nop_(); _nop_();
    #elif
}
回复

使用道具 举报

8#
ID:748788 发表于 2023-2-25 21:43 | 只看该作者
需要在下载时设置与MAIN_Fosc对应的mcu频率
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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