图2.9
(4)配置熔丝位:点击编程选项中配置熔丝。切换到设置设置导航模式,如图2.10所示。
图2.10
选择Int.RC Osc.4MHz;Start-up time:6 CK + 64ms这一项;其余项不要修改。(5)检查实验板J5、J6短路帽是否插上,没有要插上。将下载器与PC机
此时右上角配置位数值变为:E3 99 FF。点击确定。
并口相连,另一端连接实验板ISP接口。使用杜邦线将D区任意一个LED灯与PA0相连。检查无误后上电。
(6)点击编程,如图2.11所示为编程成功。观察LED,发现它在一闪一闪。
图2.11
12
五、思考题
1用CodeWizardAVR创建工程的有什么优点?
CodeWIzardAVR有特定功能的头文件,可以直接调用,不用再去编写一些程序,比如delay.h等。
CodeWizardAVR中的工程向导可以省去很多的初始化的代码,以及程序的框架。
CodeWizardAVR中的中断函数可以提供自动的现场保护和断点回复功能,可以方便的使用中断。
2创建工程的过程中应注意哪些问题?
应注意正确配置各参数,以及目标芯片,防止配置错误,导致程序无法正常工作,甚至损坏电路板。
3 AVR熔丝位有哪些作用?编程时应注意哪些问题?(特别注意时钟及加密) 熔丝是一个保护知识产权的设计。烧断熔丝后,片内的程序就不可以被读出来也不能被改写,只能用来运行。
AVR芯片使用熔丝来设定时钟、启动时间、一些功能的使能、BOOT区设定、当然还有最让初学者头疼的保密位,烧录程序时需要设定好熔丝位,不然设不好会锁芯片。
六、实验现象
LED灯一闪一灭,间隔时间为半秒钟
13
七、遇到的问题及解决方法
1、我的电脑是64位,安装codeversion总是失败,于是我安装的AtmelStudio,编程的时候需要设置CPU频率,头文件也与Codeversion不同,比如
2、下载器和烧录软件也与实验室不同: 下载器:USBASP
烧录器:
14
八、心得体会
本次实验,我学习了单片机的软件环境。使用CodeVision AVR软件的工程创建向导功能,创建了一个简单的工程,编译并下载。在此过程中的设置是:
Chip->ATmega16, Clock->4MHz。
按照需要配置各IO端以及定时器等。
编译后,要注意观察Information窗口,观察是否有错误或警告以及它们所在的位置。下载过程中,一定要保证单片机与PC机连接正确,即串口连接好且单片机上电。
15
实验三 I/O口操作实验
一、实验目的
1.掌握ATmega16 I/O口操作相关寄存器 2.掌握 CodeVision AVR软件的使用 3. 复习C语言,总结单片机C语言的特点
二、实验内容
1. 设计一个简单控制程序,功能是8个LED逐一循环发光0.5s,构成“流水灯”。
2. 设计一个4种闪烁方式交替循环的彩灯,闪烁方式如图3.1所示:
8个LED逐一点亮0.5s, 左移循环2轮(16次) 控制初值=&B11111110 8个LED逐一点亮0.5s, 右移循环2轮(16次) 控制初值=&B01111111 8个LED随机点亮, 每次0.5s,共16次 控制值=随机数 8个LED间隔点亮0.5s, 明暗交替16次 控制初值=&B10101010 图3.1 4种不同控制方式的转换图
三、实验所用仪表及设备
硬件:PC机一台、AVR_StudyV1.1实验板
软件:CodeVision AVR集成开发软件、SLISP下载软件
四、实验步骤
硬件接线图:
根据图3.2所示,使用杜邦线将AVR_StudyV1.1实验板PA口与LED相连。
16