实验一跑马灯实验

实验一跑马灯实验

ID:14047588

大小:284.50 KB

页数:11页

时间:2018-07-25

实验一跑马灯实验_第1页
实验一跑马灯实验_第2页
实验一跑马灯实验_第3页
实验一跑马灯实验_第4页
实验一跑马灯实验_第5页
资源描述:

《实验一跑马灯实验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验一跑马灯实验动中通安庆研发中心江宏武2008-2-229目录1.实验目的12.实验过程12.1安装ICCAVR7.1412.2编写程序之前所需的操作12.3编写应用程序53.实验结果74.代码分析74.1代码清单74.2delay()函数分析84.3main()函数分析85.参考资料991.实验目的掌握ICCAVR开发环境的基本操作学习对ATmega128单片机I/O口的基本操作2.实验过程2.1安装ICCAVR7.14ICCAVR7.14安装包存放于“D:所有软件ICCAVR7”文件夹下,运行“iccv7avr_714.exe”程序

2、可以完成安装,复制“D:所有软件ICCAVR7iccavr714破解”文件夹下“iccavride.exe”至“ICCAVR安装目录bin”文件夹下覆盖原“iccavride.exe”文件即可完成ICCAVR7.14的破解。2.2编写程序之前所需的操作运行“ICCAVR7forAVR”以启动ICCAVR开发环境,运行界面如图1。图1.ICCAVR开发环境新建工程,执行菜单“Project-New”命令可以新建工程,操作如图2。这里在建立工程时为工程取名“Lighten_LEDs_Recurrently”。9图2.新建工程使用ICCAV

3、R向导,执行菜单“Tools-ApplicationBuilder”命令,进入向导。图3.启动ICCAVR向导9设置CPU相关参数,启动向导后,进入CPU设置选项卡,选择CPU为“M128”,时钟频率为“14.7456MHz”,设置如图4。图4.ICCAVR向导-CPU选项卡设置完相关的参数以后,即可生成“main()”主函数,操作是选择“ICCAVR向导”中的“Options”按钮弹出菜单中的“Include“main()””命令,该步骤操作如图5。然后单击“OK”按钮即可生成相关C源代码,生成的代码应该注意保存。9图5.利用向导生成生成包

4、含main()主函数的C程序在保存完生成的代码以后应该将代码添加到工程中去,具体操作是在代码窗口中单击鼠标“右键”,在弹出的菜单中选择“AddtoProject”,操作过程如图6所示。9图6.将代码添加至工程2.3编写应用程序ICCAVR向导生成的C源程序如下:9用户只需要在代码中“//insertyourfunctionalcodehere”注释处添加应用程序即可完成代码的编写。编写代码如下:在程序编译之前需要对编译条件设置,具体操作是执行“Progect-Options”命令,打开“CompilerOptions”窗口,进入“Target

5、”选项卡,为“DeviceConfiguration”选择“Atmega128(PleaseseeNOTES)”,设置如图7。图7.设置编译条件执行菜单“Project-RebuildAll”命令编译整个工程,编译过程会在工程文件夹下生成“工程名.hex”的十六进制格式可执行文件。将十六进制可执行文件通过编程软件下载到Atmega128中即可运行。93.实验结果实验板上的4个LED(DS0~DS3)开始全部点亮,然后大约每间隔1秒钟点亮1个LED,点亮次序是:[DS0~3]→[DS1]→[DS2]→[DS3]→[DS2]→[DS1]→[DS0

6、],然后按照这样的次序无限循环。4.代码分析4.1代码清单下面一一列出工程代码所包含的全部代码mian.c源代码头文件iom128v.h源代码9头文件macros.h源代码以上源码只有delay()和main()函数需要用户编写,其他都由ICCAVR依据用户对工程的设置自动生成。其中头文件iom128v.h和macros.h在“ICCAVR安装目录inclide”件夹下。4.2delay()函数分析delay()函数由3个for循环组成,为延迟函数,延迟效果大约为1秒,由于CPU运行速率为1MIPS/MHz的时钟为14.7456MHz,因此

7、CPU执行速度大约为14.7MIPS,因此要产生大约1秒中的延迟则可通过执行14.7×10^6次单周期循环来实现,近似等于127×127×127次单周期循环,因此延迟大约1秒的delay()函数代码可以这样设计。delay()函数源码4.3main()函数分析在分析main()函数之前先阅读实验板LED的连接电路,如图8。图8.LED连接电路DS0~DS3采用共阳极接法可以通过P_LED上的“短路帽”9与CPU的PA0~PA3连接,因此要实现点亮或熄灭LED可以通过对PA口输出高低电平来实现,由于DS0~DS3采用的是共阳极接法,因此对PA口

8、对应为输出低电平就可以点亮对应的LED,输出高电平则熄灭对应的LED。参阅资料[第2.8节,1]可知Atmega128的I/O口具有3个寄存器,分别是PORTx,D

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。