亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? dpjjx21.htm

?? 本單片機教程是平凡老師花了大量時間
?? HTM
?? 第 1 頁 / 共 2 頁
字號:
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb_2312-80">
<META NAME="Generator" CONTENT="Microsoft FrontPage 5.0">
<TITLE>定時中斷實驗</TITLE>
<META NAME="Template" CONTENT="D:\MICROSOFT OFFICE\OFFICE\html.dot">
</HEAD>
<BODY LINK="#0000FF" VLINK="#800080" background="../back.jpg">
<FONT FACE="宋體" LANG="ZH-CN" size="2"> 
<P style="line-height: 150%; margin-top: 0; margin-bottom: 0">定時、中斷練習一</P>
</FONT><P style="line-height: 150%; margin-top: 0; margin-bottom: 0">
<font size="2" FACE="System" LANG="ZH-CN">1</font><font size="2" FACE="宋體" LANG="ZH-CN">、利用定時器實現燈的閃爍</font></P>
<FONT FACE="宋體" LANG="ZH-CN" size="2">
<P style="line-height: 150%; margin-top: 0; margin-bottom: 0">在學單片機時我們第一個例子就是燈的閃爍,那是用延時程序做的,現在回想起來,這樣做不很恰當,為什么呢?我們的主程序做了燈的閃爍,就不能再干其它的事了,難道單片機只能這樣工作嗎?當然不是,我們可以用定時器來實現燈的閃爍的功能。</P>
</FONT><P style="line-height: 150%; margin-top: 0; margin-bottom: 0">
<font size="2" FACE="宋體" LANG="ZH-CN">例</font><FONT FACE="System" LANG="ZH-CN" size="2">1</FONT><font size="2" FACE="宋體" LANG="ZH-CN">:查詢方式</font></P>
<TABLE CELLSPACING=0 BORDER=1 CELLPADDING=7 WIDTH=638>
  <TR><TD VALIGN="TOP">
<FONT FACE="System" LANG="ZH-CN">
<P style="line-height: 150%; margin-top: 0; margin-bottom: 0"><font size="2">ORG&#9;0000H</font></P>
<P style="line-height: 150%; margin-top: 0; margin-bottom: 0"><font size="2">AJMP&#9;START</font></P>
<P style="line-height: 150%; margin-top: 0; margin-bottom: 0"><font size="2">ORG&#9;30H</font></P>
<P style="line-height: 150%; margin-top: 0; margin-bottom: 0"><font size="2">START:</font></P>
<P style="line-height: 150%; margin-top: 0; margin-bottom: 0">&#9;
<font size="2">MOV&#9;P1,#0FFH  ;關所 燈</font></P>
<P style="line-height: 150%; margin-top: 0; margin-bottom: 0">&#9;
<font size="2">MOV&#9;TMOD,#00000001B ;定時/計數器0工作于方式1</font></P>
<P style="line-height: 150%; margin-top: 0; margin-bottom: 0">&#9;
<font size="2">MOV&#9;TH0,#15H&#9;</font>&#9;</P>
<P style="line-height: 150%; margin-top: 0; margin-bottom: 0">&#9;
<font size="2">MOV&#9;TL0,#0A0H  ;即數5536</font></P>
<P style="line-height: 150%; margin-top: 0; margin-bottom: 0">&#9;
<font size="2">SETB&#9;TR0&#9;    ;定時/計數器0開始運行</font></P>
<P style="line-height: 150%; margin-top: 0; margin-bottom: 0"><font size="2">LOOP:JBC&#9;TF0,NEXT ;如果TF0等于1,則清TF0并轉NEXT處</font></P>
<P style="line-height: 150%; margin-top: 0; margin-bottom: 0">&#9;
<font size="2">AJMP&#9;LOOP           ;否則跳轉到LOOP處運行</font></P>
<P style="line-height: 150%; margin-top: 0; margin-bottom: 0"><font size="2">NEXT:CPL&#9;P1.0</font></P>
<P style="line-height: 150%; margin-top: 0; margin-bottom: 0">&#9;
<font size="2">MOV&#9;TH0,#15H</font></P>
<P style="line-height: 150%; margin-top: 0; margin-bottom: 0">&#9;
<font size="2">MOV&#9;TL0,#9FH;重置定時/計數器的初值</font></P>
<P style="line-height: 150%; margin-top: 0; margin-bottom: 0">&#9;
<font size="2">AJMP&#9;LOOP</font></P>
<P style="line-height: 150%; margin-top: 0; margin-bottom: 0">&#9;
<font size="2">END&#9;AJMP&#9;LOOP</font></P>
<P style="line-height: 150%; margin-top: 0; margin-bottom: 0"><font size="2">END</font></P>
</FONT></TD>
</TR>
</TABLE>

