单片机实验指导书

合集下载

单片机实验指导书

单片机实验指导书

目录实验一系统认识实验 (2)实验二端口I/O输入输出实验 (14)实验三外部中断实验 (17)实验四定时器实验 (21)实验五串行口通信实验 (25)实验六串行通信的调试实验 (29)实验七数码管静态显示实验 (34)实验八数码管动态显示实验 (39)实验一系统认识实验一、实验目的1.学习Keil C51编译环境的使用;2.学习STC单片机的下载软件STC-ISP的使用;3.掌握51单片机输出端口的使用方法。

二、实验内容任选单片机的一组I/O端口,连接LED发光二极管,编写程序实现8个LED按二进制加1点亮。

三、接线方案单片机P10~P17/C51单片机接L0~L7/LED显示,如下图:图1-1实验线路四、实验原理51单片机有4个8位的并行I/O端口:P0、P1、P2、P3,在不扩展存储器、I/O端口,在不使用定时器、中断、串行口时,4个并行端口,32根口线均可用作输入或输出。

作为输出时,除P0口要加上拉电阻外,其余端口与一般的并行输出接口用法相同,但作为输入端口时,必须先向该端口写“1”。

例如P0接有一个输入设备,从P0口输入数据至累加器A中,程序为:MOV P0, #0FFHMOV A, P0若将P0.0位的数据传送至C中,程序为:SETB P0.0MOV C, P0.0五、实验步骤1、连接串行通信电缆和电源线;2、根据图1-1实验线路进行电路连接;3、将C51单片机核心板上的三个开关分别拨到“独立”、“运行”“单片机”;4、打开实验箱上的电源开关。

5、利用Keil C51创建实验程序,并进行编译生成后缀为.HEX的文件;6、利用STC-ISP软件将后缀为.HEX的文件下载到单片机ROM中;7、观察实验现象,并记录。

若实验现象有误请重复第5、6步。

六、参考程序ORG 0000H ;程序的开始LJMP MAIN ;转入主程序ORG 0200H ;主程序的开始MAIN: MOV P1,#00H ;P1口做准备M1: INC P1 ;P1口连接输出计数,LCALL DELAY ;转入延时子程序LJMP M1 ;循环DELAY: MOV R5,#255 ;延时子程序D1: MOV R6,#255DJNZ R6,$DJNZ R5,D1RETEND ;程序体结束七、思考题1、利用其他I/O口实现LED加1点亮功能;2、利用P1端口实现流水灯(左移或右移)功能;3、实现LED其他点亮功能。

单片机实验指导书(6个实验)

单片机实验指导书(6个实验)

单片机原理和接口技术实验指导书襄樊学院物理和电子信息技术系实验要求1.进入实验室前完成的部分1)认真阅读实验指导书,弄懂实验原理和实验内容。

2)编写实验所要用到的程序,将其放在U盘上。

3)写出预习报告。

2. 进入实验室后完成的部分1)建立工程,加入已准备好的程序文件。

2)对程序进行调试,修改错误,获得要求的结果。

3)保存调试后的程序。

3.实验结束后的部分对实验结果进行分析、总结,写出实验报告。

实验报告内容及格式1.实验目的2.实验设备3.实验原理及环境4.实验内容只做文字叙述,程序部分放在程序清单中。

流程图也可不画。

5.程序清单本实验使用的完整程序。

如果使用了本实验或前面实验中完全相同的子程序,可不列写,只做注明即可。

6.实验步骤7.实验总结主要包括对实验结果、调试过程、错误及产生的原因的分析,以及本次实验的重要收获等。

此项为实验成绩评定的重要依据。

实验1 Keil C51的使用(汇编语言)实验目的:初步掌握Keil C51(汇编语言)和ZY15MCU12BD型综合单片机实验箱的操作和使用,能够输入和运行简单的程序。

实验设备:ZY15MCU12BD型综合单片机实验箱一台、具有一个RS232串行口并安装Keil C51的计算机一台。

实验原理及环境:在计算机上已安装Keil C51软件。

这个软件既可以和硬件(ZY15MCU12BD型综合单片机实验箱)连接,在硬件(单片机)上运行程序;也可以不和硬件连接,仅在计算机上以虚拟仿真的方法运行程序。

如果程序有对硬件的驱动,就需要和硬件连接;如果没有硬件动作,仅有软件操作,就可以使用虚拟仿真。

