所谓单片机,就是把中央处理器CPU(Central Processing Unit)、存储器(Memory)、定时器、I/0(Input/Output)接口电路等一些计算机的主要功能部件集成在一块集成电路芯片上的微型计算机。虽然单片机只是一个芯片,但从组成和功能上看,它已具有了微型计算机系统的含义。
由于80C51的架构和指令系统为后来的单片机提供了参考基准和强大支持,我们也将以51系列单片机为实例,介绍单片机系统设计的基本概念,以起抛砖引玉之用。
单片机C语言-概述
对于众多刚刚接触到单片机的同学来说,学习单片机确实不是一件易事。所谓万事开头难,就是这个道理。除了高价的编程器、仿真器,众多的编程语言也是很让人头疼的。而且在众多型号的单片机当中,可谓眼花缭乱,不知选什么好。
我学单片机也才几年,回想当初,拿着一个大大的实验箱用汇编敲程序,实在是太痛苦了。现在市面上的单片机开发板都很便宜了,大概100元左右,上面还集成了绝大部分实验资源,比如数码管,串口等等。在这里,隆重推荐51系列的单片机开发板。不过说实话,我基本也就用过51系列的,因为它很方便,而其他型号的单片机,基本原理是相通的。可谓是触类旁通,呵呵。
51系列单片机型号厂家也很多,不过基本是一样的,在这里,我们主要用Atmel的89S51或者89S52的单片机,S系列的都是支持在线下载的,下载程序很方便,也不用买专门的下载器了。52呢有8K的FLASH,比51多4K,而两者价格基本一样,呵呵。
好了,硬件大概就确定了,俗话说,工欲善其事,必先利其器。那我们采用什么工具来编程呢?
“要想深入了解单片机的工作原理,涉及硬件操作,建议用汇编做精确控制”-单片机的资深人士如是说。
我不是资深人士,大家也是初学者,所以我想如果要快速入门,弄清楚单片机是什么,能干什么,还是用C语言吧。毕竟,C语言在高等院校有着广泛的群众基础,就算没有好好学过,那个for while if什么的都还是有概念的吧。比起汇编那些mov,jnp什么的显得稍微人性化了一点点。
不过我发现,目前学校开设的单片机的教材基本都是基于汇编的,而且还有些课要学那些已经入土了的单片机(8086等)的原理什么的,也许从另外一个角度反映出汇编对于资深人士的重要性,不过我们既然是兴趣入门,跟它也就没什么关系了。之后你会发现,C语言的一句话可以顶汇编几十句。
好了,硬件软件平台大概就介绍到这,你可以选择去买一块实验板,上面会送很多源码,自己亲手锻炼一下。当然,你也可以选择先进行理论学习,然后再实践。这之后,我会介绍如何写程序,如何使用软件仿真,最后,只要你有兴趣,甚至可以自己作出一块实验板来。