欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 大佬們,9600bps@11.0592MHz有沒有定時器2程序,求分享 [打印本頁]

作者: 四無青年    時間: 2021-3-7 22:35
標題: 大佬們,9600bps@11.0592MHz有沒有定時器2程序,求分享
如題
作者: 人人學會單片機    時間: 2021-3-8 00:22
定時器2 應該默認是對應串口2  ,89系列沒有串口2

作者: wwh2382    時間: 2021-3-8 21:01
還要看具體的單片機,例如STC15W408AS有定時器0和定時器2,無定時器1。
作者: Kxuan163    時間: 2021-3-8 22:50
晶振為11.0592MHZ,串行通信的波特率為9600bps民,定時器T1的工作方式2,波特率=((2的SMOD次方)x F)/(32x12x(256-N),

F是晶振頻率,SMOD是特殊功能寄存器PCON的第7位,取1或0(波特率倍增,或不倍增)。
當SMOD取0,波特率=F/(32x12x(256-N)),

定時器初裝值N =256-F/(波特率x32x12)=256-1105920/(9600x32x12)=253 ,即0FDh 即0xFD,
匯編語言程序如下:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
INIT:                       ;初始化程
MOV        TMOD,#20H  ;定時器T1工作方式2(8位自動重載計數初值)
MOV   TH1,#0FDH   ;置入初裝值
MOV  TL1,#0FDH     ;置入重裝值
MOV           SCON, #70H   ;; 設定串口工作方式1,8位UART,接收允許
ANL           PCON, #00H   ;; 波特率不倍增
SETB           TR1                ;; 啟動定時器T1
MOV           IE,   #0                ;; 禁止任何中斷
CALL    DLY125           ;; 延時125ms

SETB  TR1                  ;啟動T1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

T_X:                            ;;發送端的發送程序
MOV     R3, #9           ;; 待發送字符個數   
MOV     DPTR, #TAB_TX    ;; 數據表首址
TX_LP1:    CLR     A
MOVC    A,  @A+DPTR      ;; A←數據表的1個字符
CLR     TI               ;; TI清零,允許發送
MOV     SBUF,A           ;; 發送1個字符
JNB     TI,  $           ;; 等待1個字符幀發送結束
DJNZ    R3,  TX_next  
CALL    DLY500           ;; 延時500ms
JMP    T_X              ;; 重復發送
TX_next:                            ;; 發送另一字符
           INC     DPTR             ;; 數據表指針移動
           SJMP    TX_LP1  

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
R_X:                         ;; 接收端的接收程序
CLR     RI               ;; RI清零,允許接收字符
MOV     R3, #4           ;; 待接收字符個數
MOV     DPTR, #DAT_tab   ;; 數據表首址                    
RX_1chr:                          ;; 接收1個字符
JNB     RI, $            ;; 等待1個字符幀接收完畢         
RX_check:                         ;; 檢測收到的字符正確否
CLR     A
MOVC    A,  @A+DPTR      ;; A←數據表的1個字符
INC     DPTR             ;; 數據表指針移動
CLR     RI               ;; RI清零,允許接收字符
SJMP    RX_1chr          ;; 接收另一字符
RX_err:                           ;; 接收字符出錯處理
CALL    DLY500           ;; 延時500ms
AJMP    R_X              ;; 重新接收




作者: 冰凌主銀    時間: 2021-4-24 16:03
#include <reg51.h>  void InitTimer0(void) {     TMOD = 0x02;     TH0 = 0x00;     TL0 = 0x9C;     EA = 1;     ET0 = 1;     TR0 = 1; }  void main(void) {     InitTimer0(); }  void Timer0Interrupt(void) interrupt 1 {     TH0 = 0x00;     TL0 = 0x9C;     //add your code here! }




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1