伪指令不属于单片机的指令系统,而是由汇编器提供的指令,用于调整存储器中程序的位置、定义宏、初始化存储器等。AVR单片机的汇编器共提供18条伪指令(见附表)。
其中,ORG、DB、DW、EQU读者比较熟悉,这里不再赘述。下面对部分伪指令加以说明。
BYTE-保存单字节数据到SRAM中。BYTE伪指令仅用在数据存储器。为提供数据保存的位置,在BYTE前应有标号。在由CSEG、ESEG定义的代码段和E2PROM段中不能使用BYTE伪指令。
格式LABEL:.BYTE表达式
CSEG-定义程序存储器代码段的起始位置一个汇编文件可以包括若干个代码段,汇编时这些代码段被连成一个代码段。在代码段中不能使用BYTE伪指令。
格式.CSEG
DSEG-定义数据段的起始位置一个汇编文件,可以包括若干个数据段,汇编时这些数据段被连成一个数据段。数据段等由BYTE伪指令组成。
格式.DSEG
ESEG-定义E2PROM段的起始位置一个汇编文件可以包括若干个E2PROM段,汇编时这些EEPROM段被连成一个EEPROM段。在EEPROM段中不能使用BYTE伪指令。
格式.ESE
GDEF-为寄存器设置符号名DEF伪指令允许周符号代替寄存器。一个寄存器可以赋多个符号。
格式.DEF符号=寄存器
DEVICE-定义使用的器件DEVICE定义程序所使用的器件,若程序中有指定器件不支持的指令,或程序段、E2PROM段超出指定器件的容量,汇编器将给出提示。若不用DEVICE伪指令,则默认器件支持所有指令,也不限制存储器容量。
格式.DEVICEAT90S1200|AT90S2313|AT90S4414|AT90S8515
AVR单片机的器件不同,指令的条数不同。
AT90S1200有89条最基本指令;Attinyll/12/15/22有90条指令:AT90S2313/2323/2343/2333/4414/4433/4434/8515/90S8534/8535有118条指令;ATmega603/103有121条指令;ATmega161有130条指令。因此在源程序中必须先用伪指令“DEVICE”定义使用的器件名。
INCLUDE-包括另外的文件INCLUDE告诉汇编器从指定的文件开。始读,然后汇编该文件,直至文件结束或遇到EXIT伪指令。
格式 INCLUDE“文件名”
EXIT-汇编结束若EXIT出现在包括文件中,则从文件中INCLUDE伪指令行继续执行。
关键字:AVR单片机 汇编器 伪指令
引用地址:
AVR单片机汇编器伪指令
推荐阅读最新更新时间:2024-03-16 15:49
AVR单片机PWM试验程序
//本试验输出口为PD5 ,输出电压可以调节0---5V。 此图电压输出位0.6V 以下是程序源码可从 http://www.51hei.com/f/avrpwmcx.rar 下载源文件. // ATMEGA16 晶振8MHZ #include iom16.h #define uchar unsigned char #define uint unsigned int #define xtal 8 __flash uchar seg7 ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//数码管码表 __flash uchar t
[单片机]
AVR单片机入门:单片机嵌入式系统的结构与应用
单片机,全名单片机微控制器,单片微型计算机(Single-Chip Microcomputre),也有人称之为嵌入式微控制器(Embedded Microcontroller)。由单片机作为主要的控制核心所构成的嵌入式系统称为单片机嵌入式系统,国内一般简称为单片机系统。 一、单片嵌入式系统的结构 单片嵌入式系统一般包含硬件与软件两个部分,而硬件部分又分为单片为控制芯片(即单片机)和外围电路,外围电路又分为基本系统电路与接口电路,接口电路又分为前向通道接口电路、后向通道接口电路、交互通道接口电路与数据通信接口电路。 1、基本系统电路 基本系统电路是指满足单片机系统运行所需的基本电路。比如时钟电路、复位电路、系统供电电
[单片机]
AVR单片机熔丝位锁死简单快捷的解密方法
1.AVR单片机熔丝位锁死简单快捷的解密方法: 在很多AVR单片机的初学者在使用AVR单片机中,很容易把熔丝位弄错而造成单片机锁死,比如说JTAGEN置为1后,单片机的JTAG就不能再下载程序进去了,因此给我们带来很多麻烦。 常见的恢复方法是使用并口编程器来恢复,对于初学者来说,很多设备是很欠缺的,所以很难解决。 现为我们初学者介绍一个简单实用可行的方法 有源晶振恢复法。将被锁死的AVR单片机接入最小系统或者开发板中,将系统中的晶振拆下来,在XAIL1接上有源晶振的第三脚(按下图接即可)。 然后通电,使用ISP下载线进行熔丝位编辑,本人使用智峰p
[单片机]
avr单片机流水灯汇编程序及电路图
这是电路图 本程序使用的avr单片机型号是m16 实现流水灯效果 下面是汇编程序源码: /* * LEDlight.asm * 运行环境 atmelage16 4M晶振 流水灯共阳极 * 由于引脚输出电流20mA 输入电流最大能达到40mA * Created: 2014/3/13 13:08:20 * Author: Wujie */ .include m16def.inc ;包含atmelage16定义文件 .def temp1=r16 ;定义标识符temp1表示寄存器r16 .def count=r17 ;定义标识符count表示寄存器r17 .org $0000 ;上单复位
[单片机]
avr单片机eeprom初始化配置说明
ATmega16 包含 512 字节的 EEPROM 数据存储器。它是作为一个独立的数据空间而存在的,可以按字节读写。 EEPROM 的寿命至少为 100,000 次擦除周期。 EEPROM 的访问 由地址寄存器、数据寄存器和控制寄存器决定。 /* EEPROM 数据存储器 EEPROM 地址寄存器(EEARH 和 EEARL) bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 EEAR7 EEAR6 EEAR5 EEAR4 EEAR3 EEAR2 EEAR1 EEAR0 Res: 保留
[单片机]
学习笔记-avr单片机C编程1
这几天在看AVR单片机的书。ASURO的项目的编程是建立在已有的成熟函数上,所以导致我对AVR单片机的运行机理(中断、定时器的使用)不甚了解。突然一个个超声波模块的程序放在眼前,才发现我连AVR单片机的了解基本上等于零。另外一个项目需要用mega128控制直流电机,还有和无线、有线遥控器的通信,电路(模块)需要自己搭起来,那么就必须知道AVR单片机的原理和编程。 和已经学过的51单片机相比,MEGA系列单片机是十分高级的单片机,功能强大,因而在构造和使用上也复杂了一些。 存储器区别,AVR分为5个部分,访问指令上有区别。 输入输出,51是准双向口,每个端口只有一个寄存器。而AVR的I/O口是标准双向口,
[单片机]
基于AVR单片机的U盘MP3设计与实现
随着电子技术的发展,MP3播放器向着大容量,小型化发展。但播放器与存储器一体化的设计使得MP3难以扩充容量以容纳更多的歌曲。将播放器与存储器分离是MP3目前发展的另一方向。本文介绍了一种利用AVR控制以HOST USB方式读取U盘的音乐文件并将其解码的播放的解决方案。本方案同时具备读取音乐标签,U盘电子书,贪吃蛇游戏等功能,具有商业价值。 1 系统功能简介 本设计主要完成对存储在U盘中的音乐及文本等信息的读取操作,能够完成U盘内MP3音乐数据的播放及标签信息的显示,实现播放器与存储器分离,并在此基础上完成电子书,贪吃蛇游戏等功能。 2 系统芯片选择 本设计MCU选择ATMEL公司的ATmega64作为主控芯
[单片机]
基于AVR单片机与FPGA的低频数字式相位测量仪
摘要:提出了以AVR ATmega128单片机和Altera公司的Cyclone系列EP1C3T100为核心的系统设计方案。分析了数字式低频相位测量仪的测量原理和测量误差及其消除的方法。利用单片机强劲的运算、控制功能和FPGA运算速度快、资源丰富的特点。主要介绍了系统的软硬件设计。实践表明,此方案设计的相位仪对低频正弦波信号实现精确测频和测相位差,具有处理速度快、稳定可靠、精度高等优点。 关键词:数字相位仪;单片机;FPGA;误差;频率;相位差 在工业领域中经常要用到低频数字式相位仪来精确测量两信号之问的相位差,比如在电力系统、频率特性的研究、激光测距等领域均有广泛的应用,相位检测的精度直接决定系统的整体性能。这就要求测量仪逐
[工业控制]