编写程序时需要软件开发平台,我们选用IAR AVR,它是一个集编辑、编译等多种功能于一体的工具软件。值得一提的是,当编写的程序出现语法错误,在编译时它还可以提示我们,以方便程序的修改和维护。
要使用IAR AVR软件(采用的版本是IAR AVR 5.11),首先需要安装,运行安装程序,安装过程中,需要根据计算机的ID号输入注册号,输入正确后就可以完成安装了。
需要说明的是,只有注册完成后才能完成使用,注册的方法在正版软件的光盘上有说明。
下面,开始启动IAR AVR,用C语言编写 8 位流水灯程序。
① 先在D盘\ch4 目录下(其他位置也可以)新建一个文件夹,命名为first,用来保存 8位流水灯程序。
② 启动IAR AVR软件,将出现启动界面,如图 2-30 所示。由于要创建一个新工程项目于当前工作区中,因此选择Create new project in current workspace。
图 2-30 启动界面
③ 之后,弹出如图 2-31 所示的“创建新工程项目”界面。
图 2-31 创建新工程项目界面
④ 在Tool chain中选择AVR,在Project templates中选择Empty project,创建一个空的工程项目,单击“OK”按钮后弹出“另存为”界面,将文件名命名为first.ewp,单击“保存”按钮后,将first.ewp工程项目保存在first文件夹中。这时工程项目就出现在左侧的工作区窗口中,如图 2-32 所示。在默认状态下,系统产生两个创建配置:Debug(调试)和Release(发布)。这里选择Debug。
⑤ 在向工程项目添加任何文件时(如输入的C源程序),首先应该保存工作区,选择File→Save Workspace后,在出现的Save Workspace As对话框中,选择工作区存放的路径(存放在刚才新建的first文件夹中),并输入工作区的名称(取名first.eww),单击“保存”按钮,如图 2-33 所示。
图 2-32 新建的工程项目窗口
图 2-33 保存工作区
① 在工作区窗口中选中first→Debug,然后选择主菜单栏中的Project→Options,此时,弹出Option for nodefirst界面,如图 2-34 所示。
图 2-34 选项设置界面
② 在Category栏中,选择Genera Options;在Target选项卡的Processor configuration选择框中选择cpu=m16,ATmegal6;Memory model选择框中选择Small,如图 2-35 所示。
图 2-35 选择CPU型号
③ 在Category栏中,选择C/C++Compiler,在Optimizations选项卡中选择None(Best debug support),如图 2-36 所示。
图 2-36 选择None
④ 在Category栏中,选择Linker,如果要进行仿真,在Output选项卡中要选择如图 2-37所示的参数。
⑤ 如果要生成可以烧写用的文件,在Category栏中,选择Linker,在Output选项卡中选择如图 2-38 所示的参数。
⑥ 在Category栏中,选择Debugger,进行软件仿真时,在Setup选项卡中选择如图 2-39所示的参数。
图 2-37 仿真设置界面
图 2-38 生成烧写文件设置界面
图 2-39 软件仿真设置
⑦ 当进行硬件调试时,可在IAREW中选择JTAGICE等JTAG仿真器,如图 2-40 所示。
图 2-40 硬件仿真设置
最后,单击“OK”按钮完成工程项目的设置。
① 主菜单栏中,选择File→New→File后,随后在出现的Untitledl文本文件编辑窗口,在编辑区输入下列源程序:
输入程序后的窗口如图 2-41 所示。
图 2-41 输入程序后的窗口
② 程序输入完成后,选择file,在下拉菜单中选中Sav as,保存在first文件夹中,源文件名为first.c,如图 2-42 所示。
③ 在图 2-42 左侧的工作区中右击,在出现的下拉菜单中选择add,再选择add“first.c”源文件,如图 2-43 所示。这样,first.c文件便加入工程项目中了。
以上编写的 8 位流水灯程序是供我们看的,在学完C语言后完全可以看懂。但是,单片机可看不懂,它只认识由 0 和 1 组成的机器码。因此,这个程序还必须进行编译,将程序“翻译”成单片机可以“看懂”的机器码。
图 2-42 保存源程序
图 2-43 增加源文件
① 选择主菜单栏中的Project,在下拉菜单中选择Rebuild All,如图 2-44 所示。
图 2-44 编译源程序
② 这时,Messages窗口中出现源程序的编译信息,如图 2-45 所示。
图 2-45 编译信息
可以看出,以上源程序无任何警告,也无任何错误。
如果编译出错,错误信息会在Messages窗口中显示出来,用户可以在源程序编辑窗口重新输入、修改源程序文件,并再次编译,直到编译通过并生成用户所需的文件。