推荐序

21世纪全球全面进入了计算机智能控制与计算的时代,而其中的一个重要方向就是以单片机为代表的嵌入式计算机控制与计算。由于最适合中国读者入门的8051单片机有30多年的应用历史,绝大部分工科院校均开设有该课程,目前有几十万名对该单片机十分熟悉的工程师可以相互交流开发经验,有大量的经典电路和程序可以直接移植,从而极大地降低了开发风险,提高了开发效率,这也是STC宏晶科技(南通国芯微电子有限公司)生产基于8051系列单片机产品的巨大优势。

Intel 8051技术诞生于20世纪70年代,已不可避免地面临着落伍的危险,如果不对其进行大规模创新,我国的单片机教学与应用就会陷入被动局面。为此,STC宏晶科技对8051单片机进行了全面的技术升级与创新,经历了STC89/90、STC10/11、STC12、STC15系列,累计发布上百种产品:全部采用Flash技术(可反复编程10万次以上)和ISP/IAP(在系统可编程/在应用可编程)技术;针对抗干扰进行了专门设计,超强抗干扰;进行了特别加密设计(例如STC15系列现仍无法解密);对传统8051进行了全面提速,指令速度甚至提高了24倍;大幅度提高了集成度,如集成了A/D转换器、CCP/PCA/PWM(PWM还可当D/A转换器使用)、高速同步串行通信端口SPI、高速异步串行通信端口UART、定时器、看门狗、内部高精准时钟(±1%温漂,-40~+85℃,可彻底省掉昂贵的外部晶振)、内部高可靠复位电路(可彻底省掉外部复位电路)、大容量SRAM、大容量EEPROM、大容量Flash程序存储器等。针对高校教学,STC15系列一个单芯片就是一个仿真器,定时器改造为支持16位自动重载(学生只需学一种模式),串行口通信波特率计算改造为[系统时钟/4/(65536重装数)],极大地简化了教学方式,针对实时操作系统RTOS推出了不可屏蔽的16位自动重载定时器,并且在最新的STC-ISP烧录软件中提供了大量易用的工具,如范例程序、定时器计算器、软件延时计算器、波特率计算器、头文件、指令表、Keil仿真设置等。封装也从传统的PDIP40发展到DIP8/DIP16/DIP20/SKDIP28,SOP8/SOP16/SOP20/SOP28,TSSOP20/TSSOP28,DFN8/QFN28/QFN32/QFN48/QFN64,LQFP32/LQFP48/LQFP64S/LQFP64L,每个芯片的I/O口从6到62个不等,价格从0.89元到5.9元不等,极大地方便了客户选型和设计。

2014年4月,STC宏晶科技重磅推出了STC15W4K32S4系列单片机——宽电压工作范围,可直接通过USB接口进行ISP下载编程,集成了更多的SRAM(4KB),定时器7个(5个普通定时器+CCP定时器2),串口(4个),集成了更多的高功能部件(如比较器、带死区控制的6路15位专用PWM等);开发了功能强大的STC-ISP在线编程软件,包含了项目发布、脱机下载、RS-485下载、程序加密后传输下载等功能,并已申请专利。IAP15W4K58S4一个芯片就是一个仿真器(OCD,ICE),首次实现一个芯片就可以仿真(彻底抛弃了J-Link/D-Link),售价仅5.6元。

