第一章(1.1—STC15系列单片机最小系统)

2019-04-15 16:33发布


单片机教学1制作最小系统 原理图、源代码、元件清单等资料下载戳我下载 若资料失效,请留言或通过新浪微博、微信公共号及时告知。已经有了一定stc89系列单片机或atmel89C51/C52单片机学习经验的读者,本文对你们来说并不难理解。如果是零基础的初学者,本文会使你对这个系列单片机有个初步了解。和大多数科班学生或业余爱好者一样,我也是通过89C51系列学习单片机。课堂上机通过Proteus仿真学习,受软件限制,Proteus7x版本只能使用atmel系列单片机。在实践课中,由于atmel系列单片机的烧录器和芯片都比较贵,且操作繁琐,就选用了STC89C52RC。廉价、简单的烧录方式,是10年前入门的不二之选。我从09年开始接触单片机,到现在也有8个年头。这8年来,STC公司不断的推出新型单片机,如STC11、STC12、STC15系列。其中STC12C5AxxS2系列单片机在12年左右着实火了一把。那一年,一些国家级比赛使用此芯片为比赛芯片,加上民间高手们对光立方的热衷,使得这款芯片深入人心。也是出于对光立方的热爱,开始接触STC12系列单片机。虽然以前89系列的程序移植到12系列需要时间,但没有想象的那么复杂。后来STC公司又推出15系列单片机,看了芯片手册后,毫不犹豫的购买了STC15系列单片机。从13年至今,我的diy设计几乎都是使用STC15系列为主控芯片。尝试新事物除了让我找到了更好用的芯片,也让我对新事物的观点产生改变。因为STC5系列单片机,让我喜欢上了尝试新事物。这里也建议各位读者,不要一直死学STC89、STC12系列单片机,使用新型单片机,往往会让你事半功倍。目前宏晶公司也是极力推荐STC15系列单片机。他们完善的芯片手册和大量的范例程序会让学习者更加快速的入门。

1.1.1什么是51单片机

笔者在与众多网友的交流中,经常遇到这种有趣的问题:网友:你用的是什么单片机作为主控芯片?答:51单片机看了我的原理图后。网友:但我看你的原理图是STC15XXX单片机啊,并不是51单片机。我:······看似简单对话,却折射出很多问题。很多科班学生或业余爱好者,并不清楚什么是51单片机。所以笔者认为此处有必要简单的介绍什么是51单片机。通常我们说的51单片机,是Intel 8031指令系统的单片机的统称,并不是某一种型号,尽管单片机型号繁多,但根据它们的构架及指令系统,都可以归为某一类单片机,如果认为51单片机是专指的某些型号,如STC89C51、atmel89C51这些芯片才是51单片机,这是完全不对的。因为有这个误区,很多人做毕业设计或结业设计时,总是死板的希望用STC89C51实现。实际上,老师并没有限制死是哪一种型号,只规定用51芯片完成。而STC12系列、STC15系列,都属于51单片机,这些增强型单片机与STC89C51的区别是功能更多,更强大,处理速度更快。学习本书STC15系列单片机,就是学习51单片机。之前有了一定STC12或STC89系列单片机学习经验的读者,并不需要担心程序的差异化带来的不变,我会在书中注明与STC12或STC89系列代码不兼容之处,方便移植修改。

1.1.2 STC15系列与STC89系列对比

1、最小系统精简化下面是两个系列单片机最小系统的对比,其中STC89系列与STC12系列最小系统相同。 847380-9779ddc0a5a74ccc.jpg 图1-1-1          STC89系列与STC12系列最小系统   847380-ebe62a50874b0e36.jpg 1-1-2   STC15系列单片机最小系统 (注:原理图源自STC官方手册)通过对比最小系统,可以看出STC15系列单片机的最小系统更为简单,而且省去了外部晶振。市面上大多数SCT89系列或STC12系列的开发板只能通过更换外置晶振达以满足不同实验。而STC15系列单片机可通过官方ISP软件可设置时钟频率。对于企业来说,省去晶振电路和复位电路,不单单是节约了成本,也降低了电路故障率。对于学生和业余爱好者,自己搭建最小系统时,可以少焊接一些焊点,少一些焊锡走线,电路也更加美观。以我多年的焊接经验,STC15系列单片机最小系统的制作周期大约是SCT89系列或STC12系列的三分之一,甚至更短。2、处理速度更快STC15系列单片机(下称1T单片机)指令代码与传统8051单片机(下称12T单片机)完全兼容,但STC15系列单片机指令执行速度上大幅度提升。最快指令提速24倍,最慢指令提速4倍,平均速度快8~12倍。但也因此带来了程序移植问题。12T单片机的程序向1T单片机移植时,涉及到延时的操作,需要做出适当调整。本文也考虑到这一点,会在适当之处注明移植代码过程中需要调整的地方。3、更多实用功能STC15系列单片机与传统8051单片机相比增加了如下功能:软件可配置的IO口、内置高速A/D转换器、多组可切换端口的UART串口、多路可切换端口的PWM I/O口、大容量扩展数据存储器(SRAM)、更多的中断请求源、内置eeprom等等。由于篇幅限制,此处只介绍部分功能,在后续的章节中,会通过各个实际项目介绍增强型单片机的这些功能。下期预告:Keil创建项目工程、单片机控制流水灯(含代码)
本文是工作室正在筹划的新书一部分,书名暂定为《单片机物联网开发入门—基于STC15系列单片机、Python、安卓》。此书的目的是让初学者从简单的最小系统学起,直到学会物联网项目的构建。网络版为初稿,和纸质书籍可能有所不同,最终以实物书籍为准。作者水平有限,编写过程中难免出现不当之处,还望读者诸君不吝赐教,或许您有好的建议,欢迎与我联系QQ:136678431,作者将报以实质性奖励。