0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何选择合适的PIC单片机?PIC单片机或运算符运用应该怎么样应用

Wildesbeast 来源:21IC 作者:21IC 2020-07-04 09:28 次阅读

pic单片机对于大家早已不再是琢磨不透的大山,随着pic单片机的使用,大家对pic单片机的认识逐步增加。为进一步增进大家对pic单片机的了解,本文将基于两点对pic单片机予以阐述:1.如何挑选合适的pic单片机,2.pic单片机或运算符运用。如果你对本文内容具有一定兴趣,不妨继续往下阅读哦。

一、pic单片机挑选

刚开始使用pic单片机的开发人员,建议使用PIC16F系列的芯片,该芯片已经存在了十多年,并且仍然很受欢迎。因此,该家族拥有Internet上最大的代码库,这意味着许多基本代码已经编写并且可以轻松下载。

尤其是PIC16F877,在网上有大量的代码和原理图,可以为学生、老师以及众多的专业设计师用于许多“入门”课程教学。但是,这款MCU由于比较老的关系,教学足矣,但不建议在新的单片机方案中使用。而且就成本上来说,新的单片机方案开发,可替代的国产单片机也有不少。

事实上,PIC16F系列很多单片机仍可与PIC16F887一起使用,PIC16F887的引脚布局和外设选项几乎相同。可使用PIC16F887运行相同的代码,最多只做少量修改,而且软件开发工具比价便宜。此外,PIC16F887具有256字节EEPROM数据存储器、自编程、ICD、2比较器、11路10位模拟数字(A/D)转换器,仍然可以用于汽车、工业、家电或消费类应用中的A/D应用。

二、pic单片机或运算应用

pic单片机的大多数寄存器,包括RAM数据存储器的每个存储单元都能实现移位、清位、位测试等系列复杂操作功能。然而,协调它们运行的(应用最广泛的基本级、中级)精简指令集中,却没有对寄存器的某“位”进行“取反”运作的现成指令,而在实际应用中对某些“位”进行取反运作是很需要的。

如下图所示。单片机PIC16C622的端口RB作为输出端口的8个引脚,分别控制着8个不同的电器设备。按动按钮AN一下,继电器J吸合,再按一下J释放,即按动AN一下,端口RB3引脚的输出状态改变一下,而RB口的其它7个引脚输出保持原有状态不变。在这种情况下最好的方法是按动一下AN,对PORTB(3)“取反一次”——这对于MCS-51系列单片机来讲是极容易的。只要写一条(如CPL P3?3)位取反指令就可以了。而PIC16C622只有对字节取反指令,却没有对位取反的直接指令。小编运用了“W和f相异或”的指令,也轻易地解决了位取反问题。实例:

MOVLW 0x08;将常数0x08送至W

XORWF 6,1 ;W和F6相异或结

果存F6

这样就实现了对F6(3)即RB3脚的“取反”运作。假如当时寄存器F6的状态为“B01101001”则经过上述指令运作后,有

异或前 W 00001000

F6 ?01101001

异或后F6 01100001

结果寄存器F6的内容为“B01100001”。可见除了F6(3)由“1”取反为“0”外,其它位保持不变,实现了预期的目的。这种方法,可以对寄存器其中的1位、2位……几位同时“取反”——只要对工作寄存器W送常数时,常数的相应“位”上为逻辑“1”就可以了。

还有像两个数据比较一类程序的编写,通常人们是用“减法”指令来完成的。运用“异或运算”指令同样可以解决问题,而且更为简洁(它只影响状态寄存器中的零标志位“Z”,对其它概不影响)。如建立时钟程序,当秒计数寄存器计数至60秒时,应向分计数寄存器“进1”,若设秒计数寄存器为F20,分计数寄存器是F21,则定时器中断子程序为:

INTSUB1:

INCF 20,1 ;秒计数寄存器F20 ;“增1”

MOVLW 0x3C;把常数D‘60’置入W

