婷婷亚洲天堂影院-国产精品豆花视频www-伊人影院在线观看-日本少妇浓毛bbwbbwbbw-av网站观看-亚州欧美在线-91精品国产乱码久-任我爽精品视频在线播放-日本视频不卡-亚洲国产精品va在线观看香蕉-国产毛片乡下农村妇女-国产成人免费ā片在线观看老同学-欧美日韩免费在线-成人无码视频免费播放-色综合美女-免费毛片av

電子開(kāi)發(fā)網(wǎng)

電子開(kāi)發(fā)網(wǎng)電子設(shè)計(jì) | 電子開(kāi)發(fā)網(wǎng)Rss 2.0 會(huì)員中心 會(huì)員注冊(cè)
搜索: 您現(xiàn)在的位置: 電子開(kāi)發(fā)網(wǎng) >> 電子開(kāi)發(fā) >> 單片機(jī) >> 正文

4課:第一個(gè)單片機(jī)小程序

作者:佚名    文章來(lái)源:本站原創(chuàng)    點(diǎn)擊數(shù):    更新時(shí)間:2017/4/26

  上一次我們的程序?qū)嵲谑菦](méi)什么用,要燈亮還要重寫一下片子,下面我們要讓燈持續(xù)地閃爍,這就有一定的實(shí)用價(jià)值了,比如能把它當(dāng)成汽車上的一個(gè)信號(hào)燈用了。怎樣才能讓燈持續(xù)地閃爍呢?實(shí)際上就是要燈亮一段時(shí)間,再滅一段時(shí)間,也就是說(shuō)要P10持續(xù)地輸出高和低電平。怎樣實(shí)現(xiàn)這個(gè)要求呢?請(qǐng)考慮用下面的指令是否可行:

SETB P1.0

CLR P1.0 ……

這是不行的,有兩個(gè)問(wèn)題,第一,計(jì)算機(jī)執(zhí)行指令的時(shí)間很快,執(zhí)行完SETB P1.0后,燈是滅了,但在極短時(shí)間(微秒級(jí))后,計(jì)算機(jī)又執(zhí)行了CLR P1.0指令,燈又亮了,所以根本分辨不出燈曾滅過(guò)。第二,在執(zhí)行完CLR P10后,不會(huì)再去執(zhí)行SETB P1.0指令,所以以后再也沒(méi)有機(jī)會(huì)讓滅了。

  為了解決這兩個(gè)問(wèn)題,我們能做如下設(shè)想,第一,在執(zhí)行完SETB P1.0后,延時(shí)一段時(shí)間(幾秒或零點(diǎn)幾秒)再執(zhí)行第二條指令,就能分辨出燈曾滅過(guò)了。第二在執(zhí)行完第二條指令后,讓計(jì)算機(jī)再去執(zhí)行第一條指令,持續(xù)地在原地兜圈,我們稱之為"循環(huán)",這樣就能完成任務(wù)了。

以下先給出程序(后面括號(hào)中的數(shù)字是為了便于講解而寫的,實(shí)際不用輸入):

;主程序:
LOOP: SETB P1.0    ;(1)熄滅燈
LCALL DELAY        ;(2)延時(shí)一段時(shí)間
CLR P1.0           ;(3)點(diǎn)亮燈
LCALL DELAY        ;(4)延時(shí)一段時(shí)間
AJMP LOOP          ;(5)跳轉(zhuǎn)到第一句LOOP處

;以下子程序
DELAY: MOV R7,#250 ;(6)
D1: MOV R6,#250    ;(7)
D2: DJNZ R6,D2     ;(8)
       DJNZ R7,D1  ;(9)
       RET         ;(10)
END                ;(11)

本例keil工程文件點(diǎn)擊這里下載 keil單片機(jī),閃爍燈匯編程序

