当前位置:首页 > 单片机
[导读]很多朋友抱怨pic单片机难学,殊不知是没掌握好学习pic单片机的正确方法。在小编看来,pic单片机并不难学,pic单片机的入门也是比较简单的。不信?那不妨来看看小编带来的这篇关于pic单片机的入门文章。

很多朋友抱怨pic单片机难学,殊不知是没掌握好学习pic单片机的正确方法。在小编看来,pic单片机并不难学,pic单片机的入门也是比较简单的。不信?那不妨来看看小编带来的这篇关于pic单片机的入门文章。

单片机入门不难,本文讲得通俗易懂,分享给初学者。

9-1.png

这个8条腿的小螃蟹就是我们的第一顿饭,只要把它吃下去,以后的大餐就好办了。

第1、8条腿接电源+5V和地线。头两条腿是螃蟹钳子,好吃的很,现在剩下了6条腿。

第2、3条腿使用时外接一个晶振的东西,我们接一个4MHz的。

第4条腿是复位脚,是一个信号输入脚。单片机正常运行时接高电平。当有一个低电平脉冲输入到这个脚时单片机就复位。所谓复位就是单片机内部所有的工作部件统统回到规定的状态,程序也复位到头一句上开始逐条运行。例如,你设计的一个报警锁定的 LED红灯亮后,当需要解除报警时,用一个按钮给这个脚瞬时接地一下,相当于给它一个夫脉冲,系统就复位了,led灯就熄灭了,程序从头开始。

以上5个脚,几乎所有单片机都有,包括世界上最复杂的,和世界比较简单的单片机-----PIC12CE519。

上边我们已经把8条腿消化掉了,其实我们要弄明白的也就3只腿,我们再简单一些,先整明白两条腿,即GP0,GP1.这两条腿低级一点的用法,可以控制继电器,LED灯,高级一些的用法可以进行I2C总线,RS232总线的通信,作为扩展输入可以模拟出来A/D转换器(6--7bit),可以测量一个电阻的粗略值。作为输出也可以直接推动扬声器奏出音乐。这是后话暂且不提。

u=3907135797,3963024372&fm=26&gp=0.jpg

现在要控制使用这两只腿,我这个三脚猫功夫的说书的不得不讲一下软件了,要想讲明白软件又不得不涉及到单片机的内部结构。那位说啦,你可别提这软件和结构了,以前俺就是让它们打败的,现在听到这个心里就打鼓。嘿嘿,不要紧,果真如你所说,那你就不妨跟着我再失败一次,反正吗多一次失败又不纳税,嘿嘿。不过你也要有思想准备,彻底弄明白是个渐进的过程。

要说这程序和单片机内部结构,还真是老大难,不过蟹黄蟹肉可都在里面。我现在要是给你说PIC单片机是哈佛结构的,51系列是冯-诺伊曼结构的,恐怕你要立马走人了。所以我得用点心思不让你溜号。

9-2.png

好在PIC系列的制造商(microchip 微芯公司 美国)理解我等苦衷,全部只有35条指令,而且有一些指令我们一般很少使用,常用的也就十几句,用的时候查手册,无需记忆。就算我们两天学习一句,也就两三个月时间,总比到老了还怕它们强啊。废话少说先看下面的两个例语:

my_name006: movlw 02h '常数2进入w;

movwf GPIO 'W 的数进入 寄存器GPIO。

这就是我们编的程序里的两个句子,也叫源程序。有以下特点:

每行只能写一句话

每句话由四部分组成:

标号:操作指令 操作数 '程序注释

下面我结合例子把这四部分解释一下。

第一部分my_name006:叫做标号,它是由字母或数字组成,由冒号结束。标号可有可无,比如第二句就没有标号。

第二部分movlw叫做操作指令。它是必须有的,不能省略。PIC 系列的单片机共有35条指令。

第三部分02h叫做操作数。有的指令没有操作数或者操作数是默认的,也不用写。

第四部分是程序注释,必须以单引号开头,主要作用是提醒和备忘。注释也是可有可无。

第二个例句中,省略了标号,当然注释也可以省略。它的指令是movwf,操作数是GPIO。操作数不一定是数字,也可能是一个由字母组成的字符串。

timgTKAKC515.jpg

知道了语句格式以后,我们下面就学习一些常用语句。我们先把这两个例句弄清楚。

这两句话的作用是把2这个常数写入到GPIO这个寄存器里。

