历史上的今天
返回首页

历史上的今天

今天是:2024年12月10日(星期二)

正在发生

2019年12月10日 | pic单片机技术的优势和应用

2019-12-10 来源:elecfans

PIC单片机(Peripheral Interface Controller)是一种用来开发的去控制外围设备的集成电路(IC)。一种具有分散作用(多任务)功能的CPU。与人类相比,大脑就是CPU,PIC 共享的部分相当于人的神经系统。

PIC 单片机是一个小的计算机


PIC单片机有计算功能和记忆内存像CPU并由软件控制允行。然而,处理能力—存储器容量却很有限,这取决于PIC的类型。但是它们的最高操作频率大约都在20MHz左右,存储器容量用做写程序的大约1K—4K字节。


时钟频率与扫描程序的时间和执行程序指令的时间有关系。但不能仅以时钟频率来判断程序处理能力,它还随处理装置的体系结构改变(1*)。如果是同样的体系结构,时钟频率较高的处理能力会较强。


这里用字来解释程序容量。用一个指令(2*)表示一个字。通常用字节(3*)来表示存储器(4*)容量。一个字节有8位,每位由1或0组成。 PIC16F84A单片机 的指令由14位构成。当把1K个子转换成位为:1 x 1,024 x 14 =   14,336位。再转换为字节为:14,336/(8 x 1,024) = 1.75K。在计算存储器的容量时,我们规定 1G 字节 =   1,024M 字节, 1M 字节 = 1,024K 字节, 1K 字节= 1,024 字节.   它们不是以1000为倍数,因为这是用二进制计算的缘故。


1. 计算机的物理结构,包括组织结构、容量、该计算机的CPU、存储器以及输入输出设备间的互连。经常特指CPU的组织结构,包括它的寄存器、标志、总线、算术逻辑部件、指令译码与执行机制以及定时和控制部件。

2. 指出某种操作并标识其操作数(如果有操作数的话)的一种语言构造

3. 作为一个单位来操作(运算)的一个二进制字符串,通常比计算机的一个字短。

4. 处理机内的所有可寻址存储空间以及用于执行指令的其它内存储器。


在计算存储器的容量时,我们规定 1G 字节 = 1,024M 字节, 1M 字节 = 1,024K 字节, 1K 字节= 1,024 字节. 它们不是以1000为倍数,因为这是用二进制计算的缘故。


用PIC单片机使电路做的很小巧变得可能。


因为PIC单片机可以把计算部分、内存、输入和输出等都做在一个芯片内。所以她工作起来效率很高、功能也自由定义还可以灵活的适应不同的控制要求,而不必去更换不同的IC。这样电路才有可能做的很小巧。


二、PIC系列单片机有什么优势?


1) PIC最大的特点是不搞单纯的功能堆积,而是从实际出发,重视产品的性能与价格比,靠发展多种型号来满足不同层次的应用要求。

该型号有512字节ROM、25字节RAM、一个8位定时器、一根输入线、5根I/O线,市面售价在3-6元人人民币。这样一款单片机在象摩托车点 火器这样的应用无疑是非常适合。PIC的高档型号,如PIC16C74(尚不是最高档型号)有40个引脚,其内部资源为ROM共4K、192字节RAM、 8路A/D、3个8位定时器、2个CCP模块、三个串行口、1个并行口、11个中断源、33个I/O脚。这样一个型号可以和其它品牌的高档型号媲美。

2) 精简指令使其执行效率大为提高。PIC系列8位CMOS单片机具有独特的RISC结构,数据总线和指令总线分离的哈佛总线(Harvard)结构,使指令具有单字长的特性,且允许指令码的位数可多于8位的数据位数,这与传统的采用CISC结构的8位单片机相比,可以达到2:1的代码压缩,速度提高4倍。

3) 产品上市零等待(Zero time to market)。采用PIC的低价OTP型芯片,可使单片机在其应用程序开发完成后立刻使该产品上市。