实验内容:1.掌握软件的开发过程:1)建立一个工程项目选择芯片确定选项。

2)加入C 源文件或汇编源文件。

3)用项目管理器生成各种使用文件。

4)检查并修改源文件中的错误。

5)编译连接通过后进行软件模拟仿真。

6)编译连接通过后进行硬件仿真。

7)I A P 编程操作2.按以上步骤实现在P1.0输出一个频率为1Hz的方波。

单片机实验指导书

单片机实验指导书

单片机实验指导书一、实验介绍单片机是一种集成电路,能够完成各种控制和计算任务。

本实验指导书将引导您进行单片机实验,以帮助您了解单片机的基本原理和应用。

在本实验中,您将学习如何搭建实验环境、编写程序以及进行各种实验操作。

二、实验准备1. 实验设备和材料:- 单片机开发板- USB数据线- 适配器- 数字电路元件(如LED、电位器等)2. 软件准备:- 单片机开发软件(如Keil、IAR EWARM等)- 编程软件(如C语言编辑器)- USB驱动程序三、实验步骤1. 搭建实验环境:- 将USB数据线连接单片机开发板和计算机。

- 通过适配器给单片机开发板供电。

- 检查驱动程序是否正确安装。

2. 编写程序:- 打开单片机开发软件,并创建一个新的工程。

- 选择适当的单片机型号和编程语言。

- 编写程序代码,实现所需功能。

- 编译程序并下载到单片机开发板。

3. 实验操作:- 根据实验要求连接相应的电路元件。

- 调试程序,确保程序能正确运行。

- 运行实验并观察结果。

四、实验注意事项1. 请确保您具备基本的电路和编程知识。

2. 在操作实验设备和元件时,请小心谨慎,避免发生触电等事故。

3. 如果遇到问题,请及时咨询实验指导人员或相关专家。

五、实验示例以下是一个简单的实验示例,用于演示如何控制LED灯的亮度:实验电路连接:将一个LED灯连接至单片机开发板的一个GPIO口。

程序代码:#include <reg51.h>sbit LED = P1^0;void delay(unsigned int time){unsigned int i,j;for(i=0;i<time;i++)for(j=0;j<120;j++);}void main(){while(1){LED = 1; // 点亮LEDdelay(200); // 延时200msLED = 0; // 熄灭LEDdelay(200); // 延时200ms}}六、实验总结通过本次实验,我们学习了搭建实验环境、编写程序以及进行单片机实验操作的基本步骤和注意事项。

单片机部分实验指导书

单片机部分实验指导书

目录1、实验一多路开关实验 (3)2、实验二可编程增益放大器实验 (5)3、实验三A/D转换实验 (7)4、实验四D/A转换实验 (11)5、实验五静态显示实验 (13)6、实验六动态扫描显示实验 (15)7、实验七液晶显示实验 (18)8、实验八矩阵式键盘实验 (23)9、实验九开关量输入输出实验 (28)10、实验十24WC02串行E2PROM的读写实验 (30)11、实验十一PCF8563时钟/日历芯片的应用实验 (37)12、实验十二外部程序存储器EPROM的扩展实验 (45)13、实验十三 SRAM外部数据存储器扩展实验 (47)14、实验十四单片机与PC机的RS232串行通信实验 (50)15、实验十五单片机与PC机的MAX485串行通信实验 (52)16、实验十六打印机实验 (54)17、实验十七 USB通信实验 (57)18、实验十八网络控制器实验 (102)实验一多路开关实验一.实验目的1.掌握多路开关与单片机的接口方法。

了解按键识别的编程方法。

2.通过实验了解单片机如何进行多路开关实验。

二.实验内容利用线路板DSC-SCM01提供CPU处理器,利用线路板DCP-SCM02上的发光二级管显示及查询式键盘完成多路开关实验。

当对应的按键按下时,相应的发光二极管亮。

三.实验器材1.主控屏+5V电源2. DCP-SCM01 单片机电路3. DCP-SCM02 键盘及显示电路四.实验原理图五.实验说明该实验通过线路板DCP-SCM01及线路板DCP-SCM02完成,线路板DCP-SCM02上发光二极管的阳极接正5V电源,所以要使某个发光二极管亮,只要使对应的发光二极管的阴极为低电平即可。

六.实验步骤1.利用导线按表格中的对应关系将DCP-SCM01对应的端口与DCP-SCM02对应的端口连接起来即可DCP-SCM02 DCP-SCM01发光二极管显示单元的插座U3 P0查询式键盘区域的插座U4 P1EA脚接+5VD_SWITCH.C3.输入并编辑D_SWITCH.C文件,并且编译生成HEX文件。

单片机实验指导书

单片机实验指导书

单片机实验指导书一、硬件实验系统介绍(一)电路原理实验板的主要组成有STC-89C51,电源开关、复位电路,发光二极管、数码管、键盘、模/数转换电路(ADC0809电路),数/模转换电路(DAC0832电路)、12232F液晶显示电路,温度检测模块、DS1302时钟电路,I2C总线电路(AT24C02电路),串行接口(MAX232电路、MAX485电路),步进电机调速电路等组成。

详细的电路原理图见附件(二)各模块开关控制简表二、单片机实验板使用说明(一)程序下载1、下载软件为STC-ISP V3.X,建议使用V3.5版本。

2、程序下载前,建议将所有器件的开关置于关闭状态,尤其是MAX485的开关S7,必须关闭;RS232的开关S6必须打开。

3、开始下载程序前,关闭实验板的总电源,等待下载软件提示上电后,再打开实验板电源。

(二)程序运行1、将程序涉及到的元件开关打开,原则上关闭与程序无关的元件开关。

2、各元件的电源开关均靠近本元件。

(三)注意事项由于ADC0809采用了最简化设计,使用液晶模块12232F时,须将DAC0832和ADC0809的电源开关打开,选择开关S13,S14拨向ADC0809侧,同时,程序中将P1.1和P1.2清零。

2. LED显示可采用动态扫描或串行74LS164显示,采用一种显示方式时,须将另一种方式的电源关闭,以免发生冲突。

使用动态扫描显示时,拨码开关均拨向下方与地断开,由74LS14(反向驱动)控制位选;使用串行静态显示时,拨码开关拨向上方与地接通。

3.由于P2.5作了DS1302的片选控制,在电机调速模块应使其清零三、Keil软件使用简要说明1、建立工程文件:单击“工程”菜单中的“新工程”命令。

选择路径、输入项目名称,不需要扩展名。

在Select Device for Target窗口中,选择“Atmel”中的“89C**”系列。

2、工程对象选项设定:单击“工程”菜单中的“options for Target属性”命令。

单片机实验指导书

单片机实验指导书

单片机实验指导书实验一拆字程序实验一、实验目的:掌握汇编语言程序设计方法。

二、实验内容:把8000H地址的内容拆开,高位送8001H地址的低位,低位送8002H地址的低位,8001H、8002H地址的高位清0。

本程序通常把数据送显示缓冲区时使用。

三、实验器材:计算机1台。

四、实验步骤:1、按流程图编写程序,以下是通过计算机交叉汇编得到的LST文件清单,供参考。

2、文件编译连接、装载,用鼠标点击[项目/重建所有目标文件],系统自动进行编译,并弹出信息窗口,若有错误则重新修改再编译;若无错误,点击[调试/启动/停止调试]后进入调试状态。

3、设置观察窗口:(1)用鼠标点击[视图/存储器窗口],在地址栏中输入:[x:0x8000];(2)在8000H写入任意数据:在地址栏内选定任意数据,[如:0x008000:00 00 00 00……](注:初始数据均为“00”)。

右键点击一初始数据“00”,在出现的对话框中点击“修改位于X:0x008000的内存”,在新弹出的对话框:[输入字节于X:0x008000]内输入任意数据,确定即完成数据的写入。

(3)单步执行观察寄存器8000H-8002H的变化。

六、实验程序:(51ASM\A8051.asm);把指定字节的高低位拆开分别存放,多用于显示字程序ORG 0000HMOV DPTR,#8000H ;指定的字节MOVX A,@DPTRMOV B,A ;暂存SW AP A ;交换ANL A,#0FH ;屏蔽高位INC DPTRMOVX @DPTR,AINC DPTRMOV A,BANL A,#0FH ;指定字节的内容屏蔽高位MOVX @DPTR,ALOOP: SJMP LOOPEND ;结束汇编实验二拼字程序实验一、实验目的:1、进一步掌握汇编语言设计。

2、熟悉软件调试方法。

二、实验内容:把8000H、8001H两个字节的低位分别送入8002H的高位和低位。

本程序一般用于把显示缓冲区数据取出拼装成一个字节。

单片机实验指导书

单片机实验指导书

