当前位置:文档之家› 单片机实验指导书

单片机实验指导书

单片机实验指导书目录一、基础知识1.A VR MEGA16学习板简介 (1)2.A VR Studio 使用环境简介 (3)3.ICC使用环境简介 (7)4.下载程序说明 (12)二、实验内容1.熟悉实验环境 (14)2.I/O口实验 (18)3.秒表时间显示实验 (19)4.串口通信实验 (21)一、基础知识1. AVR MEGA16学习板简介a. 简介:A VR MEGA16 学习板专为A VR单片机初学者设计,简单实用是本学习板的最大特点。

布局合理,模块划分清晰符合正常使用习惯。

电路简单,安排了最常用最实用的功能电路,接口上尽量不复用。

人性化设计,学习板没有追求那些高级的热门的功能实验,集成了A VR单片机学习必不可少的A VR ISP下载线,可以直接与PC机连接通过STK500 标准界面进行程序下载。

b. 学习板实物图片:c. 硬件资源:AT Mega16,A VR 单片机主芯片,内包含有:16K Flash、512Byte EEPROM、1K SRAM。

学习板上CPU 可升级到AT Mega32,以完成更大容量需要。

AT24C02,I2C总线器件,EEPROM数据存储器,256Byte EEPROM。

74HC595,SPI 总线器件,SPI 总线并口扩展器件,8 位移位寄存器。

DS1302,时钟芯片。

RS232,RS232 接口芯片。

8 个输入按键、1 个中断输入按键、1 个复位按键。

4 位动态扫描LED 数码管、8 位LED 发光二极管。

1 个无源蜂鸣器,1 个A/D 输入可调电阻器。

LCD 接口,液晶显示屏接口,可接LCD1602 及LCD12864 液晶屏,LCD 为选配件。

A VR JTAG 仿真接口,A VR ISP 下载接口。

板上集成有STK500 V2.0 版本的A VRISP 下载器d. A VR MEGA16学习板接口说明:(1). 接口说明(2). 跳针(短路块)说明:2. AVR Studio使用环境简介(1). 安装方式:双击安装文件A VR Studio V4.13 b528.exe,见到如下安装界面:图1.2.1 安装界面点击Next,选择I accept the terms of the license agreement 这个选项,继续点击Next。

如需要改变安装目录,则点击Change,弹出如下对话框可以作出选择。

图1.2.2 改变安装目录选好安装目录后,选择Next,如下图:Install/upgrade Jungo USB Driver 需要选上。

图1.2.3 选择安装特性继续点击Next,然后选择Install,则开始安装。

安装完毕后,选择Finish,则安装完成。

图1.2.4 安装完成界面(2). 启动A VR Studio的方式:点击开始->所有程序->Atmel A VR Tools->A VR Studio 4启动后,在Project选项下选择New Project,如图1.2.1:图1.2.5 创建新的工程(3). 配置项目参数:图1.2.6 配置项目参数✧在对话框左边选中Ateml A VR Assembler,表明要创建一个项目。

✧在Project name下输入项目的名称。

在这里,我们用了test。

✧我们需要A VR Studio自动生成一个汇编文件,在Initial file下输入名字,这里我们用了test。

✧选择你要存放项目的路径。

✧确认所有的选项,确认之后,按“Next”按钮。

(4). 选择调试平台:图1.2.7 选择调试平台◆A VR Studio 4允许可以选择多种开发调试工具,在这里我们选用带有方针功能的A VR Simulator。

◆芯片我们选用ATmega16。

点击Finish,项目创建完成,即可编写你自己的程序。

3. ICC 使用环境简介(1). 安装方式:双击安装文件iccavr6.31A.exe,见到如下安装界面:图1.3.1 安装界面点击Next,继续点击Next,然后选择Accept,出现如下选择安装目录界面:图1.3.2 改变安装目录点击Browse,则可以浏览所有目录,可以作出目录的选择及更改。

点击Next,继续点击Next,然后点击Install,则开始安装。

安装完成后,会出现如下提示:图1.3.3 安装过程中的提示信息选择Next,然后选择Finish,则安装完成图1.3.4 安装完成界面(2). 启动ICC A VR 的方式:点击开始->所有程序->ImageCraft Development Tools->ICC A VR(3). 创建一个工程:a. 启动后,在File选项下选择New,建立一个新的文件。

如图1:图1.3.5 创建新的文件b. 在新建的文件里编写你的程序,然后在File选项下选择Save,保存该文件。

如下图所示:图1.3.6 保存文件c. 在Project选项下选择New后,如下图:图1.3.7 创建一个工程注意:在文件名那里一定要写后缀名为.prj,这样才是一个工程。

