AVR单片机介绍
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
AVR单片机概述
一、AVR单片机特点:
1 、速度快 3 、驱动能力强 2 、片上资源丰富 4 、 功耗低
5 、可选择型号种类多 7 、 保密性好
6 、 性价比高
二、AVR单片机分类
1、ATtiny 系列:如 tiny13、 tiny15、 tiny26, 属于低档,适合功能相对单一的系统
2、AT90S 系列: AT90S8515、8535,属于中
档,适合一般系统开发
3、ATmega 系列:Mega8、 Mega16,属于高
档,适合各种具有较高要求的系统
注:目前AT90系列产品已很少用,多数使用ATmega系列
三、ATMega16的资源及接口
1、16K的Flash
2、Boot代码区 3、512字节的EEPROM 4、1K的SRAM 5、JTAG接口, 仿真和下载 6、支持ISP下载 7、3个带PWM的定时器
声明部分语句 }
4.1、Main 函数 格式:void main() 特点:无返回值,无参。 任何一个C程序有且仅有一个main函数, 它是整个程序开始执行的入口。 例:void main() { 总程序从这里开始执行; 其他语句; }
九、 I/O端口应用
1、端口寄存器及配置
作为通用数字I/O口使用时,每个引脚都具有3
1 0 1 0 0 0 0 1 >> 1: 0 1 0 1 0 0 0 0
0XA1 0X50
2.2、位左移
1 0 1 0 0 0 0 1 << 1: 0 1 0 0 0 0 1 0
0XA1 0X42
2.3、按位与
1 0 1 0 0 0 0 1 & 0 1 0 1 0 0 0 1 || 0 0 0 0 0 0 0 1 0XA1& 0X51= 0X01
8
1000
8
七、二进制数的逻辑运算
1. “与”运算 类似于数值“X”运算
0· 0=0
0· 1=1· 0=0
1· 1=1
2. “或”运算 “或”运算是实现“只要其中之一有,就有”这种 逻辑 关系的一种运算, 其运算符为“+”。 “或”运算规 则 如下: 0+0=0, 0+1=1+0=1, 1+1=1
BIT(3)=0 0 0 0 1 0 0 0 ~BIT(3)=1 1 1 1 0 1 1 1
3、AVR单片机C语言基本语句
与标准C语言基本相同: if while for switch/case do-while 选择语言 循环语言 循环语言 多分支选择语言 循环语言
4、函数的定义
类型标识符 { 函数名 ( 形式参数列表 )
高 -12V
低+12V
所以计算机与单片机之间通讯时需要
加电平转换芯片max232(实验板上左下角)
五:二进制
十进制到二进制: 0 0 6 110 1 1 7 111 2 10 8 1000 3 11 9 1001 4 100 10 1010 5 101 11 1011 二进制到十进制:1110B = 1 23 1 22 1 21 0 20 = 8+4+2+0 = 14
六、十六进制
二进制的简短表示形式 十进制中的0-15用十六进制表示为0、1、
2、3、4、5、6、7、8、9、A、B、C、D 、
E、F 。
熟练掌握二进制与十六进制之间的转换。 规律:一般把四个二进制数放在一起转换 成一个十六进制数,转换时先把二进制数转换 成十进制数,再把十进制数转换成十六进制 数
3. “异或”运算 “异或”运算是实现“必须不同, 否则就没有” 这 种逻辑的一种运算, 运算符为“”。其运算 规 0 则是: 0 0,0 1 1,1 0 1,1 1 0
4. “非运算” “非”运算是实现“求反”这种逻辑 的一 种运算,如变量A的“非”运算记作。 其运算规则如下:
0XA1
0X51
0X01
2.4、按位或
1 0 1 0 0 0 0 1 | 0 1 0 1 0 0 0 1 || 1 1 1 1 0 0 0 1 0XA1 | 0X51= 0XF1
0XA1
0X51
0XF1
2.5 AVR单片机常用位操作指令 BIT(x) 定义为 1 << (x)
BIT(0)=0 0 0 0 0 0 0 1Rxn 0 0 1 1 PORTxn 0 1 0 1 I/O 输入 输入 输出 输出 上拉电阻 无 有 无 无 说明 高阻态 带上拉的输入 输出低电平 输出高电平
2、配置实例
a、PA口配置为输出
DDRA=0xFF; PORTA=0x55;//输出值为0x55 b、PA口配置为不带上拉输入 DDRA=0x00; PORTA=0x00; i=PINA; c、PA口配置为带上拉输入 DDRA=0x00; PORTA=0xFF; i=PINA;
2、AVR单片机C语言的运算符
与C语言基本相同: + > == && >= != || ! * < / (加 减 乘 除) <= (大于 大于等于 小于 小于等于)
(测试等于 (逻辑与 测试不等于) 逻辑或 逻辑非 )
>>
& | ^ ~
<<
(位右移
(按位与 (按位异或
位左移)
按位或) 按位取反)
2.1、位右移
如:0001B -> 1 -> 1H B表示为二进制,H为十六进制 1001B -> 9 -> 9H 1010B ->10-> AH 0011 1100-> 3CH
各种进位制的对应关系
十进 制 0 1 2 3 4 5 6 7 二进 制 0 1 10 11 100 101 110 111 十六进制 0 1 2 3 4 5 6 7 十进制 9 10 11 12 13 14 15 16 二进制 1001 1010 1011 1100 1101 1110 1111 10000 十六进制 9 A B C D E F 10
8、8路10位的AD转换器
9、UART(异步串口) 10、SPI(同步串口) 11、看门狗 12、TWI(IIC)接口 13、模拟比较器 14、32个通用I/O口
四、电平特性
数字电路中只有两种电平:高和低 (本课程中)定义单片机为TTL电平:
高 +5V
低 0V
RS232电平:计算机的串口电平:
有
整 型
0~65535
0~4294967295 3.4e-38~3.4e38 1.7e-308~1.7e308 -128~127 0~255
有 实 型 有 字 有 符 型 无
64
8 8
AVR单片机C的数据的存储类型
例: 数据类型 变量名
char var1; bit flags; unsigned char vextor[10]; int wwww; 注意:变量名不能用C语言中的关 键字表示。
1 0, 0 1
八、AVR单片机C语言概述
1、基本数据类型
类型 符号 关键字 (signed) int (signed) short (signed) long 无 unsigned int unsigned short int unsigned long int float double char unsigned char 数的表示范围 所占位数 16 -32768~32767 16 -32768~32767 32 16 16 32 32 -2147483648~2147483647 0~65535
一、AVR单片机特点:
1 、速度快 3 、驱动能力强 2 、片上资源丰富 4 、 功耗低
5 、可选择型号种类多 7 、 保密性好
6 、 性价比高
二、AVR单片机分类
1、ATtiny 系列:如 tiny13、 tiny15、 tiny26, 属于低档,适合功能相对单一的系统
2、AT90S 系列: AT90S8515、8535,属于中
档,适合一般系统开发
3、ATmega 系列:Mega8、 Mega16,属于高
档,适合各种具有较高要求的系统
注:目前AT90系列产品已很少用,多数使用ATmega系列
三、ATMega16的资源及接口
1、16K的Flash
2、Boot代码区 3、512字节的EEPROM 4、1K的SRAM 5、JTAG接口, 仿真和下载 6、支持ISP下载 7、3个带PWM的定时器
声明部分语句 }
4.1、Main 函数 格式:void main() 特点:无返回值,无参。 任何一个C程序有且仅有一个main函数, 它是整个程序开始执行的入口。 例:void main() { 总程序从这里开始执行; 其他语句; }
九、 I/O端口应用
1、端口寄存器及配置
作为通用数字I/O口使用时,每个引脚都具有3
1 0 1 0 0 0 0 1 >> 1: 0 1 0 1 0 0 0 0
0XA1 0X50
2.2、位左移
1 0 1 0 0 0 0 1 << 1: 0 1 0 0 0 0 1 0
0XA1 0X42
2.3、按位与
1 0 1 0 0 0 0 1 & 0 1 0 1 0 0 0 1 || 0 0 0 0 0 0 0 1 0XA1& 0X51= 0X01
8
1000
8
七、二进制数的逻辑运算
1. “与”运算 类似于数值“X”运算
0· 0=0
0· 1=1· 0=0
1· 1=1
2. “或”运算 “或”运算是实现“只要其中之一有,就有”这种 逻辑 关系的一种运算, 其运算符为“+”。 “或”运算规 则 如下: 0+0=0, 0+1=1+0=1, 1+1=1
BIT(3)=0 0 0 0 1 0 0 0 ~BIT(3)=1 1 1 1 0 1 1 1
3、AVR单片机C语言基本语句
与标准C语言基本相同: if while for switch/case do-while 选择语言 循环语言 循环语言 多分支选择语言 循环语言
4、函数的定义
类型标识符 { 函数名 ( 形式参数列表 )
高 -12V
低+12V
所以计算机与单片机之间通讯时需要
加电平转换芯片max232(实验板上左下角)
五:二进制
十进制到二进制: 0 0 6 110 1 1 7 111 2 10 8 1000 3 11 9 1001 4 100 10 1010 5 101 11 1011 二进制到十进制:1110B = 1 23 1 22 1 21 0 20 = 8+4+2+0 = 14
六、十六进制
二进制的简短表示形式 十进制中的0-15用十六进制表示为0、1、
2、3、4、5、6、7、8、9、A、B、C、D 、
E、F 。
熟练掌握二进制与十六进制之间的转换。 规律:一般把四个二进制数放在一起转换 成一个十六进制数,转换时先把二进制数转换 成十进制数,再把十进制数转换成十六进制 数
3. “异或”运算 “异或”运算是实现“必须不同, 否则就没有” 这 种逻辑的一种运算, 运算符为“”。其运算 规 0 则是: 0 0,0 1 1,1 0 1,1 1 0
4. “非运算” “非”运算是实现“求反”这种逻辑 的一 种运算,如变量A的“非”运算记作。 其运算规则如下:
0XA1
0X51
0X01
2.4、按位或
1 0 1 0 0 0 0 1 | 0 1 0 1 0 0 0 1 || 1 1 1 1 0 0 0 1 0XA1 | 0X51= 0XF1
0XA1
0X51
0XF1
2.5 AVR单片机常用位操作指令 BIT(x) 定义为 1 << (x)
BIT(0)=0 0 0 0 0 0 0 1Rxn 0 0 1 1 PORTxn 0 1 0 1 I/O 输入 输入 输出 输出 上拉电阻 无 有 无 无 说明 高阻态 带上拉的输入 输出低电平 输出高电平
2、配置实例
a、PA口配置为输出
DDRA=0xFF; PORTA=0x55;//输出值为0x55 b、PA口配置为不带上拉输入 DDRA=0x00; PORTA=0x00; i=PINA; c、PA口配置为带上拉输入 DDRA=0x00; PORTA=0xFF; i=PINA;
2、AVR单片机C语言的运算符
与C语言基本相同: + > == && >= != || ! * < / (加 减 乘 除) <= (大于 大于等于 小于 小于等于)
(测试等于 (逻辑与 测试不等于) 逻辑或 逻辑非 )
>>
& | ^ ~
<<
(位右移
(按位与 (按位异或
位左移)
按位或) 按位取反)
2.1、位右移
如:0001B -> 1 -> 1H B表示为二进制,H为十六进制 1001B -> 9 -> 9H 1010B ->10-> AH 0011 1100-> 3CH
各种进位制的对应关系
十进 制 0 1 2 3 4 5 6 7 二进 制 0 1 10 11 100 101 110 111 十六进制 0 1 2 3 4 5 6 7 十进制 9 10 11 12 13 14 15 16 二进制 1001 1010 1011 1100 1101 1110 1111 10000 十六进制 9 A B C D E F 10
8、8路10位的AD转换器
9、UART(异步串口) 10、SPI(同步串口) 11、看门狗 12、TWI(IIC)接口 13、模拟比较器 14、32个通用I/O口
四、电平特性
数字电路中只有两种电平:高和低 (本课程中)定义单片机为TTL电平:
高 +5V
低 0V
RS232电平:计算机的串口电平:
有
整 型
0~65535
0~4294967295 3.4e-38~3.4e38 1.7e-308~1.7e308 -128~127 0~255
有 实 型 有 字 有 符 型 无
64
8 8
AVR单片机C的数据的存储类型
例: 数据类型 变量名
char var1; bit flags; unsigned char vextor[10]; int wwww; 注意:变量名不能用C语言中的关 键字表示。
1 0, 0 1
八、AVR单片机C语言概述
1、基本数据类型
类型 符号 关键字 (signed) int (signed) short (signed) long 无 unsigned int unsigned short int unsigned long int float double char unsigned char 数的表示范围 所占位数 16 -32768~32767 16 -32768~32767 32 16 16 32 32 -2147483648~2147483647 0~65535