电子系统设计专题实验—AVR单片机基础实验

上传人:xins****2008 文档编号:112198566 上传时间:2019-11-05 格式:DOC 页数:68 大小:1.28MB
返回 下载 相关 举报
电子系统设计专题实验—AVR单片机基础实验_第1页
第1页 / 共68页
电子系统设计专题实验—AVR单片机基础实验_第2页
第2页 / 共68页
电子系统设计专题实验—AVR单片机基础实验_第3页
第3页 / 共68页
电子系统设计专题实验—AVR单片机基础实验_第4页
第4页 / 共68页
电子系统设计专题实验—AVR单片机基础实验_第5页
第5页 / 共68页
点击查看更多>>
资源描述

《电子系统设计专题实验—AVR单片机基础实验》由会员分享,可在线阅读,更多相关《电子系统设计专题实验—AVR单片机基础实验(68页珍藏版)》请在金锄头文库上搜索。

1、-电子系统设计专题实验报告AVR单片机基础实验学 院_电信学院_班 级_计算机_学 号_姓 名_一、 实验目的和要求本实验课程的主要目的是通过一个新型嵌入式单片机为核心的应用系统设计,掌握微型计算机硬件系统结构基本原理,软件开发编程方法,外围接口电路的组成和应用编程技术,以及电子系统设计的相关技术。通过课程实践训练,能够独立实现一个完整的计算机应用系统设计。要求基本实验部分学习单片机系统的基本硬件组成原理和软件程序设计方法;综合设计实验要求根据题目需求自行设计系统硬件组成电路,并设计实现完成相应功能的应用程序调试任务。二、实验设备及开发环境以AVR ATmega128单片机为核心的实验开发系统

2、。实验开发板采用技术性能优良的AVR ATmega128单片机作为核心器件,还特别设计了USB接口模块、Ethernet网络接口模块,还有MCU对外扩插槽,可为电路扩展模块提供必要的准备。AVR单片机实验开发系统实验测试环境:1. 软件开发平台: PC机WindowsXP操作系统;AVR Studio 4.16 集成开发软件; WinAVR 20080610 C语言编译器;2. 下载编程工具: JTAG ICE mkII在线仿真器;3. 测试目标板: ATmega128实验开发板;4. 测试程序: 用C语言编写电路功能测试程序,在WinAVR(GCC)+ AVR Studio编译下通过。三、实

3、验设计题目及实现的功能实验一:单片机实验系统开发环境学习1. 熟悉实验电路的结构原理、元器件名称、作用及相应的接口连接;2. 学会使用C编译器编辑、编译、调试简单C源程序;3. 学会使用AVR Studio集成开发软件下载调试并得到正确结果;4. 熟悉蜂鸣器电路的编程原理实验二:LED指示灯循环显示程序设计实验1. 熟悉LED指示灯电路原理图;2. 学会单片机C语言I/O端口编程控制方法;3. 学会外部显示部件LED灯的软件编程使用方法;4. 进一步熟悉单片机实验开发系统的使用。实验三:数码管动态显示程序设计1. 熟悉单片机数码管电路结构原理;2. 学会单片机C语言I/O端口编程控制方法;3.

4、 学会外部显示部件LED灯的软件编程使用方法;4. 学会单片机开发系统的软件调试方法。实验四:定时/计数器中断应用程序设计熟悉单片机内部定时/计数器的工作原理;了解单片机中断机制工作原理;掌握单片机中断服务程序的设计方法;了解定时计数器的功能及应用。实验五:LCD字符图形显示程序设计1. 熟悉单片机字符图形显示电路工作原理;2. 了解LCD12864字符图形显示部件的工作原理;3. 学会单片机控制字符图形显示的程序设计方法;4. 学会单片机应用系统的人机界面软件设计方法。实验六:键盘控制程序设计1. 熟悉单片机键盘电路工作原理;2. 学会单片机键盘控制程序设计使用方法;3. 学会单片机矩阵键盘

5、扫描程序的设计;4. 学会键盘控制与显示部件的联合应用。实验七:外部中断控制程序设计熟悉单片机外部中断电路结构的工作原理;了解单片机内部中断机制工作原理;掌握单片机中断服务程序的设计方法;了解外部中断的功能及应用。实验八:USART串行通信程序设计1. 熟悉USART串行通信接口电路工作原理;2. 掌握USART串行通信协议编程规则;3. 学会USART串行通信程序设计方法;4. 学习单片机外部通信接口的应用程序设计。四、实验设计电路工作原理实验一:单片机实验系统开发环境学习 由图1.1所示的蜂鸣器电路可知,当BEEP引脚输出为低电平时,三极管导通,蜂鸣器鸣响;而当BEEP引脚输出为高电平时,

6、三极管截止,蜂鸣器停止鸣响。 图 1.1 蜂鸣器电路连接图注:BEEP与ATmega128的PE3口相连实验二:LED指示灯循环显示程序设计实验 LED指示灯的硬件电路连接如图2-1所示。图2-1 LED指示灯的硬件连接图注:LED_CS与ATmega128的PC5相连。在图2-1所示的LED模块接口电路中,8个LED指示灯阳极通过限流电阻与电源连接,当锁存器的输出端(Q0Q7)引脚Qn(0n7)输出低电平时,将点亮编号为DS20X(X = n + 1)的LED灯;反之,则将熄灭LED灯。一次基本的LED操作应按照如图2-2所示的LED灯基本操作流程进行。图 2-2 LED灯基本操作流程第一步

