历史上的今天
返回首页

历史上的今天

今天是:2025年03月11日(星期二)

正在发生

2018年03月11日 | PIC单片机程序设计的基本框架

2018-03-11 来源:eefocus

为了快速掌握PIC单片机源程序的基本结构,这里给出一个典型的程序结构框架。建立源程序时首先用伪指令TITLE提供程序的标题,接着给出整个程序的总说明,并用列表伪指令LIST指定所用单片机型号和文件输出格式,再利用INCLUDE伪指令读入MPASM中提供的定义文件如《P16F84INC》,然后对片内常用资源进行定义,再给出一般程序的基本结构框架。现举例如下。

 

  TITLE“This is……”;程序标题
  ;程序说明
  LIST P=16F84,F=1NHX8M
  ;
  include
  -config_RC_Qsc &_WDT_0FF…
  ;资源定义和变量定义
  STATUS EQU 03
  FSR EQU 04
  PORTA EQU 05
  PORTB EQU 06
  J EQU 01F
  K EQU 01E
  ;…………………
      ORG 0000 ;
      goto MAIN ;跳过中断矢量
      ORG 0004
      goto INTSRV;子程序入口地址
  ;……………………………………
  MAIN        ;从0005H开始放主程序
      call Initports ;端口初始化
      call InitTimers;定时器初始化
       …
  INTSRV …     ;中断服务程序区
  SVBRTH…      ;子程序区
    END      ;程序结束符
  当然,在编写程序时可根据实际情况加以调整。下面是一份实际程序清单,要求将数据88H写入PIC16F84内部EEPROM的20H单元,而后再从20H单元将其读出。
  LIST P=16F84,F=INHX8M
  ;……………………………
  STATUS EQU  03  ;定义寄存器
  EEDATA EQU  08
  EEADR EQU  09
  INTCON EQU  0BH
  EECON1 EQU  88H
  EECON2 EQU  89H
  ;…………………………
  RD    EQU  0    ;定义位
  WR  EQU  1
  RP0   EQU  5
  GIE  EQU  7
  ;…………………………
        ORG  0
        GOTO WRSTART
  ;……………………………
       ORG  10H
  WRSTART         ;写入操作开始
       CLRW      ;清W,使W=0
       BCF STATUS,RP0 ;选BANK0
       MOVLW 20H
       MOVWF EEADR   ;地址→EEADR
       MOVLW 88H
       MOVWF EEDATA  ;写入数据→
                 ;EEDATA
       BSF STATUS,RP0 ;选BANK1
       BSF EECON1,2 ;写操作使能允许
       BCF INTCON,GIE ;关闭所有的中断
       MOVLW 0X55
       MOVWF EECON2  ;55H→EECON2
       MOVLW 0XAA
       MOVWF EECON2  ;AAH→EECON2
       BSF EECON1,WR ;启动写操作
       BSF INTCON,GIE ;恢复开中断
  RDSTART          ;读出操作开始
       BCF STATUS,RP0
       MOVLW 20H
       MOVWF EEADR   ;地址→EEADR
       BSF STATUS,RP0
       BSF EECON1,RD ;启动读操作
       BCF STATUS,RP0
       MOVF EEDATA,W ;将EEPROM
                 ;数据读入W
  END


推荐阅读

史海拾趣

Hanghsing Enterprise Co Ltd公司的发展小趣事

HANA Micron公司在电子行业的五个发展故事

故事一:2.5D封装技术的突破

HANA Micron,作为韩国顶尖的后端工艺和外包半导体组装测试(OSAT)公司,近年来在2.5D封装技术领域取得了显著进展。随着高性能人工智能(AI)芯片需求的急剧增长,该公司致力于开发一种能够水平组装不同类型AI芯片的封装技术,如高带宽内存(HBM)。这一技术对于生产像英伟达H100这样的顶级AI加速器至关重要。公司CEO Lee Dong-cheol表示,他们已将未来寄托在HBM和其他AI芯片的先进2.5D封装技术上,并透露公司已生产出原型,尽管全面商业化尚需时日。HANA Micron的这一努力不仅提升了其技术实力,也为公司在全球芯片封装市场的竞争中占据了有利位置。

故事二:越南市场的扩张

为了进一步扩大业务版图,HANA Micron在越南进行了大规模的投资。自2016年在越南北宁省成立公司进军东南亚市场以来,该公司已累计投资高达7000亿韩元(约合5.25亿美元)。其北江省云中工业园的2号制造工厂于2023年正式落成,标志着公司在越南半导体封装和测试领域迈出了重要一步。这一投资不仅提升了公司的产能,还为公司带来了更多的业务机会和市场份额。HANA Micron计划到2025年将月产量提高到2亿个,并预计越南业务的销售额将很快达到万亿韩元。

故事三:多元化产品线的拓展

除了在传统存储芯片封装领域保持领先地位外,HANA Micron还积极拓展多元化产品线。公司目前正在开发针对可穿戴设备和医疗设备的封装技术,以提高这些设备的灵活性和可靠性。这一项目的第一个成果是去年年底开发的针对医疗贴片的心电图传感器模块,该模块允许传感器的功率低于1mA,延迟低于5ms。这一创新不仅展示了公司在封装技术上的深厚积累,也为其在未来医疗和可穿戴设备市场中的发展奠定了坚实基础。

故事四:与国际巨头的合作与竞争

在电子行业的激烈竞争中,HANA Micron不仅与国内同行如三星、SK海力士等展开合作与竞争,还与国际巨头如台积电、英特尔等保持着紧密的联系。公司CEO Lee Dong-cheol透露,台积电已成功研发出英伟达H100的2.5D封装技术,而三星和SK海力士也在积极跟进。在这种背景下,HANA Micron不断加大研发投入,以确保自己在封装技术上的领先地位。同时,公司还通过与国际巨头的合作与交流,不断提升自身的技术水平和市场竞争力。

故事五:应对市场波动与未来展望

面对全球电子市场的波动和不确定性,HANA Micron展现出了较强的抗风险能力和市场适应能力。公司CEO Lee Dong-cheol表示,尽管过去几年存储市场有所放缓,但随着电子产品制造商和AI设备制造商对先进芯片需求的不断增长,预计2024年的业绩将有所改善。为了实现这一目标,公司将继续加大在研发、生产和市场拓展等方面的投入力度。同时,公司还计划将系统芯片的比例提高到50%以上,以降低市场波动对公司业绩的影响。这一战略调整不仅体现了公司对未来的信心和决心,也为公司的可持续发展奠定了坚实基础。

Amphenol Piher公司的发展小趣事

Amphenol Piher 是 Amphenol 公司的一部分,专注于设计、制造和销售电子行业中的传感器和电位器等产品。以下是关于 Amphenol Piher 公司发展的五个相关故事:

  1. 创立与初期发展:Amphenol Piher 公司的历史可以追溯到20世纪60年代,在西班牙的Valencia成立。最初,公司主要致力于生产电位器和传感器等电子元器件,为不同行业的客户提供定制化的解决方案。随着市场需求的增长和公司技术实力的提升,Amphenol Piher 逐渐赢得了客户的信任和市场认可。

  2. 技术创新与产品多样化:Amphenol Piher 公司在技术研发方面持续投入,并不断推出新型的传感器和电位器产品。公司专注于提升产品性能、精度和可靠性,满足客户对高品质电子元器件的需求。除了传统的电位器和传感器,Amphenol Piher 还推出了一系列新型产品,如角位移传感器、线性位移传感器等,为不同应用领域提供多样化的解决方案。

  3. 客户合作与定制化解决方案:Amphenol Piher 公司与客户建立了紧密的合作关系,致力于开发定制化的传感器和电位器解决方案。公司的工程团队与客户密切合作,根据客户的需求和应用场景,设计和制造符合特定要求的产品。这种定制化解决方案能够满足客户个性化的需求,为客户提供更加专业和完善的服务。

  4. 质量控制与认证标准:Amphenol Piher 公司高度重视产品质量控制,并严格遵循国际质量管理体系标准。公司的生产工艺和质量管理体系符合ISO 9001质量管理体系认证标准,以确保产品质量的稳定性和可靠性。此外,Amphenol Piher 公司的产品还通过了各种行业和应用领域的认证标准,如汽车行业的TS16949认证等,确保产品符合行业标准和规定。

  5. 全球市场拓展与合作伙伴关系:除了在西班牙的生产基地外,Amphenol Piher 公司还在全球范围内设有多个销售办事处和代理商网络,拓展了国际市场份额。公司与全球各种行业领先企业建立了长期稳定的合作关系,共同推动产品的创新和市场拓展。通过全球市场拓展和合作伙伴关系,Amphenol Piher 公司不断扩大业务规模,增强了在电子行业中的市场竞争力。

这些故事展示了 Amphenol Piher 公司从成立初期到如今在技术创新、产品多样化、客户合作与定制化解决方案、质量控制与认证标准以及全球市场拓展与合作伙伴关系等方面取得的重要进展。

Abilis Systems公司的发展小趣事

