本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正
商品基本信息,请以下列介绍为准 | |
商品名称: | 单片机C语言案例教程 |
作者: | 白炽贵,余明飞,罗永编著 |
定价: | 27.0 |
出版社: | 电子工业出版社 |
出版日期: | 2011-01-01 |
ISBN: | 9787121125195 |
印次: | 1 |
版次: | 01 |
装帧: | |
开本: | 16开 |
内容简介 | |
本书介绍用Keil C51对51单片行系程的实用方法,从驱动一位数码管显示“8”的程序起,以多个案例为铺垫,讲解了含能的电子钟温度计和16×16点阵LED汉字显示屏的产品创意和程序设计,掌握单片机关于两个外中断、两个内中断、单总线器件、双总线器件、三总线器件、串并转换、IAP编程和用串行通信把汉字字模从PC写入单片机片外Flash存储器等核心技术。 读者对象:电类专业学生和初学者 |
目录 | |
目 录 第1章 单片机基础1 1.1 单片机简介1 1.2 用单片机芯片组成单片机应用系统2 1.3 对单片机编程以实现单片机系能5 【案例1】 在4位数码管的最左位上显示“8.”5 1.4 把程序写入单片机芯片的台的作步骤6 1.5 从数码管显示学单片机编程18 【案例2】 数码管上的“8.8.”显示18 【案例3】 被动形式的“8051”显示20 【案例4】 主动形式的“8051”显示22 【案例5】 模块化的“8051”显示24 【案例6】 实用型的“8051”显示26 1.6 源程序的阅读要点28 1.7 REG51.件简介31 小结133 34 第2章 C语言编程基础35 2.1 C语言程序的组成结构和运行机制35 2.2 C语言的字符集、标识符、关键字和语句36 2.3 C语言中的数据类型37 2.4 常量和变量38 2.5 整型数据38 2.6 实型数据39 2.7 字符型数据39 2.8 C51扩充数据类型40 2.9 运算符与表达式40 2.9.1 算术运算符与算术表达式40 2.9.2 赋值运算符与赋值表达式41 2.9.3 关系运算符和关系表达式42 2.9.4 逻辑运算符与逻辑表达式43 2.9.5 位运算符与位运算表达式43 2.9.6 逗号运算符与逗号表达式43 2.9.7 运算符的优先级和结合性44 2.10 程序的三种基本结构45 2.11 选择结构46 2.12 循环结构48 2.13 数组51 2.13.1 一维数组的定义和引用51 2.13.2 二维数组的定义和引用52 2.14 变量和数组的存储器类型54 2.15 函数的定义和调用54 2.15.1 系统库函数54 2.15.2 用户自定义函数55 2.15.3 函数的定义55 2.15.4 函数调用的方式和规则56 2.15.5 全局变量和局部变量57 小结257 58 第3章 用数码管模拟的循环灯59 【案例7】 “并驾齐驱”的跑马灯59 【案例8】 “迈步边关”的巡逻灯64 【案例9】 “大江东去”的流水灯69 【案例10】 “孔雀开屏式”循环灯73 【案例11】 奔腾不息的“8051”77 【案例12】 9999倒数数的数码管显示82 小结385 86 第4章 中断资源的应用编程87 4.1 中断的概念87 4.2 中断允许寄存器IE和中断优先级寄存器IP87 4.2.1 中断允许寄存器IE87 4.2.2 中断优先级寄存器IP88 4.3 定时器/计数器简介89 4.3.1 定时器/计数器体系结构示意图89 4.3.2 能寄存器TCON89 4.3.3 能寄存器TMOD90 【案例13】 用外中断INT1作插曲显示91 【案例14】 中断插曲的中断插曲显示95 【案例15】 基于定时器中断的数字钟99 【案例16】 基于计数器中断的中断插曲104 【案例17】 定时器T1与计数器T0的串接使用107 小结4111 111 第5章 日历时钟DS1302的应用编程113 5.1 日历时钟DS1302简介113 5.2 对DS1302的写读程序设计114 5.2.1 层的按位写读函数114 5.2.2 对DS1302的字节写读函数116 【案例18】 基于DS1302的实用电子钟117 小结5125 125 第6章 AT24C02的应用编程126 6.1 I2C总线简介126 6.1.1 I2C总线接口126 6.1.2 I2C器件的地址126 6.1.3 对I2C器行数据传送的作时序127 6.2 AT24C02简介127 6.2.1 AT24C02引脚图127 6.2.2 读/写AT24C02的专用函数128 6.2.3 9个专用函数间的调用路线图131 【案例19】 AT24C02应用编程132 小结6138 138 第7章 DS18B20的编程应用139 7.1 DS18B20使用简介139 7.1.1 DS18B20的外形及与单片机的接口139 7.1.2 DS18B20的内部结构和作指令139 7.2 对DS18B20的作时序和读/写专用函数140 7.2.1 对DS18B20的作时序140 7.2.2 DS18B20的读/写专用函数141 【案例20】 DS18B20的应用编程143 小结7149 149 第8章 有能和温度显示的电子钟项目设计150 8.1 项目简介150 8.2 项目源程序设计要点分析164 小结8168 169 第9章 16×16点阵LED汉字显示屏项目设计170 9.1 项目简介170 9.2 16×16点阵LED汉字显示屏电原理图170 9.3 74HC1能简介171 9.4 74HC5能简介172 9.5 单片机与LED汉字显示屏的接口设计174 9.6 汉字字模在二维数组中的存储格式174 9.7 16×64点阵LED汉字显示屏项目源程序及分析175 9.8 16×16汉字字模文件的建立180 小结9183 183 第10章 使用片内E2PROM存储器184 10.1 IAP和ISP简介184 10.2 IAP技术的接口函数184 【案例21】 片内E2PROM编程案例187 10.3 用片内E2PROM取代电子钟项目中的AT24C02192 小结10194 0194 第11章 单片机与PC的串行通信195 【案例22】 单片机与PC的串行通信案例198 小结11205 1206 第12章 单片机片外数据存储器的扩充207 12.1 HM62256存储器的扩充及使用案例207 12.1.1 HM62256存储器的扩充207 12.1.2 HM62256存储器的使用209 12.2 用HM62256存储汉字字模案例212 12.3 W29C020存储器的扩充和使用案例219 12.3.1 W29C020存储器的扩充219 12.3.2 W29C020存储器的使用221 12.4 用W29C020存储字模的LED汉字显示屏项目设计225 小结12232 2232 第13章 A/D转换与D/A转换简介233 13.1 A/D器件ADC0809简介233 13.2 ADC0809的使用接口与编程234 13.2.1 ADC0809与单片机的接口234 13.2.2 ADC0809的应用编程236 【案例23】 基于ADC0809的模/数转换示例237 13.3 D/A器件DAC0832简介239 13.4 DAC0832的使用接口与编程240 13.4.1 DAC0832与单片机的接口240 13.4.2 DAC0832的应用编程240 【案例24】 DAC0832的应用编程241 小结13243 3243 |
前言 | |
中职学校机电类专业学生学机技术,有利于提高中职学生的职业技能和就业创业能力,有利于中职学生的继续学身学合中等职业学校的教学实际和中职学生的学,我们编写了这本《单片机C语言案例教程》。 学趣起步!兴趣是的老师!激发和发展学生的单片机学,是本书的编写宗旨;强化单片机学作和实践,是本书的编写风格。本书以“案例+项目”的形式展开中职学生单片机的学过程。用案例为项目做铺垫,用项目整合案例,用项目向学生展现其学和使用价值。 全书共13章。 第1章简要介绍了MCS-51单片机的内部结构和本书单片机学电原理图及其印制电路板图,详细介绍了用Keil C51编译器和STC-ISP下载软件完成单片机编程的整个过程步骤,并用6个案例展示了C语言对单片机编程的易用性。 第2章集中介绍了单片机C语言编程的基本知识和简明方法,以作为全书各案例源程序分析时的理论依据,可以不按其小节顺序讲授。 第3章以数码管的花样显示为要求,用6个案例说明了单片机C语言编程中“谋篇布局”的思谋策略。 第4章简要介绍了中断的概念和单片机中的中断资源,用5个案例说明了如何设置中断允许寄存器IE和中断优先级寄存器IP,展示了如何使用两个外中断、两个内中断的具体方法,演示了中断嵌套和中断串接的特点。 第5章介绍了对三总线器件的编程要点,用一个案例展示了对三总线器件DS1302编程的软、硬件设计。 第6章介绍了对二总线器件的编程要点,用一个案例展示了对二总线器件AT24C02编程的软、硬件设计。 第7章介绍了对单总线器件的编程要点,用一个案例展示了对单总线器件DS18B20编程的软、硬件设计。 第8章介绍了单片机开发中的编程整合技术,即用“有能和温度显示的电子钟”这一项目,展示了将三总线器件DS1302案例、二总线器件AT24C02案例、单总线器件DS18B20案例整合成一个产品项目的单片机学技术。在这个项目中,还根据项目所需,综合使用了单片机中的四个中断资源。 第9章介绍了16×16点阵LED汉字显示屏的软、硬件设计。用16×16点阵LED汉字显示屏这一项目,展示了用C语言开发小型LED汉字显示屏的实用技术方案。 第10章介绍了基于宏晶公司技术资料的STC单片机片内E2PROM编程技术。用一个案例演示了STC单片机片内E2PROM的编程效果,用另一项目提升了“有能和温度显示的电子钟”的开发价值。 第11章介绍了单片机与PC间的串行通信技术。用一个案例展示了单片机与PC间串行通信的实用方法及其效果。 第12章介绍了单片机扩充片外数据存储器的接口电路,用两个案例示范了HM62256和W29C020的硬件接口和读写技术,用两个项目展示了使用片外数据存储器的LED汉字显示屏的技术升级方案。 第13章介绍了模数转换和数模转换知识,用一个案例展示了ADC0809的接口电路和模数转换效果,用另一个案例展示了DAC0832的接口电路和数模转换效果。 除第2章外,本书各章均配有电子教案。每章的电子教案均按节的顺序组织。对书中的每一案例的下载作和运行效果,电子教案中都制作有一段视频演示利于提果。 本书还有一篇讲解本书所用单片机学刷电路图设计的电子教程,读者能在该电子教程的辅导下完成本书学路的印刷电路设计,设计出来的PCB与本书正文中的图1-4一致。这就能指导读者,全程走通,从单片机的程序设计,到单片机的项目开发,再到单片机的电路制版的整个单片机产品研制过程。 本书配有电子教案、教学指南、案例源程序、答、PCB制作电子教程和用于实际制版加工的PCB文件,能更多地满足读者在各方面的实用需求。请有此需要的教师登录华信教育网(www.hxedu.com.cn)免费注册行下载,有问题时请在留言板留言或与电子工业出版社联系(E-:hxedu@phei.com.cn)。 本书全书由白炽贵统稿。第1~4章由罗永编写,第5~8章由余明飞编写,第9~13章由白炽贵编写。由于编者有限,书中难免有错谬之处,敬请广大读者指正。 编著者 2010年8月 |
摘要 | |
IAP(In Application Programable)是指在应用编程。其实质是,新型号的51单片机由于新增了若干能寄存器,当单片机系统在程序运行时,借助新增的能寄存器,运行程序自己可以对程序存储器写入数据或修改程序。 ISP(In System:Programable)是指在系程。其实质是,不需要将单片机芯片从其系统电路板上取下来后插在通用编程器上来写入程序,而是将单片机芯片焊在系统电路板上被写入程序。这种编程是由上位机运行专用软件,通过串口和单片机芯片上出厂时已固化在芯片Flash中的引导程序Bootloade行通信,告诉引导程序,此时要对单片机片内的Flash程序存储行编程。从而引导程序使用IAP技术,把上位机下传过来的HEX文件,写入单片机片内的程序存储器,以完成对在系统电路板上的单片机芯片编程。 ISP技术含了IAP技术。ISP技术中的是被编程的单片机芯片出厂时必须固化boot程序。单片机上电运行时就首先执行该boot程序,而boot程序运行时首先检测有无上位机要下载HEX程序的要求,如果没有上位机的下载要求,boot程序就跳转到用户程序首地址上去运行用户的单片机程序;如果检测到有上位机下载程序的要求,就和上位机利用串行通信,把上位机上的HEX程序,写入到用户程序首地址上,写完后再跳转到用户程序首地址上,去执行这次下载而得到的新用户程序。 |