您现在的位置是:首页 > 数字电源 > 技术解析

从软硬件两方面来分析Atmega16单片机

时间:2018-07-06 来源: 关键字:单片机   

1. Atmega16单片机简介

本文引用地址: http://power.21ic.com//digi/technical/201807/74450.html

今天我们的主题是单片机,说道单片机你可能最先想到的是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单片机那?我们从硬件和软件两方面分析。

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灯那?代码如下:

 

9207_110642507.jpg

 

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();

}

}

 

2.JPG

 

 

3.JPG
换一批

延伸阅读

[疯狂史] 一个只会投机取巧的程序员的奇葩经历,编程没有“捷径”

一个只会投机取巧的程序员的奇葩经历,编程没有“捷径”

在讲述这个故事之前,我有一句话要说:编程是一件特别难的事情!成为优秀的程序员没有捷径,你要拥有高智商,要保持谦逊,还要不断的努力,犯错,在错误中成长,深刻理解你所学习的材料。但是有些人就是一定要寻找捷径,而其中之一,就是使用欺诈的手段。......

关键字:程序员 编程

[真心话] 为什么说语文和英语是硬件工程师的天敌?

为什么说语文和英语是硬件工程师的天敌?

因为我文科学的不好,所以我才去学理工科的。语文课和英语课,是工程师的天敌。很多人以此为借口,找理由证明自己语言天赋太差,但反观学霸,文科成绩都也不错。古代科举制度下,对文学的极端重视,也反应了文字能力,是个人逻辑性和创造性的的重要展现。连自......

关键字:硬件工程师 语文 英语

[真心话] 资深硬件研发工程师:抄袭可耻!但产品抄袭可用,资料抄袭可笑

资深硬件研发工程师:抄袭可耻!但产品抄袭可用,资料抄袭可笑

硬件研发一般是指电子产品硬件研发,是一种看得见实物的电子产品研发,比如我们所说的手机、鼠标、键盘、音响都是硬件,硬件开发也就是在这些方面进行的一系列研究。本文分享一位资深工程师对硬件研发的一些看法,希望能对大家有所帮助。......

关键字:硬件研发 抄袭 生产体系
发表评论 共有条评论
用户名: 验证码:

变频器内部主电路有什么神奇?

变频器内部主电路有什么神奇?

采用“交-直-交”结构的低压变频器,其内部主电路由整流和逆变两大部分组成.……

精确稳定 让平均电流法帮你实现模块电源并联

精确稳定 让平均电流法帮你实现模块电源并联

今天要为大家介绍的是平均电流法,这种方法能够精确稳定的帮助工程师实现电源模块的并……

九款最简单的电子镇流器电路图原理图分析

九款最简单的电子镇流器电路图原理图分析

从工作原理而言,电子镇流器是一个电源变换电路,它将交流输入市电电源的波形、频率和……

项目外包