PIC12C5XX单片机应用与设计.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《PIC12C5XX单片机应用与设计.doc》由会员分享,可在线阅读,更多相关《PIC12C5XX单片机应用与设计.doc(275页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-datePIC12C5XX单片机应用与设计PIC12C5XX单片机应用与设计前言 面向应用的嵌入式系统在我国方兴未艾微控制器,也就是单片机(MCU),在80年代进入中国。由于微控制器容易学、容易用,倍受青眯。这种把中央处理器、存储器、外设器件及I/O做在同一块芯片上的器件总是作为应用系统中的控制部件使用。现在,做在微控制器芯片上的外设部件越来越多,功能不断增强。针对具体的应用
2、,利用微控制器可以设计出十分复杂的系统,这种系统称作嵌入式系统。在杭州召开的99全国单片微机学术交流会暨多国单片微机产品展览会上,许多专家呼吁要提高对嵌入式系统的认识。目前,在全世界,嵌入式系统带来的工业年产值已超过1万亿美元。预计在美国,单是使用嵌入式电脑的全数字电视产品每年将产生1500亿美元的新市场。美国未来学家尼葛洛庞帝曾预言,四、五年后,嵌入式智能工具将是继PC和因特网后最伟大的发明。就目前国内微控制器的应用状况,全国微机单片机学会理事长陈章龙教授说,从整体来讲,在中国,微控制器的应用水平还不高,主要是用8位微控制器,用量也不大,绝大多数是用于IC卡设备等仪器仪表和控制领域中。嵌入式
3、系统的核心部件是各种类型的嵌入式处理器,据不完全统计,全世界嵌入式处理器的品种已经过千,流行的结构有30多种,其中以我们熟悉的PIC系列结构的产品为最多。据中国单片机公共实验室高级工程师吕京建介绍,嵌入式处理器分为两大类,一类是以通用计算机中的CPU为基础的嵌入式微控制器,另一类是微控制器。与微处理器相比,微控制器具有单片化、体积小、功耗低、可靠性高、芯片上的个设资源丰富等特点,目前已成为嵌入式系统的主流器件。嵌入式微处理器的软件是实现嵌入式系统功能的关键,为了提高执行速度和系统的可靠性,嵌入式系统中的软件一般都固化在存储器芯片或微控制器中。嵌入式系统是面向应用的,因此它可以应用在现代化工业的
4、各个领域,如:航天、航空、军事、家用消费商品、仪器仪表、各种控制系统及3C系统。尤其在国内主要应用于家电消费类产品、通信和计算机外设等。而福州高奇电子科技有限公司正在对MCU的广泛应用起着强大的推动作用。高奇电子科技有限公司创办于一九九三年十月,是一家专业的半导体集成电路授权代理商和专业集成电路应用、设计公司。目前代理、销售多家著名半导体厂商的产品,如单片机、E2PROM、保安器件、电压检测器、LCD/VFD驱动器、电话来电识别(Caller ID)以及交换机用的Switch、Codec芯片等等;同时,设有专业的研发部门,已经研制了一系列电子产品整机方案,这些方案包括完整的软硬件设计资料及样机
5、,可提供给整机厂商直接采用生产。公司的工程部门还可以为客户量身定做,增加和删改功能以体现客户的产品特色。高奇公司坚持“以专业的态度和水准,供优质产品、创名牌服务”的经营理念,将全部资源专注于半导体IC的应用设计、行业市场的专用IC(ASIC)设计以及IC市场营销,并将不断开拓出电子产品新领域,并缩短研发时间,使产品与下面就介绍一种简单的PIC单片机系列。时代同步。下面就介绍一种简单的PIC单片机系列。第一章 PIC12C5XX功能原理PIC12C5XX是美国Microchip公司推出的8位单片机,也是世界上第一个8脚封装的8位单片机系列。1.1 功能特点一、高性能RISC结构CPU精简指令集,
6、仅33条单字节指令,易学易用除地址分支跳转指令为双周期指令外,其余所有指令皆为单周期指令执行速度: DC1s 二级硬件堆栈直接、间接、相对三种寻址方式 二、功能部件特性8位定时器/计数器TIMER0,带8位预分频器大驱动电流,I/O脚可直接驱动数码管(LED)显示- 每个I/O引脚最大控电流25mA- 每个I/O引脚最大灌电流20mA内置上电复位电路(POR)复位定时器,保障复位正常内部MCLR复位端加上拉电路,无需外接上拉内置自振式看门狗,防程序死锁程序保密位,可防止程序代码的非法拷贝低功耗睡眠功能I/O引脚可唤醒睡眠内置4MHz RC型振荡源,可省外接振荡可选外接振荡- RC: 低成本阻容
7、振荡- XT: 标准晶体/陶瓷振荡- LP: 低速晶体,低功耗振荡三、CMOS工艺特性低功耗2mA 5V,4MHz-15A 3V,32KHz-1A 低功耗睡眠(Sleep)模式下全静态设计宽工作电压范围:2.5V5.5V宽工作温度范围:商用级: 070-工业级:4085-汽车级:40125 1.2 型号及引脚介绍 PIC12C5XX目前有二种型号,见下表:型 号振 荡EPROMRAM定时器输入线I/O线电压范围封装(DIP/SOIC)12C508DC4Mhz512122581152.5V-5.5V812C509DC4Mhz10241241 81152.5V-5.5V8表1.1 PIC12C5X
8、X型号功能表各型号管脚图如下:PDIP,SOIC,Windowed CERDIP VDDGP5/OSC1/CLKINGP4/OSC2GP3/MCLR/VPPVSSGP0GP1GP2/T0CK1图1.1 12C508/509引脚 下表描述了各引脚的功能。 引脚名 引脚序号 属性 缓冲类型 功能 GP07I/OTTL/ST双向I/O口线,带可编程弱上拉,并具电平变化唤醒睡眠功能GP16I/OTTL/ST双向I/O口线,带可编程弱上拉,并具电平变化唤醒睡眠功能GP2/T0CK15I/OST双向I/O口线,并可设置为计数器TIMER0的外部信号输入端GP3/MCLR4ITTL单向输入口线,也可设置为芯
9、片复位端。当设为复位端MCLR时,低电平有效。当作为输入口线时,带可编程弱上拉及电平变化唤醒睡眠功能GP4/OSC23I/OTTL双向I/O口线,(使用片内RC振荡源时,也可作为晶振输出端)GP5/OSC1/CLKIN2I/OTTL/ST双向I/O口线,(使用片内RC振荡源时,也可作为晶振输入端或外部振荡输入端)VDD1电源正电源VSS8电源地注:ST 斯密特触发器 表1.2 PIC12C5XX引脚功能从上表可看出,PIC12C5XX最多可以有5根I/O口线和1根输入口线(GP3)。1.3 PIC12C5XX内部结构PIC12C5XX 的总线结构采用的是数据总线(8位)和指令总线(12位)独立
10、分开的”哈佛结构”,所以它具有精简指令集(RISC)的特点,速度快,效率高,并且功耗很低。PIC12C5XX在一个芯片上集成了8位的算术逻辑运算单元(ALU),0.5K1K的12位程序存储器,2541个8位数据寄存器以及8位的计数器,上电复位电路,复位定时器,看门狗等等。图1.2 PIC12C5XX内部结构1.4 指令周期和流水作业PIC12C5XX的指令周期被分频成4个不重叠的节拍Q1Q4,程序计数器PC在Q1节拍增1, 而指令是在Q4节拍从程序存储器中取出并置入指令译码器,并在下一个指令周期被执行, 如下图所示:图1.3 指令周期指令的执行贯穿Q1Q4节拍。如上所述,当CPU在执行一条指令
11、的同时, 下一条指令的代码也同时被取出置入指令译码器,准备在下一指令周期执行,这就是PIC的流水作业方式,也是RISC结构单片机的特点,这种特点使单片机的运行速度可以达到很高。除了地址分支跳转指令的执行周期是2个指令周期外,其余所有指令都是单周期指令, 见下图: 图1.4 流水作业1.5 程序存储器和堆栈PIC12C5XX的程序存储器为12位长,其中PIC12C508为512字节,而PIC12C509为1024字节。复位向量为地址0,因为最后一个字节(PIC12C508为地址1FFH,PIC12C509为地址3FFH)存放有片内RC实际振荡的校正系数,其形式为指令MOVLW XX,用户不要使用
12、这个字节,所以用户的程序应从地址000H开始存放,注意这点和PIC16C5X有所不同。 图1.5 程序存储器和堆栈PIC12C5XX把程序存储器以512字节为单位进行分页管理,这样PIC12C508有一个页面程序区,而PIC12C509有2个页面程序区,由状态寄存器STATUS中的PA0位(STATUS) 确定程序区的页面。这是因为PIC是RISC结构,所有指令都是单字节,在PIC12C5XX中, 一条指令中所包含的地址信息只有9位,只能直接寻址一个页面(512字节);对于12C509,则还要由PA0位来辅助寻址2个页面(1024字节)的程序空间,即程序当需从一个页面跳转到另一个页面时(CAL
13、L、GOTO指令),应事先根据要跳转去的页面,把PA0位置为相应的值,请参阅状态寄存器的描述。PIC12C5XX的堆栈有2层,有自己独立的空间,不占用程序存储器。注意它只能容纳二层子程序嵌套调用。堆栈的长度是12位,和PC长度一致,可以存放子程序调用时的PC值。对堆栈的压入操作由子程序调用指令CALL完成,出栈操作则由子程序返回指令RETLW完成,请参阅第二章中这二条指令的详介。1.6 数据存储器PIC12C5XX的数据存储器(RAM)由一些寄存器组成,分为特殊寄存器和通用寄存器二种。在PIC单片机中,对任何部件的操作都表现为对某一寄存器的操作,所以编程非常简单明了。 * : 非实际存在的寄存
14、器,参见1.6.1中详介。图1.6 寄存器结构从上图可看到,00h06h为特殊寄存器,其余为通用寄存器。PIC12C508有25个通用寄存器,而PIC12C509则有41个通用寄存器,其中25个在Bank0,另16个在Bank1,关于寄存器的Bank方式,请参阅1.6.1的FSR寄存器描述。1.6.1 特殊寄存器一、INDF(地址:00h) 间址寄存器INDF是一个物理上不存在的寄存器,只是一个逻辑寄存器,用来进行间接寻址,实际的寻址地址为FSR的值。例: MOVLW 10h MOVWF FSR ;实际地址10h(F10寄存器)FSR MOVLW 55h MOVWF INDF ;数据55hF1
15、0 INCF FSR ;FSR增1(FSR=11h) MOVWF INDF ;数据55hF11 参阅后面FSR寄存器的描述。二、TMR0(地址:01h) 定时器/计数器寄存器二、TMR0(地址:01h) 定时器/计数器寄存器TMR0对应于TIMER0,它是一个8位的定时器/计数器(在PIC16C5X中称其为RTCC),请参阅1.8详介。三、PCL(地址:02h) 程序计数器PCPIC12C5XX程序计数器PC最多可寻址1K(1024)程序区:型 号PC长度寻址空间PC复位值PIC12C50895121FFhPIC12C5091010243FFh单片机一复位,PC值被置为全“1”指向程序区的最后
16、一个字节。前面我们提过,这个地址存放的是芯片出厂时已放入的MOVLW XX指令(其中XX是片内振荡校正系数),所以单片机复位后会执行这条指令,然后PC马上翻转到000h,开始执行用户的程序代码。注意,页面选择位PA0 复位时也被清零,所以这时页面处于0页,请参阅有关状态寄存器STATUS的描述。对于“GOTO”指令,它的指令码中含有跳转地址的低9位,即PC,对于PIC12C509来说,状态寄存器的第5位(STATUS)还会被置入PC,以选择程序页面,从而寻址1K的程序空间。 图1.7 GOTO指令寻址方式对于“CALL”指令或其他涉及会修改PCL的指令,它们的指令码中仅包含目的地址的低8位,即
17、PC,而PC总是会被硬件自动清零,状态寄存器第5位(STATUS)也会被置入PC以选择程序页面(对于PIC12C509而言)。见下图: 图1.8 CALL指令或修改PCL的指令寻址方式从上图可看出,由于执行这些指令硬件总会清PC=0,所以它们的起始地址都必须限于放在每个程序页面的上半区,即头上的256个字节空间内(0hFFh或200h2FFh)。四、STATUS(地址:03h) 状态寄存器STATUS寄存器包含了ALU的算术状态、芯片复位状态、程序页面位等信息。STATUS 可以被读/写,但是其中的复位状态位TO、PD不能由软件设置,它们的状态如何决定1.12.7 会有详细描述。图1.9 状态
18、寄存器在加法运算时,C是进位位;在减法运算时,C是借位的反。例a: CLRF F10 ;F10=0 MOVLW 1 ;W=1 SUBWF F10 ;F10-W=-1(FFH),C=0(运算结果为负)例b: MOVLW 1 ;W=1 MOVWF F10 ;F10=1 CLRW ;W=0 SUBWF F10 ;F10-W=1,C=1(运算结果为正)PD和TO两位可用来判断芯片复位的原因,GPWUF位也是用来判断芯片复位类型,请参阅1.12.7描述。五、FSR(地址:04h) 选择寄存器FSR和INDF寄存器(地址:00h)配合完成间接寻址,请参阅前面有关INDF寄存器的描述。FSR寄存器宽度为5位
19、,FSR用来间接寻址32个寄存器,FSR 则用来选择寄存器体(Bank),见下图:图1.10 直接/间接寻址方式 a、PIC12C508: 不存在寄存器体选,FSR恒为“1”。 b、PIC12C509: FSR=1 Bank1, FSR=0 Bank0。六、OSCCAL(地址:05h) 内部振荡校正系数寄存器PIC12C5XX内部集成有RC振荡供用户选择使用,OSCCAL 包含了该振荡电路的校正系数,其上电初始值为“0111”,请参阅1.11.4有关内部RC振荡的描述。七、GPIO(地址:06h) I/O寄存器PIC12C5XX有一个6位的I/O口,它在寄存器中的映像就是GPIO寄存器,GPI
20、O对应于 I/O口线GP5:GP0,GPIO未用,恒为“0”。八、TRIS I/O方向控制寄存器TRIS是GP口线方向控制寄存器,用户不能直接寻址,必须通过执行“TRIS 6”指令来设置它。当执行“TRIS 6”指令后,W寄存器的内容即会被置入TRIS中。“1”将相应的I/O口线设为输入态(高阻态),“0”则被设为输出态。但是有二点例外,即GP3永远是输入态而GP2有可能由OPTION寄存器设置为输入态(T0CKI),而不理会TRIS中的设置内容。请参阅1.2关于I/O口的描述。例: MOVLW 0Fh ;W=“00001111” TRIS 6 ;TRIS=“001111”,GP0:GP3为输
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PIC12C5XX 单片机 应用 设计
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内