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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機匯編延時問題

[復制鏈接]
跳轉到指定樓層
樓主
這段程序是用來檢測是否有設備接入    三個設備有信號時分別給 01H 02H 03H會寫入#0  延時一段時間 如果這段時間內又收到設備信號  會從新給01H 02H 03H寫入#0  超過時間沒收到信號 圖中的程序就會調用顯示無信號輸入
按照圖中的程序延時大概5秒就執行調用顯示無信號    去掉21H或22H其中一個瞬間就計數到40 調用顯示無信號  21H和22H設置成任何數都不影響這段程序總體延時大概5秒左右   
為什么去掉DJNZ 20H,LOOP;或DJNZ 21H,LOOP;時間會差這么多    以前也遇到過 就是沒搞明白什么原因

51hei截圖20210215160830.png (31.89 KB, 下載次數: 53)

51hei截圖20210215160830.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:283954 發表于 2021-2-16 17:15 | 只看該作者
LOOP:
DJNZ 20H, LOOP  ;這一句跑了255次才到zero,跳下一行
DINZ 21H. LOOP ;這句也會跑255次,而每跑一次都會跳回上面的loop處,直到最后一次zero才跳下一行。

因此第一行得跑255 X 255次= 65025次,才會跳出LOOPING,延時當然很長。

回復

使用道具 舉報

板凳
ID:261025 發表于 2021-2-17 07:52 來自觸屏版 | 只看該作者
dalaoshi 發表于 2021-2-16 17:15
LOOP:
DJNZ 20H, LOOP  ;這一句跑了255次才到zero,跳下一行
DINZ 21H. LOOP ;這句也會跑255次,而每跑 ...

為啥是255  不是放進去的0嗎     
回復

使用道具 舉報

地板
ID:809671 發表于 2021-2-17 14:36 | 只看該作者
DJNZ 是 "先減一" 不為零則轉移的指令
0-1=?
回復

使用道具 舉報

5#
ID:155507 發表于 2021-2-17 17:24 | 只看該作者
418854190 發表于 2021-2-17 07:52
為啥是255  不是放進去的0嗎

DJNZ指令首先遞減第一個操作數指示的字節,如果結果值不為零,則跳轉到第二個操作數指定的地址。

0 遞減后 是255
回復

使用道具 舉報

6#
ID:261025 發表于 2021-2-17 21:46 來自觸屏版 | 只看該作者
leehk88 發表于 2021-2-17 14:36
DJNZ 是 "先減一" 不為零則轉移的指令
0-1=?

我之前給20H21H#200 感覺和給#0的時間沒差別啊   
回復

使用道具 舉報

7#
ID:809671 發表于 2021-2-18 13:22 | 只看該作者
418854190 發表于 2021-2-17 21:46
我之前給20H21H#200 感覺和給#0的時間沒差別啊

請問你根據甚麼數據定出 20H & 21H =200 =延遲5秒?
工作頻率,DJNZ時鐘週期,循環次數......
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表