1 / 11
文档名称:

带液晶显示 蜂鸣器 键盘 跑马灯的单片机实验报告.doc

格式:doc   大小:8,146KB   页数:11页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

带液晶显示 蜂鸣器 键盘 跑马灯的单片机实验报告.doc

上传人:aibuaiwo1318 2018/6/1 文件大小:7.96 MB

下载得到文件列表

带液晶显示 蜂鸣器 键盘 跑马灯的单片机实验报告.doc

文档介绍

文档介绍:AVRKIT-MEGA16K安装调试
实验报告
学生姓名:
学  号:
院系:
专业:
指导教师:
AVRKIT-MEGA16K安装及调试
AVRKIT-MEGA16K主机实验板
首先是一块干净的主板以及一包各种各样的元器件。我们所需要的是将这些元器件正确级适当的焊接到这块主板上面。其中需要我们胆大心细,一丝不苟,不能有丝毫的马虎,因为这是一个系统,任何一个部位的错误会影响这个系统的工作。
这就是我们所焊好的一块主板:
下面是我们将单片机安装到主板上后的一张照片:
其中有以下几个单元:RS232接口单元,单片机插口单元,二极管单元,按键单元,LED显示单元,液晶显示单元,电源供应单元,无源蜂鸣器单元,还有外部时钟单元。其中在这块电路板上没有安装液晶显示,下面的一块就是安装了液晶显示器的主板:
我们的单片机是5V单元供电,是直流电,当然我们也是可以用电池来供电,4*,但是仍然可以安全工作,下面的一块电路板就是我们安装了电池盒的电路板:
焊完单片机的同时,我们有两种选择,并口的下载线和USB口的下载线,由于我的电脑没有并口,所以我选择的USB下载线。由于是双面板,同时那些贴片电阻和电容都是十分的微小,给焊接工作带来了很大的困难。但是万事开头难,经过了一些时间的适应之后,我成功的焊接好的一条USB下载线,下面是USB下载线的照片:
下面是我把线连接上去后的样子:
在焊接完成之后是配置工作,由于在套件里面的单片机AVR mega8是已经把固件安装好的了,所以我可以省略这一步骤,直接配置单片机。在次之前,我们首先需要在电脑上安装好下载线:
将J1和J3跳线断开,将usbasp接到电脑的一个空闲usb接口电脑提示发现新硬件USBasp
安装 usbasp的驱动程序
找到usbasp驱动程序存放的位置
Usbasp驱动安装成功
检验是否安装成功我们可以在我的电脑里面的设备管理器里查看是否有轩微科技USB组这一项目
接下来我们需要配置一下熔丝位,使单片机能够正常的工作。正确的熔丝位配置应该是:
SUT0=0
CKSEL3=1
CKSEL2=0
CKSEL1=0
CKSEL0=0
所以我们需要使用AVR Fighter来配置熔丝位。
选择好我们的单片机mega16,然后点击读取,如果出现编程失败,则我们需要把下载线上面的j1端口短接,然后再点击读取,然后将我们需要的熔丝位配置写入,即可成功,然后我们就可以装载Flash,然后点击擦除,然后点击写入,我们就成功的将程序写入了单片机。
(二):编程实现一个功能
在完成了以上的准备工作之后,我们就需要编写一个程序,实现特定的功能。我们使用codeavr这个程序,利用C语言进行程序的编写。然后我们使用AVR Fighter烧进单片机内。
我所要实现的功能是利用两个按键,按键1,按键2。在没有按下任意键的时候,屏幕第一行显示Choose The Items,第二行显示 1:songs 2:paoma。按下按键1时,屏幕第一行显示 The Playing Song,第二行显示Simple Love———Jay Chou同时放音乐周杰伦的简单爱,按下按键2后,音乐播放停止,屏幕第一行显示What's Going On,第二行显示Paomadeng
可以多次循环往复使用。
下面是端口接线:
下面是实现功能的代码:
/*********************************************
File name :
Chip type : ATmega16
Program type : Application
Clock frequency : MHz
Memory model : Small
External SRAM size : 0
Data Stack size : 256
*********************************************/
#include <>
#include <>
#include <>
#define Max_note 58
flash unsigned int t[14] = {0,1953,1736,1562,1466,1302,1174,1042,976,868,781,733,651,587};
flash unsigned char d[14] = {0, 51, 57, 64, 68, 77, 85, 96,102,114,128,136,154,190};
flash unsigned char music[M