汇编手记之PIC单片机
pic单片机(peripheral Interface Controller)是一种控制外围电路的集成电路(IC),是把CPU,ROM(存储器),I/O等集成在一块芯片上的特殊微型计算机。它是具有分散作用(多任务)功能的CPU。
PIC(请一定要上网查相关的资料。)系列单片机是美国微型芯片(很多的词汇都让服务器拦住了,不让发,希望你知道。)公司生产的单片机系列产品的标志产品。此公司系列单片机的特点:一,率先使用了精简指令集(RISC 在后面我们会了解它的指令系统)结构的嵌入式结构。使单片机突破传统的在结构上对PC存在的自然依赖性。二,引入哈佛总线的存储器结构,两级流水线指令结构,单周期指令等技术,有效提高了系统的运行效率。
PIC八位单片机的分类:现在的PIC系列单片机在世界单片机市场份额的排名逐年稳升,尤其是八位单片机市场。现已有三个系列多中型号的产品问世,单片机从电脑外设,家电控制,电信通信,智能仪器,汽车电子,各个领域都有应用。可以说,现在的PIC单片机是世界上最有影响力的嵌入式微控制器。
基本级系列:特点是低价位。如PIC16C5X,PIC12C5XX.(在百度查询“芯片查询网”,你就可以得到很多微芯片的详细技术资料,包括引脚排列,各引脚功能等等。其中有一个芯片查询网很有名,你很容易查到的,资料全部为英文。)二,中级系列。该级是PIC最丰富的品种系列,从八引脚到六十八引脚的各种封装。如:PIC12C6XX。该级产品的性能很高,内部置A/D转换器,E*E(E的平方)PROM数据存储器,比较器输出,PWM,输出,I*I(I平方)和SPI等接口。三,高级系列。如PIC17CXX,特点是速度快,所以适用于高速数字运算的场合,又因为它具备一个指令周期内(160纳秒)可以完成8X8(位)二进制乘法运算的能力,甚至可以取代某些DSP产品。该系列适用于高,中档的电子设备。(可是这系列很贵。)
这三个系列的PIC8位单片机还具有很高的代码兼容性,用户可以将代码从某型号转换到另一个型号。
PIC系列单片机的特点:一,注重实际,性价比高。像PIC12C508,有512字节ROM,25字节RAM,1个8位定时器,1根输入线,5根I/O线,价格在3~6元人民币。这款单片机适合于摩托车自动点火器的应用。二,高效率。三,开发环境优越。四,抗干扰能力强。PIC单片机通过限流电阻可接220V交流电源,可直接与继电器控制电路相连,无需光电耦合器隔离。五,绝对保密。PIC以保密熔丝来保护代码,写入代码后熔丝熔断,除非恢复熔丝,否则不可能读出原代码,而PIC所采用的是熔丝深埋工艺,被恢复的可能性极小。
PIC系列单片机的开发。单片机是把CPU,ROM,I/O集成在一块芯片上的特殊微型计算机,就其本身而言是没有开发能力的,要把它开发成为一个实际应用的产品,需要一定的开发工具。其开发工具分:硬件开发工具和软件开发工具两类。前者指各种编程器,仿真开发机等编程开发设备:后者指各种编辑,汇编,模拟调试和集成开发环境等工具软件。
当你拿到一片单片机,它还不能用,要你写入程序,如何接收数据?怎样处理?输出又怎样应用?等等…这个就是应用编程!它不像在电脑上写的程序,错了可以随便改,因为单片擦写的次数多了,对程序本身的稳定运行不利。如果是一次性写入的单片,写入的程序错了,后果你知道,所以一些单片的仿真模拟软件你务必烂熟于胸,它们不同于Word,Ecxel…它具有很高的概念性,真实性和应用性。所以不要把它们当做像那些小孩子都能学得来的软件来对待,你没真正的烧录过单片,你就是生手,没写过汇编,就算计算机等级过几百级,在“64K编程大赛”(上网查“64K编程大赛第一名的程序”看看64K的内存到底能写出怎样的程序?)的人看来,只不过是从书堆里钻出来的臭虫。技术是实践与理论应用的实现,我们不需要那些清华北大的程序高手,因为我们没钱,请不起他们。但是,如果你愿意,我也相信,我们总有一天会拥有他们的技术暂时跳过基础介绍,初步认识一下指令系统。
由于PIC的指令系统和汇编的指令系统有相似,比较起来PIC指令系统的指意性更强,所以,我先不介绍PIC的指令系统,和你说说汇编语言的指令系统。
下面介绍一下pic 指令系统:
首先,什么是指令系统。能被一种CPU识别并执行的指令集合,就是基于这种CPU的指令系统。不同厂家生产的单片机,或基于不同CPU内核的单片机,一般具有不同的指令系统。所以,以后我们会选择MicroChip公司生产的PIC做为BV实验用单片。基础级的PIC16C5X系列芯片共有33条指令,每条指令长12位;中档级PIC16C6X/7X/8X系列芯片公有35条指令,每条指令长14位:高档PIC17CXX系列芯片共有58条指令,每条指令长16位。你肯定能在网上搜索到各个系列PIC单片的指令,你可以打印下来备用。
一,pic指令系统
这里是书上的一条程序,计算函数值;Y={X+10 (X,0),30X [0,10],X-190 (10,X)}
源程序代码:
DATA1 SEGMEMT
X DW ?
Y DW ?
DATA1 ENDS
CODE1 SEGMENT
…
MOV AX,X
CMP AX,0
JGE CASE23
ADD AX,10
JMP RESULT
- 汇编手记之微机显示输出(10-31)
- 汇编手记之数据通信(10-27)
- 基于PIC单片机的智能型漏电断路器设计(11-25)
- 基于PIC单片机的无线实时监控防盗系统的设计与实现(11-18)
- PIC单片机键盘矩阵扫描C语言程序(12-02)
- PIC单片机控制第一个发光管闪动程序(12-02)