第1章单片机概述 1.1单片机及其发展1 1.2单片机的应用领域1 1.3AVR系列单片机简介2 1.4AT90S8535单片机的特点5 1.5以AT90S8535为主线讲述AVR单片机6
第2章8535单片机系统结构概况 2.1AVR单片机AT90S8535的总体结构7 2.1.1AT90S8535特点7 2.1.2描述8 2.1.3引脚配置10 2.1.4引脚定义10 2.2AT90S8535单片机的中央处理器CPU12 2.2.1结构概述12 2.2.2通用工作寄存器文件13 2.2.3X,Y,Z寄存器13 2.2.4ALU运算逻辑单元14 2.3AT90S8535单片机存储器组织14 2.3.1在线可编程Flash14 2.3.2内部SRAM数据存储器14 2.3.3EEPROM数据存储器15 2.3.4I/O寄存器15 2.4AVR单片机系统复位18 2.4.1复位源18 2.4.2上电复位19 2.4.3外部复位20 2.4.4看门狗复位20 2.4.5MCU状态寄存器21
第3章AVR单片机指令系统 3.1指令格式27 3.1.1汇编指令27 3.1.2汇编器伪指令28 3.1.3表达式30 3.2寻址方式32 3.3数据操作和指令类型34 3.3.1数据操作34 3.3.2指令类型34 3.3.3指令集名词34 3.4算术和逻辑指令35 3.4.1加法指令35 3.4.2减法指令36 3.4.3取反码指令37 3.4.4取补指令37 3.4.5比较指令37 3.4.6逻辑与指令37 3.4.7逻辑或指令38 3.4.8逻辑异或指令39 3.5转移指令39 3.5.1无条件转移指令39 3.5.2条件转移指令40 3.6数据传输指令45 3.6.1直接寻址数据传输指令45 3.6.2间接寻址数据传输指令46 3.6.3从程序存储器中取数装入寄存器指令47 3.6.4I/O口数据传输48 3.6.5堆栈操作指令48 3.7位指令和位测试指令48 3.7.1带进位逻辑操作指令49 3.7.2位变量传输指令49 3.7.3位变量修改指令50 3.7.4其他指令52
第4章定点数运算程序设计及数制转换 4.1加减运算程序54 4.2乘除运算子程序55 4.2.1乘法运算子程序55 4.2.2除法运算子程序59 4.3数制转换子程序67 4.3.1"b16td5"--16位二进制数转换成BCD码67 4.3.2"d5tb16"--5位BCD码转换成16位二进制数68 4.3.3"yd5tb16"--5位压缩BCD码转换成16位二进制数69 4.4开方运算程序69 4.4.1"kf16"--16位开方运算69 4.4.2"kf32"--32位开方运算70
第5章浮点数运算程序设计 5.14字节浮点格式72 5.24字节浮点运算子程序库--AVR32FP.INC73 5.3应用举例84
第6章8535单片机 EEPROM读/写访问 6.18535单片机 EEPROM读/写87 6.1.1概述87 6.1.2有关的I/O 寄存器87 6.2片内EEPROM读/写举例89
第7章8535单片机I/O端口及其应用 7.18535的I/O口92 7.1.1有关I/O口的寄存器92 7.1.2I/O口内部电路及工作原理94 7.1.3I/O口的特点96 7.2I/O口的应用96 7.2.1I/O口使用注意事项96 7.2.2I/O口应用举例96
第8章中断系统及应用 8.1中断源100 8.2中断处理101 8.3有关的I/O寄存器101 8.4外部中断104 8.5中断响应时间104 8.6MCU控制寄存器--MCUCR104 8.7中断应用举例--打印机接口设计105
第9章8535单片机定时器/计数器及其应用 9.1定时器/计数器0和定时器/计数器1的预定比例器109 9.2定时器/计数器0109 9.2.1定时器/计数器0的结构特点和作用109 9.2.2定时器/计数器0有关的I/O寄存器110 9.3定时器/计数器0应用举例111 9.4定时器/计数器1115 9.4.1定时器/计数器1的结构、特点及作用115 9.4.2定时器/计数器1有关的I/O寄存器117 9.5定时器/计数器1应用举例121 9.6定时器/计数器2128 9.6.1定时器/计数器2 的预分频器128 9.6.2定时器/计数器2的结构、特点及作用129 9.6.3定时器/计数器2有关的I/O寄存器130 9.6.4PWM 模式下的T/C2131 9.6.5异步时钟信号的驱动132 9.7定时器/计数器2应用举例134 9.8看门狗定时器136 9.8.1看门狗定时器的结构、特点及作用136 9.8.2看门狗定时器控制寄存器--WDTCR137 9.8.3看门狗定时器应用编程138
第10章8535单片机模拟量输入接口 10.1模/数转换器140 10.2模/数转换应用举例145 10.3模拟比较器147 10.3.1模拟比较器概述147 10.3.2模拟比较器控制和状态寄存器--ACSR148 10.4模拟比较器应用举例149
第11章AVR单片机串行接口及应用 11.1通用串行接口UART151 11.1.1数据传送151 11.1.2数据接收152 11.1.3UART控制153 11.2异步串行接口 UART应用举例157 11.2.1异步串行口应用157 11.2.2串行口编程注意的问题157 11.2.3UART串行通信举例158 11.3同步串行接口SPI162 11.4同步串行接口SPI应用举例166
第12章AVR单片机存储器编程 12.1AVR单片机编程168 12.1.1概述168 12.1.2ISP串行下载编程接口168 12.1.3ISP串行下载编程操作168 12.1.4并行下载编程接口电缆170 12.1.5JTGA下载编程操作171 12.1.6并行编程(万用编程器)171
第13章AVR的C语言ICCAVR及应用 13.1简介172 13.1.1C程序的剖析172 13.1.2C的运行结构173 13.2AVR硬件访问的编程175 13.2.1位操作175 13.2.2程序存储器和常量数据175 13.2.3堆栈176 13.2.4在线汇编177 13.2.5中断操作177 13.2.6访问UART177 13.2.7访问EEPROM178 13.3常用库函数178 13.3.1头文件178 13.3.2字符类型库179 13.3.3浮点类型库179 13.3.4标准输入输出库180 13.3.5标准库和内存分配函数181 13.3.6字符串函数182 13.3.7变量参数函数183 13.4ICCAVR的IDE环境183 13.5实例184
第14章AVR单片机开发工具及应用 14.1AVR的开发工具189 14.2AVR实时在线仿真器ICE200189 14.3JTGA ICE仿真器190 14.4开发下载实验器SLAVRAD190 14.5AVR集成开发环境193 14.5.1AVR Assembler编译器194 14.5.2AVR Studio196 14.5.3AVR Prog198
第15章AVR单片机的最新发展 15.1AVR发展方向200 15.1.1ATmega系列特点200 15.1.2ATmega8/ATmega8L200 15.1.3ATmega16/ATmega16L201 15.1.4ATmega323/ATmega323L(兼容ATmega32/L)203 15.1.5ATmega64/ATmega64L204 15.1.6ATmega128/ATmega128L205 15.2AT94K系列现场可编程系统标准集成电路207
第16章整机设计中几个问题的处理方法 16.1AVR单片机的外围扩展210 16.2低功耗设计212 16.2.1低功耗设计方法概述212 16.2.2AT90S8535单片机的休眠状态212 16.3数字滤波213 16.3.1平滑滤波法213 16.3.2中位值滤波法214 16.3.3程序判断滤波法214 16.3.4一阶滞后滤波法215 16.4标度变换215 16.5非线性关系的处理216 16.5.1查表法216 16.5.2查表加线性插值法217 16.5.3用代数多项式近似非线性关系219
参考文献220 |