8m晶振怎么写延时函数

1.stm32外部晶振由8m换成12m系统延时函数如何更改

下面我们就通过简单的三个步骤就可以让你随意的使用4—16MHz之内任何频点的晶振,我们以STM32F10x_StdPeriph_Lib_V3.4.0为例说明。 第一步,打开stm32f10x.h,将

#define HSE_VALUE ((uint32_t)8000000) 修改为:

#define HSE_VALUE ((uint32_t)12000000)

第二步,打开system_stm32f10x.c,修改PLL参数,将

RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL));

RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL9); 修改为:

RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL));

RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL6); 至此,原文件已经修改完成,如果你想将主频修改至其他频率,请自行修改。但是,到现在,如果您直接编译调试的话,就会出现上文所说的USART的波特率不正确,Systick走时不准等问题,原因就是我们需要进行第三部的修改,这个修改不是在原文件中,而是在编译环境中。我们已Keil MDK为例说明。

第三步,打开你已经建立的STM32工程,选择Projects-〉Options for target ***,找到Target标签,你会发现,外接的晶振默认还是8MHz,我们将外接的晶振参数修改为12MHz,确定保存,再编译,调试,你就会发现,所有的参数都回归的正常轨道,设置波特率为9600,它也不会跑到14400,设置Systick为1ms中断,它不会1.5ms中断。

2.24M晶振怎么用DELAY函数延时

#include

#define uchar unsigned char #define uint unsigned int //延时子程序 void mDelay(uchar Delay) { uchar i; for(;Delay>0;Delay--) { for(i=0;i } } void main() { uchar i,d; P0 = 0; //所以LED点亮。

mDelay(250);//延时250mS(12M晶振)

mDelay(250);//延时250mS(12M晶振)

