这个8条腿的小螃蟹就是我们的第一顿饭,只要把它吃下去,以后的大餐就好办了。
第1、8条腿接电源 +5v 和 地线。头两条腿是螃蟹钳子,好吃的很。 现在剩下了 6 条腿
第2、3条腿 使用时外接一个晶振的东西 我们接一个 4 mhz的。
第4条腿是复位脚,是一个信号输入脚。单片机正常运行时接高电平。当有一个低电平脉冲输入到这个脚时单片机就复位。所谓复位就是单片机内部所有的工作部件统统回到规定的状态,程序也复位到头一句上开始逐条运行。例如,你设计的一个报警锁定的 led红灯亮后,当需要解除报警时,用一个按钮给这个脚瞬时接地一下,相当于给它一个夫脉冲,系统就复位了,led灯就熄灭了,程序从头开始。
以上5个脚,几乎所有单片机都有,包括世界上最复杂的,和世界比较简单的单片机-----pic12ce519
轮到第几条腿啦?奥,是第5条腿,这条叫单片机的 i/o 脚。就是输入输出脚。你可通过程序动态地控制它作为输入或输出,作为输出时可以程序控制它的输出电平为高1或低0。所以,他的工作状态有四种:输入0,输入1,输出0,输出1,剩下的两条腿和第5脚功能一个样。
上边我们已经把8条腿消化掉了,其实我们要弄明白的也就3只腿,我们再简单一些,先整明白两条腿,即gp0,gp1.这两条腿低级一点的用法,可以控制继电器,led灯,高级一些的用法可以进行i2c总线,rs232总线的通信,作为扩展输入可以模拟出来a/d转换器(6--7bit),可以测量一个电阻的粗略值。作为输出也可以直接推动扬声器奏出音乐。这是后话暂且不提。
现在要控制使用这两只腿,我这个三脚猫功夫的说书的不得不讲一下软件了,要想讲明白软件又不得不涉及到单片机的内部结构。那位说啦,你可别提这软件和结构了,以前俺就是让它们打败的,现在听到这个心里就打鼓。嘿嘿,不要紧,果真如你所说,那你就不妨跟着我再失败一次, 反正吗多一次失败又不纳税,嘿嘿。不过你也要有思想准备,彻底弄明白是个渐进的过程。
要说这程序和单片机内部结构,还真是老大难,不过蟹黄蟹肉可都在里面。我现在要是给你说pic单片机是哈佛结构的,51系列是冯-诺伊曼结构的,恐怕你要立马走人了。所以我得用点心思不让你溜号。
好在pic系列的制造商(microchip 微芯公司 美国)理解我等苦衷,全部只有35条指令,而且有一些指令我们一般很少使用,常用的也就十几句,用的时候查手册,无需记忆。就算我们两天学习一句,也就两三个月时间,总比到老了还怕它们强啊。废话少说先看下面的两个例语:
my_name006: movlw 02h '常数2进入w
movwf gpio 'w 的数进入 寄存器gpio
这就是我们编的程序里的两个句子,也叫源程序。有以下特点
每行只能写一句话
每句话由四部分组成:
标号: 操作指令 操作数 '程序注释
下面我结合例子把这四部分解释一下。
第一部分 my_name006: 叫做标号,它是由字母或数字组成,由冒号结束。标号可有可无,比如第二句就没有标号。
第二部分movlw 叫做操作指令。它是必须有的,不能省略。pic 系列的单片机共有 35 条指令。
第三部分02h 叫做操作数。有的指令没有操作数或者操作数是默认的,也不用写。
第四部分是程序注释,必须以单引号开头,主要作用是提醒和备忘。注释也是可有可无。
第二个例句中,省略了标号,当然注释也可以省略。他的指令是movwf, 操作数是gpio。操作数不一定是数字,也可能是一个由字母组成的字符串。
知道了语句格式以后,我们下面就学习一些常用语句。我们先把这两个例句弄清楚。
这两句话的作用是把 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条我看也没啥难的。单片机的入门就是这么简单。
5G时代给手机品牌提出了更高的技术要求
看门狗电路图说明
ETC怎样为智慧交通提供自己的价值
成本不是核心,低功耗联网才是关键?智能门锁4G方案全新变革
芯森电流传感器在电力设备实时监测中的应用
大神对PIC单片机的简单入门时如何讲解的
铜箔软连接常用铜箔0.1定制规格
《节奏空间》携手网易正式入华,现已开放预约!
一季度报出炉,蜂窝模组各大厂都在往哪“卷”?
高速电机驱动技术及其发展趋势
香港中文大学研发纳米芯片,30秒可检出食品中有害物质
220v接发光二极管接法大全 发光二极管的连接注意事项
壁仞科技再次得到全球知名职场文化权威研究机构认可
丰富6Gb/s SAS系列,LSI面向服务器和存储OEM厂商
温湿度传感器防水透气膜,提升传感器灵敏度及精度
海量数据推动云计算和IPFS迅速发展,存储器持续向大容量、高性能演进
钽电容优点
激光雷达业务发展顺利 Waymo在2020年的估值将会大幅提升
对于未来市场上的三大趋势“模拟”“共享”“自由”分析
意法半导体携手微电子研究所将在碳化硅领域展开合作