4) PIC有优越开发环境。OTP单片机开发系统的实时性是一个重要的指标,象普通51单片机的开发系统大都 采用高档型号仿真低档型号,其实时性不尽理想。PIC在推出一款新型号的同时推出相应的仿真芯片,所有的开发系统由专用的仿真芯片支持,实时性非常好。就 我个人的经验看,还没有出现过仿真结果与实际运行结果不同的情况。

5) 其引脚具有防瞬态能力,通过限流电阻可以接至220V交流电源,可直接与继电器控制电路相连,无须光电耦合器隔离,给应用带来极大方便。

6) 彻底的保密性。PIC以保密熔丝来保护代码,用户在烧入代码后熔断熔丝,别人再也无法读出,除非恢复熔丝。目前,PIC采用熔丝深埋工艺,恢复熔丝的可能性极小。

7) 自带看门狗定时器,可以用来提高程序运行的可靠性。

8) 睡眠和低功耗模式。虽然PIC在这方面已不能与新型的TI-MSP430相比,但在大多数应用场合还是能满足需要的。


三、PIC单片机与MCS-51系列单片机的区别


应该说有三个主要特点:


(1)总线结构:MCS-51单片机的总线结构是冯-诺依曼型,计算机在同一个存储空间取指令和数据,两者不能 同时进行;而PIC单片机的总线结构是哈佛结构,指令和数据空间是完全分开的,一个用于指令,一个用于数据,由于可以对程序和数据同时进行访问,所以提高 了数据吞吐率。正因为在PIC单片机中采用了哈佛双总线结构,所以与常见的微控制器不同的一点是:程序和数据总线可以采用不同的宽度。数据总线都是8位 的,但指令总线位数分别位12、14、16位。


(2)流水线结构:MCS-51单片机的取指和执行采用单指令流水线结构,即取一条指令,执行完后再取下一条指令;而PIC的取指和执行采用双指令流水线结构,当一条指令被执行时,允许下一条指令同时被取出,这样就实现了单周期指令。


(3)寄存器组:PIC单片机的所有寄存器,包括I/O口,定时器和程序计数器等都采用RAM结构形式,而且都只需要一个指令周期就可以完成访问和操作;而MCS-51单片机需要两个或两个以上的周期才能改变寄存器的内容。

推荐阅读

史海拾趣

DESIGNERSYSTEMS公司的发展小趣事

DESIGNERSYSTEMS公司深知,优质的服务是企业赢得客户的关键。他们始终坚持客户至上的原则,为客户提供从咨询、设计到生产、售后的一站式服务。无论客户遇到什么问题,DESIGNERSYSTEMS都能够迅速响应并提供有效的解决方案。这种优质的服务赢得了客户的广泛赞誉和口碑传播,为DESIGNERSYSTEMS在电子行业中树立了良好的形象。

EMC Component Group公司的发展小趣事

随着科技的快速发展,电子设备的设计要求越来越高。DESIGNERSYSTEMS公司投入大量研发资源,不断推动技术突破。他们成功开发出一套高效、智能的设计软件,能够大大提高设计效率和精度。这一技术突破使得DESIGNERSYSTEMS在电子设备设计领域具备了更强的竞争力,吸引了更多客户的合作。

EMCORE公司的发展小趣事

DESIGNERSYSTEMS公司的创始人在电子行业有着深厚的背景和独特的见解。他们发现市场上缺乏一种能够集成多种功能、高度定制化的电子设备设计解决方案。于是,他们创立了DESIGNERSYSTEMS,专注于提供从概念到原型再到量产的全方位设计服务。通过不断的技术创新和对市场需求的精准把握,DESIGNERSYSTEMS迅速在电子行业树立了自己的品牌形象,赢得了客户的信赖。

ETA-USA公司的发展小趣事