<FONT FACE="宋體" LANG="ZH-CN">
<P style="line-height: 150%; margin-top: 0; margin-bottom: 0"> </P>
</FONT>
<P style="line-height: 150%; margin-top: 0; margin-bottom: 0">
<font size="2" FACE="宋體" LANG="ZH-CN">鍵入程序,看到了什么?燈在閃爍了,這可是用定時器做的,不再是主程序的循環了。簡單地分析一下程序,為什么用</font><font size="2"><FONT FACE="System" LANG="ZH-CN">JBC</FONT><FONT FACE="宋體" LANG="ZH-CN">呢?</FONT><FONT FACE="System" LANG="ZH-CN">TF0</FONT><FONT FACE="宋體" LANG="ZH-CN">是定時</FONT><FONT FACE="System" LANG="ZH-CN">/</FONT><FONT FACE="宋體" LANG="ZH-CN">計數器</FONT><FONT FACE="System" LANG="ZH-CN">0</FONT><FONT FACE="宋體" LANG="ZH-CN">的溢出標記位,當定時器產生溢出后,該位由</FONT><FONT FACE="System" LANG="ZH-CN">0</FONT><FONT FACE="宋體" LANG="ZH-CN">變</FONT><FONT FACE="System" LANG="ZH-CN">1</FONT><FONT FACE="宋體" LANG="ZH-CN">,所以查詢該位就可知宇時時間是否已到。該位為</FONT><FONT FACE="System" LANG="ZH-CN">1</FONT><FONT FACE="宋體" LANG="ZH-CN">后,要用軟件將標記位清</FONT><FONT FACE="System" LANG="ZH-CN">0</FONT><FONT FACE="宋體" LANG="ZH-CN">,以便下一次定時是間到時該位由</FONT><FONT FACE="System" LANG="ZH-CN">0</FONT><FONT FACE="宋體" LANG="ZH-CN">變</FONT><FONT FACE="System" LANG="ZH-CN">1</FONT><FONT FACE="宋體" LANG="ZH-CN">,所以用了</FONT><FONT FACE="System" LANG="ZH-CN">JBC</FONT><FONT FACE="宋體" LANG="ZH-CN">指令,該指位在判</FONT><FONT FACE="System" LANG="ZH-CN">1</FONT><FONT FACE="宋體" LANG="ZH-CN">轉移的同時,還將該位清</FONT><FONT FACE="System" LANG="ZH-CN">0</FONT></font><font size="2" FACE="宋體" LANG="ZH-CN">。</font></P>
<P style="line-height: 150%; margin-top: 0; margin-bottom: 0"> 
<font size="2" FACE="宋體" LANG="ZH-CN">以上程序是可以實現燈的閃爍了,可是主程序除了讓燈閃爍外,還是不能做其他的事啊!不,不對,我們可以在</font><font size="2"><FONT FACE="System" LANG="ZH-CN">LOOP</FONT><FONT FACE="宋體" LANG="ZH-CN">:</FONT><FONT FACE="System" LANG="ZH-CN">……</FONT><FONT FACE="宋體" LANG="ZH-CN">和</FONT><FONT FACE="System" LANG="ZH-CN">AJMP&#9;LOOP</FONT><FONT FACE="宋體" LANG="ZH-CN">指令之間插入一些指令來做其他的事情,只要保證執行這些指令的時間少于定時時間就行了。那我們在用軟件延時程序的時候不是也可以用一些指令來替代</FONT><FONT FACE="System" LANG="ZH-CN">DJNZ</FONT><FONT FACE="宋體" LANG="ZH-CN">嗎?是的,但是那就要求你精確計算所用指令的時間,然后再減去相應的</FONT><FONT FACE="System" LANG="ZH-CN">DJNZ</FONT></font><font size="2" FACE="宋體" LANG="ZH-CN">循環次數,很不方便,而現在只要求所用指令的時間少于定時時間就行,顯然要求低了。當然,這樣的方法還是不好,所以我們常用以下的方法來實現。</font></P>
<P style="line-height: 150%; margin-top: 0; margin-bottom: 0">
<font size="2" FACE="宋體" LANG="ZH-CN">程序</font><FONT FACE="System" LANG="ZH-CN" size="2">2</FONT><font size="2" FACE="宋體" LANG="ZH-CN">:用中斷實現</font></P>
<TABLE CELLSPACING=0 BORDER=1 CELLPADDING=7 WIDTH=641>
  <TR> 
    <TD VALIGN="TOP"> <FONT FACE="System" LANG="ZH-CN"> 
      <P style="line-height: 150%; margin-top: 0; margin-bottom: 0">
      <font size="2">ORG&#9;0000H</font></P>
      <P style="line-height: 150%; margin-top: 0; margin-bottom: 0">
      <font size="2">AJMP&#9;START</font></P>
      <P style="line-height: 150%; margin-top: 0; margin-bottom: 0">
      <font size="2">ORG&#9;000BH ;定時器0的中斷向量地址</font></P>
      <P style="line-height: 150%; margin-top: 0; margin-bottom: 0">
      <font size="2">AJMP&#9;TIME0&#9;;跳轉到真正的定時器程序處</font></P>
      <P style="line-height: 150%; margin-top: 0; margin-bottom: 0">
      <font size="2">ORG&#9;30H</font></P>
      <P style="line-height: 150%; margin-top: 0; margin-bottom: 0">
      <font size="2">START:</font></P>
      <P style="line-height: 150%; margin-top: 0; margin-bottom: 0">&#9;
      <font size="2">MOV&#9;P1,#0FFH ;關所 燈</font></P>
      <P style="line-height: 150%; margin-top: 0; margin-bottom: 0">&#9;
      <font size="2">MOV&#9;TMOD,#00000001B ;定時/計數器0工作于方式1</font></P>
      <P style="line-height: 150%; margin-top: 0; margin-bottom: 0">&#9;
      <font size="2">MOV&#9;TH0,#15H&#9;</font>&#9;</P>
      <P style="line-height: 150%; margin-top: 0; margin-bottom: 0">&#9;
      <font size="2">MOV&#9;TL0,#0A0H ;即數5536</font></P>
      <P style="line-height: 150%; margin-top: 0; margin-bottom: 0">&#9;
      <font size="2">SETB&#9;EA&#9;;開總中斷允許</font></P>
      <P style="line-height: 150%; margin-top: 0; margin-bottom: 0">&#9;
      <font size="2">SETB&#9;ET0&#9;;開定時/計數器0允許</font></P>
      <P style="line-height: 150%; margin-top: 0; margin-bottom: 0">
      <font size="2">SETB&#9;TR0&#9;#9; ;定時/計數器0開始運行</font></P>
      <P style="line-height: 150%; margin-top: 0; margin-bottom: 0">
      <font size="2">LOOP:&#9;AJMP&#9;LOOP&#9;;真正工作時,這里可寫任意程序</font></P>
      <P style="line-height: 150%; margin-top: 0; margin-bottom: 0">
      <font size="2">TIME0:&#9;&#9;&#9;;定時器0的中斷處理程序</font></P>
      <P style="line-height: 150%; margin-top: 0; margin-bottom: 0">&#9;
      <font size="2">PUSH&#9;ACC</font></P>
      <P style="line-height: 150%; margin-top: 0; margin-bottom: 0">
      <font size="2">PUSH&#9;PSW&#9;;將PSW和ACC推入堆棧保護</font></P>
      <P style="line-height: 150%; margin-top: 0; margin-bottom: 0">&#9;
      <font size="2">CPL&#9;P1.0&#9;</font>&#9;</P>
      <P style="line-height: 150%; margin-top: 0; margin-bottom: 0">&#9;
      <font size="2">MOV&#9;TH0,#15H</font></P>
      <P style="line-height: 150%; margin-top: 0; margin-bottom: 0">&#9;
      <font size="2">MOV&#9;TL0,#0A0H&#9;;重置定時常數</font></P>
      <P style="line-height: 150%; margin-top: 0; margin-bottom: 0">&#9;
      <font size="2">POP&#9;PSW</font></P>
      <P style="line-height: 150%; margin-top: 0; margin-bottom: 0">&#9;
      <font size="2">POP&#9;ACC</font></P>
      <P style="line-height: 150%; margin-top: 0; margin-bottom: 0">&#9;
      <font size="2">RETI</font></P>
      <P style="line-height: 150%; margin-top: 0; margin-bottom: 0">
      <font size="2">END</font></P>
      </FONT></TD>
  </TR>
