本书详细介绍ATMEL公司开发的AVR高速嵌入式单片机的结构;讲述AVR单片机的开发工具和集成开发环境(IDE),包括Studio调试工具、AVR单片机汇编器和单片机串行下载编程;学习指令系统时,每条指令均有实例,边学习边调试,使学习者看得见指令流向及操作结果,真正理解每条指令的功能及使用注意事项;介绍AVR系列多种单片机功能特点、实用程序设计及应用实例;作为提高篇,讲述简单易学、适用AVR单片机的高级语言BASCOMAVR及ICC AVR C编译器。\r\n 本书的每个实验应用程序都是在SLAVR开发编程实验器上,由广州天河双龙电子有限公司的科技人员和华东师范大学电子工程系(AVR实验室)师生实验通过的。源程序清单及硬件接线图、系统工作软件,可上网(http://www.sl.com.cn)下载。广州天河双龙电子有限公司还可提供图文并茂的相关工作软件和实验应用源程序的光盘,作为本书的补充。\r\n 本书有较强的系统性和实用性,可作为高等院校自动化、计算机、电子、仪表等专业的教学参考及工程技术人员的实用参考,亦可作为应用技术的培训教材。
第一章 ATMEL单片机简介\r\n\r\n1.1 ATMEL公司产品的特点\r\n1.2 AT90系列单片机简介\r\n1.3 AT91M系列单片机简介\r\n\r\n第二章 AVR单片机系统结构\r\n\r\n2.1 AVR单片机总体结构\r\n2.2 AVR单片机中央处理器CPU\r\n2.2.1 结构概述\r\n2.2.2 通用寄存器堆\r\n2.2.3 X、Y、Z寄存器\r\n2.2.4 ALU运算逻辑单元\r\n2.3 AVR单片机存储器组织\r\n2.3.1 可下载的Flash程序存储器\r\n2.3.2 内部和外部的SRAM数据存储器\r\n2.3.3 EEPROM数据存储器\r\n2.3.4 存储器访问和指令执行时序\r\n2.3.5 I/O存储器\r\n2.4 AVR单片机系统复位\r\n2.4.1 复位源\r\n2.4.2 加电复位\r\n2.4.3 外部复位\r\n2.4.4 看门狗复位\r\n2.5 AVR单片机中断系统\r\n2.5.1 中断处理\r\n2.5.2 外部中断\r\n2.5.3 中断应答时间\r\n2.5.4 MCU控制寄存器 MCUCR\r\n2.6 AVR单片机的省电方式\r\n2.6.1 休眠状态\r\n2.6.2 空闲模式\r\n2.6.3 掉电模式\r\n2.7 AVR单片机定时器/计数器\r\n2.7.1 定时器/计数器预定比例器\r\n2.7.2 8位定时器/计数器0\r\n2.7.3 16位定时器/计数器1\r\n2.7.4 看门狗定时器\r\n2.8 AVR单片机EEPROM读/写访问\r\n2.9 AVR单片机串行接口\r\n2.9.1 同步串行接口 SPI\r\n2.9.2 通用串行接口 UART\r\n2.10 AVR单片机模拟比较器\r\n2.10.1 模拟比较器\r\n2.10.2 模拟比较器控制和状态寄存器ACSR\r\n2.11 AVR单片机I/O端口\r\n2.11.1 端口A\r\n2.11.2 端口 B\r\n2.11.3 端口 C\r\n2.11.4 端口 D\r\n2.12 AVR单片机存储器编程\r\n2.12.1 编程存储器锁定位\r\n2.12.2 熔断位\r\n2.12.3 芯片代码\r\n2.12.4 编程 Flash和 EEPROM\r\n2.12.5 并行编程\r\n2.12.6 串行下载\r\n2.12.7 可编程特性\r\n\r\n第三章 AVR单片机开发工具\r\n\r\n3.1 AVR实时在线仿真器ICE200\r\n3.2 JTAG ICE仿真器\r\n3.3 AVR嵌入式单片机开发下载实验器SLAVR\r\n3.4 AVR集成开发环境(IDE)\r\n3.4.1 AVR Assembler编译器\r\n3.4.2 AVR Studio\r\n3.4.3 AVR Prog\r\n3.5 SLAVR系列组态开发实验系统\r\n3.6 SLAVR*.ASM源文件说明\r\n\r\n第四章 AVR单片机指令系统\r\n\r\n4.1 指令格式\r\n4.1.1 汇编指令\r\n4.1.2 汇编器伪指令\r\n4.1.3 表达式\r\n4.2 寻址方式\r\n4.3 数据操作和指令类型\r\n4.3.1 数据操作\r\n4.3.2 指令类型\r\n4.3.3 指令集名词\r\n4.4 算术和逻辑指令\r\n4.4.1 加法指令\r\n4.4.2 减法指令\r\n4.4.3 乘法指令\r\n4.4.4 取反码指令\r\n4.4.5 取补指令\r\n4.4.6 比较指令\r\n4.4.7 逻辑与指令\r\n4.4.8 逻辑或指令\r\n4.4.9 逻辑异或指令\r\n4.5 转移指令\r\n4.5.1 无条件转移指令\r\n4.5.2 条件转移指令\r\n4.6 数据传送指令\r\n4.6.1 直接数据传送指令\r\n4.6.2 间接数据传送指令\r\n4.6.3 从程序存储器直接取数据指令\r\n4.6.4 I/O口数据传送指令\r\n4.6.5 堆栈操作指令\r\n4.7 位指令和位测试指令\r\n4.7.1 带进位逻辑操作指令\r\n4.7.2 位变量传送指令\r\n4.7.3 位变量修改指令\r\n4.7.4 其它指令\r\n4.8 新增指令(新器件)\r\n4.8.1 EICALL-- 延长间接调用子程序\r\n4.8.2 EIJMP--扩展间接跳转\r\n4.8.3 ELPM--扩展装载程序存储器\r\n4.8.4 ESPM--扩展存储程序存储器\r\n4.8.5 FMUL--小数乘法\r\n4.8.6 FMULS--有符号数乘法\r\n4.8.7 FMULSU--有符号小数和无符号小数乘法\r\n4.8.8 MOVW--拷贝寄存器字\r\n4.8.9 MULS--有符号数乘法\r\n4.8.10 MULSU--有符号数与无符号数乘法\r\n4.8.11 SPM--存储程序存储器\r\n\r\n第五章 AVR单片机AT90系列\r\n\r\n5.1 AT90S1200\r\n5.1.1 特点\r\n5.1.2 描述\r\n5.1.3 引脚配置\r\n5.1.4 结构纵览\r\n5.2 AT90S2313\r\n5.2.1 特点\r\n5.2.2 描述\r\n5.2.3 引脚配置\r\n5.3 ATmega8/8L\r\n5.3.1 特点\r\n5.3.2 描述\r\n5.3.3 引脚配置\r\n5.3.4 开发实验工具\r\n5.4 AT90S2333/4433\r\n5.4.1 特点\r\n5.4.2 描述\r\n5.4.3 引脚配置\r\n5.5 AT90S4414/8515\r\n5.5.1 特点\r\n5.5.2 AT90S4414和AT90S8515的比较\r\n5.5.3 引脚配置\r\n5.6 AT90S4434/8535\r\n5.6.1 特点\r\n5.6.2 描述\r\n5.6.3 AT90S4434和AT90S8535的比较\r\n5.6.4 引脚配置\r\n5.6.5 AVR RISC结构\r\n5.6.6 定时器/计数器\r\n5.6.7 看门狗定时器 \r\n5.6.8 EEPROM读/写\r\n5.6.9 串行外设接口SPI\r\n5.6.10 通用串行接口UART\r\n5.6.11 模拟比较器 \r\n5.6.12 模数转换器\r\n5.6.13 I/O端口\r\n5.7 ATmega83/163\r\n5.7.1 特点\r\n5.7.2 描述\r\n5.7.3 ATmega83与ATmega163的比较\r\n5.7.4 引脚配置\r\n5.8 ATtiny10/11/12\r\n5.8.1 特点\r\n5.8.2 描述\r\n5.8.3 引脚配置\r\n5.9 ATtiny15/L\r\n5.9.1 特点\r\n5.9.2 描述\r\n5.9.3 引脚配置\r\n5.10 ATmega128/128L\r\n5.10.1 特点\r\n5.10.2 描述\r\n5.10.3 引脚配置\r\n5.10.4 开发实验工具\r\n5.11 ATmega161\r\n5.11.1 特点\r\n5.11.2 描述\r\n5.11.3 引脚配置\r\n5.12 AVR单片机替代MCS51单片机\r\n\r\n第六章 实用程序设计\r\n\r\n6.1 程序设计方法\r\n6.1.1 程序设计步骤\r\n6.1.2 程序设计技术\r\n6.2 应用程序举例\r\n6.2.1 内部寄存器和位定义文件\r\n6.2.2 访问内部 EEPROM\r\n6.2.3 数据块传送\r\n6.2.4 乘法和除法运算应用一\r\n6.2.5 乘法和除法运算应用二\r\n6.2.6 16位运算\r\n6.2.7 BCD运算\r\n6.2.8 冒泡分类算法\r\n6.2.9 设置和使用模拟比较器\r\n6.2.10 半双工中断方式UART应用一\r\n6.2.11 半双工中断方式UART应用二\r\n6.2.12 8位精度A/D转换器\r\n6.2.13 装载程序存储器\r\n6.2.14 安装和使用相同模拟比较器\r\n6.2.15 CRC程序存储的检查\r\n6.2.16 4×4键区休眠触发方式\r\n6.2.17 多工法驱动LED和4×4键区扫描\r\n6.2.18 I2C总线\r\n6.2.19 I2C工作\r\n6.2.20 SPI软件\r\n6.2.21 验证SLAVR实验器及AT90S1200的口功能1\r\n6.2.22 验证SLAVR实验器及AT90S1200的口功能2\r\n6.2.23 验证SLAVR实验器及具有DIP40封装的口功能\r\n\r\n第七章 AVR单片机的应用\r\n\r\n7.1 通用延时子程序\r\n7.2 简单I/O口输出实验\r\n7.2.1 SLAVR721.ASM \r\n7.2.2 SLAVR722.ASM\r\n7.2.3 SLAVR723.ASM\r\n7.2.4 SLAVR724.ASM\r\n7.2.5 SLAVR725.ASM\r\n7.2.6 SLAVR726.ASM\r\n7.2.7 SLAVR727.ASM\r\n7.3 综合程序\r\n7.3.1 LED/LCD/键盘扫描综合程序\r\n7.3.2 LED键盘扫描综合程序\r\n7.3.3 在LED上实现字符8的循环移位显示程序\r\n7.3.4 电脑放音机\r\n7.3.5 键盘扫描程序\r\n7.3.6 十进制计数显示\r\n7.3.7 廉价的A/D转换器\r\n7.3.8 高精度廉价的A/D转换器\r\n7.3.9 星星灯\r\n7.3.10 按钮猜数程序\r\n7.3.11 汉字的输入\r\n7.4 复杂实用程序\r\n7.4.1 10位A/D转换\r\n7.4.2 步进电机控制程序\r\n7.4.3 测脉冲宽度\r\n7.4.4 LCD显示8字循环\r\n7.4.5 LED电脑时钟\r\n7.4.6 测频率\r\n7.4.7 测转速\r\n7.4.8 AT90S8535的A/D转换\r\n\r\n第八章 BASCOMAVR的应用\r\n\r\n8.1 基于高级语言BASCOMAVR的单片机开发平台\r\n8.2 BASCOMAVR软件平台的安装与使用\r\n8.3 AVR I/O口的应用\r\n8.3.1 LED发光二极管的控制\r\n8.3.2 简易手控广告灯\r\n8.3.3 简易电脑音乐放音机\r\n8.4 LCD显示器\r\n8.4.1 标准LCD显示器的应用\r\n8.4.2 简单游戏机--按钮猜数\r\n8.5 串口通信UART\r\n8.5.1 AVR系统与PC的简易通信\r\n8.5.2 PC控制的简易广告灯\r\n8.6 单总线接口和温度计\r\n8.7 I2C总线接口和简易IC卡读写器\r\n\r\n第九章 ICC AVR C编译器的使用\r\n\r\n9.1 ICC AVR的概述\r\n9.1.1 介绍ImageCraft的ICC AVR\r\n9.1.2 ICC AVR中的文件类型及其扩展名\r\n9.1.3 附注和扩充\r\n9.2 ImageCraft的ICC AVR编译器安装\r\n9.2.1 安装SETUP.EXE程序\r\n9.2.2 对安装完成的软件进行注册\r\n9.3 ICC AVR导游\r\n9.3.1 起步\r\n9.3.2 C程序的剖析\r\n9.4 ICC AVR的IDE环境\r\n9.4.1 编译一个单独的文件\r\n9.4.2 创建一个新的工程\r\n9.4.3 工程管理\r\n9.4.4 编辑窗口\r\n9.4.5 应用构筑向导\r\n9.4.6 状态窗口\r\n9.4.7 终端仿真\r\n9.5 C库函数与启动文件\r\n9.5.1 启动文件\r\n9.5.2 常用库函数\r\n9.5.3 字符类型库\r\n9.5.4 浮点运算库\r\n9.5.5 标准输入/输出库\r\n9.5.6 标准库和内存分配函数\r\n9.5.7 字符串函数\r\n9.5.8 变量参数函数\r\n9.5.9 堆栈检查函数\r\n9.6 AVR硬件访问的编程\r\n9.6.1 访问AVR的底层硬件\r\n9.6.2 位操作\r\n9.6.3 程序存储器和常量数据\r\n9.6.4 字符串\r\n9.6.5 堆栈\r\n9.6.6 在线汇编\r\n9.6.7 I/O寄存器\r\n9.6.8 绝对内存地址\r\n9.6.9 C任务\r\n9.6.10 中断操作\r\n9.6.11 访问UART\r\n9.6.12 访问EEPROM\r\n9.6.13 访问SPI\r\n9.6.14 相对转移/调用的地址范围\r\n9.6.15 C的运行结构\r\n9.6.16 汇编界面和调用规则\r\n9.6.17 函数返回非整型值\r\n9.6.18 程序和数据区的使用\r\n9.6.19 编程区域\r\n9.6.20 调试\r\n9.7 应用举例*\r\n9.7.1 读/写口\r\n9.7.2 延时函数\r\n9.7.3 读/写EEPROM\r\n9.7.4 AVR的PB口变速移位\r\n9.7.5 音符声程序\r\n9.7.6 8字循环移位显示程序\r\n9.7.7 锯齿波程序\r\n9.7.8 正三角波程序\r\n9.7.9 梯形波程序\r\n\r\n附录1 AT89系列单片机简介\r\n附录2 AT94K系列现场可编程系统标准集成电路\r\n附录3 指令集综合\r\n附录4 AVR单片机选型表\r\n\r\n参考文献
随着电子技术的迅猛发展,单片机更广泛地应用于军事、工业、通讯、家用电器、智能玩具、便携式智能仪表等领域,使产品功能、精度和质量大幅度提高,而电路设计更简单、故障率低、可靠性高且成本低廉。应该看到,Flash技术、在线可编程、低功耗、大规模集成是今后单片机的发展方向。
ATMEL公司是全球著名的半导体公司之一。90年代初,ATMEL率先把MCS51内核与其擅长的Flash技术相结合,推出轰动业界的AT89系列单片机。至今,ATMEL在MCS51市场上仍占据主要份额。1997年,ATMEL挪威设计中心的A先生与V先生出于市场需求考虑,充分发挥其Flash技术优势,推出全新配置的精简指令集(RISC)单片机,简称AVR。几年来,AVR单片机已形成系列产品,其ATtiny、AT90与ATmega分别对应为低、中、高档产品(高档产品含JTAG ICE仿真功能)。为了使广大用户和读者对AVR单片机的原理与应用有一个系统、详细的认识,尤其针对AT90系列,我们特意编写了这本书。
一、 AVR AT90S系列单片机的优点
(1)价格低廉的、可擦写1000次以上的、16(字)位指令(程序存储器数据为16位,即XXXX×16;也可理解为8位,即2×XXXX×8)。因采用了Flash技术,不再有报废品产生。数据存储器为8位,AVR还是属于8位单片机。
(2) 高速度(50ns)、低功耗(μA)!具有Sleep(休眠)功能及CMOS技术,每一指令执行速度可达50ns(20MHz),而耗电则在1~2.5mA间(典型功耗,WDT关闭时为100nA)。AVR运用Harward结构概念(具有预取指令功能),即对程序和数据存储带有不同的存储器和总线。当执行某一指令时,下一指令被预先从程序存储器中取出,这使得指令可以在每一个时钟周期内被执行。
(3) 高度保密(LOCK)!保密位在芯片底部,无法用设备看到。可多次烧写的Flash且具有多重密码保护锁死(LOCK)功能,因此可低价快速完成产品商品化,并可多次更改程序(产品升级)而不必浪费IC或电路板,大大提高产品质量及竞争力。
(4) 工业级(WDT)产品!具有大电流(灌电流)10~20mA或40mA(单一输出),可直接驱动SSR或继电器;有看门狗定时器(WDT),安全保护,防止程序走飞,提高产品的抗干扰能力。
(5) 超功能精简指令!具有32个通用工作寄存器(相当于8051中的32个累加器,克服了单一累加器数据处理造成的瓶颈现象)及128B~4KB个SRAM,可灵活使用指令运算,并可用功能很强的C语言编程,易学、易写、易移植。
(6) 程序写入器件可以并行写入(用万用编程器或并行高速下载),也可串行在线下载(ISP)擦写。也就是说不必将IC拆下拿到万用编程器上烧录,而可直接在电路板上进行程序修改、烧录等操作。方便产品升级,尤其是SMD封装,更利于产品微型化。
(7) 并行I/O口输入/输出特性与PIC的HI/LOW输出及三态高阻抗HIZ输入类同外,也可设定类同8051系列内部拉高电阻作输入端的功能,便于各种应用特性的所需(多功能I/O口)。AVR是真正的I/O口,能正确反映I/O口的输入/输出真实情况。
(8) 单片机内有模拟比较器,I/O口可作A/D转换用,可组成廉价的A/D转换器。
(9) 像8051一样,有多个固定中断向量入口地址,可快速响应。
(10) 像PIC一样,可重设启动复位。AVR AT90S系列也有内部电源开关启动计数器,可将低电平复位(RESET)直接接到VCC端。当电源开时,由于利用内部的RC看门狗定时器,可延迟MCU启动执行程序。这种延时使I/O口稳定后执行程序,以提高单片机工作可靠性,同时可节省外加复位延时电路。
(11) 具有休眠省电功能(POWER DOWN)及闲置(IDLE)低功耗功能。
(12) AT90S1200等部分AVR器件具有内部RC振荡器--1MHz的工作频率,使该类单片机无需外加元器件即可工作,可谓简单方便。
(13) 计数器/定时器、C/T有8位和16位,可作比较器;计数器外部中断和PWM(也可当D/A)用于控制输出。
(14) 有串行异步通讯UART,不占用定时器和SPI传输功能;因其高速故可以工作在一般标准整数频率,而波特率可达576 000。
(15) AT90S4414及AT90S8515具有可扩展外部数据存储器达64KB。它们的引脚排列及功能与8051相似,即可替代8051系列单片机(8751/8752)的应用系统。当然,还在硬件、软件上带来很多优点(如WDT看门狗,模拟比较器作A/D,PWM作D/A等)。
(16) 工作电压范围宽(2.7~6.0V),电源抗干扰性能强。
(17) 有多通道10位A/D及实时时钟RTC。具有8路10位A/D器件的有AT90S4434/8535;具有6路10位A/D器件的有AT90S2333/4433。ATmega103(L)单片机更有Flash 128KB,EEPROM 4KB,RAM 4KB,I/O端口48个,中断源16个,外部中断8个,SPI 1个,UART 1个,8位定时器2个,16位定时器1个,PWM(D/A)4个;还有看门狗定时器、实时时钟RTC、模拟比较器,8路10位A/D,可在线编程ISP,工作电压为2.7~5.5V。
(18) AVR由Flash存储器构成,并具有较大容量、可擦写100 000次的EEPROM,对掉电后数据的保存带来方便,来电后能记住掉电时的工作状态。
(19) 从高级语言C代码,看各种单片机性能比较(见表0.1)
/* 一个小C函数
/* Return the maximum value of a table of 16 integers */
int max(int *array)
{
char a;
int maximum=-32768;
for(a=0;a<16;a++)
if(array[a]>maximum)
maximum=array[a];
return(maximum);
}
AVR 汇编输出:字节数--46 B,执行时间--335周期。
80C51 汇编输出:字节数--112 B,执行时间--9 384周期。
68HC11 汇编输出:字节数--57 B,执行时间--5 244周期。
PIC16C74 汇编输出:字节数--87 B,执行时间--2 492周期。
AT90S8515 8MHz/80C51 24MHz/68HC11A8 12MHz/PIC16C74 20MHz。
从上述得出的结论为: 8MHz AVR等于224MHz 80C51。
二、 AVR的2种开发工具
1. ICE200
ICE200采用AVR专用仿真CPU与监控CPU独立设计的方案,充分提供各种调试手段,真实再现被仿AVR的各种特性。它可仿真AVR的器件有ATtiny10/11/12(V/L)、AT90S1200/2313、AT90(L)S2333/4433、AT90S4414/8515、AT90(L)S4434/8535。由于仿真器的电源不对外,所以ICE200也支持低电压器件。ICE200的仿真软件最新版为STUDIO 3.X,在支持以上11种AVR以外,还可模拟其它AVR器件的运行,支持汇编及C高级语言。其中汇编编译器免费提供,C编译器只提供Image Craft Inc.的30天免费试用版Icc AVR demo。该软件及其升级版均可从互联网(www.imagecraft.com)上免费获得。
ICE200包括一个仿真器主板、一个POD板(AtadapEM04,有仿真CPU)、五块适配器板(适合DIP8/20/28/40封装AVR CPU)、一块诊断保护板(ATadap4000)、两根柔性印刷电缆、一根9针串行通讯电缆、一个9V直流电源(赠送)、一份工作光盘(含ICE200中文使用手册)、一份ICE200简介。
广州市天河双龙电子有限公司为了使AVR单片机在我国迅速得到应用,引进美国原装AVR实时在线仿真器ICE200及Icc AVR C编译器,推广价定位在国人能承受的价位。
2. SLAVR
经济普及型"四合一"AVR串行下载开发实验器SLAVR,等于AVR编程器+模拟仿真器+实验器+科研样机。它的硬件采用模块化设计,便于用户灵活组成科研项目所需的各种硬件结构。硬件有:RS232通信接口;串行下载监控;DIP8/20/28/40通用锁紧插座,DIP40端口用短路块连接作输出,用LED发光二极管显示器件引脚高低电平,也可用短路块断开,作输入或其它用途;6位LED数码管作显示;2×16点阵LCD液晶显示器;17键的键盘;改进版SLAVR+,增加PC机键盘接口及对AT89S开发实验;模拟比较输入电路;音响电路;复位电路;模拟电压输入电路等;随机附120mm×170mm万通实验板及一片AT90S8515器件。
SLAVR适用于所有具有串行下载编程功能的AVR单片机,用户板上的AVR器件无需拆下即可编程,同时还可作AVR单片机的I/O口、A/D、D/A、LED、LCD、键盘输入、步进电机控制、音频输出、模拟比较等开发实验;提供功能强大的WIN版汇编级编译器WAVRASM、模拟仿真调试软件AVR Studio3.X及串行下载软件AVR PROG,同时也提供限制版的C(IAR、ICC)编译器、限2KB的BASCOMAVR编译器;对初学AVR单片机的设计者,可暂时节省购买较昂贵的实时仿真器及万用编程器的费用。
SLAVR开发实验器提供了几十个实用实验程序,用户也可改变硬件接口、修改程序,实现源程序的其它功能。这对大专院校学生发挥其创造性思维及培养其动手能力特别有用,可改变我国传统教育下的"高分低能"的弊病。该开发实验器也可当作科研样机使用。
SLAVR现在还具有单片机组态开发功能,可以生动、形象、直观地了解单片机I/O口基本功能、I/O口的扩展功能及单片机组态开发的复杂应用。
SLAVR还可利用宽带网做ISP下载编程实验。
SLMEGA高档开发实验器,可开发ATmega103/128单片机。
本书共分九章。第一章ATMEL单片机简介;第二章介绍AVR单片机系统结构;第三章介绍AVR单片机开发工具;第四章介绍AVR单片机指令系统;第五章介绍AVR 单片机AT90系列;第六章介绍实用程序设计;第七章介绍AVR单片机的应用;第八章介绍BASCOMAVR的应用;第九章介绍AVR C语言的应用。附录简单介绍AT89、AT94K系列单片机和指令集综合。书后附有ATMEL公司的产品目录、公司代表处及购买SLAVR的优惠证。
本书由耿德根主编。耿德根编写第三、六、七、九章,并对第四章每条指令用程序调试方法验证指令功能;宋建国编写第一、二、四章;叶勇建编写第五章;马潮编写第八章。本书承蒙何立民教授的关心和支持,在审校中得到了王小青副总编等的大力支持,在录入、校稿、实验等方面得到了耿陆卫、沈延红、周惠忠、葛仁春、钟楚洪、覃辉等同志的大力协助;ATMEL公司提供全部技术资料、广州天河双龙电子有限公司提供实验设备、华东师范大学电子工程系(ATMEL实验室)等给予多方面的帮助,在此一并致谢!
编者
2000年12月于广州