按上面的設(shè)想分析一下前面的五條指令。

  第一條是讓燈滅,第二條應(yīng)當(dāng)是延時(shí),第三條是讓燈亮,第四條和第二條一模一樣,也是延時(shí),第五條應(yīng)當(dāng)是轉(zhuǎn)去執(zhí)行第一條指令。第二和第四條實(shí)現(xiàn)的原理稍后談,先看第五條,AJMP是一條指令,意思是轉(zhuǎn)移,往什么地方轉(zhuǎn)移呢?后面跟的是LOOP,看一下,什么地方還有LOOP,對(duì)了,在第一條指令的前面有一個(gè)LOOP,所以很直觀地,我們能認(rèn)識(shí)到,它要轉(zhuǎn)到第一條指令處。這個(gè)第一條指令前面的LOOP被稱之為標(biāo)號(hào),它的用途就是給這一行起一個(gè)名字,便于使用。是否一定要給它起名叫LOOP呢?當(dāng)然不是,起什么名字,完全由編程序的人決定,能稱它為A,X等等,當(dāng)然,這個(gè)時(shí)候,第五條指令A(yù)JMP后面的名字也得跟著改了。

  第二條和第四條指令的用途是延時(shí),它是怎樣實(shí)現(xiàn)的呢?指令的形式是LCALL,這條指令稱為調(diào)用子程序指令,看一下指令后面跟的是什么,DELAY,找一下DELAY,在第六條指令的前面,顯然,這也是一個(gè)標(biāo)號(hào)。這條指令的作用是這樣的:當(dāng)執(zhí)行LCALL指令時(shí),程序就轉(zhuǎn)到LCALL后面的標(biāo)號(hào)所標(biāo)定的程序處執(zhí)行,如果在執(zhí)行指令的過(guò)程中遇到RET指令,則程序就返回到LCALL指令的下面的一條指令繼續(xù)執(zhí)行,從第六行開(kāi)始的指令中,能看到確實(shí)有RET指令。在執(zhí)行第二條指令后,將轉(zhuǎn)去執(zhí)行第6條指令,而在執(zhí)行完6,7,8,9條指令后將遇到第10條令:RET,執(zhí)行該條指令后,程序?qū)⒒貋?lái)執(zhí)行第三條指令,即將P10清零,使燈亮,然后又是第四條指令,執(zhí)行第四條指令就是轉(zhuǎn)去執(zhí)行第6,7,8,9,10條指令,然后回來(lái)執(zhí)行第5條指令,第5條指令就是讓程序回到第1條開(kāi)始執(zhí)行,如此周而復(fù)始,燈就在持續(xù)地亮、滅了。

  在標(biāo)號(hào)DELAY標(biāo)志的這一行到RET這一行中的所有程序,這是一段延時(shí)程序,大概延時(shí)零點(diǎn)幾秒,至于具體的時(shí)間,以后我們?cè)賹W(xué)習(xí)如何計(jì)算。 程序的最后一行是END,這不是一條指令,它只是告訴我們程序到此結(jié)束,它被稱為"偽指令"。

   單片機(jī)內(nèi)部結(jié)構(gòu)分析:為了知道延時(shí)程序是如何工作的,我們必需首先了解延時(shí)程序中出現(xiàn)的一些符號(hào),就從R1開(kāi)始,R1被稱之為工作寄存器。什么是工作寄存器呢?讓我們從現(xiàn)實(shí)生活中來(lái)找找答案。如果出一道數(shù)學(xué)題:123+567,讓你回答結(jié)果是多少,你會(huì)馬上答出是690,再看下面一道題:123+567+562,要讓你要上回答,就不這么不難了吧?我們會(huì)怎樣做呢?如果有張紙,就不難了,我們先算出123+567=690,把690寫在紙上,然后再算690+562得到結(jié)果是1252。這其中1252是我們想要的結(jié)果,而690并非我們所要的結(jié)果,但是為了得到最終結(jié)果,我們又不得不先算出690,并記下來(lái),這其實(shí)是一個(gè)中間結(jié)果,計(jì)算機(jī)中做運(yùn)算和這個(gè)類似,為了要得到最終結(jié)果,一般要做很多步的中間結(jié)果,這些中間結(jié)果要有個(gè)地方放才行,把它們放哪呢?放在前面提到過(guò)的ROM中能嗎?顯然不行,因?yàn)橛?jì)算機(jī)要將結(jié)果寫進(jìn)去,而ROM是不能寫的,所以在單片機(jī)中另有一個(gè)區(qū)域稱為RAM區(qū)(RAM是隨機(jī)存取存儲(chǔ)器的英文縮寫),它能將數(shù)據(jù)寫進(jìn)去。 特別地,在MCS-51單片機(jī)中,將RAM中分出一塊區(qū)域,稱為工作寄存器區(qū),上面程序用到的R6,R7就是在這個(gè)區(qū)里面,這我們會(huì)在第7課有詳細(xì)的介紹。其實(shí)如果我們用C語(yǔ)言來(lái)寫程序的話用根本不用了解工作寄存器這個(gè)概念了因?yàn)镃編譯器會(huì)自動(dòng)處理.看上面的程序如果用c來(lái)寫就是