7、端口初始化,在这个步骤中,驱动程序将与锁存器数据输入端(D0D7)相连的MCU的8条引脚所对应的端口PB初始化为输出模式;并且将与锁存器的锁存使能端(LE)相连的MCU引脚PC5(LED_CS)初始化为输出模式。然后通过PORTB口输出显示状态码,低电平的LED位灯亮,高电平的LED位灯灭。PC5(LED_CS)高电平有效使能端。实验三:数码管动态显示程序设计 数码管硬件电路连接如图3-1所示。图3-1 数码管硬件电路连接图注:DIG_CS1、DIG_CS2分别与ATmega128的PG3、PG4相连。数码管的编程基本操作包括两个步骤:一是位码操作;二是段码操作。所谓“位码操作”,是指选定将要

8、进行显示的某一位数码管;所谓“段码操作”,是指输出欲显示的字符的段码。本模块中,有两个四位数码管拼接而成了八位数码管,所以位码共有8种选择。对于共阳极数码管的基本段码表详见附录1中的共阳极数码管基本段码表,自定义扩充的段码表详见附录1中的共阳极数码管自定义扩充段码表。一次基本的数码管操作应按照如图2所示的数码管编程基本操作流程进行。图 3-2 数码管编程基本操作流程第一步:端口初始化。在这个步骤中,驱动程序将与锁存器数据输入端(D0D7)相连的MCU的8条引脚所对应的端口PB初始化为输出模式;并且将与位码锁存器的锁存使能端(LE)相连的MCU引脚(DIG_CS1)和与段码锁存器的锁存使能端(L

9、E)相连的MCU引脚(DIG_CS2)初始化为输出模式。第二步:关闭段码锁存器,使能位码锁存器。此时MCU通过对段码锁存器的锁存使能端(LE)输出低电平,即可关闭段码锁存器;MCU通过对位码锁存器的锁存使能端(LE)输出高电平,即可使能位码锁存器。第三步:送数码管位码。MCU通过端口PB输出数码管位码,指定将要进行显示的某位数码管。当MCU引脚PBn(0 n7)输出为高电平时,从右至左编号为第n + 1位的数码管将被用于显示;当MCU引脚PBn(0 n7)输出为低电平时,则从右至左编号为第n + 1位的数码管未被选中。例如,若输出PB = 0x81将选中编号(从右至左编号)为第8位和第1位的数

10、码管,其余6位数码管则未被选中。注意:在送数码管位码期间,应确保段码锁存器处于关闭状态,而位码锁存器处于使能状态。第四步:关闭位码锁存器,使能段码锁存器。此时MCU通过对位码锁存器的锁存使能端(LE)输出低电平,即可关闭位码锁存器;MCU通过对段码锁存器的锁存使能端(LE)输出高电平,即可使能段码锁存器。第五:送数码管段码。MCU通过端口PB输出数码管共阳极段码,用于在指定的某位数码管上显示特定的字符。例如,根据附录1中给出的共阳极数码管基本段码表,此时若输出PB = 0xc0,则被选中的某位数码管将显示数字字符“0”。注意:在送数码管段码期间,应确保位码锁存器处于关闭状态,而段锁存器处于使能

11、状态。第六步:关闭段码锁存器。此时MCU通过对段码锁存器的锁存使能端(LE)输出低电平,即可关闭段码锁存器。当位码锁存器和段码锁存器同时处于关闭状态时,数码管的显示状态将不再受MCU端口PB输出的影响。表 附录3-1 共阳极数码管基本段码表字符hgfedcba共阳极段码0001111110xc01000001100cf92010110110xa43010011110xb04011001100x995011011010x926011111010x827000001110xf88011111110x809011011110x90A011101110x88b011111000x83C00111001

12、0xc6d010111100xa1E011110010x86F011100010x8e表 附录1-2 共阳极数码管自定义扩充段码表字符hgfedcba共阳极段码010000000xbf100000000x7f全亮111111110x00全灭000000000xff实验四:定时/计数器中断应用程序设计单片机的中断分为软中断(内部中断)和硬中断(外部中断)两种。所谓软中断指软件中断,例如定时器定时中断,这类中断是程序员根据需要设置的,是可以预测的中断。而所谓硬中断是另一类不可预测的中断类型,例如单片机的端口输入中断。这一类中断程序员事先并不能预测何时发生。中断的重要意义在于其能够及时响应对应的事件

13、,当某种紧急事件发生时,使用中断功能,CPU能够立刻暂停当前的程序运行,转而执行中断服务程序,在中断服务程序执行完毕后再返回原来的程序继续运行,以保证对紧急事件的实时响应。ATmega128单片机有2个具有独立预分频器和比较器功能的8 位定时器/计数器T/C0、T/C2,以及有2 个具有独立预分频器、比较器功能和捕获功能的16 位定时器/计数器T/C1、T/C3。程序设计相关寄存器说明:1. 16位T/C1数据寄存器TCNT1H和TCNT1L,组成16位计数单元。2. 16位T/C1输出比较寄存器OCR1AH和OCR1AL,存放16位比较数值。3. 16位T/C1控制寄存器TCCR1A,设置通道比较输出模式; TCCR1B,时钟分频设置。4. 定时器/计数器中断屏蔽寄存器TIMSK,中断使能设置。实验五:LCD字符图形显示程序设计LCD硬件电路连接如图5-1所示。图5-1 LCD硬件电路连接图注: LCD_RS、LCD_R/W和LCD_E分别于ATmega128芯片的PD5、PD6和PD7相连;RESET与单片机的复位引脚相连。表 5-1 LCM128645ZK引脚描述管脚号管脚名称电平管脚功能描述1VSS0V电源负极2VCC+3.0或+5V电源正极

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号