实验一数制转换实验一、实验目的:(1)、熟悉单片机实验系统板、稳压电源及示波器的使用方法。

(2)、培养程序编制及调试的方法。

(3)、输入自己编写的程序(机器码),并通过实验板和示波器观察程序运行结果。

二、实验要求:(1)、给出程序设计流程图。

(2)、设计数制转换实验程序。

(3)、记录单片机实验板晶体振荡器的波形图。

(4)、记录单片机实验板上电复位电路的波形图。

三、实验原理:以下是把16进制数转换为10进制数的参考程序清单及机器码表:测试程序:四、实验仪器:稳压电源一台HB-51教学实验系统一套五、实验步骤:1、HB-51教学实验系统简介:(1)、+5V电源,+12V电源,-12V电源(2)、CPU、程序存储器、数据存储器、晶体振荡器、手动复位、LED发光管、键盘、显示器(LED 数码管)。

(3)、显示器介绍该系统共有6个数码管,分为两组,左边4个为一组,右边2个为一组。

在大部分情况下,左边4个数码管作为地址显示器,右边2个数码管作为内容显示器。

(4)、键盘介绍0~F 为数字键,用来输入0~F的数字,并且系统默认十六进制输入MEM 为程序存储器内容检查/修改键REG 为寄存器/内部RAM内容检查/修改键LAST 用来向上跳一个地址单元NEXT 用来向下跳一个地址单元EXEC 为连续执行键SCAL 为单步调用键STEP 为单步执行键MON 为返回系统监控状态,相当于让系统回到刚刚上电时的状态。

也是其他功能键的前导按键2、HB-51教学实验系统与稳压电源的连接。

实验系统上的+5V电源与稳压电源正确相连,接好以后,给稳压电源上电。

此时,如果系统工作正常,会在显示器上显示“HB--51”。

如果显示内容不是“HB--51”,则说明系统上电复位过程不正常。

此时按一下红色的手动复位按钮,系统就应当正常工作了。

如果系统还是有问题,甚至,显示器什么都不显示,处于黑屏状态,则立刻关掉稳压电源,然后请实验室老师来解决问题。

单片机实验指导书

单片机实验指导书

单片机实验指导书第一章实验概述本实验指导书旨在帮助学生掌握单片机基本原理和应用技巧。

通过实验的学习,学生将了解单片机的内部结构,学习单片机的编程方法,并能够用单片机实现简单的控制功能。

第二章实验准备2.1 实验器材准备本实验需要准备以下器材:- 单片机开发板- USB线- 电脑2.2 软件安装在开始实验之前,需要安装以下软件:- Keil C51开发环境- STC单片机系列驱动程序第三章实验步骤3.1 硬件连接将单片机开发板通过USB线连接到电脑上,并确保连接正常。

3.2 软件设置打开Keil C51开发环境,点击菜单栏中的“文件”选项,选择“新建”创建新的工程。

设置工程的名称和保存位置,确定后点击“保存”。

3.3 编写程序在Keil C51开发环境中,编写单片机程序。

首先需要包含相应的头文件,然后编写具体的程序逻辑,实现所需的功能。

3.4 编译和烧录程序在编写完程序后,点击菜单栏中的“编译”选项进行编译。

编译成功后,点击菜单栏中的“下载”选项将程序烧录到单片机开发板中。

3.5 实验验证将程序烧录完毕后,将开发板与外部模块连接,观察实验现象是否符合预期。

第四章实验注意事项4.1 安全注意事项在实验过程中,要注意使用安全电压和电流,避免短路和电击风险。

4.2 实验环境实验需要在安静、整洁的环境中进行,以避免干扰和误操作。

4.3 调试和故障排除如果遇到实验效果不理想或者出现故障的情况,可以参考开发板的说明书进行故障排查和调试。

第五章实验总结通过本次实验,我深入了解了单片机的基本原理和应用技巧。

通过编写程序并实际观察实验现象,我成功掌握了单片机编程的方法和技巧,并能够用单片机实现简单的控制功能。

本次实验还让我意识到了实验中的安全注意事项和环境要求的重要性。

在实验过程中,我严格遵守了安全规定,并在安静整洁的环境中进行操作,确保实验顺利进行。

通过反复实践和调试,我不断提高了自己的实验技巧和问题排查能力。

在遇到故障时,我能够通过检查并参考说明书,准确地找到并解决问题。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机实验指导书目录一、基础知识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选项。

相关文档
最新文档