#include <at89x52.h>

void DELAY()   //延時(shí)函數(shù)
{ unsigned char i,j;
    for(i=0;i<250;i++)
    {
        for(j=0;j<200;j++);
    } 
}

void main() //程序從這里開(kāi)始執(zhí)行
{
while(1) //這句的作用就是反復(fù)的執(zhí)行下面這個(gè){}中包含的4句
    {
     P1_0=1;  //(1)熄滅燈
     DELAY(); //(2)延時(shí)一段時(shí)間
     P1_0=0;  //(3)點(diǎn)亮燈
     DELAY(); //(4)延時(shí)一段時(shí)間
    }
}

   在匯編例子中程序是從第一條語(yǔ)句開(kāi)始執(zhí)行的,而c不同在c語(yǔ)言里程序是從main() 這里開(kāi)始執(zhí)行的,關(guān)于(1)(2)(3)(4) 這幾句的解釋和上面的匯編一樣,不再敖述。循環(huán)部分這里是用了一個(gè)while(1) 語(yǔ)句下面打了一個(gè)大括號(hào),這樣大括號(hào)中的這4條語(yǔ)句就會(huì)按(1)->(2)->(3)->(4) ->(1)->(2)->(3)->(4) ->(1)->(2)->(3)->(4)……永遠(yuǎn)不停的執(zhí)行下去。這樣燈就會(huì)持續(xù)的亮滅再亮再滅實(shí)現(xiàn)了閃爍效果,關(guān)于延時(shí)函數(shù)下節(jié)課再敘。