单片机里有一些部件需要我们使用和操作,都是通过读写寄存器来实现的。每个部件都对应有操控它的寄存器,例如我们要控制使用的管脚GP0,GP1这两个管脚对应的寄存器就叫做GPIO。对GPIO寄存器读操作,实际等效察看管脚电平的高低;对GPIO寄存器相应的位写1操作,实际等校让管脚输出高电平。写0,输出低电平。

每个寄存器可以储存一个八位的二进制数。这八个位的每个位都有名称,从左向右的名称是:

左端第首位名称叫D7;

左端第二位名称叫D6;

左端第三位名称叫D5;

左端第四位名称叫D4;

左端第五位名称叫D3;

左端第六位名称叫D2;

左端第七位名称叫D1;

最后一位叫D0。

而每一个位对应一个管脚的电平,例如当GPIO寄存器的D0位等于1时表示管脚GP0 的电平是高电平。D0位等于0时表示管脚GP0 的电平是低电平。常数2的八位二进制表示是“00000010” 所以,GPIO寄存器存放的8位2进制数的每个位的值以及管脚电平是:

D7对应于内部总线管脚的电平D7=0内部总线管脚输出低电平;

D6对应于内部总线管脚的电平D6=0内部总线管脚输出低电平;

D5对应于GP5管脚的电平D5=0 GP5管脚输出低电平;

D4对应于GP4管脚的电平D4=0 GP4管脚输出低电平;

D3对应于GP3管脚的电平D3=0 GP3管脚输出低电平;

D2对应于GP2管脚的电平D2=0 GP2管脚输出低电平;

D1对应于GP1管脚的电平D1=1 GP1管脚输出低电平;

D0对应于GP0管脚的电平D0=0 GP0管脚输出低电平。

GP0---GP5管脚我们可以从上一讲的图1硬件中查出所对应的管脚。d7 d6对应的内部时钟和数据总线我们现在暂且不要管它。以后本事大了在调教它们。在我们的例句中,向GPIO寄存器写入了2,常数2的八位二进制表示是“00000010” 因此如果此时GP0, Gp1等都已经被定义成输出的话,那么GP1输出高电平(接LED灯亮),GP0输出低电平(所接led灯熄) 。

截止到现在,你已经学会如何控制管脚的电平高低了。尽管还有一些疑问,比如怎样定义管脚为输出脚(以后会说),我得说如果事先gp1,gp0这两个管脚处于输入状态,这两个例句无效,是控制不了电平的。

无论如何,这一会儿,你就学会了两个指令,35条我看也没啥难的。单片机的入门就是这么简单。

换一批

延伸阅读

[开发板] 第三篇-嵌入式系统音频基本实践-播放声音之二

第三篇-嵌入式系统音频基本实践-播放声音之二

21ic打算携手资(tu)深(ding)直男癌晚期工程师zhanzr21,来给大家讲一讲嵌入式系统与音频处理的故事。 关于zhanzr21: 曾经混迹于两岸三地,摸爬滚打在前端后端,搞过学术上过班。现在创业中,欢迎各种撩 点击链接加入...

关键字: 嵌入式 嵌入式音频 音频处理 声音播放 单片机

[通信技术] 基于Modbus协议实现单片机与PLC之间的通讯

关键词: 可编程控制器   Modbus   通讯协议 1  引言    HMI(人机界面)以其体积小,高性能,强实时等特点,越...

关键字: 协议 plc 单片机 modbus

[开发板] 拇指兄弟的比拼战——Arduino AVR VS Arduino STM32

拇指兄弟的比拼战——Arduino AVR VS Arduino STM32

万事开头难,写一篇测评也是如此,大家都知道,这开头是废话,但是也是主题,不说不可。于是我根据这次要说的总体风格,就模仿一下鲁迅先生的开头吧。 我手里有两块开发板,一块是Arduino开发板,还有一块也是Arduino开发板。 Ardui...

关键字: Arduino MCU 单片机 STM32 AVR

[单片机] 单片机是什么?什么是单片机?

单片微型计算机简称单片机(MCU),是典型的嵌入式微控制器,单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括...

关键字: 单片机

[单片机] 单片机是怎么工作的?

我们大概的了解了单片机的结构、特点,下面我们主要讲解单片机如何工作,有那些工作方式。 单片机共有复位、程序执行、低功耗和编程与加密四种工作方式,下面分别加以介绍。 1.复位方式 (1)为什么要复位 大家知道,单片机执行程序时总是从地...

关键字: 单片机

单片机

20112 篇文章

262 阅读

关注

2 人关注

发布文章

技术子站