基于Proteus和Keil的C51程序设计项目教程(第2版):理论、仿真、实践相融合
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

前言

C语言是高级计算机编程语言,具有接近自然语言和形如数学表达式的特点,因其丰富灵活的控制和数据结构、简洁高效的语句表达、清晰的程序结构和良好的可移植性,成为程序设计的首选语言。它又有直接控制硬件的能力,成为开发众多智能电子产品控制系统软件的首选编程语言。在学校的课程体系中,计算机编程语言、控制系统相关的课程可能不在同一学期开设,往往由于先后次序不同造成教学脱节的问题。为了解决该问题,增强编程语言课程学习的实用性、实效性,作者将C语言程序设计的教学内容与常用的51内核单片机知识相融合,写成本书。

为配合本书的教学,作者在“浙江省高等学校在线开放课程共享平台”“学银在线”提供了配套的在线开放课程,还提供PPT、微课讲解、源代码、在线测试实验、作业、试卷库等配套资源,形成立体化移动式教学资源,供读者免费使用。另外,扫描书中的二维码,可以观看配套视频。

本书有如下特点:

1.以工程教育CDIO理念为指导,授予“渔”的方法,训练“渔”的能力

曾有学生在程序设计的课堂上问“你是怎么想到的?”他这是求捕鱼之法,而不是简单的“怎么写”,是“求渔”!这一问也道出了程序设计教学的根本所在——教学生如何“想到”的思维方法并训练其编程能力。故“思维训练”是本书的核心,按照程序开发流程(问题→算法设计→数据抽象→流程设计→语句选择→程序书写→调试、测试与判定→总结),将编程思维方法与步骤归纳为五步流程(谋、写、仿、测、判),解决学生“怎么想(思想方法)”“怎么写(编程落地)”的疑问,培养学生分析问题和解决问题的能力。同时也努力建立全局意识,先整体后模块,通过算法设计、程序框架、程序流程等强调从整体上把控设计,而不是只记得零星的句式或语法。本书还特地安排了强化逻辑思维训练的项目4,包括“歌星大赛计分”“求车号是多少”“谁是罪犯”“百鸡百钱”“数据排序”等任务,培养学生探索、创新精神和实践能力,磨炼“将军脑袋”,体验谋划的思维快乐和编程实践成功的喜悦。拥有独立思考的能力将使学生终生受用。

2.理论、仿真、实践相融合

高职学生乐于形象思维、动手实践,宜采用在做中学的教学形式。应用最先进的单片机和嵌入式系统及电子电路仿真软件Proteus作为形象直观的仿真教学与仿真实践的平台,仿真设计实践使学生如虎添翼,可以通过仿真实践快速完成程序设计。仅有仿真实践还不够,开发的程序还应经得起实物运行考验,将仿真调试好的代码下载到配套的实物实践板,运行如期才算真正的成功。理论、仿真、实践互相融合,使仿真在现实中落地,会有效增强学习信心,培养学生会想、会写、会调、会测试、会判断的综合能力。

3.趣味任务驱动,循序渐进

本书设计了8个项目,共包括42个任务、32个进阶子任务,使本书实用、学生上手快,教学内容与实际接轨,即学即用。每个项目后配有思维导图形式的小结。在项目任务的选取上,融合了知识、技术、技能、趣味性。

遵循学习规律和人的发展规律,以项目为导向,将知识点与技能、技巧、规范融入任务中,化解学习难度,通过完成任务来学习知识、训练技能,培养专业素养,力求让读者在完成每一个任务项目的实践中解决若干个技术难点。本书整体的组织结构由易到难、由浅入深、由单一到综合,循序渐进,可操作性强。每一个任务都以步步高式层次化组织及安排内容,在进阶设计环节有思路点拨,满足不同能力的学生需求,举一反三,触类旁通。

4.注意工程意识的培训,强调编程书写规范,采用模块化的设计思想

本书在源代码编写方面注重规范,有注释、有说明、有层次,培养学生编程书写规范的意识。

在模块化设计方面,本书项目中的一些实用模块头文件,如dly_nms.h、seg_dis.h、key16.h、cd1602.h、18b20.h、ADC0831.h、serial_init.c可移植到其他项目中。

5.强调程序调试

运行测试异常或运行有问题时需要进行调试,而源代码调试是解决问题的重要方法。书中讲解了Keil调试、Proteus调试及用串口助手实时监测数据。本书的源程序都通过仿真测试、实物运行成功,保证正确性。

本书项目1及2.1~2.2节、项目7~8由周灵彬编写,2.3~2.7节及3.1~3.5节由刘红兵编写,3.6~3.9节及项目4、项目6由江伟编写,项目5、附录由武芳编写。配套的实验板由周灵彬设计,全书由周灵彬主编并统稿。

感谢徐爱钧教授和王荣华工程师提出许多宝贵意见!

感谢张靖武教授的鼓励和指导!

感谢学院与省教育厅的重视与政策支持!感谢家人的默默付出与支持!感谢可爱的同事、同学的配合与建议!感谢广州市风标电子技术有限公司、祈禧电器公司的大力支持!

本书既可作为各类大专院校和各类培训班的51单片机应用、C51程序设计的教学用书,也可作为单片机技术应用爱好者的自学用书。相信通过本书的学习,读者能掌握51单片机应用系统程序设计的方法与技能。

由于编著者水平有限,对书中存在的谬误之处敬请读者批评指正!

编著者

2020.8