天堂草原最受欢迎的角色,天堂动漫,天堂在线,色天堂下载,天堂中文在线资源,亚洲男人天堂

技術熱線: 4007-888-234
設計開發

專注差異化嵌入式產品解決方案 給智能產品定制注入靈魂給予生命

開發工具

提供開發工具、應用測試 完善的開發代碼案例庫分享

技術支持

從全面的產品導入到強大技術支援服務 全程貼心伴隨服務,創造無限潛能!

新聞中心

提供最新的單片機資訊,行業消息以及公司新聞動態

PIC單片機程序設計的基本格式

更新時間: 2019-03-21
閱讀量:2629

推出兼容PIC單片機的代理商為您介紹PIC單片機程序設計的基本格式,為了快速掌握PIC單片機源程序的基本結構,這里給出一個典型的程序結構框架。建立源程序時首先用偽指令TITLE提供程序的標題,接著給出整個程序的總說明,并用列表偽指令LIST指定所用單片機型號和文件輸出格式,再利用INCLUDE偽指令讀入MPASM中提供的定義文件如《P16F84INC》,然后對片內常用資源進行定義,再給出一般程序的基本結構框架。現舉例如下。

  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

联系我们: 无棣县| 江源县| 龙井市| 新龙县| 光山县| 龙门县| 双牌县| 新郑市| 宁陕县| 兰坪| 新竹市| 大悟县| 华池县| 元朗区| 横山县| 平湖市| 南宫市| 勃利县| 竹山县| 历史| 贵德县| 榆林市| 江达县| 平利县| 油尖旺区| 东丰县| 普洱| 沈丘县| 黄平县| 正镶白旗| 新干县| 微博| 辰溪县| 陈巴尔虎旗| 迭部县| 新丰县| 黔西| 莱西市| 伽师县| 南靖县| 连江县|