d. 在创建了工程后,会在界面右边看见如下图所示内容:图1.3.8 工程信息e. 在上图所示的Files上右键单击选择Add File,则会弹出如下对话框:我们选择刚才创建的main.c,然后单击打开。

图1.3.9 添加文件Headers的添加方式同上。

f. 文件编写完成并且添加到工程中后,开始编译工程,选择Project 选项下的Make Project。

或者选择RCS选项下的图标。

也可以在工程名字上单击右键选择Make Project。

注意:编译之前要确定你选择的芯片是不是ATMega16。

如下图所示:在Project选项下选择Options,弹出如下对话框,选择Target选项,在Device Configuration 中选择ATMega16。

图1.4.0 编译时的芯片选择4. 下载程序说明(1). 串口线,电源线与计算机需要连接上,这里要特别注意的是,串口线要与学习板的COM2端连接,因为COM2端是A VR的专用下载接口。

(2). 打开A VR Studio环境,点击如下图所示的Con的图标:图1.4.1 连接学习板(3). 点击该图标后,显示如下窗口:图1.4.2 选择下载文件✓这里要注意Device选项一定要选择ATmega16。

✓在Input HEX File的选项中,选择你要下载到学习板的程序,后缀名是.hex。

(经过ICCA VR环境编译过的工程,都会有这个hex烧写文件)✓然后点击Program按钮,最下面的方框中会显示是将该文件成功烧录到芯片中,如果显示OK则成功。

二、实验内容实验一、熟悉实验环境实验目的:1.熟悉A VR开发环境A VR Studio以及ICCA VR的使用和调试方法2.利用汇编语言编写简单程序、调试并下载,了解A VR单片机的基本使用和开发步骤实验内容:1.在A VR Studio环境中,新建一个工程。

然后在该工程下编辑汇编代码,并调试执行;然后下载到单片机中独立运行。

2.在ICCA VR集成环境中编写C语言程序,编译后利用A VR Studio进行调试、运行,最后下载执行。

汇编语言参考程序:.include "m16def.inc" ;包括器件配置定义文件,不能缺少.def temp1=r20 ;定义寄存器R20用临时变量名temp1代表.org $0000 ;上电复位启始地址rjmp reset ;转上电复位后的初始化程序执行;中断向量区.org $002A ;跳过中断向量区reset: ldi r16,high(RAMEND) ;取内部RAM最高地址的高位字节out sph,r16 ;放入SP的高位ldi r16,low(RAMEND) ;取内部RAM最低地址的低位字节out spl,r16 ;放入SP的低位,SP中的值见器件配置文件ser temp1 ;置temp1(R20)为0XFFout ddrb,temp1 ;定义PC口为输出out portb,temp1 ;PC口输出全"1",LED不亮ldi r16,197 ;设置一秒延时参数loop: cbi portb,0 ;值PORTC.0位为"0",LED亮rcall delay ;调用延时子程序,延时一秒sbi portc,0 ;值PORTC.0位为"1",LED灭rcall delay ;调用延时子程序,延时一秒rjmp loop ;循环跳转到loop继续执行;通用延时子程序delay: push r16 ;压栈(2t)del1: push r16 ;压栈(2t)del2: push r16 ;压栈(2t)del3: dec r16 ;r16 = r16 - 1,(1t)brne del3 ;不为0跳转移,为0顺序执行(2t/1t)pop r16 ;出栈(2t)dec r16 ;r16 = r16 - 1,(1t)brne del2 ;不为0跳转移,为0顺序执行(2t/1t)pop r16 ;出栈(2t)dec r16 ;r16 = r16 - 1,(1t)brne del1 ;不为0跳转移,为0顺序执行(2t/1t)pop r16 ;出栈(2t)ret ;子程序返回(4t)C语言参考程序:#include "iom16v.h"/*延时函数*/void delay_ms(unsigned char i) {unsigned char a, b;for (a = 1; a < i; a++) {for (b = 1; b; b++) {;}}}void main(void) {unsigned char i;DDRA = 0x00; /*方向输入*/PORTA = 0xFF; /*打开上拉*/DDRB = 0xFF; /*方向输出*/PORTB = 0xFF; /*高电平*/DDRC = 0x00;PORTC = 0xFF;DDRD = 0x00;PORTD = 0xFF;while (1) {for (i = 0; i < 8; i ++) {PORTB = ~(1 << i);delay_ms(200);}for (i = 8; i > 0; i --) {PORTB = ~(1 << i-1);delay_ms(200);}}}实验指导:1.在A VR Studio中新建一个工程,输入以上汇编代码。

2.编译并运行该代码。

编译选择下图所示的Build,编译并运行是Build andRun选项。

相关主题