单片机是芯片级的微型计算机系统,具有性价比高、功耗低、易于开发等优点,可以嵌入各种应用系统中,以实现智能化控制。近20年来,嵌入式C语言的推广普及,片载Flash程序存储器及其在系统内可编程(InSystem Programming,ISP)和在应用中编程(InApplication Programming,IAP)技术的广泛采用,使得单片机越来越受到广大电子工程师的欢迎。
C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。用C语言来编写程序会大大缩短开发周期,可以明显增加程序的可读性,便于改进和扩充。采用C语言进行单片机程序设计是单片机开发与应用的必然趋势。本书侧重于实际应用,从单片机的基础知识入手,按照由浅入深、循序渐进的方式,让读者能够快速掌握单片机C51的编程方法。
传统的单片机教程都是开篇即介绍大量的单片机软件和硬件知识,这些知识点信息量大、不容易记忆,提高了读者入门的难度。而本书则结合单片机学习板,对于每个知识点都以一边学习、一边编程和调试的方式,让读者在边学边做中增加单片机的学习兴趣,以降低入门难度,使读者快速上手。
本书内容丰富、实用性强、图文并茂,各章内容相对独立,脉络清晰,既方便初学者自学,又方便项目开发人员查阅资料。本书还提供了大量在学习板上已调试通过的程序,软件编排上注意由浅入深,减少重复性,信息量大,内容覆盖面广,程序完善,讲解翔实,特别有利于初学者深入理解C语言的编程思路。基于C语言的可移植性,这些程序可以直接应用到工程项目的开发中,缩短开发周期。
本书配套资源包括本书全部源程序代码和大量单片机软件开发所需的资料。同时,作者还可提供配套单片机学习板,可帮助读者边学边练,提高单片机开发实践能力,达到使读者快速掌握单片机的目的。
本书内容共分3篇,分别为入门篇、应用篇、综合篇,对各篇内容编排及学习建议如下:
入门篇主要讲解单片机和C51的基础知识、C语言调试软件Keil的使用方法、C51函数的用法。读者对于第1章单片机的有关基础知识可以简单了解; 第2章可以从2.5节的“点亮一个发光二极管”开始,学习Keil软件的使用方法,包括工程建立、程序的编译、软件的调试,在遇到问题时再回头查询软件具体用法,通过实例快速掌握软件; 第3章要注意以具体程序分析为主,通过实例深入理解函数的用法。
应用篇讲解了定时计数器和中断的用法,并分章节主要讲解了一些常用器件的驱动,如数码管、LCD、键盘、串行口、温度传感器、时钟芯片等。这些元器件是构成常用单片机系统的器件,掌握好这些器件的用法,对单片机系统设计很有必要。同时,这里也提供了大量经过实际调试通过的程序,基于C语言的可移植性,51单片机项目开发人员可以直接把其中的一些子程序用于自己的项目中,缩短开发周期。
综合篇主要列举了几个基于单片机的系统软硬件设计方法。这些实例综合了前面各章的知识,具有一定代表性。深入学习这些知识,对于单片机爱好者从事单片机开发会很有帮助。
在本书编写过程中参考了大量的51单片机原理及相关著作,在此向这些作者表示感谢!由于编者知识水平和经验有限,书中难免存在缺点和错误,敬请广大读者给予批评指正。作者的电子邮箱地址为splyc 916@sina.com,您在使用本书过程中遇到任何问题都可进行咨询。
本书由孙鹏主编,同时为编写工作提供帮助的老师还有宋一兵、冯新宇、管殿柱、王献红、李文秋、张忠林、赵景波、曹立文、郭方方、初航等,在此一并感谢。
感谢您选择了本书,希望我们的努力对您的工作和学习有所帮助,也希望您把对本书的意见和建议告诉我们。