STC全力支持我国的单片机/嵌入式系统教育事业,STC大学推广计划正如火如荼地进行中,陆续开展向普通高等学校电子信息、自动化等相关专业赠送可仿真的STC15系列实验箱(仿真芯片IAP15W4K58S4),共建STC高性能单片机联合实验室的项目。部分已建或在建STC高性能单片机联合实验室高校有:上海交通大学、复旦大学、同济大学、浙江大学、南京大学、东南大学、武汉大学、吉林大学、哈尔滨工业大学、哈尔滨工业大学(威海)、东北大学、兰州大学、西安交通大学、西北工业大学、西北农林科技大学、南开大学、天津大学、中山大学、厦门大学、山东大学、四川大学、成都电子科技大学、中南大学、湖南大学、中国农业大学、中国海洋大学、中央民族大学、北京师范大学、北京航空航天大学、南京航空航天大学、沈阳航空航天大学、南昌航空大学、北京理工大学、大连理工大学、华南理工大学、南京理工大学、武汉理工大学、华东理工大学、太原理工大学、上海理工大学、浙江理工大学、河南理工大学、东华理工大学、兰州理工大学、成都理工大学、天津理工大学、天津工业大学、哈尔滨理工大学、哈尔滨工程大学、合肥工业大学、北京工业大学、南京工业大学、浙江工业大学、广东工业大学、沈阳工业大学、河南工业大学、北京化工大学、北京科技大学、北京工商大学、华北电力大学(北京)、华北电力大学(保定)、长安大学、西南大学、西南交通大学、福州大学、南昌大学、东华大学、上海大学、苏州大学、江南大学、河海大学、江苏大学、安徽大学、新疆大学、石河子大学、齐齐哈尔大学、中北大学、河北大学、河南大学、黑龙江大学、扬州大学、南通大学、宁波大学、深圳大学、北京林业大学、南京林业大学、东北林业大学、南京农业大学、大连海事大学、西安电子科技大学、杭州电子科技大学、桂林电子科技大学、南京邮电大学、西安邮电大学、西安科技大学、河南科技大学、天津财经大学、南京财经大学、首都师范大学、华南师范大学、陕西师范大学、上海师范大学、沈阳师范大学、河南师范大学、中国计量学院、中国石油大学、中国矿业大学等国内著名高校。

对大学计划与单片机教学的看法

STC大学计划正有步骤地向前推进中,已在国内数十所高校成立了联合实验室。上海交通大学、西安交通大学、浙江大学、山东大学等高校的多位知名教授也正在基于STC 1T 8051创作全新的教材。

现在学校的学生是应该首先学习32位的微控制器还是8位的8051单片机呢?我觉得还是8051单片机比较合适。因为高校的嵌入式课程一般只有48学时,学生如果能充分利用这些学时,把8051单片机学懂,真正做出产品,工作以后就能触类旁通了。但是,如果只给他们48学时去学习ARM,学生不能完全学懂,最多只能搞些函数调用,培养不出真正能动手的人才。所以,还是应该以8位单片机入门。C语言最好与8051单片机融合教学,尽早开始此课程(比如在一年级开始学习)。等到三年级,学有余力的学生可以再选修32位的嵌入式课程。

对大学工科非计算机专业C语言教学的看法

现在工科非计算机专业讲C语言课程时往往存在“在空中飘着,落不着地”的情形,学完之后不知道干什么。以前我们学习BASIC/C语言,学完后用DOS系统,在DOS下开发软件。而现在的学生学完C语言,还要从Windows去返回DOS运行,所学的C语言也不能在8051单片机上运行。嵌入式C语言有多个版本,国内流行Keil C;现我们也在开发自己的C编译器。我们现在推动教学改革,将单片机和C语言(嵌入式C语言、面向控制的C语言)安排在同一门课程,在一年级的第一学期就开设,学生学完后就知道将来能干啥了,一年级的第二学期再开设Windows下的C++语言开发课程,正好利用我们的单片机C语言给它奠定的基础。学习过模电、数电(FPGA)、数据结构、实时操作系统(RTOS)、自动控制原理、数字信号处理等课程后,在大三再开一门综合电子系统设计课程,这样就循序渐进地培养出能真正动手实践的人才了。我们现在主要的工作是推动工科非计算机专业高校教学改革,何宾老师的这本教材就是我们教学改革研究成果的优秀代表。

感谢Intel公司发明了经久不衰的8051体系结构,感谢何宾老师撰写这本具备改革特色的新书,保证了中国30年来的单片机教学与世界同步。

我们将本教材确定为STC公司大学计划推荐教材、STC单片机大赛指定教材。采用本书作为教材的院校将优先免费获得我们提供的可仿真的STC15系列实验箱(主控芯片IAP15W4K58S4)。

最后,希望广大教师和学生“明知山有虎,偏向虎山行!”

姚永平(STC MCU Limited)