出版时间:2012-10 出版社:电子工业出版社 作者:彭伟 页数:452 字数:736000
前言
不同于通用计算机应用程序设计,单片机C语言程序设计必须针对具体的微控制器及外围电路来进行,为此,很多公司推出了单片机实验箱等多种配套设备,其不菲的价格令人望而却步,这使得众多读者对单片机技术学习、研究与应用的愿望难以实现。 幸运的是,英国Labcenter公司推出的Proteus软件具有单片机系统仿真功能,能够很好地支持多种单片机,系统器件库包含大量元器件,并提供了多种虚拟仪器,使得仅用一台PC在纯软件环境中完成单片机系统设计、调试、运行成为可能,这无疑为读者学习、运用单片机C语言程序设计技术提供了理想平台。 本书基于μVision集成开发环境和Proteus仿真软件搭建组合平台,系统规划、精心设计了100个8051单片机C语言程序设计案例,所有案例均可以在仿真电路中调试和交互运行,具体内容分为以下三部分: 1.语言程序与仿真平台应用基础包括第1、2章,简要介绍开发单片机C语言程序必须熟悉与重点掌握的内容,以及Proteus仿真软件的基本应用技术,为全书案例的学习提供铺垫。 2.内置资源与扩展资源应用设计包括第3、4章,分别为基础设计与硬件应用两类案例。基础设计类案例涵盖8051单片机所有内置资源,包括端口编程、中断、定时器/计数器等;硬件应用类案例涵盖12类扩展资源应用技术,包括编码/解码、串并/并串转换、并行存储及接口扩展、LED显示及驱动、字符/图形液晶、RTC、A/D与D/A、I2C、SPI、1-Wire接口及其他器件。 3.资源整合与功能集成应用设计由第5章提供,全部为综合型案例,如多功能电子日历、计算器、电子秤、密码锁、多点温度监测、大幅面LED、交流电压检测、GPS系统、红外遥控、测距、温室监控、Modbus总线系统等。 本书第1版2009年6月推出后,受到读者厚爱,已连续6次重印。经过几年来对案例的进一步累积、优化、凝练与规范,结合最新版本仿真软件提供的新型器件及功能,并充分考虑读者的反馈意见,应电子工业出版社之约,现全新推出第2版。 第2版在保留第1版体例结构及撰写特色的基础上进行了以下修改: 大幅增加扩展硬件类案例,并进行细致归类,优化器件的分配比重。 调整并增加资源整合与功能集成应用类案例,突出本书的实用价值。 给案例源码添加行号,便于阅读定位;补充大量代码注释,便于分析研究。 进一步规范仿真电路、设计简介、技术资源与程序源码,并删减冗余内容。 本书特点: 全书代码均调试通过,可作为8051单片机的“代码宝典”或“代码手册”使用。 大量“核心源码”及“可移植源码”可直接应用到工程项目中。 案例电路可实时仿真运行,增加了学习过程的趣味性并提振信心。 所规划的案例设计循序渐进,所设定的实训目标难易适中。 这些特点使读者“漫步”于系统电路、程序逻辑、工作时序、接口设计、读写控制、功能实现之中,便可轻松提高8051单片机C语言程序设计水平与系统开发效率。 在本书选题、撰写到出版的全过程中,学院领导、学院教务、科研等部门均给予了重要支持,并提供了项目资助,在此对学院及部门领导的关心与支持表示由衷感谢! 由于作者水平有限,且全书撰写任务极其繁重,书中错漏之处在所难免,在此真诚欢迎读者多提宝贵意见,以期不断改进。 本书所有案例的配套资料压缩包可到电子工业出版社华信教育资源网免费下载,其中包括案例的仿真电路、C语言源程序框架及编译生成的HEX文件。 彭伟2012年10月于武昌
内容概要
本书基于Keil
μVision程序设计平台和Proteus硬件仿真平台,精心编写了100项8051单片机C语言程序设计案例,并且还分别提出了难易适中的实训目标。全书基础设计类案例涵盖8051单片机最基本的端口编程、定时器/计数器应用、中断程序设计和串口通信程序设计;硬件应用类案例涵盖编码与解码器件、串并与并串转换器件、并行存储器及接口扩展器件、LED显示及驱动器件、字符液晶显示器件、图形液晶显示器件、实时日历时钟器件、模数与数模转换器件、I2C接口器件、SPI接口器件、1-Wire总线器件及其他器件共计12类;综合设计类案例包括大量实用型项目设计,如多功能电子日历牌、计算器、电子秤、密码锁、多点温度监测、大幅面LED点阵屏设计、交流电压检测、K型热电偶及铂电阻温度计、GPS系统、红外遥控系统、测距系统、温室监控系统、Modbus总线系统等。
书籍目录
第1章 8051单片机C语言程序设计概述
1.1 8051单片机引脚
1.2 数据与程序内存
1.3 特殊功能寄存器
1.4 外部中断、定时器/计数器及串口应用
1.5 有符号与无符号数应用、数位分解、位操作
1.6 变量、存储类型与存储模式
1.7 关于C语言运算符的优先级
1.8 字符编码
1.9 数组、字符串与指针
1.10 流程控制
1.11 可重入函数和中断函数
1.12 C语言在单片机系统开发中的优势
第2章 Proteus操作基础
2.1 Proteus操作界面简介
2.2 仿真电路原理图设计
2.3 元件选择
2.4 调试仿真
2.5 Proteus与Vision 3的联合调试
2.6 Proteus在8051单片机应用系统开发的优势
第3章 基础程序设计
3.1 闪烁的LED
3.2 双向来回的流水灯
3.3 花样流水灯
3.4 LED模拟交通灯
3.5 分立式数码管循环显示0~9
3.6 集成式数码管动态扫描显示
3.7 按键调节数码管闪烁增减显示
3.8 数码管显示4×4键盘矩阵按键
3.9 普通开关与拨码开关应用
3.10 继电器及双向可控硅控制照明设备
3.11 INT0中断计数
3.12 INT0及INT1中断计数
3.13 TIMER0控制单只LED闪烁
3.14 TIMER0控制数码管动态管显示
3.15 TIMER0控制8×8LED点阵屏显示数字
3.16 TIMER0控制门铃声音输出
3.17 定时器控制交通指示灯
3.18 TIMER1控制音阶演奏
3.19 TIMER0、TIMER1及TIMER2实现外部信号计数与显示
3.20 TIMER0、TIMER1及INT0控制报警器与旋转灯
3.21 按键控制定时器选播多段音乐
3.22 键控看门狗
3.23 双机串口双向通信
3.24 PC与单片机双向通信
3.25 单片机内置EEPROM读/写测试
第4章 硬件应用
4.1 74HC138译码器与反向缓冲器控制数码管显示
4.2 串入并出芯片74HC595控制数码管显示四位数字
4.3 用74HC164驱动多只数码管显示
4.4 并串转换器74HC165应用
4.5 用74HC148扩展中断
4.6 串口发送数据到2片8×8点阵屏滚动显示
4.7 数码管BCD解码驱动器CD4511与DM7447应用
4.8 62256RAM扩展内存
4.9 用8255实现接口扩展
4.10 可编程接口芯片8155应用
4.11 串行共阴显示驱动器控制4+2+2集成式数码管显示
4.12 14段与16段数码管演示
4.13 16键解码芯片74C922应用
4.14 1602字符液晶工作于8位模式直接驱动显示
4.15 1602液晶显示DS1302实时时钟
4.16 1602液晶屏工作于8位模式由74LS373控制显示
4.17 1602液晶屏工作于4位模式实时显示当前时间
4.18 1602液晶屏显示DS12887实时时钟
4.19 时钟日历芯片PCF8583应用
4.20 2×20串行字符液晶屏显示
4.21 LGM12864液晶屏显示程序
4.22 TG126410液晶屏串行模式显示
4.23 Nokia7110液晶屏菜单控制程序
4.24 T6963C液晶屏图文演示
4.25 ADC0832 A/D转换与LCD显示
4.26 用DAC0832生成锯齿波
4.27 ADC0808 PWM实验
4.28 ADC0809 A/D转换与显示
4.29 用DAC0808实现数字调压
4.30 16位A/D转换芯片LTC1864应用
4.31 I2C接口存储器AT24C04读/写与显示
4.32 I2C存储器设计的中文硬件字库应用
4.33 I2C接口4通道A/D与单通道D/A转换器PCF8591应用
4.34 I2C接口DS1621温度传感器测试
4.35 用兼容I2C接口的MAX6953驱动4片5×7点阵显示器
4.36 用I2C接口控制MAX6955驱动16段数码管显示
4.37 I2C接口数字电位器AD5242应用
4.38 SPI接口存储器AT25F1024读/写与显示
4.39 SPI接口温度传感器TC72应用测试
4.40 温度传感器LM35全量程应用测试
4.41 SHT75温湿度传感器测试
4.42 直流电机正、反转及PWM调速控制
4.43 正反转可控的步进电机
4.44 ULN2803驱动点阵屏仿电梯数字滚动显示
4.45 液晶显示MPX4250压力值
4.46 12864LCD显示24C08保存的开机画面
4.47 用M145026与M145027设计的无线收发系统
4.48 DS18B20温度传感器测试
4.49 1-Wire式可寻址开关DS2405应用测试
4.50 MMC存储卡测试
第5章 综合设计
5.1 带日历时钟及温度显示的电子万年历
5.2 用8051+1601LCD设计的整型计算器
5.3 电子秤仿真设计
5.4 1602液晶屏显示仿手机键盘按键字符
5.5 用24C04与1602液晶屏设计的简易加密电子锁
5.6 1-Wire总线器件ROM搜索与多点温度监测
5.7 高仿真数码管电子钟设计
5.8 用DS1302与12864LCD设计的可调式中文电子日历
5.9 用T6963C液晶屏设计的指针式电子钟
5.10 T6963C液晶屏中文显示温度与时间
5.11 T6963C液晶屏曲线显示ADC0832两路A/D转换结果
5.12 温度控制直流电机转速
5.13 用74LS595与74LS154设计的16×16点阵屏
5.14 用8255与74LS154设计的16×16点阵屏
5.15 红外遥控收发仿真
5.16 GP2D12红外测距传感器应用
5.17 三端可调正稳压器LM317应用测试
5.18 数码管显示的K型热电偶温度计
5.19 交流电压检测与数字显示仿真
5.20 用MCP3421与RTD-PT100设计的铂电阻温度计
5.21 可接收串口信息的带中英文硬字库的80×16 LED点阵屏
5.22 模拟射击训练游戏
5.23 GPS仿真
5.24 温室监控系统仿真
5.25 基于Modbus总线的数据采集与开关控制系统设计仿真
章节摘录
版权页: 插图: 通过对第3章基础案例的学习、研究、设计与调试,熟悉了KeilμVision 3开发环境下单片机内部资源的基本程序设计方法,掌握了使用8051单片机C语言程序设计实现基本系统功能的相关技术,本章在此基础上就单片机外围硬件应用给出50项案例,这些案例所涉及的器件可分为以下12类: (1)编码与解码(译码)器件 例如,通过带优先级的8—3编码器74HC148可实现中断扩展设计,在8位集成式数码管扫描显示电路中,使用3—8译码器74HC138控制位扫描(位码输出)仅需要占用单片机3位引脚,使用7段数码管BCD码解码驱动器CD4511及DM7447输出段码时仅需要占用单片机4位引脚,再比如4×4矩阵键盘电路中使用解码器74C922可大大简化键盘扫描程序设计并减少端口占用。 (2)串并与并串转换器件 串入并出器件对单片机端口引脚占用非常少,例如,在数码管、点阵屏显示驱动电路中大量使用的典型器件74HC595,另外还有串入并出器件74HC164,它与74HC595的主要差别是没有输出锁存器。74HC165为并入串出器件,涉及多按键输入时,通过该器件同样可以减少对单片机端口的占用。 (3)并行存储器及接口扩展器件 单片机内置RAM或ROM不能满足系统设计要求时,可进行内存扩展,本章讲解了并行SRAM扩展器件62256的应用,另外还讲解了可编程并行I/O接口扩展器件8255,静态内存与I/O接口及定时器扩展器件8155的应用。 (4)LED显示及驱动器件 数码管与点阵屏均为LED显示器件,本章用串行共阴显示驱动器MAX7219驱动8位7段集成式数码管显示,对于14/16段数码管,使用了第(2)类器件中的74HC595,其中对于16段数码管还使用了第(9)类器件中的MAX6955,驱动点阵屏显示时,既使用了ULN2803,还使用了第(9)类器件中的MAX6953。 (5)字符液晶显示器 主要讲解以HD44780为控制器的1602等液晶显示器的4位模式、8位模式、接口扩展模式(使用74LS373)程序设计及工作于串行方式的液晶显示器程序设计技术,既涉及液晶显示器内置字符的显示,又涉及自定义字符的点阵编码生成及显示程序设计相关技术。 (6)图形液晶显示器 图形液晶显示器可实现更加复杂的信息显示,包括图形、图像及中英文信息等。讲解的液晶显示器型号包括LGM12864(KS0108)、TG126410(SED1565)、Nokia7110(SED1565)、PG160128A(T6963C),各型号后的括号内列出的是该液晶显示器的控制器型号。
编辑推荐
《单片机C语言程序设计实训100例:基于8051+Proteus仿真(第2版)》适用于本科、专科院校学生用于学习实践8051单片机C语言程序设计技术的教材或参考书,也可作为工程技术人员或单片机技术爱好者的学习参考书或工具书。
图书封面
评论、评分、阅读与下载