久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1516|回復: 2
打印 上一主題 下一主題
收起左側

煩請詳解一下單片機匯編延時程序的計算方法?

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





以上程序全文,想知道最后的一秒延時子程序是怎么實現的,那個延時一秒的計算是怎么算出來的

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

使用道具 舉報

沙發
ID:767423 發表于 2020-6-28 08:18 | 只看該作者
這個是精確補償的吧。以前我都是算個大概:(DJNZ R7,DELAY2)2個機器周期 x 123 x 200 x 10 =1000000us這里應該是6MHz的晶振,一個機器周期是2us。精確計算,要把每條指令所用的時間也要算進去。
回復

使用道具 舉報

板凳
ID:791420 發表于 2020-6-28 11:45 | 只看該作者
hsl32 發表于 2020-6-28 08:18
這個是精確補償的吧。以前我都是算個大概:(DJNZ R7,DELAY2)2個機器周期 x 123 x 200 x 10 =1000000us這 ...

謝謝,我明白了
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩一级免费电影 | 免费国产视频 | 精品一区二区三区四区五区 | 性一交一乱一伦视频免费观看 | 欧美在线一区二区三区 | 国产精品久久久久久久白浊 | 狠狠天天| av成年人网站 | 亚洲入口 | 成人免费一区二区三区视频网站 | 国产麻豆乱码精品一区二区三区 | 日本久久网 | 国产一级在线观看 | 日本一道本 | 欧美成人一级视频 | 欧美1页 | 日韩一区二区av | 男女午夜激情视频 | 日韩成人中文字幕 | 中文久久 | 色永久| 国产激情网站 | 一级毛片视频 | 亚洲免费av一区 | 欧美1页 | 日日干干夜夜 | 中文字幕在线观看第一页 | 色www精品视频在线观看 | av免费网站在线 | 欧美亚洲国产一区二区三区 | 精品视频一区二区三区 | 九九久久国产精品 | 九九九久久国产免费 | 欧美福利精品 | 午夜影院在线观看视频 | 久久成人av| 成人免费在线视频 | www视频在线观看 | 亚洲国产精选 | 久久不卡 | 日韩在线免费视频 |