atmega8系统时钟配置

合集下载

ATmega8-Protues仿真之五 定时_计数器学习

ATmega8-Protues仿真之五 定时_计数器学习

第五讲定时/计数器的学习提要:主要学习ATmega8的T/C0、T/C1和T/C2三个定时/计数器的应用。

前面我们学习了ATmega8的通用I/O口的应用和外部中断的应用,相信你一定会觉得自己进步很快吧。

好了接下来我们就进行定时/计数器的学习:5.1 ATmega8定时/计数器的特点:ATmega8共有3个定时/计数器:Timer/Counter0—8bit、Timer/Counter1—16bit 和Timer/Counter2—8bit。

这三个定时/计数器除了能够实现通常的定时和计数功能外,还具有捕捉、比较、脉宽调制(PWM)输出、实时时钟计数等功能。

5.2 8位定时/计数器0—T/C0介绍T/C0主要有一下特点:1. 8bit字长,最大可计数0xFF;2. 单通道计数器;3. 外部事件计数;4. 频率发生器;5. 带10位预定比例分频器。

学习应用T/C0之前我们首先要了解几个相关的寄存器:TCCR0、TCNT0、TIMSK和TIFR。

一.T/C0控制寄存器TCCR0的[2:0]位CS0[2:0]:时钟源选择。

CS02 CS01CS00 说明0 0 0 无时钟源,停止T/C00 0 1 系统时钟0 1 0 CLKio/8来自预分频器0 1 1 CLKio/64来自预分频器1 0 0 CLKio/256来自预分频器1 0 1 CLKio/1024来自预分频器1 1 0 外部T0脚,下降沿驱动1 1 1 外部T0脚,上升沿驱动对该寄存器的理解可以与INT0的MCUCR作类比,那里是选择外部中断的触发方式,这里是选择T/C0的时钟源。

另外这里作几点说明:A 当时钟源选择系统时钟时,系统内部时钟直接作为T/C0的时钟源,这是最高频率的时钟源。

B 选择预分频器作时钟源,预定分频器对系统时钟CLKio按四个不同的分频比例分频,输出4个不同周期的时钟信号CLKio/8、CLKio/64、CLKio/256、CLKio/1024。

atmega8 定时

atmega8 定时

一.设计要求(1)用Proteus 完成电路图的绘制(2)4位数码管点亮显示功能实现(3)从0分00秒0毫秒正常计时**分**秒**毫秒功能实现(4)固定时间正常计时功能实现(5)固定时间倒计时功能实现(6)自由设定时间后正常计时功能实现(7)自由设定时间后倒计时功能实现二. 硬件设计单片机:atmega8 .PB输出口,控制数码管显示的数字;PC输出口,控制数码管显示位置;PD输入口,控制4个按钮,分别为时间分+1,时间秒+1,开始计时,停止计时。

数码管:4位8段共阴数码管,公共极为阴极,对应脚输入+5V电压后点亮。

电阻:100Ω电阻4个。

按钮:点动按钮4个。

不按下按钮时,单片机PD4个输入口为低电频,按下按钮时PD4个输入口为高电频。

三.软件设计基本设计思路:首先利用单片机PB,PC口控制4位8段数码管动态显示时间。

PD口控制2个按钮,分别用来控制时间秒和时间分+1;再设计1个定时器,正数计时,当计时0.1秒后,显示+1。

逢10,秒位进1后归0;秒位逢60,分进1后归0;分位逢10后全部清零,重新开始计时。

倒数计时只需要当0.1秒后,显示-1。

逢0,秒位-1后归0;秒位逢0,分-1后归0;所有位都为0后停止计时。

