51单片机C语言程序设计经典实例

当前位置:首页 > 计算机网络 > 计算机体系结构 > 51单片机C语言程序设计经典实例

出版社:电子工业出版社
出版日期:2012-5
ISBN:9787121169601
作者:陈忠平
页数:454页

章节摘录

版权页:   插图:    3.LED数码管的识别与检测方法 LED数码管的识别与检测可以使用干电池检测或万用表检测这两种方法进行。 1)干电池检测法取两节普通1.5V干电池串联起来形成3V电压源,并串联一个100Ω、1/8W的限流电阻,以防止电流过大烧坏被测LED数码管。将3V电压的负极引线接在被测数码管的公共阴极上,正极引线依次移动接触各笔段电极(a~h脚)。当正极引线接触到LED数码管的某一段码电极时,对应段码就发光显示。用这种方法可以快速测出数码管是否有断笔(某一段码不能显示)或连笔(某些段码连在一起),并且可相对比较出不同的段码发光强弱是否一致。若检测共阳极数码管,只需将电池的正、负极引线对调一下即可。被测数码管的各笔段电极(a~h脚)全部短接起来,再接通测试用干3V电压,则可使被测数码管实现全段码发光。对于质量较好的数码管,其发光颜色应该均匀,并且无段码残缺或局部变色等现象。 如果不清楚被测数码管是共阳极的还是共阴极的,以及引脚排序,可从被测数码管的左边第1脚开始,逆时针方向依次逐脚测试各引脚,使各段码分别发光,即可测绘出该数码管的引脚排列和内部接线。测试时注意,只要某一段码发光,就说明被测的两个引脚中有一个是公共引脚,假定某一脚是公共引脚不动,变动另一测试脚,如果另一个段码发光,说明假定正确。这样根据公共引脚所接电源的极性,可判断出被测数码管是共阳极的还是共阴极的。显然,公共引脚如果接电池正极,则被测数码管为共阳极的;公共引脚如果接电池负极,则被测数码管应为共阴极的。接下来测试剩余各引脚,即可很快确定出所对应的段码来。 2)万用表检测法这里以指针式万用表为例,说明具体检测方法:首先将指针式万用表拨至“R×10k”电阻挡。由于数码管内部的LED正向导通电压一般不小于1.8V,所以万用表的电阻挡应置于内部电池电压是15V(或9V)的“R×10k”挡,而不应置于内部电池电压是1.5V的“R×100”或“R×1k”挡,否则无法正常测量LED的正、反向电阻。然后,进行检测。在测量共阴极数码管时,万用表红表笔(注意:红表笔接表内电池负极、黑表笔接表内电池正极)应接数码管的“-”公共端,黑表笔则分别去接各段码电极(a~g、dp脚);对于共阳极的数码管,黑表笔应接数码管的“+”公共端,红表笔则分别去接a~g、dp脚。正常情况下,万用表的指针应该偏转(一般示数在100Ω以内),说明对应段码的LED导通,同时对应段码会发光。若测到某个引脚时,万用表指针不偏转,所对应的段码也不发光,则说明被测段码的LED已经开路损坏。与干电池检测法一样,采用万用表检测法也可对不清楚结构类型和引脚排序的数码管进行快速检测。