</TABLE>

<FONT FACE="宋體" LANG="ZH-CN">
<P style="line-height: 150%; margin-top: 0; margin-bottom: 0"> </P>
</FONT><P style="line-height: 150%; margin-top: 0; margin-bottom: 0">
<font size="2" FACE="宋體" LANG="ZH-CN">上面的例子中,定時時間一到,</font><font size="2"><FONT FACE="System" LANG="ZH-CN">TF0</FONT><FONT FACE="宋體" LANG="ZH-CN">由</FONT><FONT FACE="System" LANG="ZH-CN">0</FONT><FONT FACE="宋體" LANG="ZH-CN">變</FONT><FONT FACE="System" LANG="ZH-CN">1</FONT><FONT FACE="宋體" LANG="ZH-CN">,就會引發中斷,</FONT><FONT FACE="System" LANG="ZH-CN">CPU</FONT><FONT FACE="宋體" LANG="ZH-CN">將自動轉至</FONT><FONT FACE="System" LANG="ZH-CN">000B</FONT><FONT FACE="宋體" LANG="ZH-CN">處尋找程序并執行,由于留給定時器中斷的空間只有</FONT><FONT FACE="System" LANG="ZH-CN">8</FONT><FONT FACE="宋體" LANG="ZH-CN">個字節,顯然不足以寫下所有有中斷處理程序,所以在</FONT><FONT FACE="System" LANG="ZH-CN">000B</FONT><FONT FACE="宋體" LANG="ZH-CN">處安排一條跳轉指令,轉到實際處理中斷的程序處,這樣,中斷程序可以寫在任意地方,也可以寫任意長度了。進入定時中斷后,首先要保存當前的一些狀態,程序中只演示了保存存</FONT><FONT FACE="System" LANG="ZH-CN">ACC</FONT><FONT FACE="宋體" LANG="ZH-CN">和</FONT><FONT FACE="System" LANG="ZH-CN">PSW</FONT></font><font size="2" FACE="宋體" LANG="ZH-CN">,實際工作中應該根據需要將可能會改變的單元的值都推入堆棧進行保護(本程序中實際不需保存護任何值,這里只作個演示)。</font></P>
<P style="line-height: 150%; margin-top: 0; margin-bottom: 0">
<font size="2" FACE="宋體" LANG="ZH-CN">上面的兩個程序運行后,我們發現燈的閃爍非常快,根本分辨不出來,只是視覺上感到燈有些晃動而已,為什么呢?我們可以計算一下,定時器中預置的數是</font><font size="2"><FONT FACE="System" LANG="ZH-CN">5536</FONT><FONT FACE="宋體" LANG="ZH-CN">,所以每計</FONT><FONT FACE="System" LANG="ZH-CN">60000</FONT><FONT FACE="宋體" LANG="ZH-CN">個脈沖就是定時時間到,這</FONT><FONT FACE="System" LANG="ZH-CN">60000</FONT><FONT FACE="宋體" LANG="ZH-CN">個脈沖的時間是多少呢?我們的晶振是</FONT><FONT FACE="System" LANG="ZH-CN">12M</FONT><FONT FACE="宋體" LANG="ZH-CN">,所以就是</FONT><FONT FACE="System" LANG="ZH-CN">60000</FONT><FONT FACE="宋體" LANG="ZH-CN">微秒,即</FONT><FONT FACE="System" LANG="ZH-CN">60</FONT><FONT FACE="宋體" LANG="ZH-CN">毫秒,因此速度是非常快的。如果我想實現一個</FONT><FONT FACE="System" LANG="ZH-CN">1S</FONT><FONT FACE="宋體" LANG="ZH-CN">的定時,該怎么辦呢?在該晶振瀕率下,最長的定時也就是</FONT><FONT FACE="System" LANG="ZH-CN">65</FONT><FONT FACE="宋體" LANG="ZH-CN">。</FONT><FONT FACE="System" LANG="ZH-CN">536</FONT></font><font size="2" FACE="宋體" LANG="ZH-CN">個毫秒啊!上面給出一個例子。</font></P>
<TABLE CELLSPACING=0 BORDER=1 CELLPADDING=7 WIDTH=631>
  <TR><TD VALIGN="TOP">