ETA-USA公司起源于XXXX年,当时由几位电子工程领域的先驱者在美国密歇根州的Troy市创立了这家专注于电子技术和解决方案的公司。初创时期,ETA-USA面临着技术挑战、资金短缺和市场竞争激烈等多重困难。然而,通过不断创新和提供高质量的工程服务,公司逐渐在电子行业崭露头角,赢得了客户的信任。

德国ACAM公司的发展小趣事

ACAM公司在超声波计量领域也取得了革命性的突破。2012年,ACAM公司与世强电讯合作,在第二届供热计量技术与管理国际研讨会上推出了业内领先的超声波热量表解决方案。这一解决方案利用ACAM公司的先进测量技术,为热量表厂商和流量计量专家提供了全新的解决方案,受到了广泛关注。

启攀微(CHIPHOM)公司的发展小趣事

作为一家具有社会责任感的企业,启攀微电子(CHIPHOM)始终关注环境保护和社会公益事业。公司积极响应国家节能减排的号召,采用环保材料和节能技术生产产品。同时,公司还积极参与社会公益活动,捐款捐物支持灾区重建、资助贫困学生等。通过践行社会责任,启攀微电子(CHIPHOM)不仅提升了企业的社会形象,也为社会进步做出了积极贡献。

以上5个故事仅代表启攀微电子(CHIPHOM)在电子行业中发展起来的一些可能情景和方面,实际情况可能有所不同。如需更多准确信息,请查阅相关官方资料或联系公司相关人员。

问答坊 | AI 解惑

USB1.1规范

USB1.1规范 USB1.1规范 [ 本帖最后由 西门 于 2009-5-12 18:19 编辑 ]…

查看全部问答>

华为全讲义

本帖最后由 paulhyde 于 2014-9-15 09:27 编辑 华为全讲义  …

查看全部问答>

求教89s52接93c46时,EA\ALE\PSEN引脚应该接哪里?

求教89s52接93c46时,EA\\ALE\\PSEN引脚应该接哪里?…

查看全部问答>

windriver中断嵌入什么样的函数

我想在中断函数中嵌入一个,MSComm的一个对象,然后调用成员函数,但程序就会出错。大概程序是这样的 DialgIntHandler(   ,  ) {     。。。。。。     MSComm  m_comm;     m_c ...…

查看全部问答>

关于 SD卡如何识别分区

啊,我是菜鸟,最近想弄了个驱动是是SD卡的,现在只能支持2G大小的SD,现在有2个问题在这里请教下:1,这个驱动只能读一个分区(如果给他2个分区,后面的无法挂在),呵呵,怎么样让他能读其他分区。2,怎样让他能读4G以上的SD卡:)谢谢大家了…

查看全部问答>

想学习linux嵌入系统

有较好的C语言基础,用linux已经有段时间.由于工作原因比较忙,想问如何才能尽快的提升自己. 希望能推荐一本好的书籍 ,谢谢了. …

查看全部问答>

用stvp烧写程序

用stvp烧写程序,选择option byte  ---read  out  protection on,芯片只能烧写一次  ,在次烧写提示芯片锁死 ,请问如何解决 ?…

查看全部问答>

关于norflash擦除的问题,急

在norflash的bios地址写入了开发板的测试程序,现在通过jflash烧写uboot时总是出现错误,找不到flash设备,我该怎么办啊,求各位大侠帮忙啊。。急死我了。。本人qq778032418,热心的朋友留言,加q,留q都可以啊…

查看全部问答>

MSP430数模转换程序

单通道多次转换源程序,自己写的,给大家分享一下哈!…

查看全部问答>

【一点一点学Linux C】__raw_writel()

在邮件列表里讨论了一下writel是如何实现的,这个函数实现在操作系统层,有内存保护的情况下,往一个寄存器或者内存地址写一个数据。 在arch/alpha/kernel/io.c中有 188 void writel(u32 b, volatile void __iomem *addr) 189 { 190  &nbs ...…

查看全部问答>