欢迎来到天天文库
浏览记录
ID:15782045
大小:245.55 KB
页数:15页
时间:2018-08-05
《循序渐进学习pic单片机》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、自学笔记循序渐进学习PIC单片机KeilC511PIC10F200/PIC10F202/PIC10F204/PIC10F206单片机1.1PIC10F200/PIC10F202的特性高性能RISC(精简指令集)CPU,仅有33条单字指令,除程序跳转指令为双周期外,其余均为单周期指令。指令位宽12Bit,2级硬件堆栈,8位数据总线,8个特殊功能硬件寄存器。4MHz高精度内部振荡器,1us指令周期,支持ICSP、ICD,具有上电复位(POR)、器件复位定时器(DRT)、看门狗定时器(WDT),复用MCLR输入引脚。有4个I/O引
2、脚,其中3个可单独进行方向控制,而另1个只能作为输入引脚。高灌/拉电流能力,可直接驱动LED,I/O引脚可内部弱上拉,支持节能休眠模式、引脚电平变化时从休眠中唤醒单片机的功能。具有一个8位实时时钟/计数器(TMR0),可带8位可编程预分频器。1.2PIC10F200和PIC10F202单片机的引脚PIC10F200/202单片机是Microchip生产的功能最为简单的单片机,这种单片机芯片依据其封装形式的不同,只有6只或8只引脚(8脚芯片中有2只引脚未使用)。对于6只引脚形式的芯片,其功能定义如下:引脚1:GP0/ICSPDAT
3、,双向I/O引脚,可以通过软件设置,使这具有内部弱上拉或引脚电平变化时从休眠中唤醒单片机的功能。或者作为在线串行编程(ICSP)的数据引脚。引脚2:VSS,电源地引脚3:GP1/ICSPCLK,双向I/O引脚,可以通过软件设置,使这具有内部弱上拉或引脚电平变化时从休眠中唤醒单片机的功能。或者作为在线串行编程(ICSP)的时钟引脚。引脚4:GP2/T0CKI/FOSC4,双向I/O引脚,或作为定时器TMR0的时钟输入,或者作为振荡器时钟/4的输出。引脚5:VDD,电源正引脚6:GP3/MCLR/VPP,双向I/O引脚,可以
4、通过软件设置,使这具有内部弱上拉或引脚电平变化时从休眠中唤醒单片机的功能。或者作为复位输入MCLR,当配置为MCLR时,此引脚是低电平有效的复位信号。器件在正常工作期间,GP3/MCLR/VPP上的电压不得超过VDD,否则器件将进入编程模式。如果配置为MCLR,则始终为弱上拉。此引脚的另一个功能为编程电压输入端。PIC10F200与PIC10F202两种单片机的区别在于,前者只有256X12Bit的Flash程序存储器和16X8位的RAM,而后者具有512X12Bit的Flash及24X8Bit的RAM。1.3存储器的构成PIC1
5、0F200/PIC10F202的存储器分为程序存储器和数据存储器。PIC10F200具有一个9位的程序存储器(PC),能够寻址512X12的程序存储空间。但对于PIC10F200而言主,只有前256X12(0000H‐00FFH)地址单元是物理实现的。复位向量在0000H,存储单元00FFH内存有内部时钟振荡器校准值,切记不可覆盖该值。数据存储器由寄存器或RAM单元组成。器件的数据存储器由其寄存器文件指定。寄存器文件按功能被划分为两组:特殊功能寄存器(SFR)和通用寄存器(GPR)。特殊功能寄存器包括INDF寄存器、TMR0寄存器
6、、程序计数器PCL、状态寄存器STATUS、文件选择寄存器FSR、振荡器校准寄存器OSCCAL和I/O寄存器GPIO。此外,特殊功能寄存器用于控制I/O和预分频器选择,即还有TRIS及OPTION寄存器(这两个寄存器不占用RAM字节)。通用寄存器用于存放指令的数据和控制信息。PIC10F200有7个特殊功能寄存器和16个通用寄存器。1.4特殊功能寄存器简单地说,学习单片机就是学习如何操控单片机内部的各种特殊功能寄存器,因为特殊功能寄存器是CPU和外设用来控制器件操作的寄存器。a)INDF寄存器(00H),这是一个物理上并不存在的寄
7、存器,它与FSR一起用于对RAM进行间接寻址,寻址INDF实际上将寻址地址在FSR寄存器中的寄存器(FSR是指针)。单独访问INDF寄存器时,其值总是1/15自学笔记循序渐进学习PIC单片机KeilC5100H。b)TMR0寄存器(01H),8位实时时钟/计数器,其内存放当前对指令时钟或GP2/T0CKI引脚上外部输入脉冲的计数值。c)PCL寄存器(02H),存放着当前程序计数器内容的低8位的值。在程序运行时,程序计数器中总是存放着下一条将要执行指令的地址。PC的值在每个指令周期加1,除非指令执行时改变了PC的值。对于GOTO指令
8、而言,PC<8:0>由GOTO指令字提供,PCL的值被映射到PC<7:0>。对于CALL指令或其他以PCL为目标寄存器的指令而言,PC<7:0>仍然由指令字提供,但PC<8>不是来自指令字,而是始终为零。以PCL为目标寄存器或修改PCL的指令包括M
此文档下载收益归作者所有