人狗畜禽COMPANY LIMITED|全是肉的高H文〈男男〉|全篇肉高H秘书被C办公室四爱|全黄H全肉共妻|全黄H全肉短篇禁乱NP慕浅浅|全黄H全肉短篇N男男

技術熱線: 4007-888-234
設計開發(fā)

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

開發(fā)工具

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

技術支持

從全面的產(chǎn)品導入到強大技術支援服務 全程貼心伴隨服務,創(chuàng)造無限潛能!

新品推廣

提供新的芯片及解決方案,提升客戶產(chǎn)品競爭力

新聞中心

提供最新的單片機資訊,行業(yè)消息以及公司新聞動態(tài)

MCU程序歷程

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

       

                               

  • 中國·深圳市龍崗區(qū)坂田環(huán)城南路坂田國際中心C2棟815

  • 4007-888-234

  • enroo@enroo.com

技術支持

當前位置:單片機開發(fā)>>技術支持>>正文            

0

點擊次數(shù):856次        更新時間:2012-08-22

;****************************************************************
  LIST P=16F84A,R=DEC    ;MCU:16F84,默認數(shù)制為十進制
;-----------------------------------------------
  __CONFIG B'11111111110001';_CP_OFF&_WDT_OFF&_PWRITE_ON&_XT_OSC
                                              ;沒有代碼保護
                                              ;看門狗關閉
                                              ;上電廷時器開啟
                                              ;振蕩器模式為XT
;---------------------
RTCC       EQU 01H ;計數(shù)器
PC         EQU 02H  ;程序計數(shù)器
STATUS     EQU 03H ;狀態(tài)寄存器
PORTA      EQU 05H
PORTB      EQU 06H
INTCON     EQU 0BH

OPTION_REG EQU 1H ;81H
TRISA      EQU 5H
TRISB      EQU 6H
;-----------------------STATUS
C          EQU 0
Z          EQU 2
RP0        EQU 5 ;寄存器體選
;-------------------------INTCON
T0IF       EQU 2 ;定時器0溢出中斷標志位
T0IE       EQU 5 ;定時器0溢出中斷允許/禁止
GIE        EQU 7 ;總中斷允許/禁止
;-------------------------
TABADD     EQU 13H ;轉換數(shù)碼管地址
FLAGS      EQU 14H ;顯示位選標志位
DISPBUF_H  EQU 15H ;顯示器秒拾位
DISPBUF_L  EQU 16H ;顯示器秒個位
DIGIT      EQU 1AH      ;5ms計數(shù)器
W_TEMP     EQU 1BH      ;W現(xiàn)場保護寄存器
STATUS_TEMP EQU 1CH     ;STATUS現(xiàn)場保護寄存器
;--------------------
     ORG 0000H
     GOTO MAIN
     ORG 004H
TMR0SERV
    MOVWF W_TEMP         ;現(xiàn)場保護
    SWAPF STATUS,W       ;用SWAPF才不會影響標志位
    MOVWF STATUS_TEMP    ;將W和STATUS存入各保護寄存器

    MOVLW 100            ;送定時器初值
    MOVWF RTCC
  BCF INTCON,T0IF        ;清定時器0溢出中斷標志位

  MOVLW 0FFH
    MOVWF PORTB          ;先熄滅數(shù)碼管以免閃爍
    BSF PORTA,1
    BSF PORTA,2

    MOVLW TABLE
    MOVWF TABADD        ;將轉換表的首地址存入TABADD
    MOVFW DISPBUF_L    ;計數(shù)值(W)與轉換表的起始地址相加
    BTFSS FLAGS,1 ;FLAGS1位為1時,顯示低位
    MOVFW DISPBUF_H
    ADDWF TABADD,W
    CALL CONVERT       ;存入W后調用轉換表子程序
    MOVWF PORTB        ;送RB口顯示

    BTFSS FLAGS,1      ;根據(jù)標志位選擇是點亮那一個數(shù)碼管
    BCF PORTA,1
    BTFSC FLAGS,1
    BCF PORTA,2
    COMF FLAGS,1

  INCF DIGIT,1
  MOVLW 200      ;計數(shù)值為200后不再加1
    XORWF DIGIT,0
    BNZ TIMEND  
    CLRF DIGIT

  INCF DISPBUF_L,1 ;秒個位加1
  MOVLW 10
  XORWF DISPBUF_L,0
  BNZ TIMEND
  CLRF DISPBUF_L

  INCF DISPBUF_H,1 ;秒拾位加1
  MOVLW 10
  XORWF DISPBUF_H,0
  BNZ TIMEND
  CLRF DISPBUF_H

  
TIMEND
   SWAPF STATUS_TEMP,W     ;恢復中斷前STATUS,W的值
   MOVWF STATUS
   SWAPF W_TEMP,F
   SWAPF W_TEMP,W          ;(用SWAPF才不會影響STATUS的值)
   RETFIE
;------------------------------------------------
MAIN
   CLRF PORTA
   CLRF PORTB         ;初始化IO口

   BSF STATUS,RP0     ;設置寄存器體1
   MOVLW 00000000B  
   MOVWF TRISA
   MOVLW 00000000B
   MOVWF TRISB
   MOVLW 10000100B
   MOVWF OPTION_REG    ;預分頻器分配給定時器0,分頻比1:32
   BCF STATUS,RP0     ;恢復寄存器體0

   MOVLW 100
   MOVWF RTCC         ;定時器送初值(256-100)*32US=4.992MS,每4.992MS一次中斷
   MOVLW 0FFH         ;先讓數(shù)碼管全部不顯示
   MOVWF PORTB
   CLRF DIGIT         ;顯示計數(shù)器清0
   CLRF DISPBUF_L     ;數(shù)碼管先顯示00
   CLRF DISPBUF_H
   BCF INTCON,T0IF
   BSF INTCON,T0IE    ;定時器0溢出中斷允許
   BSF INTCON,GIE      ;總中斷允許
;--------------------------------------------------
LOOP
   GOTO LOOP         ;循環(huán)掃描

CONVERT
   MOVWF PC      ;將W寄存器內(nèi)的7段顯示碼地址放入PC
TABLE            ;PC執(zhí)行新地址指令, 跳到相對的地址執(zhí)行?
   RETLW 081H ;0 ;RETLW指令,將七段顯示碼存入W后返回
   RETLW 0E7H ;1
   RETLW 092H ;2
   RETLW 0A2H ;3
   RETLW 0E4H ;4
   RETLW 0A8H ;5
   RETLW 088H ;6
   RETLW 0E3H ;7
   RETLW 080H ;8
   RETLW 0A0H ;9
;----- -----------------------------------------------
   END


延吉市| 苍梧县| 新竹县| 甘德县| 涞源县| 东光县| 侯马市| 呼图壁县| 卢龙县| 霍州市| 监利县| 牙克石市| 连江县| 大港区| 长寿区| 科技| 新龙县| 汕尾市| 化德县| 同德县| 宝山区| 平江县| 德保县| 永清县| 女性| 新竹县| 吐鲁番市| 娄底市| 鲁甸县| 吴忠市| 米脂县| 夏河县| 体育| 正阳县| 莲花县| 安远县| 特克斯县| 龙井市| 福安市| 南昌县| 宜良县|