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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1710|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

煩請?jiān)斀庖幌聠纹瑱C(jī)匯編延時(shí)程序的計(jì)算方法?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:791420 發(fā)表于 2020-6-28 02:26 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
ORG   0000H           ;
LJMP  MAIN            ;轉(zhuǎn)主程序
ORG   0003H           ;INT0中斷服務(wù)入口地址
LJMP  L1              ;轉(zhuǎn)INT0高優(yōu)先級中斷服務(wù)程序
ORG   0013H           ;INT1中斷服務(wù)入口地址
LJMP  L2              ;轉(zhuǎn)INT1高優(yōu)先級中斷服務(wù)程序
ORG   0100H           ;設(shè)置主程序起始地址
MAIN: SETB EA         ;CPU開放中斷
          SETB EX0        ;允許外部中斷0中斷
          SETB EX1        ;允許外部中斷1中斷
          SETB PX0        ;外部中斷0設(shè)置為高優(yōu)先級
          SETB IT0        ;設(shè)置外部中斷0為跳沿觸發(fā)方式
          SETB IT1        ;設(shè)置外部中斷1為跳沿觸發(fā)方式
          MOV SP,#70H     ;設(shè)置堆棧為70H
          MOV A,#0FFH     ;將0FFH賦值給累加器
  FR: MOV P1,A        ;將累加器的值給P1
          ACALL DELAY1S   ;調(diào)用1秒延時(shí)子程序
          CPL A           ;對累加器值取反
          SJMP FR         ;循環(huán)
  L1: PUSH ACC        ;將累加器的值暫時(shí)存于堆棧
      MOV A,#80H      ;將80H賦值給A
      MOV P1,A        ;將累加器的值給P1
          ACALL DELAY1S   ;調(diào)用1秒延時(shí)子程序
LOOP1:RR A            ;累加器循環(huán)右移
          MOV P1,A        ;將累加器的值給P1
          ACALL DELAY1S   ;調(diào)用1秒延時(shí)子程序
          JB P1.0,N2      ;P1.0判斷為1則跳轉(zhuǎn)N2
          AJMP LOOP1      ;循環(huán)
  L2: PUSH ACC        ;將累加器的值暫時(shí)存于堆棧
      MOV A,#7FH      ;將7FH賦值給A
          MOV P1,A        ;將累加器的值給P1
          ACALL DELAY1S   ;調(diào)用1秒延時(shí)子程序
LOOP2:RR A            ;累加器循環(huán)右移
          MOV P1,A        ;將累加器的值給P1
          ACALL DELAY1S   ;調(diào)用1秒延時(shí)子程序
          JNB P1.0,N2     ;P1.0判斷不為1則跳轉(zhuǎn)N2
          AJMP LOOP2      ;循環(huán)
   N2:POP ACC         ;從堆棧取出累加器的值
      RETI            ;中斷返回
DELAY1S:MOV R5,#10    ;1秒延時(shí)子程序
DELAY0 :MOV R6,#200   
DELAY1 :MOV R7,#123                           
DELAY2:DJNZ R7,DELAY2
       DJNZ R6,DELAY1
           DJNZ R5,DELAY0
           RET                          
          END





以上程序全文,想知道最后的一秒延時(shí)子程序是怎么實(shí)現(xiàn)的,那個(gè)延時(shí)一秒的計(jì)算是怎么算出來的

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:767423 發(fā)表于 2020-6-28 08:18 | 只看該作者
這個(gè)是精確補(bǔ)償?shù)陌伞R郧拔叶际撬銈(gè)大概:(DJNZ R7,DELAY2)2個(gè)機(jī)器周期 x 123 x 200 x 10 =1000000us這里應(yīng)該是6MHz的晶振,一個(gè)機(jī)器周期是2us。精確計(jì)算,要把每條指令所用的時(shí)間也要算進(jìn)去。
回復(fù)

使用道具 舉報(bào)

板凳
ID:791420 發(fā)表于 2020-6-28 11:45 | 只看該作者
hsl32 發(fā)表于 2020-6-28 08:18
這個(gè)是精確補(bǔ)償?shù)陌伞R郧拔叶际撬銈(gè)大概:(DJNZ R7,DELAY2)2個(gè)機(jī)器周期 x 123 x 200 x 10 =1000000us這 ...

謝謝,我明白了
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表