ATmega16开发系统设计(附protel电路图和C语言程序)☆
摘 要
本文所研究的单片机是Atmega16,这款单片机零售价低,货源充足;且具有16KB的Flash,能满足绝大部分的实际需要;它还支持JTAG仿真,特别适合AVR初学者和需要繁琐调试的低成本应用。本文主要设计了蜂鸣器、8位LED显示、4位8段数码管显示、1602LCD液晶屏显示、模数和数模转换模块,对这些模块进行电路和软件的设计。本文运用了protel画图软件和C语言编程的软件对这些模块进行设计。
通过对这款单片机的学习,我对各模块都进行了相应的设计,Atmega16自身带有一个10位的逐次逼近型ADC,可以实现模数转换;学习了数码管动态显示和静态显示的方法;用到了1602液晶显示芯片,LCD1602就是一款极常用的字符型液晶。可以显示2行16个字符,每个字符采用5×7或5×10点阵;还对数模转换芯片5620进行了研究,它是单电源供电的串联型8位D/A转换器(DAC),其输出为电压型,它有四路各自独立的电压输出D/A转换器,具备各自独立的基准源,其输出还可编程为2倍或1倍。
通过实验证明,本开发系统性能稳定,能很好的实现各模块功能,还可以用作初学者的学习板,具有很大的实际意义。
关键字:ATmega16;显示;模数转换;数模转换;蜂鸣器
The design of ATmega16 development system
Abstract
In this paper, the study by the MCU is Atmega16, this retail lowest-SCM, supply adequate; and has a 16 KB of Flash, to meet the actual needs of the majority; It also supports JTAG emulation, particularly suitable for beginners and needs AVR Commissioning of the complex low-cost applications. This paper is designed buzzer, eight LED display, four paragraph 8 of the digital display, 1602 LCD screen, DA and AD converter modules, these modules on the circuit and software design. In this paper, the use of the protel drawing software and the C programming language software for the design of these modules.
Through the study of this MCU, I have carried out various modules corresponding design, Atmega16 itself with a 10 successive approximation of the ADC, analog-digital conversion can be achieved; study of the dynamic digital display and the static display ; Using the 1602 liquid crystal display chips, LCD1602 is a very popular character LCD. Line 2 can display 16 characters, each character using 5 × 7 or 5 × 10 dot-matrix and;also studied the DAC chip 5620, it is the single power supply series of eight D / A converters ( DAC), its output voltage, it has four-way independent of voltage output D / A converters, a separate reference, its output is also programmable for 1 or 2 times the times.
Through experiments proved that the development of system performance and stability, can achieve very good function of each module, can also be used for beginners learning boards, has great practical significance.
Key Words:ATmega16;Display;DAC;ADC;Buzzer
本文研究的主要内容
本文所研究的单片机是Atmega16,这款单片机零售价低,货源充足;且具有16KB的Flash,能满足绝大部分的实际需要;它还支持JTAG仿真,特别适合AVR初学者和需要繁琐调试的低成本应用。也是因为其所拥有的优势,所以本文才选其作为研究对象。本文主要研究的是用这款单片机来研究蜂鸣器、8位LED、4位8段LED显示、LCD1602显示模块和A/D和D/A转换模块。对以上的各个模块进行电路的设计,再设计一些程序使其完成特定的功能。
各系统分块介绍
2.4.1 系统时钟
Atmega16组要系统时钟有CPU时钟,I/O时钟,Flash时钟,异步定位时钟,ADC时钟。为了降低功耗,可以通过使用不同的睡眠模式来禁止无需工作的模块的时钟2.4.2 电源管理及睡眠模式
电源睡眠模式可以使应用程序关闭 MCU 中没有使用的模块,从而降低功耗。AVR 具有不同的睡眠模式,允许用户根据自己的应用要求实施剪裁。
[资料来源:www.doc163.com]
主要模式有:空闲模 ADC噪声抑制模式、掉电模式、省电模式、Standby模式和扩展Standby模式。
2.4.2 系统控制和复位
(1)ATmega16 有 5 个复位源:
(2)上电复位。电源电压低于上电复位门限 V时, MCU 复位
(3)外部复位。引脚 RESET上的低电平持续时间大于最小脉冲宽度时 MCU 复位。
(4)看门狗复位。看门狗使能并且看门狗定时器溢出时复位发生。
(5)掉电检测复位。掉电检测复位功能使能,且电源电压低于掉电检测复位门限 BOT时MCU 即复位。
(6)JTAG AVR复位。复位寄存器为1时MCU复位。
2.4.3 I/O端口
作为通用数字I/O 使用时,所有AVR I/O 端口都具有真正的读- 修改- 写功能。这意味着用SBI 或CBI 指令改变某些管脚的方向( 或者是端口电平、禁止/ 使能上拉电阻) 时不会无意地改变其他管脚的方向( 或者是端口电平、禁止/ 使能上拉电阻)。输出缓冲器具有对称的驱动能力,可以输出或吸收大电流,直接驱动LED。所有的端口引脚都具有与电压无关的上拉电阻,并有保护二极管与VCC 和地相连。作为通用数字I/O 的端口为具有可选上拉电阻的双向I/O 端口。
2.4.4 USART
通用同步和异步串行接收器和转发器 (USART) 是一个高度灵活的串行通讯设备。 [资料来源:http://Doc163.com]
2.4.5 定时器/计数器
Atmega16有三个具有比较模式的灵活的定时器/ 计数器(T/C)。包括具有独立预分频器和比较器功能的8位定时器/计数器及具有预分频器,比较功能和捕捉功能的16定时器/计数器。
2.4.6 模/数 转换
Atmega16有一个10位的逐次逼近型ADC。ADC与一个8通道的模拟多路复用器连接,能对来自端口 A 的 8 路单端输入电压进行采样。单端电压输入以 0V (GND) 为基准。
[资料来源:www.doc163.com]
[资料来源:http://doc163.com]
目 录 23000字
摘 要 I
Abstract II
1 绪论 1
1.1 研究背景 1
1.2 研究的目的和意义 1
1.3 本文研究的主要内容 1
2 ATmega16单片机的简介 3
2.1 性能概括 3
2.2 ATmega16特点 3
2.2.1 引脚功能 3
2.2.2 内核介绍 5
2.3 存储器 7
2.3.1 系统内可编程的Flash程序存储器 7
2.3.2 SRAM数据存储器 7
2.3.3 EPROM数据存储器 9 [资料来源:Doc163.com]
2.4 各系统分块介绍 9
2.4.1 系统时钟 9
2.4.2 系统控制和复位 9
2.4.3 I/O端口 9
2.4.4 USART 10
2.4.5 定时器/计数器 10
2.4.6 模/数转换 10
3 蜂鸣器的设计 11
3.1 蜂鸣器的介绍 11
3.2 蜂鸣器的分类 11
3.3 蜂鸣器设计图和原理 11
3.4 蜂鸣器的软件实现 12
4 8位LED显示和流水灯模块 15
4.1 LED的介绍 15
4.1.1 发光二级管的原理 15
4.1.2 发光二级管的分类 15
4.1.3 发光二级管的优缺点 15
4.2 显示器的共阴共阳极接法 15
4.2.1 共阴极接法 16
4.2.2 共阳极接法 16 [来源:http://Doc163.com]
4.3 8位LED模块设计图及原理 16
4.4 流水灯的设计 18
5 4位8段LED显示模块 20
5.1 8段数码管的介绍 20
5.1.1 8段LED显示器结构 20
5.1.2 LED显示器的用途及特点 20
5.1.3 数码管字型的控制 20
5.2 LED数码管的显示方法 21
5.2.1 数码管的静态显示 22
5.2.2 数码管的动态显示 22
5.3 4位8段数码管设计及原理 23
5.4 数码管的软件实现 24
6 LCD1602显示模块 27
6.1 LCD的介绍 27
6.1.1 LCD显示器的特点 27
6.1.2 液晶显示屏的分类 28
6.2 LCD1602液晶显示器 29
6.3 LCD液晶显示模块设计 31
6.4 LCD1602的软件实现 32 [资料来源:www.doc163.com]
7 ATmega16模数转换模块 37
7.1 A/D转换器概述 37
7.1.1 A/D转换器的主要技术指标 37
7.1.2 A/D转换器的分类 38
7.2 ATmega16的A/D转换 40
7.2.1 片内基准电压 40
7.2.2 ATmega16与A/D有关的寄存器 41
7.3 A/D转换的软件实现 44
8 ATmega16数模转换模块 47
8.1 D/A转换器概述 47
8.1.1 D/A转换器的主要技术指标 47
8.1.2 D/A转换器的分类 47
8.2 D/A转换芯片5620的介绍 48
8.2.1 TLC5620的特点 48
8.2.2 TLC5620引脚排列与功能说明 48
8.2.3 TLC5620的变换输出 49
8.2.4 TLC5620的命令字及时序图 50
8.3 数模转换设计图 51
8.4 TLC5620的软件实现 51
结 论 53
参 考 文 献 54
致 谢 55
参 考 文 献
[1] 张毅坤, 陈善久等. 单片机原理及应用 西安电子科技大学出版社,1998.
[2] 沈文,AVR单片机C语言开发入门指导.北京:清华大学出版社,2003.
[3] 张凯等,单片机综合系统极其设计开发。北京:科学出版社,1996.
[4] 李广弟.单片机基础.北京:北京航空航天大学出版社,1994.
[5] 张克农. 数字电子技术基础。高等教育出版社。2003.
[6] 丁化成, 耿德根,李君凯.AVR单片机应用设计.北京:北京航空航天大学出版社,2002.
[7] 曹巧媛. 单片机原理及应用. 西安: 电子工业出版社.2004.11 .
[8] AVR单片机技术资料.广州市天河双龙电子有限工司.
[9] 李华. AVR系列单片机实用接口技术.北京:北京航空航天大学出版社,1993.,1993.
[10] 宋建国. AVR单片机原理及应用.北京:北京航空航天大学出版社,1998.
[11] 周航慈. 单片机应用程序设计基础.北京:北京航空航天大学出版社,1994.8.
[12] 王远. 模拟电子技术. 北京:机械工业出版社.2004.4.
[13] 胡汉才.单片机原理及其接口技术.北京:清华大学出版社.1998.1.
[14] 毕满清, 电子技术实验与课程设计。机械工业出版社. 2005.
[15] 赵建领, Protel电路设计与制版。电子工业出版社. 2007.