XORWF 20,0 ;寄存器F20计数是

;否等于60秒

BTFSS STATUS,2 ;若F20的计数等于 ;60(零标志位Z=1)

GOTO INTSUB2 ;则跳

INCF 21,1 ;分计数寄存器F21;“增1”

INTSUB2 RETFIE ;中断返回

从上述例子中可以看到,异或运算指令XORWF跟pic中的其它指令一样,只要灵活运用其功能是非常强大的。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 继电器
    +关注

    关注

    131

    文章

    5014

    浏览量

    145953
  • 单片机
    +关注

    关注

    5997

    文章

    43948

    浏览量

    620553
  • 存储器
    +关注

    关注

    38

    文章

    7120

    浏览量

    161922
收藏 人收藏

    评论

    相关推荐

    PIC单片机振荡电路中如何选择晶体?

    PIC单片机振荡电路中如何选择晶体? 在PIC单片机振荡电路中选择晶体是一个重要的步骤,它直接
    的头像 发表于 01-31 09:28 315次阅读

    pic单片机汇编程序实例

    以下是一个简单的PIC单片机汇编程序示例,这个程序将实现一个LED闪烁的功能。 首先,我们需要了解PIC单片机的结构和指令集。PIC
    的头像 发表于 12-14 11:01 656次阅读

    请问pic单片机的汇编要怎么学习?

    pic单片机的汇编要怎么学习?
    发表于 11-01 07:07

    基于PIC单片机的AES算法优化设计

    电子发烧友网站提供《基于PIC单片机的AES算法优化设计.pdf》资料免费下载
    发表于 10-30 09:46 0次下载
    基于<b class='flag-5'>PIC</b><b class='flag-5'>单片机</b>的AES算法优化设计

    基于PIC单片机的便携式气体测漏仪

    电子发烧友网站提供《基于PIC单片机的便携式气体测漏仪.pdf》资料免费下载
    发表于 10-30 09:45 0次下载
    基于<b class='flag-5'>PIC</b><b class='flag-5'>单片机</b>的便携式气体测漏仪

    基于PIC单片机的多选择性漏电保护

    电子发烧友网站提供《基于PIC单片机的多选择性漏电保护.pdf》资料免费下载
    发表于 10-30 09:44 0次下载
    基于<b class='flag-5'>PIC</b><b class='flag-5'>单片机</b>的多<b class='flag-5'>选择</b>性漏电保护

    请问PIC单片机是具有自己单独的架构吗?

    PIC单片机是具有自己单独的架构吗?
    发表于 10-30 06:35

    PIC单片机与C8051F020单片机的串行通讯

    电子发烧友网站提供《PIC单片机与C8051F020单片机的串行通讯.pdf》资料免费下载
    发表于 10-25 10:10 2次下载
    <b class='flag-5'>PIC</b><b class='flag-5'>单片机</b>与C8051F020<b class='flag-5'>单片机</b>的串行通讯

    使用PIC886单片机可以做FFT吗?

    使用PIC的886单片机,可以做FFT么
    发表于 10-11 06:09

    请问PIC单片机怎么输出100KHZ方波?

    PIC单片机怎么输出100KHZ方波?
    发表于 09-28 08:25

    PIC单片机下载线原理图分享

    PIC单片机下载线原理图
    发表于 09-20 07:52

    常用PIC系列单片机产品特性一览表

    常用PIC系列单片机速查表,常用PIC系列产品特性一览表。
    发表于 09-06 16:41 0次下载

    PIC单片机特点(2)#单片机

    led单片机ADC
    未来加油dz
    发布于 :2023年08月01日 18:19:45

    PIC单片机特点(1)#单片机

    led单片机ADC
    未来加油dz
    发布于 :2023年08月01日 18:19:04

    8051单片机PIC单片机的区别是什么

    8051单片机PIC单片机都属于单片机的一种,8051单片机PIC
    的头像 发表于 07-07 11:31 1502次阅读