《AVR单片机C语言套用100例》是2012年2月1日电子工业出版社出版的一本图书,作者严雨、廉洁。本书基于Proteus仿真和C语言由浅入深地介绍了ATmega128单片机的套用。
《AVR单片机C语言套用100例》所提供100个实例覆盖了整个单片机系统开发全过程,包括单片机开发环境、单片机的内部结构、C语言基础,以及ATmega128单片机的内部资源套用。所涉及的ATmega128单片机的内部资源包括I/O引脚、外部中断、E2PROM、us-ART模组、定时/计数器、TWI接口、SPI接口、模拟比较器、ADC模组、看门狗等。《AVR单片机C语言套用100例》适合作为具有初步单片机基础的单片机工程师,以及高等院校电子类专业的学生和单片机爱好者的参考书。
第1章 ATmega128单片机基础1.1 ATmega128单片机介绍1.2 ATmega128单片机的结构1.2.1 ATmega128单片机的核心1.2.2 ATmega128单片机的存储器体系1.2.3 ATmega128单片机的系统时钟1.2.4 ATmega128单片机的电源管理1.2.5 ATmega128单片机的复位1.2.6 ATmega128单片机的中断系统1.3 ATmega128单片机的指令系统和定址第2章 ATmega128单片机的软体开发环境2.1 ICCAVR软体开发环境2.1.1 ICCAVR软体安装2.1.2 ICCAVR选单2.1.3 ICCAVR的常用档案类型2.1.4 ICCAVR的扩展关键字2.1.5 ICCAVR的启动档案2.1.6 ICCAVR的库函式2.2 ICCAVRIDE的使用套用实例1——使用ICCAVRIDE第3章 ATmega128单片机的开发环境3.1 ATmega128单片机开发常用的工具3.1.1 ISP编程器3.1.2 数字万用表3.1.3 数字示波器3.2 Proteus仿真软体的使用套用实例2——使用Proteus仿真ATmega128单片机3.3 Proteus仿真软体的套用说明3.3.1 运行、单步运行、暂停和停止运行3.3.2 打开对应的观察视窗第4章 ATmega128单片机套用系统开发基础4.1 ATmega128单片机套用系统的构成4.2 ATmega128单片机套用系统开发流程4.3 ATmega128单片机套用系统的硬体设计4.4 3个微型ATmega128单片机套用系统套用实例3——点亮8位LED套用实例4——驱动7位数码管套用实例5——串口数据传送和接收第5章 ATmega128单片机C语言基础5.1 ATmega128单片机C语言的数据类型、运算符和表达式5.1.1 ATmega128单片机C语言的数据类型5.1.2 ATmega128单片机C语言的常量和变数套用实例6——使用常量套用实例7——使用变数5.1.3 ATmega128单片机C语言的算术运算、赋值运算、逻辑运算和关係运算套用实例8——使用算术表达式套用实例9——使用强制类型转换套用实例10——逻辑运算套用套用实例11——关係运算套用5.1.4 ATmega128单片机C语言的位操作套用实例12——位逻辑运算:位与和位或套用实例13——位逻辑运算:位异或和位取反套用实例14——移位运算套用套用实例15——自增减运算套用套用实例16——複合运算套用套用实例17——逗号运算套用5.1.5 运算符的优先权5.2 ATmega128单片机C语言的结构语句5.2.1 顺序结构套用实例18——顺序结构语句套用5.2.2 选择结构套用实例19——if语句的基本结构套用套用实例20——switch语句的套用5.2.3 循环结构套用实例21——while语句的套用套用实例22——dowhile语句套用套用实例23——for语句的套用套用实例24——循环语句的进阶用法5.2.4 break语句、continue语句和goto语句套用实例25——break语句的套用套用实例26——continue语句的套用套用实例27——goto语句的套用第6章 ATmega128单片机高阶C语言6.1 ATmega128单片机C语言的函式6.1.1 函式的分类6.1.2 函式的定义套用实例28——无参函式的套用套用实例29——有参函式的套用6.1.3 函式的调用套用实例30——函式的预先定义套用实例31——函式的后定义套用实例32——函式的递归调用套用实例33——函式的嵌套调用6.1.4 内部函式和外部函式6.1.5 变数类型套用实例34——静态局部变数套用套用实例35——全局变数套用6.2 ATmega128单片机C语言的数组和指针6.2.1 数组套用实例36——一维数组的套用套用实例37——二维数组的套用套用实例38——字元数组的套用6.2.2 指针套用实例39——指针的套用6.2.3 数组和指针套用实例40——数组下标引用输出套用实例41——数组名作为地址输出套用实例42——指针引用数组输出套用实例43——使用指针运算引用数组输出
套用实例44——数组下标引用二维数组的输出套用实例45——指针引用二维数组的输出6.2.4 字元串和指针套用实例46——字元指针的字元数组输出6.2.5 数组、指针和函式的联繫套用实例47——数组作为函式参数的套用套用实例48——指针作为函式参数套用实例49——返回指针的函式6.2.6 指针数组和指向指针的指针套用实例50——指向指针的指针套用6.3 ATmega128单片机C语言中的自定义数据类型6.3.1 结构体套用实例51——结构体的套用套用实例52——结构体数组套用套用实例53——结构体变数指针套用实例54——结构体指针变数作为函式参数6.3.2 联合体(共用体)套用实例55——结构体的套用6.3.3 枚举套用实例56——枚举变数的套用6.4 ATmega128单片机C语言程式设计技巧6.4.1 养成好的编程习惯6.4.2 宏定义套用实例57——宏定义的套用套用实例58——参数宏定义的套用6.4.3 条件编译套用实例59——条件编译6.4.4 一些关键字的使用第7章 ATmega128单片机的I/O引脚套用实例7.1 ATmega128单片机的I/O引脚基础7.1.1 ATmega128单片机的I/O引脚配置7.1.2 ATmega128单片机读取引脚电平7.1.3 ATmega128单片机的I/O引脚低功耗处理7.1.4 ATmega128单片机的I/O引脚的第二功能7.2 ATmega128单片机扩展发光二极体(LED)7.2.1 发光二极体(LED)基础7.2.2 ATmega128单片机扩展发光二极体(LED)套用实例套用实例60——使用I/O引脚驱动LED闪烁套用实例61——使用I/O引脚驱动流水灯7.3 ATmega128单片机扩展数码管7.3.1 一位数码管基础7.3.2 ATmega128扩展一位数码管套用实例套用实例62——使用I/O引脚驱动数码管显示7.3.3 多位数码管基础7.3.4 ATmega128单片机扩展多位数码管套用实例套用实例63——使用I/O引脚驱动多位数码管动态显示7.4 ATmega128单片机扩展按键、键盘和拨码开关7.4.1 独立按键基础7.4.2 ATmega128单片机扩展独立按键套用实例套用实例64——使用I/O引脚扩展独立按键格式7.4.3 行列扫描键盘基础7.4.4 ATmega128单片机扩展行列扫描键盘套用实例套用实例65——使用I/O引脚扩展行列扫描键盘
7.4.5 拨码开关基础7.4.6 ATmega128单片机扩展拨码开关套用实例套用实例66——使用I/O引脚扩展拨码开关7.5 ATmega128单片机扩展继电器7.5.1 继电器基础7.5.2 功率驱动器件基础7.5.3 ATmega128单片机扩展继电器套用实例套用实例67——使用I/O引脚扩展继电器7.6 ATmega128单片机扩展蜂鸣器7.6.1 蜂鸣器基础7.6.2 ATmega128单片机扩展蜂鸣器套用实例套用实例68——使用I/O引脚扩展蜂鸣器7.7 ATmega128单片机扩展电动机7.7.1 直流电动机基础7.7.2 ATmega128单片机扩展直流电动机的套用实例套用实例69——使用I/O引脚扩展直流电动机7.7.3 步进电动机基础7.7.4 ATmega128单片机扩展步进电动机的套用实例套用实例70——使用I/O引脚扩展步进电动机第8章 ATmega128单片机的外部中断套用实例8.1 ATmega128单片机的外部中断基础8.1.1 外部中断控制暂存器A(EICRA)8.1.2 外部中断控制暂存器B(EICRA)8.1.3 外部中断禁止暂存器(EIMSK)8.1.4 外部中断标誌暂存器(EIFR)8.2 ATmega128单片机的外部中断套用实例套用实例71——外部中断7脉冲计数套用实例72——外部中断控制LED套用实例73——多个外部中断联合计数第9章 ATmega128单片机的内部E2PROM套用实例9.1 E2PROM基础9.1.1 地址暂存器EEARH和EEARL9.1.2 数据暂存器EEDR9.1.3 控制暂存器EECR9.1.4 E2PROM的操作时间9.1.5 E2PROM的写操作9.1.6 E2PROM的读操作9.1.7 E2PROM的掉电处理9.2 ATmega128单片机的E2PROM套用实例套用实例74——用E2PROM保存用户数据套用实例75——E2PROM的数据写入和读出第10章 ATmega128单片机的USART模组套用实例10.1 USART模组套用基础10.1.1 USART的相关暂存器10.1.2 USART的时钟发生器10.1.3 USART的数据帧格式10.1.4 USART的使用方法10.2 ATmega128单片机的USART套用实例套用实例76——USART0的数据传送套用实例77——USART1的数据传送套用实例78——Proteus中的虚拟串口调试
套用实例79——使用USART0和计算机进行双向数据通信套用实例80——综合使用USART0和USART1套用实例81——使用单片机A控制单片机B第11章 ATmega128单片机的定时/计数器模组套用实例11.1 定时/计数器T/C0基础11.1.1 定时/计数器T/C0的工作模式11.1.2 T/C0的相关暂存器11.2 定时/计数器T/C1和T/C3基础11.2.1 T/C1和T/C3的工作模式11.2.2 T/C1和T/C3的相关暂存器11.3 定时/计数器T/C2基础11.3.1 T/C2的工作模式11.3.2 T/C2的相关暂存器11.4 定时/计数器模组套用实例套用实例82——T/C0控制LED闪烁套用实例83——T/C1控制LED闪烁套用实例84——T/C2脉冲计数套用实例85——T/C1实现频率计套用实例86——T/C1实现占空比可调PWM输出套用实例87——T/C0的秒定时套用实例88——频率可调的PWM信号输出第12章 ATmega128单片机的TWI(I2C)接口汇流排模组套用实例12.1 TWI(I2C)汇流排基础12.1.1 TWI(I2C)接口汇流排的一些术语12.1.2 TWI(I2C)接口汇流排的数据传输过程和帧格式12.1.3 TWI(I2C)汇流排器件的地址12.2 ATmega128单片机的TWI(I2C)接口汇流排模组套用基础12.2.1 ATmega128单片机的TWI(I2C)接口汇流排模组构成12.2.2 ATmega128单片机的TWI(I2C)接口汇流排模组暂存器12.2.3 ATmega128单片机的TWI(I2C)接口汇流排模组的工作模式12.2.4 ATmega128单片机的TWI(I2C)接口汇流排模组的使用12.3 ATmega128单片机的TWI(I2C)接口汇流排模组套用实例套用实例89——使用TWI(I2C)汇流排进行双机通信第13章 ATmega128单片机的SPI接口汇流排模组套用实例13.1 SPI汇流排基础13.1.1 SPI汇流排的结构13.1.2 SPI汇流排的时序13.2 ATmega128单片机的SPI接口汇流排模组套用基础13.2.1 ATmega128单片机的SPI接口汇流排模组的暂存器13.2.2 ATmega128单片机的SPI接口汇流排模组的工作模式13.3 ATmega128单片机的SPI接口汇流排模组套用实例套用实例90——使用SPI汇流排接口进行双机通信第14章 ATmega128单片机的模拟比较器模组套用实例14.1 ATmega128单片机的模拟比较器模组套用基础14.1.1 ATmega128单片机模拟比较器模组的暂存器
14.1.2 ATmega128单片机模拟比较器模组输入通道14.2 ATmega128单片机的模拟比较器模组套用实例套用实例91——使用比较器模组比较两个模拟信号套用实例92——使用比较器模组将正弦波信号转换为方波信号套用实例93——多通道模拟信号电压比较第15章 ATmega128单片机的ADC模组套用实例15.1 ADC基础知识15.2 ATmega128单片机的ADC模组套用基础15.2.1 ATmega128单片机的ADC模组的相关暂存器15.2.3 ATmega128单片机的ADC模组的使用15.3 ATmega128单片机的ADC模组套用实例套用实例94——单通道A/D採样套用实例95——多通道A/D採样套用实例96——差分输入A/D採样套用实例97——增益放大A/D採样套用实例98——定时器控制A/D採样套用实例99——多通道电压比较和A/D採样第16章 ATmega128单片机的看门狗模组套用实例16.1 ATmega128单片机看门狗模组套用基础16.2 ATmega128单片机看门狗模组套用实例套用实例100——ATmega128单片机看门狗模组工作状态测试
本文发布于:2023-03-26 11:26:38,感谢您对本站的认可!
本文链接:http://www.ranqi119.com/to/1680094874254675.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |