亚洲一区二区三区国产日韩欧美_日韩无码动漫精品一区_欧美日韩另类视频在线_国产极品美女扒开粉嫩小泬91_无遮挡又爽又刺激的视频_综合高清亚洲无码_天天躁夜夜躁狠狠85台湾_一区二区日韩精选_精品国产第一网站_先锋影音中文字幕51啪啪

新聞資訊
利用USART實現單片機與PC通信[PIC16F877A+匯編語言]
2010-12-01


[code="asm"]

;實驗目的:熟悉USART通信
;通過“串口調試助手”協助工作,波特率設置為19200
;串口調試助手發(fā)送數據給877,877收到后再轉發(fā)回串口助手
;硬件要求:撥碼開關S7全置ON,其他撥碼開關置OFF
#INCLUDE<P16F877A.INC>             ;調用芯片頭文件,省去特殊寄存器等的定義
__CONFIG _DEBUG_OFF&_CP_ALL&_WRT_HALF&_CPD_ON&_LVP_OFF&_BODEN_OFF&_PWRTE_ON&_WDT_OFF&_HS_OSC
;調試模式關閉,寫保護,一半ROM可在線改寫,EEPROM加密,低壓編程關閉,掉電檢測關閉,上電延時開,看門狗關,4M晶振HS振蕩
VAL_US   EQU   .249               ;短延時定時參數
VAL_MS   EQU   .200               ;長延時定時參數
COUNT    EQU    25H
COUNT_MS EQU    26H
  ORG    00H
  NOP
  GOTO   MAIN
  ORG     04H                      ;中斷入口地址
 BTFSS   PIR1,RCIF                ;判斷是否是串口接收中斷
 GOTO    EXIT                     ;否,轉中斷結束程序
 MOVF    RCREG,0                  ;讀取接收寄存器的數據
 MOVWF   TXREG                    ;保存到發(fā)送寄存器,隨后發(fā)送出去
EXIT
 RETFIE

MAIN
  USART
 BANKSEL TRISC                    ;選擇體1
 BSF     TRISC,7                  ;斷開RC模塊與USART TX引腳的聯系
 BSF     TRISC,6                  ;斷開RC模塊與USART RX引腳的聯系
 MOVLW   0CH                      ;裝載波特率發(fā)生器,為19.2kbd
 MOVWF   SPBRG          
 MOVLW   24H                      ;勢能USART,設置波特率發(fā)生器為高速方式
 MOVWF   TXSTA
 BSF     PIE1,RCIE                ;使能接收中斷
 CLRF    STATUS                   ;返回體0
 MOVLW   90H
 MOVWF   RCSTA                    ;使能USART連續(xù)接收
 BSF     INTCON,GIE               ;使能全局中斷使能位
 BSF     INTCON,PEIE              ;使能外設中斷使能位

USART_1
 CALL    DELAY_MS                 ;調用2次延時程序
 CALL    DELAY_MS
 GOTO    USART_1                     ;返回!

;*************************200ms延時程序***********************
DELAY_MS
 MOVLW   VAL_MS
 MOVWF   COUNT_MS
LOOP_MS
 CALL    DELAY_US
 DECFSZ  COUNT_MS,1
 GOTO    LOOP_MS
 RETURN

;*************************100us延時程序***********************
DELAY_US
 MOVLW   VAL_US
 MOVWF   COUNT
LOOP_US
 NOP
 DECFSZ  COUNT,1
 GOTO    LOOP_US
 RETURN

DELAY_S
 MOVLW   0FFH
 MOVWF   50H
 CALL    DELAY_MS
 DECFSZ  50H,1
 GOTO    $-2
 RETURN
 END

[/code]


關注有人微信公眾號
了解更多信息