2020年 02月 29日 星期六
您的位置: 威廉希尔主页 > 单片机技术 >

pic单片机程序设计的基本方析

来源:未知     作者:威廉希尔     发布时间:2020-02-29 07:49         

  pic单片机在学习和工作中均扮演着重要角色,在往期文章中,小编曾对pic单片机汇编指令加以介绍,以帮助大家更好掌握pic单片机。而在本文中,将介绍pic单片机程序设计内容,以助大家写出更为优美的pic单片机程序,主要内容如下。

  PIC16C5X单片机在RESET后指令计算器PC被置为全“1”,所以PIC16C5X几种型号芯片的复位地址为:

  一般来说,PIC单片机的源程序并没有要求统一的格式,大家可以根据自己的风格来编写。但这里我们推荐一种清晰明了的格式供参考。

  PIC16C5X单片机的I/O 口皆为双向可编程,即每一根I/O 端线都可分别单独地由程序设置为输入或输出。这个过程由写I/O 控制寄存器TRIS f来实现,写入值为“1”,则为输入;写入值为“0”,则为输出。

  要比较二个寄存器的大小,可以将它们做减法运算,然后根据状态位C来判断。注意,相减的结果放入W,则不会影响二寄存器原有的值。

  PIC单片机的查表程序可以利用子程序带值返回的特点来实现。具体是在主程序中先取表数据地址放入W,接着调用子程序,子程序的第一条指令将W置入PC,则程序跳到数据地址的地方,再由“RETLW”指令将数据放入W返回到主程序。下面程序以F10放表头地址。

  “READ……DATA”程序是每次读取数据表的一个数据,然后将数据指针加1,准备取下一个数据。下例程序中以F10为数据表起始地址,F11做数据指针。

  如果延时时间较短,可以让程序简单地连续执行几条空操作指令“NOP”。如果延时时间长,可以用循环来实现。下例以F10计算,使循环重复执行100次。

  本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

  PIRX 注: X可以是1 2 3 4.。。。不同型号的单片机数目不同INTCON 中断控制寄存器:1或关闭 全体的中断功能(GIE)2或关闭全体外设的中断功能(PEIE)外设就是在外设中断允许/标志寄存器里面所写的设备。3一些中断事件。PIEX 与 PIRX 是相互对应的如:当把PIE1的TMR1IE设置为1 定时器timr1将中断。等到TMR1定时器溢出后,则会在PIR1的TMRIF将为1,并且执行中断程序。实例:我们把上一讲的《PIC单片机之定时器》中的实例修改成中断方式 实现 每隔 50MS亮起LED,每隔50MS灭掉LED。/*开发MPLAB X IDE 芯片型号PIC发表于2020-02-08

  一、区分指令的大小写编写PIC单片机的源程序,除了源程序的开始处需要严格的列表指令外,还须注意源程序中字母符号的大小写规则,否则在PC机上汇编程序时不会成功。在源程序中都会使用伪指令INCLUDE。这条指令将列表中指定的单片机文件(在MPLAB中)渎入源程序作为源程序的一部分,所以凡是MPLAB中有关该单片机已有的寄存器在源程序中无须再用赋值指令(EQU)赋值,这就使所建立的源程序大为简化。此外,由于有了伪指令INCLUDE,所以根据MPLAB软件中的格式,在源程序中的操作数凡是涉及MPLAB已的寄存器名称的,其字母一律只能大写,不能小写。其余操作码、符号字母可任意大小写,但0x中的X应小写。否则汇编不会成功。鉴于上述原因

  1、睡眠(sleep)睡眠方式是我们最常用的一种方式来降低功耗,但睡眠期间单片机不能做任何的事情。对于那些没事情就睡着,有事情就做一下的情况睡眠无疑是功耗最低的处理方式。比如:睡眠+ I/O电平变化中断当按键没按下时,单片机睡眠,当按键按下后,执行相应的工作。睡眠+数据接收中断这样单片机就可以再没有接收到数据时候进入睡眠状态,接收到数据的时候就然后处理数据。当然首先单片机要有相关的外设比如SPI ,I2C,USART,等这些支持这些通讯的模块。睡眠+看门狗这个可以用在需要定时做事情的场合2、降低时钟频率如果即想功耗低,又想单片机在能低功耗的情况下工作。这无疑是个最好的选择。PIC单片机 比如PIC

  PIC 单片机A/D 转换后的数据通常需要占用两个8 位宽的RAM 单元, 而PIC 单片机的存储单元有限,因此造成了单片机的存储单元不能被有效利用, 同时通过串口向上位机传送数据时也需要花费较多的时间。为此提出一种数据打包的方法, 使得相同的数据量占用较少的存储空间, 并可提高传输效率。引言在由单片机和PC 机构成的检测系统中, 通常会由多个单片机采集数据并将经过A/D 转换的数据通过串口送往上位PC 机进行数据处理。PIC 单片机A/D 转换后的结果大多是8 位或10 位的, 8 位的A/D转换不涉及该问题。以10 位的数据为例, 在单片机内进行存储时需要占用2 个8 位的字节, 低8 位和高2位分别存储在2 个字节中

  PIC16F616是一款14引脚、8位的CMOS单片机.采用精简指令集,仅有35条指令,由于采用了数据总线和指令总线分离的哈佛总线结构,使得除少量指令不是单周期之外,大部分的指令都是单周期指令.这样有利于提高单片机的运行速度和执行效率.PIC16F616这款单片机供电电压可以在2V到5.5V之间,内部集成了一个RC振荡器,频率可以配置成8MHZ或者4MHZ,也可以用外部晶振 提供时钟.内部集成有AD转换、比较器等硬件模块,还具有上电复位、欠压复位、看门狗、代码等功能.三个定时器、PWM发生器等可以由用户编程.下面 电工之家介绍关于PIC单片机的这些模块和功能.1.存储器PIC16F616分为程序存储其和数据存储器,程序存储器

  PIC单片机的特点及与51系列单片机的区别:这里仅以使用广泛的中低档PIC16/PIC12/10系列为例说明。PIC系列单片机采用哈佛总线结构,程序空间总线和数据总线分开,地址长度也不一样,也同样不在一个连续的空间,程序为单字结构,一句程序占用一个程序字长,这与51不一样,51系列则采用冯.诺依曼结构,程序空间和数据空间共用一组8BIT的总线,程序空间和数据空间共用一个连续的地址空间;程序为多字节结构,根据不同指令及数据每句程序有不同的长度,这种结构有可能在程序跑飞的时候让系统把数据当做指令执行。PIC系列单片机使用精简指令集,总共不超过35条指令,采用预取指令的做法使绝大多数指令只要一个指令时钟周期,51则采用复杂指令集,需要

  一起玩“超节能、高精度、机器学习内核”的LSM6DSOX【2020年ST MEMS传感器创意设计大赛】

  STM32MP1系列通用型MPU, 集成双 Arm® Cortex®-A7和 Cortex®-M4 内核

  STM32MP1系列通用型MPU, 集成双 Arm® Cortex®-A7和 Cortex®-M4 内核

  嵌入式系统汽车电子消费电子数据处理视频教程电子百科其他技术STM32MSP430单片机资源下载单片机习题与教程市海淀区知春23号集成电设计园量子银座1305

      威廉希尔