while(1) { d = 0x01; for(i=0;i { P0 = ~d; //数据取反。

d//左移一位 mDelay(200);//延时200mS(12M晶振) } } }

#include

#define uchar unsigned char

#define uint unsigned int //延时子程序 void mDelay(uchar Delay)

{ uchar i; for(;Delay>0;Delay--)

{ for(i=0;i } } void main() { uchar i,d; P0 = 0; //所以LED点亮。

mDelay(250);//延时250mS(12M晶振)

mDelay(250);//延时250mS(12M晶振)

while(1) { d = 0x01; for(i=0;i { P0 = ~d; //数据取反。

d//左移一位 mDelay(200);//延时200mS(12M晶振) } } }

3.求教ATmega128在8M内部晶振下ms和us的精确延时子程序

//us级延时

void delay_1us(void) //1us延时函数,不能连续调用,

{

asm("nop");

asm("nop");

asm("nop");

asm("nop");

asm("nop");

asm("nop");

}

void delay_3us(void) //3us延时函数,,可重复调用不影响精度

{

asm("nop");

asm("nop");

asm("nop");

asm("nop");

asm("nop");

asm("nop");

asm("nop");

asm("nop");

asm("nop");

asm("nop");

asm("nop");

asm("nop");

asm("nop");

asm("nop");

asm("nop");

asm("nop");

asm("nop");

asm("nop");

}

void delay_10us(void) //10us延时函数,可重复调用不影响精度

{

delay_3us();

delay_3us();

delay_3us();

}

void delay_50us(void) //48us延时函数,可重复调用不影响精度

{

delay_10us();

delay_10us();

delay_10us();

delay_10us();

delay_10us();

}

void delay_100us(void)//exactly 98us延时函数,可重复调用不影响精度

{

delay_50us();

delay_50us();

delay_3us();

}

//ms级延时

void delay_1ms(void)

{

delay_100us();

delay_100us();

delay_100us();

delay_100us();

delay_100us();

delay_100us();

delay_100us();

delay_100us();

delay_100us();

delay_100us();

}

void delay_ms(uint ms )

{

while(ms--)

delay_1ms();//8MHZ主频时,25分钟误差小于1秒

}

4.stm32外部晶振由8m换成12m系统延时函数如何更改

下面我们就通过简单的三个步骤就可以让你随意的使用4—16MHz之内任何频点的晶振,我们以STM32F10x_StdPeriph_Lib_V3.4.0为例说明。

第一步,打开stm32f10x.h,将 #define HSE_VALUE ((uint32_t)8000000) 修改为: #define HSE_VALUE ((uint32_t)12000000) 第二步,打开system_stm32f10x.c,修改PLL参数,将 RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL9); 修改为: RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL6); 至此,原文件已经修改完成,如果你想将主频修改至其他频率,请自行修改。但是,到现在,如果您直接编译调试的话,就会出现上文所说的USART的波特率不正确,Systick走时不准等问题,原因就是我们需要进行第三部的修改,这个修改不是在原文件中,而是在编译环境中。

我们已Keil MDK为例说明。 第三步,打开你已经建立的STM32工程,选择Projects-〉Options for target ***,找到Target标签,你会发现,外接的晶振默认还是8MHz,我们将外接的晶振参数修改为12MHz,确定保存,再编译,调试,你就会发现,所有的参数都回归的正常轨道,设置波特率为9600,它也不会跑到14400,设置Systick为1ms中断,它不会1.5ms中断。

5.单片机不同晶振怎么计算延迟时间

一般来说要是通过延时函数来得到一个精准的延时时间(比如你说的1us、2us)是让正常人无法忍受的工作量,你可以点击编辑环境中的放大镜图标,在左边会弹出显示栏,sys下sec就是延时时间(要通过设置断点),你可以改变函数中变量值大概地调出需要的时间(希望你不要固执地去尝试调出你要的时间,因为这会让你享受到一天都不止的漫长调试“乐趣”中)。

晶振频率不同自然在相同参数的情况下得出延时时间不同。另外如果你确实需要得到一个比较精准的延时时间,建议你采用定时/计数器,至于怎么用这玩意儿,很简单!不到十分钟就能学会的事儿!这里就不提供教程了,用你调试的时间去学它会让你更有成就感。

写了那么多,希望能帮助点什么。

6.求教ATmega128在8M内部晶振下ms和us的精确延时子程序

//us级延时void delay_1us(void) //1us延时函数,不能连续调用, { asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop");}void delay_3us(void) //3us延时函数,,可重复调用不影响精度 { asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop");}void delay_10us(void) //10us延时函数,可重复调用不影响精度{ delay_3us(); delay_3us(); delay_3us();}void delay_50us(void) //48us延时函数,可重复调用不影响精度 { delay_10us(); delay_10us(); delay_10us(); delay_10us(); delay_10us(); } void delay_100us(void)//exactly 98us延时函数,可重复调用不影响精度 { delay_50us(); delay_50us(); delay_3us(); }//ms级延时void delay_1ms(void) { delay_100us(); delay_100us(); delay_100us(); delay_100us(); delay_100us(); delay_100us(); delay_100us(); delay_100us(); delay_100us(); delay_100us(); }void delay_ms(uint ms ){ while(ms--) delay_1ms();//8MHZ主频时,25分钟误差小于1秒}。

7.8MHZ的晶振定时10us该怎么写,C语言

你是想用定时器中断还是软件定时(相当于延时)

定时器中断:

定时器0、16位自动重载、1T

void Timer0Init(void) //10微秒@8MHz

{

AUXR |= 0x80; //定时器时钟1T模式

TMOD &= 0xF0; //设置定时器模式

TL0 = 0xB0; //设置定时初值

TH0 = 0xFF; //设置定时初值

TF0 = 0; //清除TF0标志

TR0 = 1; //定时器0开始计时

}

软件延时:

void Delay10us() //@8MHz

{

unsigned char i;

_nop_();

_nop_();

i = 17;

while (--i);

}

8.24M晶振怎么用DELAY函数延时

你可以用帝王强勃,效果很不错的哦 戳 #include #define uchar unsigned char #define uint unsigned int //延时子程序 void mDelay(uchar Delay) { uchar i; for(;Delay>0;Delay--) { for(i=0;i } } void main() { uchar i,d; P0 = 0; //所以LED点亮。

mDelay(250);//延时250mS(12M晶振) mDelay(250);//延时250mS(12M晶振) while(1) { d = 0x01; for(i=0;i { P0 = ~d; //数据取反。 d//左移一位 mDelay(200);//延时200mS(12M晶振) } } } 学习交流,看签名!欢迎您一起来学习单片机 #include #define uchar unsigned char #define uint unsigned int //延时子程序 void mDelay(uchar Delay) { uchar i; for(;Delay>0;Delay--) { for(i=0;i } } void main() { uchar i,d; P0 = 0; //所以LED点亮。

mDelay(250);//延时250mS(12M晶振) mDelay(250);//延时250mS(12M晶振) while(1) { d = 0x01; for(i=0;i { P0 = ~d; //数据取反。 d//左移一位 mDelay(200);//延时200mS(12M晶振) } } } 学习交流,看签名!欢迎您一起来学习单片机。

8m晶振怎么写延时函数

转载请注明出处育才学习网 » 8m晶振怎么写延时函数

知识

therereally后面怎么写

阅读(258)

本文主要为您介绍therereally后面怎么写,内容包括Theworld,,Really后面+动词什么形式,really后面加什么动词。The world, there really are a person silently watching you, love you

知识

英国签证里的attributes怎么写

阅读(196)

本文主要为您介绍英国签证里的attributes怎么写,内容包括英国签证里的title/rank怎么填,英国签证address怎么填,英国签证申请表里面的birthofplace怎么填。VAF9,这个挺简单的,只要按照指导上写就好了,主要说点注意事项吧(所有选项都是打叉,我很

知识

电梯更换申请书怎么写

阅读(278)

本文主要为您介绍电梯更换申请书怎么写,内容包括安装电梯申请书怎么写,向物业管理处申请电梯更换怎么写,电梯安装申请报告怎么写。电梯安装前,应由监理单位(或建设单位)、土建施工单位、安装单位共同对电梯井道和机房(如果有)按本工艺标准的要求

知识

收藏品公司销售总结怎么写

阅读(306)

本文主要为您介绍收藏品公司销售总结怎么写,内容包括收藏品销售话术怎么写,收藏品公司的财务总结怎么写,,收藏品公司的财务总结怎么写,。原发布者:bsfqgs我想我能,我一定能!销售技巧和心得(NO.2)总结要想获得销售成功,你必须把自己推销出去。1.树

知识

安置房楼层底调高申请书怎么写

阅读(273)

本文主要为您介绍安置房楼层底调高申请书怎么写,内容包括安置房申请书怎么写,关于安置房申请书要怎么写,廉租房低楼层申请书怎么写,给写个范文吧,谢谢啦。安置房申请书范例房改办: 我是**职工,年收入**元,现在居住在**路**房间,人均居住面积**

知识

参观上海院士风采馆横幅怎么写

阅读(227)

本文主要为您介绍参观上海院士风采馆横幅怎么写,内容包括给我一篇上海院士风采馆参观有感,给我一篇上海院士风采馆参观有感,上海院士风采馆的详细介绍。社会实践暑假里,学校组织了我们去黄兴路上的院士风采馆参观。走进风采馆,首先观看了一段

知识

西餐学徒简历怎么写

阅读(277)

本文主要为您介绍西餐学徒简历怎么写,内容包括西餐厨师简历怎么写,西餐厨师简历怎么写,蛋糕店学徒简历要怎么写啊第一次写简历.不是很清楚.且紧张.大家有。西餐厨师个人简历模板(一) 个人概况 姓名:*** 性别:男 身高:178cm 出生年月:1985年1月5日

知识

大师用英语怎么写

阅读(215)

本文主要为您介绍大师用英语怎么写,内容包括大师的英语单词怎么写,英语大师这道怎么写,英语大师这怎么写。Here let me introduce my friend,his english name is jasonpan,he is m

知识

手机桌面怎么写文字

阅读(421)

本文主要为您介绍手机桌面怎么写文字,内容包括如何在手机桌面添加文字,怎样在手机屏幕上添加文字,手机桌面怎么才能有自己写的字。在手机屏幕上添加文字需借助第三方软件完成,如豌豆荚、360手机助手、安智市场、安卓市场里下载全屏字。添加

知识

淘宝关于我们怎么写

阅读(186)

本文主要为您介绍淘宝关于我们怎么写,内容包括淘宝作文怎么写,以“淘宝”为题写一篇不少于800字的作文,淘宝好评怎么写100字。对“淘”的理解从“淘”的本意看,它是指用一定的方法去除杂质获得有用之物的行为或过程。提示语进一步提醒考生,在

知识

赛事推广方案怎么写

阅读(178)

本文主要为您介绍赛事推广方案怎么写,内容包括推广方案怎么写,活动推广方案怎么写,推广方案要怎么写。原发布者:微力设计竭诚为您提供优质文档/双击可除市场推广计划书范文篇一:市场营销策划书范文及格式市场营销策划书范文及格式营销策划书

知识

收到单位来信回信开头怎么写

阅读(233)

本文主要为您介绍收到单位来信回信开头怎么写,内容包括应用于回信的开头怎么写,英文信回信开头怎么写,五年级回信的开头怎么写。开头写:感谢你的来信 看了之后我觉得xxxx比如:I have received your letter. My opinion is

知识

第二课堂报告怎么写

阅读(214)

本文主要为您介绍第二课堂报告怎么写,内容包括第二课堂工作总结┽第二课堂工作总结,第二课堂的活动策划怎么写,第二课堂研究性学习结题报告。主要写一下工作内容,取得的成绩,以及不足,最后提出合理化的建议或者新的努力方向。。。。。。 转载:

知识

数学寒假总结怎么写

阅读(197)

本文主要为您介绍数学寒假总结怎么写,内容包括数学总结怎么写,寒假数学总结作文350字,寒假学习数学的心得和计划。我们青少年是祖国的未来,担负着历史赋予的神圣使命。我们要努力学习科学文化知识,打下扎实的基础。所以在求学时期养成科学的

知识

最小生成树中minium函数怎么写

阅读(186)

本文主要为您介绍最小生成树中minium函数怎么写,内容包括c语言最小生成树怎样写,求我下面程序函数的流程图(最小生成树普利姆算法的实现)只要子,c语言最小生成树怎样写。prim算法/* 函数功能:求图的最小生成树。函数原形:GraphClass<VexType,Ar

知识

write函数怎么写数字

阅读(200)

本文主要为您介绍write函数怎么写数字,内容包括ofstream中write函数怎么用的,C语言中的Write函数,关于C++文件操作中的write函数跟写入文件数字乱码而字符串不乱码的。你是用二进制写的,怎么读的,用编辑器看的? 那乱码就对了要用代码读才不乱

知识

javamain函数怎么写

阅读(250)

本文主要为您介绍javamain函数怎么写,内容包括java的main函数如何写,javamain函数里写什么,java中,main方法怎么写。main方法定义如下:public static void main(String[] args){…}关键字的作用:(1)public

知识

excel绝对值函数怎么写

阅读(265)

本文主要为您介绍excel绝对值函数怎么写,内容包括在excel中求绝对值的函数是什么,绝对值符号在EXCEL里怎么输入,EXCEL怎么求绝对值。ABS ,主要功能:求出相应数字的绝对值;使用格式:ABS(number)。参数说明:number代表需要求绝对值的数值或引用的

知识

access条件函数怎么写

阅读(293)

本文主要为您介绍access条件函数怎么写,内容包括access语法怎么写,access数据库这样的函数如何写,access多条件筛选函数。have access to 有机会接近/进入,有权利使用/进入例句:Only a few people have access to

知识

atmega128随机数函数怎么写

阅读(260)

本文主要为您介绍atmega128随机数函数怎么写,内容包括随机数的函数如何写,求一个ATmega128定时器1的简单程序,随机数的函数怎么写。求10-23的: #include <time.h> #include<stdio.h> int suiji (void) { int

知识

写代码中rgb函数怎么写

阅读(228)

本文主要为您介绍写代码中rgb函数怎么写,内容包括关于RGB函数,代码中怎样把RGB颜色值转换成16进制,RGB函数中的3个数字分别表示什么。简单的移位和按位加: int r,g,b; int c; // TC 用 long int; // 如果次序是RRGGBB c = r

知识

单片机中函数怎么写

阅读(407)

本文主要为您介绍单片机中函数怎么写,内容包括单片机中断函数如何编写,单片机C语言中,函数格式是怎样有什么规定,单片机中什么是函数。中断服务程序的入口地址是相对固定的,而普通的功能程序入口则是随意设置的,此外,中断服务程序的调用方式也

[/e:loop]