程序设计:#include <mega8.h>unsigned char dispCode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //定义8位数字显示unsigned char dispBit[]={0xf7,0xfb,0xfd,0xfe};//显示位置控制unsigned char dispBuf[4]={0,0,0,0};unsigned char second=50;unsigned char t,x,y,z;unsigned char minute=9;unsigned char dispbitcnt=0;unsigned int tcnt;xianshi(void){for(c=0;c<100;c++){dispBuf[0]=t;dispBuf[1]=second%10;dispBuf[2]=second/10;dispBuf[3]=minute%10;PORTC=0xff;if(dispbitcnt==4){dispbitcnt=0;}if(dispbitcnt==1 || dispbitcnt==3){PORTB=dispCode[dispBuf[dispbitcnt]]|0x80;}else{PORTB=dispCode[dispBuf[dispbitcnt]];}PORTC=dispBit[dispbitcnt];dispbitcnt++;for(a=0;a<200;a++); }}interrupt [TIM0_OVF] void timer0_ovf_isr(void) //正数计时函数{ tcnt++;if(tcnt==50) //计数50次后为0.1秒{ tcnt=0;t++; //显示增加0.1秒if(t==10) //逢10进1{t=0;second++;}if(second==60) //逢60进1{ second=0;minute++;}if(minute==60)minute=0;}TCNT0=0x05;}void main(void) //主函数{int c,a; //输入口、输出口、定时设置。

atmega8原理及应用手册

atmega8原理及应用手册

atmega8原理及应用手册摘要:I.简介- ATmega8的概述- ATmega8的特点II.原理- ATmega8的内部结构- ATmega8的工作原理- ATmega8的存储器III.应用- ATmega8在嵌入式系统中的应用- ATmega8在电子设备中的应用- ATmega8的开发与使用IV.结论- ATmega8的优缺点- ATmega8的前景与展望正文:I.简介ATmega8是Atmel公司推出的一款高性能、低功耗的AVR单片机。

它具有丰富的内置功能,如8位CPU、2KB至64KB的闪存、1KB至4KB的RAM、12位ADC、2个USART、SPI接口、定时器/计数器等。

ATmega8适用于各种嵌入式系统和电子设备,如工业控制、通信、消费电子、医疗设备等。

II.原理ATmega8的内部结构主要由CPU、存储器、外设接口等部分组成。

CPU 是核心部分,负责程序的执行和数据处理。

存储器包括闪存和RAM,用于存储程序和数据。

外设接口负责与外部设备进行通信和控制。

ATmega8的工作原理是通过CPU从存储器中读取程序指令,执行相应的操作,然后将结果存回存储器。

ATmega8的存储器具有低功耗、高速度、宽电压等特点,能满足不同应用场景的需求。

ATmega8的存储器包括闪存和RAM。

闪存用于存储程序代码,具有非易失性,即断电后数据不会丢失。

RAM用于存储运行时的数据,具有易失性,断电后数据会丢失。

III.应用ATmega8在嵌入式系统中的应用广泛,如智能家居、工业自动化、物联网等。

在电子设备中,ATmega8可用于微控制器、通信模块、传感器等。

ATmega8的开发与使用需要掌握一定的编程技巧,如C语言编程、汇编语言编程等。

此外,还需要了解ATmega8的硬件结构和外设接口,以便更好地利用其功能。

IV.结论ATmega8作为一款高性能、低功耗的AVR单片机,具有广泛的应用前景。

其丰富的内置功能和易用的开发环境使得ATmega8成为嵌入式系统和电子设备开发的理想选择。

基于ATMEGA8的温湿度系统的设计_钟波

基于ATMEGA8的温湿度系统的设计_钟波

2009年3月第3期电子测试ELECT RONIC TESTM ar.2009No.3基于ATMEGA8的温湿度系统的设计钟波,丁永刚(丽水学院浙江丽水323000)摘要:本系统的设计是将智能传感器监测和单片机控制相结合,整个系统采用ATMEGA8单片机为核心配置,以温湿度传感器、数码管显示、按键、蜂鸣器报警驱动、计算机监控系统等部件。

通过单片机与智能传感器相连,采集并存储智能传感器的测量数据。

另一方面通过RS485总线与监控计算机通信,将采集到的数据传输给监控计算机。

监控计算机将单片机传输的数据进行记录、存储、处理,供工作人员浏览、记录和进行相关处理。

经过实验测试各项指标均达到了设计要求。

关键词:ATMEGA8;温湿度传感器;计算机监控中图分类号:T P212.11;TP212.9文献标识码:ADevelopment system of digital temperature and humidity transmitterbased on ATMEGA8microcomputerZhong Bo,Ding Yonggang(Lishui University,Lishui Zhejiang323000,China)Abstr act:This design scheme is combined intelligent sensors test with mcu control,the A TMEGA8 single chip microcomputer is used as the kernel component of this system and the other parts are digital T emperature and Humidity Transmitter,alphanumeric dispiay,touch keys,buzzer alarm and comPuter monitoring system.It Colleets and stores intelligent sensor measure mentdata by conneeting mcu with intelligent sensors.MCU transmits the gathered data to monitoring computer by the means of the com2 munication between485bus and monitoring computer the monitoring computer will reeord,store,and Proeess the data,so that the oPerators can browse and reeord it,then take relative measures.It is shown that all targets are achived meet with the design requirements.Keywor ds:AT MEGA8;emperatur e and H umidity;comPuter monitoring0引言随着社会经济的发展和科学技术的不断进步,在温湿度变送器OEM生产、H VA C、暖通空调、电信基站、计算机房、智能建筑、药厂、农业大棚、博物馆、车站、机场等场所,都需要对环境的温湿度进行限定,因此,必须在这些特定环境安装温湿度监控仪以进行监控。

ATmega8时钟选择熔丝设置

ATmega8时钟选择熔丝设置

ATmega8时钟选择熔丝设置以下内容根据mega8的英文手册翻译,希望对大家有所帮助。

如发现错误,恳请大家指正。

mega8熔丝位:1:未编程(不选中)0:编程(选中)********************************熔丝位说明缺省设置********************************RSTDISBL: 复位或I/O功能选择 1 1:复位功能;0:I/O功能(PC6)WDTON: 看门狗开关 1 1:看门狗打开(通过WDTCR允许);0:看门狗禁止SPIEN: SPI下载允许 0 1:ISP下载禁止;0:ISP下载允许(注:当使用SPI编程时,该项不可用)EEAVE: 烧录时EEPROM数据保留 1 1:不保留;0:保留BODEN: BOD功能控制 1 1:BOD功能禁止;0:BOD功能允许BODLEVEL: BOD电平选择 1 1:2.7V电平;0:4.0V电平BOOTRST: 复位入口选择 1 1:程序从0x0000地址开始执行;0:程序从引导区确定的入口地址开始执行********************************BOOTSZ1/0: 引导区程序大小及入口 0000:1024Word/0xc00;01:512Word/0xe00;10:256Word/0xf00;11:128Word/0xf80********************************BLB02/01: 程序区指令位选择 1111:SPM和LPM指令都允许执行10:SPM指令禁止写程序区01:引导区LPM指令禁止读取程序区内容;如果中断向量定义在引导区,则禁止该中断在程序区执行。

00:SPM指令禁止写程序区;引导区LPM指令禁止读取程序区内容;如果中断向量定义在引导区,则禁止该中断在程序区执行。

********************************BLB12/11: 引导区指令位选择 1111:SPM和LPM指令都允许执行10:SPM指令禁止写引导区01:程序区LPM指令禁止读取引导区内容;如果中断向量定义在程序区,则禁止该中断在引导区执行。

Atmega8型号细分区别

Atmega8型号细分区别

Atmega8型号细分区别ATMEGA8L- 8PU、ATMEGA8L-8PI、ATMEGA8L-8PC、ATMEGA8-16PU、ATMEGA8-16PI、ATMEGA8-16PC、ATMEGA8L-8AU、ATMEGA8L-8AI、ATMEGA8L-8AC、ATMEGA8-16AU、ATMEGA8-16AI、 ATMEGA8-16AC、ATMEGA8L-8MU、ATMEGA8L-8MI、ATMEGA8L-8MC、ATMEGA8-16MU、 ATMEGA8-16MI、ATMEGA8-16MC的区别如下:1.型号紧跟的字母,表示电压工作范围。

带&ldquo;L&rdquo;:2.7-5.5V;若缺省,不带&ldquo;L&rdquo;:4.5-5.5V。

例:ATmega8-16PU,不带&ldquo;L&rdquo;表示工作电压为4.5-5.5V。

2.后缀的数字部分,表示支持的最高系统时钟。

例:ATmega8-16PU,&ldquo;16&rdquo;表示可支持最高为16MHZ的系统时钟。

3.后缀第一(第二)个字母,表示封装。

&ldquo;P&rdquo;:DIP封装,&ldquo;A&rdquo;:TQFP封装,&ldquo;M&rdquo;:MLF封装。

例:ATmega8-16PU,&ldquo;P&rdquo;表示DIP封装。

;4.后缀最后一个字母,表示应用级别。

4.&ldquo;C&rdquo;:商业级,&ldquo;I&rdquo;:工业级(有铅)、&ldquo;U&rdquo;工业级(无铅)。

例:ATmega8-16PU,&ldquo;U&rdquo;表示无铅工业级。

ATmega8-16PI,&ldquo;I&rdquo;表示有铅工业级。

ATmega8A 单片微处理器中文资料

ATmega8A 单片微处理器中文资料

ATmega8A 单片微处理器中文资料【用途】单片微处理器【性能参数】主要特性如下:◆高性能、低功耗的8 位AVR?微处理器◆先进的RISC 结构●131条指令&ndash;大多数指令执行时间为单个时钟周期●32个8 位通用工作寄存器●全静态工作●工作在16MHz 时吞吐量高达16MIPS●片内2 周期乘法器◆高耐久度非易失性存储器●8K字节的在系统内可自编程Flash 程序存储器*擦写寿命:10,000 次●512字节的EEPROM*擦写寿命:100,000 次●1K字节的片内SRAM●数据保存:20 年@85℃/100 年@25℃●带有独立锁定位的引导程序区*通过片内引导程序在系统编程*真正的边写边读操作●可以对锁定位进行编程以及实现EEPROM 数据的加密◆外设特点●2个具有独立预分频器和比较器功能的8 位定时器/计数器●1个具有预分频器、比较功能和捕捉功能的16 位定时器/计数器●带有独立晶振的实时计时器●3路PWM 通道●8路ADC(TQFP,QFN/MLF32)*8 路10 位精度●6路ADC(PDIP)*8 路10 位精度●基于字节的2-wire 串行接口●可编程串行USART●主/从SPI 串行接口●具有独立片内振荡器的可编程看门狗定时器●片内模拟比较器◆特殊的微控制器特点●上电复位和可编程掉电检测●经过标定的片内RC 振荡器●片内/外中断源●12个引脚中断源5 种睡眠模式:空闲模式、ADC 噪声抑制模式、省电模式、掉电模式、和待机模式◆I/O 和封装●23个可编程的I/O 口线●PDIP28,TQFP32,QFN/MLF32◆工作电压:2.7 &ndash; 5.5V for ATmega8A◆工作速度等级:0-16 MHz for ATmega8A◆低功耗@4 Mhz,3V,25℃●正常模式:3.6 mA●空闲模式:1.0 mA●掉电模式:0.5&mu;A 【互换兼容】。

【4】ATMega8硬件管理

【4】ATMega8硬件管理

ATMega8
定时器
8位定时器0
溢出中断
PWM
普通:单斜坡、可中断但不可输出波形
预分频:8、64、256、102416位定时器1
自动加载溢出中断比较匹配中断A 比较匹配中断B
16位PWM
普通:单斜坡、可中断但不可输出波形
CTC:比较匹配时清零,同时可以输出波形
快速PWM :单斜坡、比较匹配输出改变,TOP 可变相位修正PWM :双斜坡、比较匹配输出改变,TOP 可变
相位与频率修正PWM 模式:双斜坡、比较匹配输出改变,TOP 可变
输入捕捉
预分频:8、64、256、1024
8位定时器2
自动加载溢出中断比较匹配中断
PWM
普通:单斜坡、可中断但不可输出波形
CTC:比较匹配时清零,同时可以输出波形
快速PWM :单斜坡、比较匹配输出改变相位修正PWM :双斜坡、比较匹配输出改变
预分频:8、32、64、128、256、1024支持外部32KHz 独立时钟源
AD
AD 参数8路10位AD ,最高15K 采样速率
支持差分和增益,但分辨率会变低采用基准电压为5V
AD0AD1AD2AD3AD4AD5AD6AD7
串口
USART 参数
USART1
外部中断
INT0INT1INT2
普通I/O 口
LCD1602液晶
6个I/O 口
其他
时钟:16MHz ,1T=62.5uS
可同时读写FLASH :8K
EEPROM :512
SRAM :1K
通用工作寄存器:32个
【4】ATMega8硬件管理.mmap - 2012-09-12 -。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MEGA8系统时钟配置
1、总述
通过对ATmega8的Flash熔丝位CKSEL编程设置,器件可选择如表所示的5种类开的系统时钟源。

可选系统时钟源熔丝位CKSEL3..0
1、外部晶振 1111~1010
2、外部低频晶振 1001
3、外部RC振荡 1000~0101
4、内部RC振荡 0100~0001
5、外部时钟 0000
注:“1”表示熔丝位未编程,“0”表示熔丝位被编程,以下同。

掉电和省电模式唤醒时间:当CPU从掉电(POWER-DOWN)或节电(POWER-SA VE)模式下被唤醒时,系统对选定的时钟源脉冲进行计数,经过若干个时钟脉冲后(Start-up Time,可设置选定),再正式启动CPU进入工作,这样保证了在CPU正式开始执行指令前,振荡器已达到稳定工作关态。

复位延时启动时间:当CPU从上电复位启动后到CPU开始正常操作指令前,也有额外的延时,以保证系统电源达到稳定的电平。

看门狗振荡器Watchdog Oscillator)被用作该启动延时的定时器。

这个WDT 振荡器启动延时的时间周期见下表,看门狗振荡器的频率由系统电源的电压决定。

芯片出厂的设置为:CKSEL=0001,SUT=10(使用1MHz内部RC振荡器,慢速率上升电源)。

表:WDT典型延时启动时间和脉冲数
典型延时时间
Vcc=5V Vcc=3V
延时脉冲数
4.1ms 4.3ms
4K(4096)
65ms 69ms
64K(65536)
与系统时钟配置相关的熔丝位有7位:CLSEL3..0、CKOPT、SUT1..0,芯片出厂默认设置值为:CKSEL=0001,SUT=10,CKOPT=0,意思是使用1MHz内部RC振荡器,慢速率上升电源。

2、外部晶振
熔丝位
CKOPT CKSEL3..1 工作频率范围
(MHz)
石英晶体时的C1 C2值
1 101 0.4~0.9 12~22pF 1 110 0.9~3.0 12~22pF 1 111 3.0~8.0 12~22pF 0 101,110,111 <=1.0 12~22pF
常用设置为:CKOPT=1,CSEL3..1=111,C1=C2=20pF
M6有两个引脚XTAL1和XTAL2分别为片内振荡哭反相放大器输入、
输出端。

可在外部连接一个石英晶体或陶瓷振荡器,如图:
通过对CKSEL0和SUT1..0熔丝w 位组合设置,可以选择系统唤醒的
延时计数脉冲数和系统复位延时时间,如下表: 熔丝位 CKSEL0 SUT1..0 掉电和省电模式
唤醒 复位延时启动时间(Vcc=5V ) 适合应用条件
0 00 258 CK 4.1ms 陶瓷振荡器快速上升电源 0 01 258 CK 65ms 陶瓷振荡器慢速上升电源 0 10 1K CK - 陶瓷振荡器BOD 方式 0 11 1K CK 4.1ms 陶瓷振荡器快速上升电源 1 00 1K CK 65ms 陶瓷振荡器慢速上升电源 1 01 16K CK - 石英振荡器BOD 方式 1 10 16K CK 4.1ms 石英振荡器快速上升电源 1 11 16K CK 65ms 石英振荡器慢速上升电源
3、外部低频率晶振
可以使用外接32.768KHz 手表用振荡器作为器件的时钟源,此时通过设置熔丝位CKSEL 为1001,来选择使用低频晶体振荡器的工作方式。

接法同外部晶振,但如果通过编程CKOPT 熔丝位,可以选择使用片内36pF 电容,而外部两电容就可省去不用。

表:唤醒脉冲和延时时间选择设定
熔丝位
CKSEL SUT1..0 掉电和省电模式
唤醒 复位延时启动时间(Vcc=5V ) 适合应用条件 1001 00
1K CK 4.1ms 快速上升电源或BOD 方式 1001 01 1K CK 65ms 慢速上升电源 1001 10
32 CK 65ms 唤醒时频率已经稳定
1001 11
保留 4、外部RC 振荡器
对于定时要求不高的应用,可以在外部使用RC 振荡回路,如图所示,其工作频率可用f=1/(3RC)公式进行粗略估算。

电容C 至少为22pF 。

通过CKOPT 编
程,则可使用片内36pF 电容,而外部电容可省去不用。

表:外部RC 振荡器工几种工作模式
熔丝位CKSEL3..0 工作频频率范围(MHz )
0101 <=0.9 0110 0.9~3.0 0111 3.0~8.0
1000 8.0~12.0 表:唤醒脉冲和延时时间选择设定
熔丝位SUT1..0 掉电和省电模式唤醒 复位延时启动时
间(Vcc=5V ) 适合应用条件
00 18CK -
BOD 方式
01 18CK 4.1ms 快速上升电源
10 18CK 65ms 慢速上升电源
11 6CK 4.1ms 快速上升电源或BOD 方式(工作频率>8M 时不建试使用)
5、可校准的内部RC 振荡器
M8内部集成了可校准的内部RC 振荡器,它可以提供固定的1.0、2.0、4.0、8.0MHz 时钟信号作为系统时钟源。

此时无需使用外部引脚XTAL1和XTAL2连接任何元器件。

并且CKOPT 处于未编程状态。

熔丝位
CKOPT CKSEL3..0
工作频率(MHz ) 1 0001
1.0 1 0010
2.0 1 0011
4.0 1 0100
8.0 表:唤醒脉冲和延时时间选择设定 熔丝位SUT1..0 掉电和省电模式唤醒 复位延时启动时
间(Vcc=5V ) 适合应用条件
00 6CK -
BOD 方式 01 6CK 4.1ms 快速上升电源
10 6CK 65ms 慢速上升电源
11
保留 振荡器校准寄存器OSCCAL 定义如下:寄存器位7..0定义名称为CAL7..0,用于存放内部RC 振荡器的校准字。

写入到寄存器OSCCAL 中的数值,将作为频率校准字用于对内部RC 振荡器的振荡频率进行调整。

系统复位时,位于频率校准签列的高高字节(地址0x00)处1MHz 的校准值将自动由硬件读出并写入到OSSCAL 寄存器。

如果内部RC 振荡器使用其他频率,则与频率对应的校准字需要手动装载。

6、外部时钟源
可以使用外部时钟源作为系统时钟。

外部时钟信号应从XTAL1输入,XTAL2
不用,将CKSEL=0000,即选定外部时钟源。

通过CKOPT 编程,使用片内36pF
电容。

表:唤醒脉冲和延时时间选择设定 熔丝位SUT1..0 掉电和省电模式唤醒 复位延时启动时
间(Vcc=5V ) 适合应用条件
00 6CK -
BOD 方式 01 6CK 4.1ms 快速上升电源
10 6CK 65ms 慢速上升电源
11
保留 7、总结:应用中常用时钟配置:
时钟类型
熔丝位 说明 外部晶振
CKOPT=1 CSEL3..0=1111 SUT=10 8MHz 石英晶振,C1=C2=20pF 外部低频晶振
CKOPT=0 CSEL3..0=1001 SUT=00 32.768KHz 钟表晶振,片内电容36pF 可校准的内部RC 振荡器
CKOPT=1 CSEL3..0=0100 SUT=01 为8MHz ,片内电容36pF。

相关文档
最新文档