Abilis Systems公司是一家专注于数字视频和数字广播领域的半导体公司,以下是该公司发展的五个相关故事:

  1. 公司成立和初期发展: Abilis Systems公司成立于2004年,总部位于法国索恩-卢瓦尔省的克勒拉克。公司成立之初,致力于研发数字视频和数字广播领域的创新技术,旨在提供先进的芯片解决方案。

  2. 技术创新和产品推出: 在成立后的几年里,Abilis Systems公司不断进行技术创新,并推出了一系列创新的数字视频和数字广播芯片产品。这些产品包括数字电视接收器和解调器、数字广播接收器等,为客户提供了高性能和高度集成的解决方案。

  3. 市场拓展和国际合作: 随着产品技术的不断成熟和市场需求的增长,Abilis Systems积极拓展国际市场,并与全球各地的客户建立了合作关系。公司的产品被广泛应用于数字电视、数字广播、卫星电视等领域,赢得了客户的信赖和认可。

  4. 并购和战略合作: 为了进一步加强技术实力和扩大市场份额,Abilis Systems公司进行了一系列并购和战略合作。通过收购具有相关技术和市场资源的企业,公司拓展了产品线,并加强了在数字视频和数字广播领域的领先地位。

  5. 未来展望和发展方向: Abilis Systems将继续致力于技术创新和产品升级,加强在数字视频和数字广播领域的研发投入。公司将不断推出符合市场需求的新产品和解决方案,为客户提供更优质的服务和支持。同时,公司还将积极参与行业标准制定和国际合作,推动数字视频和数字广播技术的发展和应用。

法思特(FAST)公司的发展小趣事
顺序延时启动可以避免部分热水器因过度加热而浪费能源,从而提高整体能源利用效率。
Ferraz Shawmut(Mersen)公司的发展小趣事

随着电子行业的快速发展和市场竞争的加剧,Mersen面临着越来越多的挑战。然而,公司始终坚持以客户为中心的理念,通过深入了解客户需求和市场趋势,不断推出符合市场需求的新产品和技术解决方案。同时,公司也加强了与全球合作伙伴的合作与交流,共同应对市场挑战并推动行业发展。

以上五个故事概述了Ferraz Shawmut(现更名为Mersen)在电子行业中的关键发展历程。通过不断创新、全球扩张和积极应对市场挑战,公司成为了电气保护领域的领先企业。

博巨兴公司的发展小趣事

随着业务的快速发展,博巨兴公司在2004年决定扩大经营规模,将写字楼搬迁至福田区彩田路彩虹大厦。这一举措不仅提升了公司的形象,也为进一步拓展业务提供了更好的条件。同时,公司不断加强技术研发,成功取得了苏州市华芯微电子有限公司的代理权,进一步巩固了在芯片代理领域的地位。

问答坊 | AI 解惑

数字电路技术基础[文档]

数字电路技术基础,.挺基础实用的东东,呵呵。给大家分享下:P…

查看全部问答>

辩论一下--学单片机需不需要学习汇编语言,只用C语言就可以完全搞定单片机程序?

呵呵,这个讨论是一个很老套的讨论。 有很多人都议论过的。   经典的说法是:可以用C语言来进行单片机开发,但是想要真正搞懂单片机的结构原理,就要好好学学汇编语言。   现在一般的单片机开发,很少见用汇编的了,汇编语言的讲解 ...…

查看全部问答>

为什么wince6.0中模拟器启动以后黑屏?怎么解决?

wince编译完成后,在vs2005中选择Attach Device,WinCE的image就下载下来了。但是模拟器启动起来是黑的,为什么? output中显示Filesys doesn\'t exist, no app started,应如何解决?…

查看全部问答>

大家看下如何做这个网络通信的需求?

PDA端的现有程序是用C#写的基于CF2.0的程序, 目前PC端的程序是用RAPI的方式操纵PDA上的数据的. 但是这样PDA必须用线跟PC连接起来才能进行数据操作,因为PDA支持无线网络,所以这样就显的很麻烦, 设想是希望PDA与PC间通过类似于SOCKET之类的方式进 ...…

查看全部问答>

请行内过来人指点一下

我是专科毕业,工作两年了,一直从事C++,在mobile上做应用软件,今年27了,考研一直是我的一个必须要完成的任务,因为没有高数的基础,而且工作忙,所以北大北航这类学校不在我考虑的范围内,想考成电的软件学院或兰州大学,不知道各位觉得考兰大 ...…

查看全部问答>

请问我在论坛里发贴能否增加积分?

请问我在论坛里发贴能否增加积分?…

查看全部问答>

怎样用vc编写程序驱动步进电机

我想用vc作为开发工具,编写程序来控制步进电机的转动,而不是用keil软件作为开发工具,不知道行不行?如果不行的话,怎么样实现呢/…

查看全部问答>

能不能让KEIL C变聪明点?

当我们要对一个数同时做取模和取商的操作时在 KEIL C 中这样表示 unsigned int i,j,k; i=k%15; j=k/15; 复制代码 然后察看KEIL C生成的汇编码,发现它调用了两次除法子程序,实际上应该是只需要调用一次就可以的啊。 查KEIL C 的库函数好像也没 ...…

查看全部问答>