0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

怎么編寫(xiě)一個(gè)最簡(jiǎn)單的單片機(jī)程序?

2oON_changxuemc ? 來(lái)源:未知 ? 作者:李倩 ? 2018-08-13 17:56 ? 次閱讀

匯編語(yǔ)言中,讓某個(gè)端口輸出高電平或低電平都有專(zhuān)用的語(yǔ)句,以P1.0端口為例:

讓該端口輸出高電平的語(yǔ)句是:

SETB P1.0

讓該端口輸出低電平的語(yǔ)句是:

CLR P1.0

好了,現(xiàn)在我們將小燈接在單片機(jī)的P1.0端口上,如下圖所示:

由上圖可知,當(dāng)端口P1.0輸出高電平時(shí),小燈D不亮,因?yàn)樾糁胁粫?huì)有電流通過(guò);當(dāng)端口P1.0輸出低電平時(shí),小燈就亮,因?yàn)榇藭r(shí)小燈中有電流通過(guò)。

要讓小燈亮一會(huì)兒、滅一會(huì)兒,還必須要有一個(gè)延時(shí)的程序,下面就是讓小燈亮一會(huì)兒、滅一會(huì)兒,交替閃爍的程序:

MAIN:;程序開(kāi)始

SETB P1.0;讓P1.0輸出高電平

LCALL DELAY;這一行是調(diào)用延時(shí)子程序

;目的是讓P1.0保持高電平

;多停留一段時(shí)間

CLR P1.0;讓P1.0輸出低電平

LCALL DELAY;這一行也是調(diào)用延時(shí)子程序

;和剛才一樣,讓P1.0保持低

;電平停留一段時(shí)間,其實(shí)就

;是讓它多亮一會(huì)兒再熄滅

LJMP MAIN;跳轉(zhuǎn)到MAIN處執(zhí)行(循環(huán))

;以下是延時(shí)子程序,有關(guān)該延時(shí)程序的內(nèi)容以后再學(xué)

DELAY: MOV R7,#250

D1: MOV R6,#250

D2: DJNZ R6,D2

DJNZ R7,D1

RET

END

在以上匯編程序中,延時(shí)子程序每一行的具體含義先不管他,以后慢慢學(xué)到,上面的程序需要在一個(gè)名為“KeiluVision2”的軟件中匯編完成,匯編后得到一個(gè)*.hex文件,這就是目標(biāo)文件,然后用編程器將該文件“寫(xiě)”到單片機(jī)89s51中,這樣該89s51就具有自動(dòng)控制小燈閃爍的功能了。

在實(shí)驗(yàn)的時(shí)候,通常用發(fā)光二極管LED代替小燈,由于LED工作電壓小,由此LED要串接一個(gè)小電阻,用220歐姆——1k之間的都行,我用的是510歐姆的。

這樣還不夠,單片機(jī)工作還需要兩個(gè)條件,一是需要加上一定的工作電壓,AT89S51工作電壓為5V,第20腳接負(fù)極,第40腳接正極;另外還要給單片機(jī)安裝一個(gè)心臟起搏器,就是振蕩器,通常叫做時(shí)鐘,只要在18腳和19腳之間接一個(gè)石英晶體就行了,我用的是12MHz的,另外為了保證振蕩器穩(wěn)定工作,還要在18腳、19腳分別接一個(gè)27PF的小電容到地(就是接到負(fù)極),此外,89s51的第9腳為復(fù)位端,要接一個(gè)10uF電容到正極,再接一個(gè)10K電阻到負(fù)極,最后,第31腳也要和電源的正極接起來(lái),關(guān)于31腳,以后再說(shuō),這樣一臺(tái)由單片機(jī)控制的會(huì)自動(dòng)閃爍的小燈就做好了。下面是完整的電路圖:

沒(méi)有使用的管腳空著就行了,什么也不用接。一通上電,小燈就開(kāi)始不停的閃爍了。大約1秒鐘閃爍3——4次。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • led
    led
    +關(guān)注

    關(guān)注

    240

    文章

    22988

    瀏覽量

    654525
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6026

    文章

    44452

    瀏覽量

    630822
  • 匯編語(yǔ)言
    +關(guān)注

    關(guān)注

    14

    文章

    406

    瀏覽量

    35650

原文標(biāo)題:告訴你怎么編寫(xiě)一個(gè)最簡(jiǎn)單的單片機(jī)程序

