内容简介:
基于AVR Studio+WinAVR(GCC)组合环境和Proteus硬件仿真平台,精心安排了100个AVR单片机C程序设计案例。《单片机C语言程序设计实训100例:基于AVR+Proteus仿真》提供了所有案例完整的C语言源程序,各案例设计了难易适中的实训目标。
基础设计类案例涵盖AVR单片机最基本的端口编程、定时/计数器应用、中断程序设计、A/D转换、比较器程序设计、EEPROM、Flash、USART及看门狗程序设计;硬件应用类案例涉及单片机存储器扩展、接口扩展、译码、编码、驱动、光电、机电、传感器、I2C/TWI及SPI接口器件、MMC、红外等器件;综合设计类案例涉及消费类电子产品、仪器仪表及智能控制设备相关技术,相关案例涉及485及RTL8019的应用。
《单片机C语言程序设计实训100例:基于AVR+Proteus仿真》适合用作大专院校学生学习实践AVR单片机C语言程序设计技术的参考书,也可用作电子工程技术人员、单片机技术爱好者的学习参考书。
目录:
第1章 AVR单片机C语言程序设计概述1
1.1 AVR单片机简介1
1.2 AVRStudio+WinAVR开发环境安装及应用4
1.3 AVRGCC程序设计基础7
1.4 程序与数据内存访问14
1.5 I/O端口编程14
1.6 外设相关寄存器及应用16
1.7 中断服务程序31
1.8 GCC在AVR单片机应用系统开发中的优势33
第2章 Proteus操作基础35
2.1 Proteus操作界面简介35
2.2 仿真电路原理图设计37
2.3 元件选择39
2.4 仿真运行44
2.5 Proteus与AVRStudio的联合调试45
2.6 Proteus在AVR单片机应用系统开发中的优势46
第3章 基础程序设计48
3.1 闪烁的LED48
3.2 左右来回的流水灯50
3.3 花样流水灯52
3.4 LED模拟交通灯54
3.5 单只数码管循环显示0~957
3.6 8只数码管滚动显示单个数字59
3.7 8只数码管扫描显示多个不同字符61
3.8 K1~K4控制LED移位62
3.9 数码管显示4×4键盘矩阵按键65
3.10 数码管显示拨码开关编码68
3.11 继电器控制照明设备70
3.12 开关控制报警器72
3.13 按键发音74
3.14 INT0中断计数76
3.15 INT0与INT1中断计数79
3.16 TIMER0控制单只LED闪烁83
3.17 TIMER0控制流水灯85
3.18 TIMER0控制数码管扫描显示87
3.19 TIMER1控制交通指示灯90
3.20 TIMER1与TIMER2控制十字路口秒计时显示屏94
3.21 用工作于计数方式的T/C0实现100以内的脉冲或按键计数98
3.22 用定时器设计的门铃100
3.23 报警器与旋转灯103
3.24 100000s以内的计时程序106
3.25 用TIMER1输入捕获功能设计的频率计109
3.26 用工作于异步模式的T/C2控制的可调式数码管电子钟113
3.27 TIMER1定时器比较匹配中断控制音阶播放117
3.28 用TIMER1输出比较功能调节频率输出120
3.29 TIMER1控制的PWM脉宽调制器123
3.30 数码管显示两路A/D转换结果126
3.31 模拟比较器测试128
3.32 EEPROM读/写与数码管显示130
3.33 Flash程序空间中的数据访问136
3.34 单片机与PC机双向串口通信仿真141
3.35 看门狗应用147
第4章 硬件应用150
4.1 74HC138与74HC154译码器应用150
4.2 74HC595串入并出芯片应用153
4.3 用74LS148与74LS21扩展中断157
4.4 62256扩展内存实验160
4.5 用8255实现接口扩展163
4.6 可编程接口芯片8155应用168
4.7 可编程外围定时/计数器8253应用173
4.8 数码管BCD解码驱动器7447与4511应用178
4.9 8×8LED点阵屏显示数字181
4.10 8位数码管段位复用串行驱动芯片MAX6951应用183
4.11 串行共阴显示驱动器MAX7219与7221应用188
4.12 16段数码管演示193
4.13 16键解码芯片74C922应用196
4.14 1602LCD字符液晶测试程序199
4.15 1602液晶显示DS1302实时时钟205
4.16 1602液晶工作于4位模式实时显示当前时间211
4.17 2×20串行字符液晶演示214
4.18 LGM12864液晶显示程序217
4.19 PG160128A液晶图文演示226
4.20 TG126410液晶串行模式显示247
4.21 用带SPI接口的MCP23S17扩展16位通用I/O端口257
4.22 用TWI接口控制MAX6953驱动4片5×7点阵显示器262
4.23 用TWI接口控制MAX6955驱动16段数码管显示266
4.24 用DAC0832生成多种波形270
4.25 用带SPI接口的数/模转换芯片MAX515调节LED亮度273
4.26 正反转可控的直流电机276
4.27 正反转可控的步进电机279
4.28 DS18B20温度传感器测试282
4.29 SPI接口温度传感器TC72应用测试293
4.30 SHT75温、湿度传感器测试299
4.31 用SPI接口读/写AT25F1024309
4.32 用TWI接口读/写24C04318
4.33 MPX4250压力传感器测试326
4.34 MMC存储卡测试329
4.35 红外遥控发射与解码仿真340
第5章 综合设计348
5.1 多首电子音乐的选播348
5.2 电子琴仿真353
5.3 普通电话机拨号键盘应用357
5.4 1602LCD显示仿手机键盘按键字符363
5.5 数码管模拟显示乘法口诀369
5.6 用DS1302与数码管设计的可调电子钟372
5.7 用DS1302与LGM12864设计的可调式中文电子日历380
5.8 用PG12864LCD设计的指针式电子钟393
5.9 高仿真数码管电子钟401
5.10 1602LCD显示的秒表409
5.11 用DS18B20与MAX6951驱动数码管设计的温度报警器413
5.12 用1602LCD与DS18B20设计的温度报警器421
5.13 温控电机在L298驱动下改变速度与方向运行431
5.14 PG160128中文显示日期时间及带刻度显示当前温度439
5.15 液晶屏曲线显示两路A/D转换结果447
5.16 用74LS595与74LS154设计的16×16点阵屏452
5.17 用8255与74LS154设计的16×16点阵屏457
5.18 8×8LED点阵屏仿电梯数字滚动显示461
5.19 用内置EEPROM与1602液晶设计的带MD5加密的电子密码锁466
5.20 12864LCD显示24C08保存的开机画面480
5.21 12864LCD显示EPROM27C256保存的开机画面488
5.22 I2CAT24C1024×2硬字库应用491
5.23 SPI-AT25F2048硬件字库应用498
5.24 带液晶显示的红外遥控调速仿真505
5.25 能接收串口信息的带中英文硬字库的80×16点阵显示屏511
5.26 用AVR与1601LCD设计的计算器523
5.27 电子秤仿真设计531
5.28 模拟射击训练游戏537
5.29 PC机通过485远程控制单片机546
5.30 用IE访问AVR+RTL8019设计的以太网应用系统550
参考文献568
好评度