单片机片上开发方法(ATmega16为例) ppt课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
会使用电脑(比如安装WindowsXP的PC) 已经学过或对C语言有一定的了解 能看得懂一些简单的电路和元器件符号 充满激情和渴望,而且有毅力和敢于动手
2020/4/3
4
我去电子市场买来一片单片机!
我能且只能这样看着它—— 数数它的腿,瞅瞅它上面的印字!
ATmega16L-8
40引脚 DIP封装
2020/4/3
11
ATmega16单片机的管脚排列
2020/4/3
PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 RESET VCC GND XTAL2 XTAL1 PD0 PD1 PD2 PD3 PD4 PD5 PD6
01
40
02
39
03
38
04
37
05
36
06
35
07
34
08
01
40
02
39
03
38
04
37
VCC
MOSI
05
36
(MOSI)PB5 06
35
+5V
(MISO)PB6 07
34
+5V
(SCK)PB7 RESET
08 09
33
+5V
32 AREF
4K7
RESET
VCC 10
31 GND
GND 11 ATmega16 30 AVCC
104
XTAL2 12
29
+
XTAL1 13
单片机片上开发方法
(ATmega16为例)
王浩 98ID: woot E-mail: wanghao@
2020/4/3
1
2020/4/3
2
你现在有这些麻烦吗?
我根本不知道怎么把单片机用在机器人上 我在自学,而且找了书在看,但越看越乱 我看了一些方案的实例,对机械部分和电路部分有
33
09
32
10
31
11 ATmega16 30
12
29
13
28
14
27
15
26
16
25
17
24
18
23
19
22
20
21
PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 AREF GND AVCC PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0 PD7
12
从datasheet上快速知道管脚定义
AVR_DEV\datasheet\cn_mega16-16L.pdf的第2页(P2)
2020/4/3
13
搭建ATmega16的“最小系统”
USBASP 下载头
GND
插座(板子正面)
MISO SCK RESET
01
40
02
39
03
38
04
37
VCC
MOSI
05
(MOSI)PB5 06
(MISO)PB6 07
感觉了,但就是不知道他们是怎样工作的 我只会用仿真器,到现在还不知道如何把写好的程
序“烧”进一片真实的单片机中 只要和单片机有一点关系的电路我们就不敢设计,
这让我们在写方案的过程中阻力很大。 我学过C,但是不会用它写单片机的程序 我到底是用汇编还是用C……
2020/4/3
3
要解决麻烦,首先假设你……
2020/4/3
9
下载一个开发资料包(woot整理)
AVR_DEV.rar解压后
2020/4/3
请关注论坛,即时会挂在临时ftp 上并给出连接
10
做好心理准备
接下来我们将为mega16单片机搭建一个最基本的 电路,可以称它为一个“最小系统”,这个系统只能
向单片机中下载程序并让其开始工作,然后我们会按
(MOSI)PB5 06
36
+5V
35
(MISO)PB6 07
34
+5V
(SCK)PB7 RESET
08 09
33
104
32 AREF
RESET
VCC 10
31 GND
GND 11 ATmega16 30 AVCC
XTAL2 12
29 PC7
XTAL1 13
28 PC6
10uF
XTAL2
14
27 PC5
现在很多单片机内部有三种存储器:
Flash EEPROM SRAM/RAM
一般不会使用,使用时 通过特殊的命令读写, 其特点是掉电不丢失
存放程序 和静态数 据,单片 机在工作 过程中一 般不能修 改
存放变量,特点是掉电丢失
2020/4/3
7
其实你还需要很多……
最起码(如果想完成这里的最少一个实验的话), 你还需要准备:
28
10uF
XTAL2
14
27
22pF
15
26
16
25
8MHz
100
17
24
18
23
XTAL1
22pF
19
22
20
21
2020/4/3
15
增加8个LED灯用来指示
USBASP 下载头
GND
插座(板子正面)
MISO SCK RESET
01
40
02
39
03
38
04
37
பைடு நூலகம்VCC +5V
4K7 +
MOSI
05
照实验的顺序逐渐增加并完善这个系统,并让它最终 成为SLOWLY机器人的一个标准系统。
在这个过程中,我们会边讲、边试,不知不觉中
学会使用datasheet,学会在Windows上开发平台的搭建、 单片机C语言编程基础、程序的下载、延时程序、 LED点灯程序、I/O操作、PWM功能、定时器功能、 A/D功能等片上功能的使用……
一支电烙铁、电烙铁架子、一小卷含铅的0.8mm 焊锡和一块足够大的万用焊接电路板
一些单芯带绝缘皮的镀锡铜导线
一个40DIP插座和几根杜邦排针 8只1K的电阻和8只LED灯 一根AVR的下载线(比如USBASP线) 最好还有一个万用表
2020/4/3
8
USBASP下载线
CC98上有人在做:http://10.71.45.98/dispbbs.asp?boardID=251&ID=2351497
+5V
(SCK)PB7 RESET
08 09
36
35
34
33
+5V
32
VCC 10
31 GND
GND 11 ATmega16 30 AVCC
12
29
13
28
14
27
15
26
16
25
17
24
18
23
19
22
20
21
2020/4/3
14
建议的“最小系统”
USBASP 下载头
GND
插座(板子正面)
MISO SCK RESET
或 ATmega16-16
2020/4/3
5
从DATASHEET中了解更多
ATMEL公司为他的 所有单片机产品都 提供了一份超级详 细的datasheet说明书, 而且对常用的系列 进行了中文翻译, 这将是我们接下来 进行各种实验环节 的第一手资料!
2020/4/3
6
从DATASHEET中了解更多
22pF
15
26 PC4
16
25 PC3
8MHz
100
17
24 PC2
18
23 PC1
XTAL1
22pF
19
22 PC0
20
21 LED
1K
2020/4/3
16
实验1:让8个LED灯闪烁
安装ICC编译器 编写让8个LED灯闪烁的程序 安装USBASP下载线驱动 使用USBASP给mega16下载写好的程序 更改mega16的熔丝位
2020/4/3
4
我去电子市场买来一片单片机!
我能且只能这样看着它—— 数数它的腿,瞅瞅它上面的印字!
ATmega16L-8
40引脚 DIP封装
2020/4/3
11
ATmega16单片机的管脚排列
2020/4/3
PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 RESET VCC GND XTAL2 XTAL1 PD0 PD1 PD2 PD3 PD4 PD5 PD6
01
40
02
39
03
38
04
37
05
36
06
35
07
34
08
01
40
02
39
03
38
04
37
VCC
MOSI
05
36
(MOSI)PB5 06
35
+5V
(MISO)PB6 07
34
+5V
(SCK)PB7 RESET
08 09
33
+5V
32 AREF
4K7
RESET
VCC 10
31 GND
GND 11 ATmega16 30 AVCC
104
XTAL2 12
29
+
XTAL1 13
单片机片上开发方法
(ATmega16为例)
王浩 98ID: woot E-mail: wanghao@
2020/4/3
1
2020/4/3
2
你现在有这些麻烦吗?
我根本不知道怎么把单片机用在机器人上 我在自学,而且找了书在看,但越看越乱 我看了一些方案的实例,对机械部分和电路部分有
33
09
32
10
31
11 ATmega16 30
12
29
13
28
14
27
15
26
16
25
17
24
18
23
19
22
20
21
PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 AREF GND AVCC PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0 PD7
12
从datasheet上快速知道管脚定义
AVR_DEV\datasheet\cn_mega16-16L.pdf的第2页(P2)
2020/4/3
13
搭建ATmega16的“最小系统”
USBASP 下载头
GND
插座(板子正面)
MISO SCK RESET
01
40
02
39
03
38
04
37
VCC
MOSI
05
(MOSI)PB5 06
(MISO)PB6 07
感觉了,但就是不知道他们是怎样工作的 我只会用仿真器,到现在还不知道如何把写好的程
序“烧”进一片真实的单片机中 只要和单片机有一点关系的电路我们就不敢设计,
这让我们在写方案的过程中阻力很大。 我学过C,但是不会用它写单片机的程序 我到底是用汇编还是用C……
2020/4/3
3
要解决麻烦,首先假设你……
2020/4/3
9
下载一个开发资料包(woot整理)
AVR_DEV.rar解压后
2020/4/3
请关注论坛,即时会挂在临时ftp 上并给出连接
10
做好心理准备
接下来我们将为mega16单片机搭建一个最基本的 电路,可以称它为一个“最小系统”,这个系统只能
向单片机中下载程序并让其开始工作,然后我们会按
(MOSI)PB5 06
36
+5V
35
(MISO)PB6 07
34
+5V
(SCK)PB7 RESET
08 09
33
104
32 AREF
RESET
VCC 10
31 GND
GND 11 ATmega16 30 AVCC
XTAL2 12
29 PC7
XTAL1 13
28 PC6
10uF
XTAL2
14
27 PC5
现在很多单片机内部有三种存储器:
Flash EEPROM SRAM/RAM
一般不会使用,使用时 通过特殊的命令读写, 其特点是掉电不丢失
存放程序 和静态数 据,单片 机在工作 过程中一 般不能修 改
存放变量,特点是掉电丢失
2020/4/3
7
其实你还需要很多……
最起码(如果想完成这里的最少一个实验的话), 你还需要准备:
28
10uF
XTAL2
14
27
22pF
15
26
16
25
8MHz
100
17
24
18
23
XTAL1
22pF
19
22
20
21
2020/4/3
15
增加8个LED灯用来指示
USBASP 下载头
GND
插座(板子正面)
MISO SCK RESET
01
40
02
39
03
38
04
37
பைடு நூலகம்VCC +5V
4K7 +
MOSI
05
照实验的顺序逐渐增加并完善这个系统,并让它最终 成为SLOWLY机器人的一个标准系统。
在这个过程中,我们会边讲、边试,不知不觉中
学会使用datasheet,学会在Windows上开发平台的搭建、 单片机C语言编程基础、程序的下载、延时程序、 LED点灯程序、I/O操作、PWM功能、定时器功能、 A/D功能等片上功能的使用……
一支电烙铁、电烙铁架子、一小卷含铅的0.8mm 焊锡和一块足够大的万用焊接电路板
一些单芯带绝缘皮的镀锡铜导线
一个40DIP插座和几根杜邦排针 8只1K的电阻和8只LED灯 一根AVR的下载线(比如USBASP线) 最好还有一个万用表
2020/4/3
8
USBASP下载线
CC98上有人在做:http://10.71.45.98/dispbbs.asp?boardID=251&ID=2351497
+5V
(SCK)PB7 RESET
08 09
36
35
34
33
+5V
32
VCC 10
31 GND
GND 11 ATmega16 30 AVCC
12
29
13
28
14
27
15
26
16
25
17
24
18
23
19
22
20
21
2020/4/3
14
建议的“最小系统”
USBASP 下载头
GND
插座(板子正面)
MISO SCK RESET
或 ATmega16-16
2020/4/3
5
从DATASHEET中了解更多
ATMEL公司为他的 所有单片机产品都 提供了一份超级详 细的datasheet说明书, 而且对常用的系列 进行了中文翻译, 这将是我们接下来 进行各种实验环节 的第一手资料!
2020/4/3
6
从DATASHEET中了解更多
22pF
15
26 PC4
16
25 PC3
8MHz
100
17
24 PC2
18
23 PC1
XTAL1
22pF
19
22 PC0
20
21 LED
1K
2020/4/3
16
实验1:让8个LED灯闪烁
安装ICC编译器 编写让8个LED灯闪烁的程序 安装USBASP下载线驱动 使用USBASP给mega16下载写好的程序 更改mega16的熔丝位