
前言
目前,各高校电类专业都将C语言作为专业基础课程纳入教学计划。由于C语言功能强大,便于模块化开发,所带库函数非常丰富,编写的程序易于移植,诸多优点使之成为单片机应用系统开发最快速高效的程序设计语言,仅具有C语言基础知识但不熟悉8051单片机指令系统的读者也能很快掌握单片机的C语言程序设计技术,C语言在单片机应用系统设计上的效率已经远远高于汇编、PL/M、BASIC等开发语言。
单片机C语言程序设计不同于通用计算机应用程序设计,它必须针对具体的微控制器及外围电路来完成,为了便于学习单片机应用程序设计和系统开发,很多公司推出了单片机实验箱、仿真器和开发板等,这些硬件设备可用于验证单片机程序,开发和调试单片机应用系统,但由于这些设备价格不菲,普通读者不是人人都可以配备的。幸运的是,英国Labcenter公司推出了具有单片机系统仿真功能的Proteus软件,使读者仅用一台PC在纯软件环境中完成系统设计与调试成为可能。目前Proteus支持8051、AVR、PIC等多种单片机,系统库中包含有大量的模拟、数字、光电和机电类元器件,系统还提供了多种虚拟仪器,用Keil C开发的程序可以在用Proteus设计的仿真电路中调试和交互运行,这无疑为读者学习和提高单片机C语言程序设计技术,为单片机应用系统高水平工程师的成长提供了理想平台。
为帮助读者快速提高单片机C语言程序设计水平,本书基于德国Keil公司的μVision集成开发环境和英国Labcenter公司的Proteus仿真环境,精心编写了100余个8051单片机C语言程序设计案例,各案例同时给出了难易适中的实训目标。
本书前2章分别对C51程序设计和Proteus操作基础进行概述;第3章基础程序部分给出的案例贯穿8051单片机端口编程、定时/计数器应用、中断程序设计和串口通信程序设计,各案例分别对相关知识和技术要点进行阐述与分析,源程序中还给出了丰富的注释信息;第4章硬件应用部分则针对8051单片机常用的外部存储器外展、接口扩展、译码、编码、驱动、光机、机电、传感器、I2C等器件给出了数十个案例,对案例中涉及的硬件技术资料亦进行了有针对性的分析,使读者可以快速理解相关代码的编写原理;第5章综合单片机内部资源和外部扩展硬件,给出了数十个综合设计案例,通过对这些案例的分析、调试运行及独立实训,读者用C语言设计开发8051单片机应用系统的能力会得到大幅提升。
本书由彭伟编写,在编写的中后期,笔者正在德国考察学习,为使本书早日与读者见面,笔者仍坚持挤出时间,每晚在住所笔耕不已。在本书的编写过程中,王魏、张力和魏来参与了第3章、第4章部分案例的设计调试,刘凯为本书提供了重要技术资料,在此对他们表示感谢!在本书选题、撰稿到出版的全过程中,学院领导、学院科研处及教师教育研究所始终给予了大力支持,并提供了项目资助,教务部和信息技术系也一直关注本书的编写与进展情况,在此一并对学院和部门领导的关心与支持表示由衷的感谢!
由于编者水平有限,加之时间仓促,书中错漏之处在所难免,在此真诚欢迎读者多提宝贵意见,作者邮箱是pw95aaa@foxmail.com。
另外,本书的AVR与PIC版也正在编写之中,笔者将努力争取使后续版本早日出炉,以飨读者。
彭伟
2009年5月于武昌
注:本书的案例压缩包在电子工业出版社网站(http://www.phei.com.cn)的“资源下载”栏目中提供,欢迎读者下载。