前言

  单片机是芯片级的微型计算机系统,具有性价比高、功耗低、易于开发等优点,可以嵌入各种应用系统中,以实现智能化控制。近20年来,嵌入式C语言的推广普及,片载Flash程序存储器及其在系统内可编程(ISP)和在应用中编程(IAP)技术的广泛采用,使得单片机越来越受到广大电子工程师的欢迎。  本书以国内最流行的80C51系列单片机的硬件和软件设计为背景,以C语言为基础,以项目为载体,采用任务驱动方式的教学方法,通过丰富的C语言程序实例,由浅入深地介绍了80C51系列单片机的基础知识及各种应用开发技术。在编写过程中,编者注重题材的取舍,使本书具有以下4个特点。  1.项目为载体,任务带动教学  本书以“项目为载体,采用任务驱动方式”编写,强调“教、学、做”一体化,坚持理论知识够用的原则,并将知识点分散到多个任务中,使读者能够边学边做,轻松完成单片机学习之旅。  2.软硬结合,虚拟仿真  沿用传统单片机学习与开发经验,通过相关编译软件(如Keil)编写程序并生成*?Hex文件,然后在Proteus中绘制硬件电路图(这一过程相当于硬件电路的焊接),调用*?Hex文件进行虚拟仿真(这一过程相当于硬件调试)。这样,对于单片机初学者来讲,可节约学习成本,提高学习积极性;对于单片机系统开发人员来讲,可缩短开发时间,提高设计效率,降低开发成本。  3.C语言编程,增强可读性  C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。用C语言来编写程序会大大缩短开发周期,且明显地增加程序的可读性,便于改进和扩充。采用C语言进行单片机程序设计是单片机开发与应用的必然趋势。许多人员在学习MCS—51单片机时,均先学习了汇编语言,然后再学习用C语言编写MCS—51程序代码,通过这种历程他们深深地感悟:汇编指令太枯燥,学习起来费时费力,用汇编语言编写一个程序或读懂程序时不是一件容易的事情;使用C语言进行编程时,不必对单片机的硬件结构有很深入的了解,编写程序相对简单,且程序的可读性和可移植性均很强。  4.兼顾原理,注重实用  基本原理、基本实例一直是学习和掌握单片机应用技术的基本要求,本书侧重于实际应用,因此很少讲解相关理论知识,这样避免了知识的重复讲解。为紧随技术的发展,在编写过程中还注重知识的新颖性和实用性,因此本书中讲解了SPI总线、I2C总线、1-Wire总线芯片的使用方法,使读者学习的知识能够紧随时代的发展。  参加本书编写的有湖南工程职业技术学院陈忠平、徐刚强、李锐敏,湖南航天局7801研究所刘琼,湖南涉外经济学院侯玉宝、高金定,湖南科技职业技术学院高见芳,湖南三一重工集团王汉其等。全书由湖南工程职业技术学院陈建忠教授主审,在编写过程中还得到了湖南工程职业技术学院龚亮、龙晓庆、许睿等众位高工、老师的大力支持及帮助,在此向他们表示衷心的感谢。同时对在编写过程中参考的多部51单片机原理及相关著作的作者表示深深的谢意!由于编者知识水平和经验的局限性,书中难免存在缺点和错误,敬请广大读者给予批评指正。

书籍目录

项目一 单片机及最小应用系统
 任务1 认识单片机
 任务2 STC89系列单片机的识读
 任务3 单片机最小应用系统的组成
项目二 单片机系统开发软件的使用
 任务1 Keil C51编译软件的使用
 任务2 STC下载软件的使用
 任务3 Proteus 7?8仿真软件的使用
项目三 C51程序设计语言基础
 任务1 C51程序组成的识读
 任务2 运算符和表达式
 任务3 程序结构及流程控制
 任务4 数组与指针
 任务5 函数与编译预处理
项目四 LED广告灯的设计
 任务1 LED控制原理
 任务2 闪烁广告灯的设计
 任务3 流水广告灯的设计
 任务4 拉幕式与闭幕式广告灯的设计
 任务5 复杂广告灯的设计
项目五 键盘控制与LED数码管显示
 任务1 键盘控制原理
 任务2 LED数码管显示原理
 任务3 单个LED数码管显示设计
 任务4 多个LED数码管显示设计
 任务5 条形LED花样选择显示
 任务6 查询式按键设计
 任务7 LED数码管显示矩阵键盘按键的设计
 任务8 矩阵键盘按键控制条形LED的设计
 任务9 简单拨号键盘的设计
项目六 中断控制应用设计
 任务1 中断控制原理
 任务2 带中断控制的LED花样灯
 任务3 采用外中断控制的条形LED彩灯设计
 任务4 采用两个外中断的条形LED彩灯控制
 任务5 采用两个外中断实现LED键控移位
 任务6 采用外中断实现计数
 任务7 采用外中断进行计数和清零控制
项目七 定时/计数器控制的应用设计
 任务1 定时/计数器控制原理
 任务2 简单计数器的设计
 任务3 方波信号发生器
 任务4 用T2实现流水灯控制
 任务5 59s计时器的设计
 任务6 LED滚动闪烁控制
 任务7 简单门铃设计
 任务8 速度可调流水灯控制
 任务9 PWM调光
 任务10 简单电子频率计
项目八 单片机串行通信设计
 任务1 单片机串行通信原理
 任务2 甲机通过串口控制乙机LED显示状态
 任务3 甲机通过串口控制乙机计时
 任务4 单片机双机通信
 任务5 单片机向主机发送字符串
 任务6 单片机与PC通信
 任务7 串入并出扩展
 任务8 并入串出扩展
