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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

匯編語言延時程序具體應該怎么計算?

[復制鏈接]
跳轉到指定樓層
樓主
ID:165498 發表于 2017-3-2 09:26 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
二重循環模型:
   DEL:  MOV   R6,#y
   DEL1:MOV   R5,#X
   DEL2:DJNZ  R5,DEL2
            DJNZ   R6,DEL1
            RET
我知道T=2XY+3Y+3
可是,如果我要實現一個200000uS,該如何計算出X和Y的數值 ,一個方程有兩個未知數,怎么求呢?
三重循環模型:
   DEL:  MOV   R7,#Z
   DEL1:MOV   R6,#Y
   DEL2:MOV   R5,#X
   DEL3:DJNZ  R5,DEL3
            DJNZ   R6,DEL2
            DJNZ   R7,DEL1
            RET

我知道T=2XYZ+3YZ+3Z+3
該如何計算出X、Y和Z的數值 ,一個方程有3個未知數,怎么求呢?
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:7485 發表于 2017-3-2 18:19 | 只看該作者
這3個都是未知數?
先確定兩個然后計算求出第3個。
回復

使用道具 舉報

板凳
ID:111634 發表于 2017-3-2 19:58 | 只看該作者
"一個方程有兩個未知數,怎么求呢?"   那就有無數個解。先設定一個未知數,然后就有對應的解了。看來樓主數學未學好!
回復

使用道具 舉報

地板
ID:111634 發表于 2017-3-2 20:02 | 只看該作者
本帖最后由 zl2168 于 2017-3-2 20:35 編輯

【例3-24】 延時程序是單片機應用系統常用的模塊程序。試按下列要求編寫延時子程序:


延時1msfOSC=6MHz


延時10msfOSC=12MHz


延時0.5sfOSC=12MHz


解:⑴ 延時1msfOSC =6MHz,一個機器周期為2msDJNZ指令為2個機器周期。


DY1ms:     MOV      R7,#250          ;置循環次數(指令為1個機器周期)


LOP:       DJNZ      R7,LOP           ;250×2機周=500機周


RET       ;子程序返回(單獨Keil調試時,需用END替代RET


上述子程序實際延時(500 +1)機周×2ms/機周=1002ms


延時10msfOSC =12MHz,一個機器周期為1ms


DY10ms:    MOV      R6,#20           ;置外循環次數


DY1:       MOV      R7,#250          ;置內循環次數


DY2:       DJNZ      R7,DY2          ;250×2機周=500機周


DJNZ      R6,DY1           ;500機周×20=10000機周


RET                         ;子程序返回(單獨Keil調試時,需用END替代RET


實際延時[(500+2+1)×20+1]機周×1ms /機周=10061ms


延時0.5sfOSC=12MHz,一個機器周期為1ms


DY05s:     MOV      R5,#5            ;置外循環次數


DY0:       MOV      R6,#200          ;置中循環次數


DY1:       MOV      R7,#250          ;置內循環次數


DY2:       DJNZ      R7,DY2          ;250×2機周=500機周


DJNZ      R6,DY1           ;500機周×200 =100000機周


DJNZ      R5,DY0           ;100000機周×5=500000機周


RET                       ;子程序返回(單獨Keil調試時,需用END替代RET


實際延時{[(2×250+2+1)×200+2+1]×5+1}機周×1ms/機周=503016ms


以上摘自張志良編著
80C51單片機實用教程——基于Keil CProteus》高等教育出版社ISBN 978-7-04-044532-9, 用于學習51單片機原理,程序(c和匯編)語句條條有注解,便于閱讀理解,便于自學。



回復

使用道具 舉報

5#
ID:155507 發表于 2017-3-2 20:12 | 只看該作者
以某晶振為12MHz的單片機為例,晶振為12MHz即一個機器周期為1us。

計算分析:

X:R5=150 Y:R6=132 Z:R7=5

程序共有三層循環

一層循環n:R5*2 = 150*2 = 300us  (DJNZ 2us)

二層循環m:R6*(n+3) = 132*303 = 39996us   (DJNZ 2us + R5賦值 1us = 3us)

三層循環: R7*(m+3) = 5*39999 = 199995us   (DJNZ 2us + R6賦值 1us = 3us)

循環外: 5us      子程序調用 2us + 子程序返回 2us + R7賦值 1us = 5us

延時總時間 = 三層循環 + 循環外 = 199995+5 = 200000us =200ms

計算公式:延時時間=[(2*R5+3)*R6+3]*R7+5
回復

使用道具 舉報

6#
ID:123289 發表于 2017-3-4 02:11 | 只看該作者
不計算的方法:用軟件仿真運行,可以在運行結果中找到答案。不對再改。
回復

使用道具 舉報

7#
ID:165498 發表于 2017-5-19 08:48 | 只看該作者
yzwzfyz 發表于 2017-3-4 02:11
不計算的方法:用軟件仿真運行,可以在運行結果中找到答案。不對再改。

用哪個軟件仿真?
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 一区二区av | 亚洲一区电影 | 久久精品国产一区二区电影 | 亚洲网在线| 成人在线观看免费爱爱 | 麻豆国产精品777777在线 | 国产ts人妖另类 | yeyeav| 欧美激情一区二区 | 日韩中文在线视频 | 亚洲国产成人久久久 | 五月天婷婷久久 | 一级毛片视频免费观看 | 亚洲欧洲一区二区 | 找个黄色片 | 2018天天干天天操 | 亚洲精品中文字幕中文字幕 | 999久久久久久久久6666 | 国产香蕉视频 | 久久亚洲一区二区三区四区 | 日韩成人高清在线 | 在线免费小视频 | 欧美成人免费在线 | 精品国产乱码久久久久久闺蜜 | 欧美综合色 | 成人视屏在线观看 | 国产精品久久久久久久久大全 | 亚洲精品免费观看 | 91国内外精品自在线播放 | 欧美日韩精品国产 | 欧美在线a | 丁香六月伊人 | 国产97在线视频 | 亚洲视频免费在线观看 | 国产成人av免费看 | 欧美一区成人 | 亚洲精品www.| www.4hu影院| av在线一区二区三区 | 天天天操天天天干 | 国产精品一区在线 |