1. 要完成本新手入门的范例,你需要准备好如下的软、硬件
●WinAVR 20050214 版本(C语言编写、编译软件)。 下载与安装方法请参考:AVR开发软件的选择与安装
●AVR Studio 4.12 (下载与调试软件)。 下载与安装方法请参考:AVR开发软件的选择与安装
●STK500 下载(烧录器)器 (接电脑及本实验板)
●ATmega16 芯片及常用零件若干(详见电路图)
2. 实验描述:
编写一段C代码,实现8只LED的跑马灯程序。
3. 电路图设计 :
.

提示:点击看原图
.
4. 用WinAVR(GCC)语言编辑C代码
在C盘建立一个叫 C:avr_test 的文件夹, 点击此处下载范例C文件压缩包(需要解压后才能使用,你会得到一个叫Main.C的文件以及一个叫Makefile的文件。不要改名,直接拷贝到C:avr_test文件夹内即可)。
运行 WinAVR 的PN (ProgRAMmers Notepad), File --> Open 打开Main.C 后,看到如下的界面

注:为了学习方便,你也可以:
直接点击这里查看Main.C 的具体内容。
直接点击这里查看Makefile的具体内容。
5. 编译 (Make All)
按下图操作。

编译成功后,会有如下的 Process Exit Code: 0 的信息。
如果结果不是0,表明编译有问题,请检查你的 C:avr_test 目录是否有Main.C 与 Makefile 两个文件。

编译成功后,原来只有2个文件的目录,现在变成了如下图的文件清单:

留意上面生成的 Main.Hex, 它是烧录文件。烧录(即下载)到AVR芯片后,就能运行。
6. 搭建电路实物图
你可以使用万能板将上述的电路搭建起来。
为了方便演示,我们将电源供电、ISP下载接口等,制作在一块Mega16功能小板内。可用于本新手入门的所有范例。
外围的8只LED灯及电阻等,我们制作成新手入门热转印PCB板。
将这两块PCB组合在一起,接上电源及STK500 ISP下载线。如下图:

7. 配置ATmega16的工作频率与振荡方式 (即设置熔丝位。如果你使用的是新芯片,可跳过此步)
本入门范例是使用1M的工作频率(如果设错,会导致延时不正确)。
AVR单片机内置RC振荡,可产生单片机需要的时钟频率。如果精度要求较高时,也可以使用外接的晶振。
本范例是使用内部RC振荡。
打开 AVR Studio 软件,按下图操作。

弹出如下的界面:

点击Connect.. 按钮, 进入 Fuses (熔丝位)配置界面。仅需修改下图蓝色的地方。
如果你是新的芯片,这已经是缺省值。
如下图:

Int. RC Osc. 1M:Startup Time: 6CK + 64ms; [CKSEL=0001,SUT=10] Default Value
表示:内部RC振荡 1M 工作时钟频率,启动时间:6个时钟周期+64毫秒
按 Program 确认修改,STK500下载器会将修改更新到芯片中。
7. 下载烧录文件(Main.Hex)到AVR单片机
仍是使用STK500刚才的界面,选择好芯片名称(Device), Flash 的烧录文件名后,
按 Program 将电脑上的 Main.Hex 文件烧录到 ATmega16芯片内。

8. 运行
烧录成功后,实验板上的8只LED灯,立即以跑马灯的形式在闪动。
9. 恭喜你已经进入AVR的精彩世界! |