项目九 LED点阵显示器设计
 任务1 LED点阵显示器控制原理
 任务2 一个5×7 LED点阵字符显示设计
 任务3 一个8×8 LED点阵字符串显示
 任务4 两个8×8 LED点阵字符串显示
 任务5 两个8×8 LED点阵滚动显示
 任务6 一个16×16 LED点阵汉字显示
 任务7 一个16×16 LED点阵汉字移位显示
 任务8 两个16×16 LED点阵汉字显示
 任务9 两个16×16 LED点阵汉字分批显示
 任务10 两个16×16 LED点阵汉字移位显示
项目十 LCD液晶显示设计
 任务1 LCD液晶显示原理
 任务2 字符式LCD显示字符串
 任务3 字符式LCD静态显示
 任务4 字符式LCD滚动显示
 任务5 字符式LCD移位显示
 任务6 汉字式LCD静态显示
 任务7 汉字式LCD移位显示
 任务8 汉字式LCD滚动显示
 任务9 汉字式LCD图片显示
项目十一 A/D与D/A转换
 任务1 ADC0808模/数转换
 任务2 ADC0809模/数转换
 任务3 ADC0832模/数转换
 任务4 TLC549模/数转换
 任务5 TLC2543模/数转换
 任务6 DAC0832数/模转换
 任务7 TLC5615数/模转换
 任务8 PCF8591的A/D及D/A转换
项目十二 串行总线扩展及应用设计
 任务1 24C04开启次数统计
 任务2 PCF8574串行总线扩展
 任务3 MAX7219控制数码管动态显示
 任务4 MAX7221控制数码管移位显示
 任务5 DS18B20测温
 任务6 DS1302可调时钟日历
附录A Proteus常用快捷键
附录B C51库函数
参考文献

编辑推荐

《卓越工程师培养计划:51单片机C语言程序设计经典实例》以国内最流行的80C51系列单片机的硬件和软件设计为背景,以C语言为基础,以项目为载体,采用任务驱动方式的教学方法,通过丰富的C语言程序实例,由浅入深地介绍了80C51系列单片机的基础知识及各种应用开发技术。《卓越工程师培养计划:51单片机C语言程序设计经典实例》内容全面,取材新颖,叙述清楚,理论联系实际,突出实用特色。《卓越工程师培养计划:51单片机C语言程序设计经典实例》适合单片机爱好者自学使用,也可作为高等院校51单片机课程“教、学、做”一体化的教学用书,还可作为51系列单片机应用开发人员的实用参考书。

作者简介

陈忠平编著的《卓越工程师培养计划:51单片机C语言程序设计经典实例》是以“项目为载体,采用任务驱动方式”编写的。《卓越工程师培养计划:51单片机C语言程序设计经典实例》以STC89C52RC单片机为蓝本,结合Keilc51、Proteus虚拟仿真软件,从实验、实践、实用的角度出发,通过丰富的实例详细讲述51系列单片机C语言程序设计和单片机控制系统的应用技术。《卓越工程师培养计划:51单片机C语言程序设计经典实例》的主要内容包括单片机及最小应用系统、单片机系统开发软件的使用、C51程序设计语言基础、LED广告灯的设计、按键控制与LED数码管显示、中断控制应用设计、定时/计数器控制的应用设计、单片机串行通信设计、LED点阵显示器设计、LCD液晶显示设计、A/D与D/A转换、串行总线扩展及应用设计等12个项目83个任务。

图书封面


 51单片机C语言程序设计经典实例下载



发布书评

 
 


精彩短评 (总计20条)

  •     最好每个设计都有流程图
  •     对于新手,还是需要点功底。不错的书。
  •     讲了单片机各方面的接口应用,不错
  •     很好,内容很容易懂
  •     案例通俗易懂。
  •     程序很丰富,貌似还不错
  •     还没读 看起来就已经爱不释手了
  •     真的很深奥,适合搞研究的人。
  •     送货人很好,,,书很不错。
  •     发货速度灰常快。内容也不错,值得推荐。
  •     书内容不错的,就是少了光盘呀
  •     好书,适合初学者,有点基础的买了没多大用。
  •     单片机c语言入门的不错书籍,可惜少了点常用芯片的使用介绍
  •     书不错,经典实例基本也都能跑起来,虽然有的例子还是有小问题,但作为学习和借鉴还是蛮有用的
  •     比较实用,可作参考
  •     书本挺厚的,内容主要是依托Proteus软件进行仿真学习,例子丰富实用。我个人觉得很好,对我帮助比较大。
  •     从目录来看,实践性比较强。值得购买。如果有对应的PPT,流程图就更好了,
  •     还不错,只是还没成功的调试成功过
  •     不错,书很好,送货很快!
  •     看了一下这是一本很适合初学者的书
 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024