文章出處:【微信號(hào):changxuemcu,微信公眾號(hào):暢學(xué)單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何編寫(xiě)STC單片機(jī)的ISP協(xié)議

    如何編寫(xiě)STC單片機(jī)的ISP協(xié)議 STC單片機(jī)包含兩個(gè)Flash塊,在塊Flash中運(yùn)行的程序
    發(fā)表于 10-12 12:18 ?3954次閱讀
    如何<b class='flag-5'>編寫(xiě)</b>STC<b class='flag-5'>單片機(jī)</b>的ISP協(xié)議

    單片機(jī)蜂鳴器簡(jiǎn)單發(fā)聲程序【C語(yǔ)言版】

    單片機(jī)蜂鳴器簡(jiǎn)單發(fā)聲程序【C語(yǔ)言版】單片機(jī)蜂鳴器簡(jiǎn)單發(fā)聲程序【C語(yǔ)言版】
    發(fā)表于 12-29 13:53 ?0次下載

    51單片機(jī)匯編語(yǔ)言教程_第一個(gè)單片機(jī)程序

    51單片機(jī)匯編語(yǔ)言教程:4課第一個(gè)單片機(jī)程序
    發(fā)表于 01-19 15:27 ?0次下載

    ARDUINO IDE編寫(xiě)和AVR單片機(jī)程序的下載

    本文給大家介紹利用PROGISP實(shí)現(xiàn)ARDUINO IDE編寫(xiě)程序的下載和利用ARDUINO IDE實(shí)現(xiàn)AVR單片機(jī)的下載。
    發(fā)表于 11-24 08:45 ?9853次閱讀

    告訴你怎么編寫(xiě)個(gè)簡(jiǎn)單單片機(jī)程序

    這樣還不夠,單片機(jī)工作還需要兩個(gè)條件,是需要加上定的工作電壓,AT89S51工作電壓為5V,第20腳接負(fù)極,第40腳接正極;另外還要給單片機(jī)
    的頭像 發(fā)表于 08-10 16:22 ?4.3w次閱讀
    告訴你怎么<b class='flag-5'>編寫(xiě)</b><b class='flag-5'>一</b><b class='flag-5'>個(gè)</b>最<b class='flag-5'>簡(jiǎn)單</b>的<b class='flag-5'>單片機(jī)</b><b class='flag-5'>程序</b>

    使用單片機(jī)一個(gè)簡(jiǎn)單的流水燈的程序和燒寫(xiě)資料免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用單片機(jī)一個(gè)簡(jiǎn)單的流水燈的程序和燒寫(xiě)資料免費(fèi)下載。
    發(fā)表于 08-20 17:31 ?3次下載
    使用<b class='flag-5'>單片機(jī)</b>做<b class='flag-5'>一個(gè)</b><b class='flag-5'>簡(jiǎn)單</b>的流水燈的<b class='flag-5'>程序</b>和燒寫(xiě)資料免費(fèi)下載

    個(gè)簡(jiǎn)單的51單片機(jī)串口接收和發(fā)送的程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是個(gè)簡(jiǎn)單的51單片機(jī)串口接收和發(fā)送的程序免費(fèi)下載。
    發(fā)表于 06-19 17:44 ?5次下載
    <b class='flag-5'>一</b><b class='flag-5'>個(gè)</b><b class='flag-5'>簡(jiǎn)單</b>的51<b class='flag-5'>單片機(jī)</b>串口接收和發(fā)送的<b class='flag-5'>程序</b>免費(fèi)下載

    使用單片機(jī)編寫(xiě)的音樂(lè)程序

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用單片機(jī)編寫(xiě)的音樂(lè)程序。
    的頭像 發(fā)表于 01-21 12:18 ?5775次閱讀
    使用<b class='flag-5'>單片機(jī)</b><b class='flag-5'>編寫(xiě)</b>的音樂(lè)<b class='flag-5'>程序</b>

    單片機(jī)程序如何編寫(xiě)

    設(shè)計(jì)編寫(xiě)單片機(jī)程序個(gè)漸進(jìn)的過(guò)程不可蹴而就,畢竟單片機(jī)
    的頭像 發(fā)表于 02-12 14:38 ?3.7w次閱讀
    <b class='flag-5'>單片機(jī)</b><b class='flag-5'>程序</b>如何<b class='flag-5'>編寫(xiě)</b>

    個(gè)單片機(jī)與PC機(jī)通信的程序

    本文檔的主要內(nèi)容詳細(xì)介紹的是個(gè)單片機(jī)與PC機(jī)通信的程序。
    的頭像 發(fā)表于 09-06 11:26 ?5609次閱讀

    單片機(jī)最小JSON解析,含編寫(xiě)個(gè)非常簡(jiǎn)單的JSON資料下載

    電子發(fā)燒友網(wǎng)為你提供單片機(jī)最小JSON解析,含編寫(xiě)個(gè)非常簡(jiǎn)單的JSON資料下載的電子資料下載,更有其他相關(guān)的電路圖、源代碼、課件教程、中
    發(fā)表于 04-27 08:44 ?13次下載
    <b class='flag-5'>單片機(jī)</b>最小JSON解析,含<b class='flag-5'>編寫(xiě)</b>了<b class='flag-5'>一</b><b class='flag-5'>個(gè)</b>非常<b class='flag-5'>簡(jiǎn)單</b>的JSON資料下載

    單片機(jī)簡(jiǎn)單介紹

    顯示器)等裝配在塊印刷的電路板上,在配上監(jiān)控程序(固話(huà)在ROM中),就是個(gè)簡(jiǎn)單單片機(jī)。目前
    發(fā)表于 11-11 10:21 ?9次下載
    <b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>簡(jiǎn)單</b>介紹

    推薦個(gè)簡(jiǎn)單好用的單片機(jī)

    推薦個(gè)簡(jiǎn)單好用的單片機(jī) -----------------------------STC15F10
    發(fā)表于 11-17 11:21 ?6次下載
    推薦<b class='flag-5'>一</b><b class='flag-5'>個(gè)</b><b class='flag-5'>簡(jiǎn)單</b>好用的<b class='flag-5'>單片機(jī)</b>

    基于51單片機(jī)的呼吸燈程序編寫(xiě)

    利用51單片機(jī)編寫(xiě)的呼吸燈小程序,實(shí)驗(yàn)程序內(nèi)容截圖分享~
    發(fā)表于 11-23 16:36 ?33次下載
    基于51<b class='flag-5'>單片機(jī)</b>的呼吸燈<b class='flag-5'>程序</b><b class='flag-5'>編寫(xiě)</b>

    如何為個(gè)PIC單片機(jī)編寫(xiě)中斷服務(wù)程序

    問(wèn):我應(yīng)該如何為個(gè)PIC單片機(jī)編寫(xiě)中斷服務(wù)程序? 答:僅僅是用
    的頭像 發(fā)表于 01-22 15:16 ?1437次閱讀