<FONT FACE="System" LANG="ZH-CN">
<P style="line-height: 150%; margin-top: 0; margin-bottom: 0"><font size="2">ORG&#9;0000H</font></P>
<P style="line-height: 150%; margin-top: 0; margin-bottom: 0"><font size="2">AJMP&#9;START</font></P>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产色产综合产在线视频| 久久综合久久久久88| 一区二区久久久久| 国产精品美女视频| 久久亚洲二区三区| 久久久久久久久久久久久久久99 | 欧美婷婷六月丁香综合色| 成人一级黄色片| 国产99久久久久久免费看农村| 精品无人码麻豆乱码1区2区| 日韩影视精彩在线| 国产精品亲子乱子伦xxxx裸| 欧美一区二区黄| 欧美久久久久久久久| 99国产精品久| 国产不卡视频在线观看| 老汉av免费一区二区三区| 水蜜桃久久夜色精品一区的特点| 久久综合国产精品| 99久久久精品| av不卡免费电影| 国产成人在线电影| 久久国产精品露脸对白| 亚洲自拍与偷拍| 午夜精品视频在线观看| 夜夜嗨av一区二区三区网页| 亚洲女子a中天字幕| 国产精品欧美一区喷水| 国产农村妇女毛片精品久久麻豆 | 国产精品久久久99| 久久人人97超碰com| 亚洲三级在线看| 亚洲国产精品国自产拍av| 国产v日产∨综合v精品视频| 成人国产精品免费观看动漫 | 日韩一区二区中文字幕| 精品福利一区二区三区免费视频| 国产一区二区视频在线| 91老司机福利 在线| www激情久久| 天堂久久一区二区三区| 99re免费视频精品全部| 欧美精品一区二区三区久久久| 欧美激情一区二区三区不卡 | 狠狠色狠狠色综合| 在线播放亚洲一区| 亚洲国产综合色| 成人av综合在线| 国产亚洲人成网站| 久久99九九99精品| 欧美电视剧免费观看| 午夜精彩视频在线观看不卡| 色国产精品一区在线观看| 在线观看视频一区二区 | 91年精品国产| 精品国产污网站| 91精品在线麻豆| 国产黄色精品视频| 在线视频国内自拍亚洲视频| 91同城在线观看| 欧美三级韩国三级日本一级| 日韩免费成人网| 久久久久久久久久久99999| 久久无码av三级| 国产精品的网站| 天天免费综合色| 丁香六月久久综合狠狠色| 欧美日韩的一区二区| 日韩一区二区影院| 亚洲欧洲99久久| 老鸭窝一区二区久久精品| 91麻豆自制传媒国产之光| 欧美日韩亚州综合| 久久九九99视频| 蜜桃久久av一区| 在线观看一区日韩| 日韩久久久精品| 韩国精品主播一区二区在线观看| 另类小说欧美激情| 在线精品国精品国产尤物884a| av在线综合网| 美女视频第一区二区三区免费观看网站 | 国产精品88888| 中文字幕av一区二区三区| 日韩欧美第一区| 亚洲成在线观看| 99精品热视频| 美女www一区二区| 一区二区激情小说| 欧美极品另类videosde| 3d成人h动漫网站入口| 波波电影院一区二区三区| 日本vs亚洲vs韩国一区三区 | 欧美视频一二三区| 国产午夜精品久久久久久免费视| 肉色丝袜一区二区| 欧美大白屁股肥臀xxxxxx| 久久精品国产99| 精品国产91洋老外米糕| 捆绑变态av一区二区三区| 欧美成人猛片aaaaaaa| 日韩成人dvd| 欧美熟乱第一页| 一区二区三区国产| 欧美视频一区二区三区在线观看| 亚洲伦理在线免费看| 91精品免费观看| 91免费国产在线观看| 亚洲成人免费在线观看| 日韩一区二区免费高清| 国产精品888| 污片在线观看一区二区| 精品成人在线观看| 色婷婷久久久久swag精品| 日韩成人免费看| 国产精品久久三| 日韩精品一区二区三区中文不卡| 国内成人精品2018免费看| 久久久精品黄色| 欧美日韩精品福利| 日韩欧美不卡一区| 99久久国产综合精品麻豆| 99精品欧美一区| 久久se这里有精品| 国产91在线|亚洲| 91香蕉视频污| 91精品蜜臀在线一区尤物| 精品国产青草久久久久福利| 亚洲视频狠狠干| 欧美韩国日本一区| 日韩一区二区免费视频| 国产久卡久卡久卡久卡视频精品| 午夜精品一区二区三区电影天堂| 国产精品色哟哟| 一区二区三区自拍| 欧美视频中文一区二区三区在线观看| 久久久99精品久久| 久久色视频免费观看| 久久久久久久久久久黄色| 欧美国产成人精品| 国产九九视频一区二区三区| 亚洲一二三级电影| 久久99久久99精品免视看婷婷| 国产一区视频在线看| 成人av资源站| 欧美精品亚洲一区二区在线播放| 欧美一区二区三区日韩| 国产人伦精品一区二区| 一区二区三区四区在线免费观看 | 成人综合婷婷国产精品久久免费| 91视频.com| 4438x亚洲最大成人网| 久久这里只精品最新地址| 国产精品另类一区| 精品国产乱码久久久久久1区2区 | 欧美性大战久久久久久久蜜臀| 7777精品久久久大香线蕉| 国产欧美日韩视频一区二区 | 久久精品999| 色综合天天视频在线观看| 欧美一二三四在线| 专区另类欧美日韩| 精品一区二区三区蜜桃| 91美女在线看| 久久久久久免费毛片精品| 亚洲主播在线播放| 成人一区二区视频| 日韩免费性生活视频播放| 亚洲人成在线播放网站岛国| 国产制服丝袜一区| 911精品国产一区二区在线| 日韩美女啊v在线免费观看| 国内欧美视频一区二区| 91麻豆精品国产91久久久资源速度| 国产精品午夜春色av| 精品一区二区精品| 欧美精品日韩一本| 亚洲国产婷婷综合在线精品| 成人动漫av在线| 国产喷白浆一区二区三区| 韩国v欧美v日本v亚洲v| 日韩视频一区二区三区在线播放| 国产精品乱子久久久久| 国产黄色精品视频| 精品国产sm最大网站免费看| 日韩影院免费视频| 欧美日韩精品是欧美日韩精品| 亚洲色图视频网站| caoporn国产精品| 国产精品久久久久久久浪潮网站| 男男视频亚洲欧美| 在线电影一区二区三区| 亚洲va在线va天堂| 欧美日韩国产另类不卡| 亚洲国产成人av| 精品视频在线看| 亚洲高清免费观看| 777久久久精品| 美女视频网站久久| 日韩欧美另类在线|