Tags:單片機(jī)教程,單片機(jī)小程序,單片機(jī)匯編,單片機(jī)  
責(zé)任編輯:admin
請(qǐng)文明參與討論,禁止漫罵攻擊,不要惡意評(píng)論、違禁詞語(yǔ)。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個(gè)字
[ 查看全部 ] 網(wǎng)友評(píng)論
最新推薦
關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁(yè)面
下到頁(yè)底
晶體管查詢
婷婷亚洲天堂影院-国产精品豆花视频www-伊人影院在线观看-日本少妇浓毛bbwbbwbbw-av网站观看-亚州欧美在线-91精品国产乱码久-任我爽精品视频在线播放-日本视频不卡-亚洲国产精品va在线观看香蕉-国产毛片乡下农村妇女-国产成人免费ā片在线观看老同学-欧美日韩免费在线-成人无码视频免费播放-色综合美女-免费毛片av
<button id="4i884"></button>
  • <abbr id="4i884"><source id="4i884"></source></abbr>
  • <code id="4i884"><tr id="4i884"></tr></code>
  • <rt id="4i884"></rt>
    <li id="4i884"></li>
  • <rt id="4i884"><tr id="4i884"></tr></rt>
  • 九色在线视频观看| 不卡的在线视频| 91女神在线观看| 日韩精品在线观看av| koreanbj精品视频一区| 成人综合久久网| 日韩少妇内射免费播放| 中文 日韩 欧美| 日本精品久久久久中文字幕| 欧美视频亚洲图片| 日本一极黄色片| 日本香蕉视频在线观看| 一个色综合久久| 日日摸天天爽天天爽视频| 女同性恋一区二区| 精品久久久99| 黄色免费网址大全| 国产高清精品在线观看| 999一区二区三区| 永久免费看av| 久热精品在线观看视频| 欧美亚洲另类色图| 国产成人精品视频免费看| 草草草视频在线观看| 国产成人精品免费看在线播放| 日韩无套无码精品| 成人免费视频91| 欧美视频在线第一页| 午夜免费视频网站| 国产精品区在线| 欧美伦理片在线看| 亚洲这里只有精品| 亚洲精品性视频| 狠狠操狠狠干视频| 青青草原国产在线视频| 天堂av在线网站| 午夜免费福利视频在线观看| 91插插插插插插插插| 日韩福利视频在线| 丰满少妇在线观看| 15—17女人毛片| 日本免费色视频| 中文字幕55页| 日韩极品视频在线观看| 97视频在线免费| 国产原创中文在线观看| 久色视频在线播放| 国产精品人人妻人人爽人人牛| 成年人免费在线播放| 已婚少妇美妙人妻系列| 手机免费看av网站| 午夜久久久久久久久久久| 老汉色影院首页| 欧美黄网在线观看| 波多野结衣家庭教师在线| 日本美女高潮视频| 黄色a级在线观看| 国产乱淫av片杨贵妃| av免费观看国产| 国产 porn| 激情五月五月婷婷| 日韩精品视频一区二区在线观看| 中文字幕第36页| 国产精品三级一区二区| 97在线播放视频| 99九九99九九九99九他书对| 成人小视频在线观看免费| 欧美黄色免费影院| 亚洲欧美视频二区| 91猫先生在线| 国产精品99久久久久久大便| 国产一区二区视频播放| 日韩成人精品视频在线观看| 国产精品成人久久电影| 一本岛在线视频| 国产精品www在线观看| 亚洲涩涩在线观看| 99热成人精品热久久66| 2022中文字幕| 色播五月综合网| 无码专区aaaaaa免费视频| 国内外成人免费在线视频| 欧美日韩在线一| 国产a级黄色大片| 激情五月婷婷基地| 国产免费999| aa免费在线观看| 久久久亚洲精品无码| 久久国产精品免费观看| 激情五月俺来也| 婷婷丁香激情网| aa在线免费观看| 人妻av无码专区| 黄色成人在线免费观看| 九九久久久久久| 欧美在线a视频| 香蕉视频网站入口| 国产aaaaa毛片| 麻豆av免费在线| 黄色国产精品视频| 国产福利视频在线播放| 精品少妇人妻av免费久久洗澡| 国产人妻人伦精品| 男女激烈动态图| 人人妻人人澡人人爽欧美一区双| 最近中文字幕免费mv| 99精品一级欧美片免费播放| 99热一区二区三区| 国产精品88久久久久久妇女| 51自拍视频在线观看| 手机av在线免费| 亚洲精品偷拍视频| www.国产在线视频| 免费高清在线观看免费| 熟女性饥渴一区二区三区| 国产成人无码一二三区视频| 99蜜桃臀久久久欧美精品网站| 免费在线观看的av网站| 免费在线观看的毛片| www.色就是色.com| 色哟哟免费网站| 草草视频在线免费观看| 日韩精品―中文字幕| 日本新janpanese乱熟| 亚洲另类第一页| 樱空桃在线播放| 久久精品视频16| 一区二区成人网| 一女二男3p波多野结衣| 最近免费观看高清韩国日本大全| 成年在线观看视频| 欧美v在线观看| 国产又粗又长又爽又黄的视频| 亚洲第一精品区| 能在线观看的av| 久久人人爽av| 女人被男人躁得好爽免费视频| 人妻av中文系列| 亚洲网中文字幕| 免费一级淫片aaa片毛片a级| www.日日操| 免费在线黄网站| 天天爽人人爽夜夜爽| 久久av喷吹av高潮av| 欧美一区二区中文字幕| 免费一区二区三区在线观看| 免费视频爱爱太爽了| 三日本三级少妇三级99| av动漫免费看| 免费在线看黄色片| 加勒比av中文字幕| 九一精品在线观看| 18禁免费观看网站| 欧美视频在线第一页| 久久人人爽av| mm1313亚洲国产精品无码试看| 丁香色欲久久久久久综合网| 在线观看高清免费视频| 妞干网在线观看视频| 在线视频观看91| 国产又黄又猛又粗| 国产最新免费视频| 免费超爽大片黄| 特级黄色录像片| 亚洲精品在线网址| av无码精品一区二区三区| 欧美 丝袜 自拍 制服 另类| 99re8这里只有精品| 奇米777在线视频| 五月六月丁香婷婷| 九九九九九国产| 日日躁夜夜躁aaaabbbb| 亚洲人成无码www久久久| 国产在线青青草| 黄色片一级视频| 999精品视频在线| www午夜视频| 97超碰成人在线| 天天干天天操天天玩| 在线免费观看av的网站| 能看的毛片网站| 久久久国产欧美| 亚洲日本黄色片| 91大神免费观看| 路边理发店露脸熟妇泻火| 一级黄色高清视频| 少妇大叫太大太粗太爽了a片小说| 五月天在线免费视频| 一本色道久久88亚洲精品综合| 警花观音坐莲激情销魂小说| 4444在线观看| 精品久久一二三| 亚洲污视频在线观看| 久久久国产精华液999999| 欧美少妇一区二区三区| 国产午夜精品视频一区二区三区| 黄色网在线视频| 女人扒开屁股爽桶30分钟| 在线观看免费视频高清游戏推荐| 三年中文高清在线观看第6集|