datasheet

Atmega168 延时函数晶振频率的设置方法

2019-07-13来源: eefocus关键字:Atmega168  延时函数  晶振频率  设置方法

    本文介绍,在Atmel Studio环境中,更改延时函数(宏)的晶振频率的方法。


    在Atmel Studio中,可以使用_delay_us(x)宏和_delay_ms(x)进行精准延时,但是在使用这2个宏之前必须设置当前的晶振频率,本日志介绍其设置方法。


    1、在项目上点击右键,选择属性

图片 

    2、在属性栏中,选择工具链,然后选择“Symbols”,然后将F_CPU宏,更改为相应的晶振频率即可。 

  图片  

关键字:Atmega168  延时函数  晶振频率  设置方法

编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic467665.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:AVR单片机——中断系统
下一篇:Atmega168 外部10M晶振熔丝位设置方法

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

Atmega48-88-168熔丝位设置方法

         本文以Atmega168PA+PROGISP为例说明Atmega48-88-168熔丝位的设置方法,参考设计电路图如下图所示,外接7.3728M无源晶振。     1、启动PROGISP软件,正确连接下载器和目标板,选择Atmega168PA,点击“RD”按钮,一切正常的话,应在提示栏中看到正确提示。        2、 点击“...”按钮,打开“Fuse&Lock”对话框,选择“向导方式”。       3、勾选如下
发表于 2019-07-13
Atmega48-88-168熔丝位设置方法

Atmega168 外部10M晶振熔丝位设置方法

    本日志介绍 Atmega168外部10M晶振熔丝位设置方法。    图1:Boot Flash 1024;使能串行下载;看门狗使能          图2:电压低于2.7V复位           图3:外部晶振8M以上,启动速度最慢;没有Flash加密;没有Boot Loader 
发表于 2019-07-13
Atmega168 外部10M晶振熔丝位设置方法

ATmega16定时器1的时间设定

在Atmel Studio 7环境下编写程序感觉比较舒服。目的:根据设定的时间触发中断,触发一次,变量累加一次;用到中断,所以一开始需要#include变量:unsigned char  time = 0;定时器1配置:void ConfigTimer1(unsigned int set){TCCR1B |= (1<<2);//256分频      比如12M ,就是12000000/256  tmp = 65536-set;//set=( 晶振频率/分频) * 定时时间)TCNT1H = (unsigned char)(tmp>>
发表于 2018-10-07

Atmega16中使用modbus协议

调试工具:Modbus Poll编程软件:Atmel Studio 7理解:PC中的Modbus Poll是主机,而AVR芯片作为从机此处有两种串行传输模式:RTU和ASCII此处使用了RTU模式,这种模式的主要优点是较高的数据密度,在相同的波特率下比ASCII 模式有更高的吞吐率。每个报文必须以连续的字符流传送。//以下是必要的函数void usart_init(uint baud)//波特率{UCSRA = 0X00;UCSRB = 0X00;                
发表于 2018-10-07

Atmega8a的采样(查询法)

];//存温度#define get while(!(ADCSRA & (1 << ADIF)))//若转化完成,ADIF=1========================================atmega8和16不同,16的采样可以由定时器触发
发表于 2018-10-07
Atmega8a的采样(查询法)

STM32-使用定时器做延时函数时遇到的坑

做延时函数,可以使用简单的循环等待,如下面这样的:void Delay(uint32_t nCount) {     for(; nCount != 0; nCount--);}但是有个问题,就是这个nCount值怎么取?我们可以通过多次试验,来确定调用时使用的循环次数。但是还要考虑下,如果硬件有变化,例如外接晶振变化,或类似的主芯片替换等情况下,这个值有可能会变化。另外,编译的优化选项变化,也可能导致循环次数的变化。也就是说,这样写的延时函数,对外部的依赖项比较多,稍不注意,可能最终的延时时间不准确。更好的延时方式是使用定时器,这样能更准确的定时,并且移植性也更好一些。但是使用定时器做
发表于 2019-06-14

小广播

何立民专栏

单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved