首页 » 通讯 » 带你从软硬件两方面来分析Atmega16单片机_单片机_电路

带你从软硬件两方面来分析Atmega16单片机_单片机_电路

落叶飘零 2024-12-22 06:38:57 0

扫一扫用手机浏览

文章目录 [+]

本日我们的主题是单片机,说道单片机你可能最先想到的是51单片机,然后通过外接的数字电路和仿照电路来掌握外围的硬件,比如PWM,ADC,I2C等等。
那么本日我们所说的Atmega16单片机和51单片机的差异是什么那?实在你把Atmega16单片机当成51单片机来利用即可,只不过是Atmega16单片机的外围接口更丰富,那么它都有什么外设资源那?

ATmega16是基于增强的AVR RISC构造的低功耗8 位CMOS微掌握器,由于其前辈的指令集以及单时钟周期指令实行韶光,ATmega16 的数据吞吐率高达1 MIPS/MHz。
ATmega16常用片上资源有定时器、PWM、外部中断、SPI总线、两线串行接口TWI、EEPROM、USART、仿照比较器、ADC转换、IEEE(JTAG)边界扫描等。
如何去学习Atmega16单片机那?我们从硬件和软件两方面剖析。

带你从软硬件两方面来分析Atmega16单片机_单片机_电路 通讯

2. Atmega16单片机硬件事理图(最小系统)

从上述的最小系统板子上们可以看到它分为如下几个部分:

电源电路:5V电源

复位电路:上电复位(电容),手动按键复位。

晶振电路:Atmega16单片机内部自带RC震荡电路,但是自带的震荡电路不足精确,以是这里就外接了一个8MHZ的晶振。

下载程序接口ISP:ISP串行的下载程序的接口

Atmega16单片机:8位avr单片机。

1. Atmega16单片机编程

AVR单片机的编译软件有GCC AVR和ICC AVR等,常日利用较多的是ICC AVR,也比较好用,本书以ICC AVR6.31版本为例先容编译软件的利用。
启动ICC AVR,界面如下图所示。
如何利用avr单片机掌握最小系统上的led灯那?代码如下:

AVR ATmega16 流水灯C程序

//

#include //包含单片机型号头文件

#include //包含\"大众位\"大众操作头文件

void delay(void) //自定义延时函数

{

unsigned char i,j;

for(i=0;i<255;i++)

for(j=0;j<10;j++)

;

}

void cpu_init(void) //单片机初始化函数

{

PORTA = 0x00; //PA口输出值都定义为0

DDRA = 0x00; //PA口输出许可关

PORTB = 0x00; //PB口输出值都定义为0

DDRB = 0x00; //PB口输出许可关

PORTC = 0x00; //PC口输出值都定义为0

DDRC = 0x00; //PC口输出许可关

PORTD = 0x00; //PD口输出值都定义为0

DDRD = 0x00; //PD口输出许可关

}

void main(void)

{

cpu_init(); //初始化单片机

while(1)

{

PORTA=0X00; /点亮led灯,由最小系统的外部电路决定单片机输出

低电平时流水灯点亮/

DDRA=0XFF; /许可输出,此时PORTA的赋值才有效,这事AVR比51高等的地方/

//由于其他端口没有接外围设备先不用定义

delay();

DDRA=0X00; //关闭led灯

delay();

}

}

相关文章

临沂IT论坛,汇聚智慧,共创未来

近年来,随着互联网的快速发展,信息技术产业已成为我国经济增长的新引擎。临沂作为山东省重要的工业城市,近年来在IT领域取得了显著成果...

通讯 2024-12-30 阅读0 评论0