回覆列表
  • 1 # 使用者1682960230272

    delay1000ms:(HT46R65的微控制器)(注意不要開啟計時中斷允許位) mov a,10000111b (設定頻率和記數方式)(上升記數還是下降記數) mov tmr0c,a (tmr0c 計數器的控制暫存器) mov a,low(65536-31250) (設定的頻率就是1S上升31250)因此是DELAY1S mov TMR0L,a (計數器的賦予初始值的低位暫存器) mov a,high(65536-31250) mov TMR0h,a(計數器的賦予初始值的高位暫存器) set tmr0c.4 (開啟記數) snz intc0.6 (是否有中斷請求標誌)(有就跳過) jmp $-1 (退回一步) clr tmr0c.4 (關閉記數) clr intc0.6 (清除中斷標誌) ret

  • 2 # 使用者804386860247

    你會用keil的話,應該知道的,keil不是有個新增檔案麼,建好工程選對型號,新增彙編檔案,一樣編譯,生成hex就行

  • 3 # 讓時間能停留多久

    直接用mov命令操作即可。比如要在暫存器R0中寫入二進位制的10101010數值。用如下語句。MOV R0, #10101010B

  • 4 # 使用者3320155791961451

    可以有兩種方法,設晶振為12M,則 第一種方法:用延時的方法實現 DELAY: MOV R3,#10;延時子程式,延時1秒 D1: MOV R4,#200 D2: MOV R5,#250 D3: DJNZ R5,D3 DJNZ R4,D2 DJNZ R3,D1 RET END 第二種方法:用定時器的方法實現 ———— MOV R1,#20 ———— DLY: MOV TMOD,#00000001B;延時子程式,設定定時器的工作方式 D1: SETB TL0,#176(65536-50000); 15536/256 (餘數) SETB TH0,#60;設定初出溢位值50ms,定時2S (商) SETB TR0 ;啟動定時器 JNB TF0,$;是否溢位,沒有溢位等待,溢位走一條指令 CLR TF0;清零溢位 DJNZ R1,D1;走20次,剛好1秒 RET END

  • 中秋節和大豐收的關聯?
  • 淡水龜能吃海蝦嗎?