首页
/
每日頭條
/
生活
/
單片機程序設計5個基本步驟
單片機程序設計5個基本步驟
更新时间:2024-11-27 23:37:12

在彙編語言中,讓某個端口輸出高電平或低電平都有專用的語句,以P1.0端口為例:

讓該端口輸出高電平的語句是:

SETB P1.0

讓該端口輸出低電平的語句是:

CLR P1.0

好了,現在我們将小燈接在單片機的P1.0端口上,如下圖所示:

單片機程序設計5個基本步驟(告訴你怎麼編寫一個最簡單的單片機程序)1

由上圖可知,當端口P1.0輸出高電平時,小燈D不亮,因為小燈中不會有電流通過;當端口P1.0輸出低電平時,小燈就亮,因為此時小燈中有電流通過。

要讓小燈亮一會兒、滅一會兒,還必須要有一個延時的程序,下面就是讓小燈亮一會兒、滅一會兒,交替閃爍的程序:

MAIN:;程序開始

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

LCALL DELAY;這一行是調用延時子程序

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

;多停留一段時間

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

LCALL DELAY;這一行也是調用延時子程序

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

;電平停留一段時間,其實就

;是讓它多亮一會兒再熄滅

LJMP MAIN;跳轉到MAIN處執行(循環)

;以下是延時子程序,有關該延時程序的内容以後再學

DELAY: MOV R7,#250

D1: MOV R6,#250

D2: DJNZ R6,D2

DJNZ R7,D1

RET

END

在以上彙編程序中,延時子程序每一行的具體含義先不管他,以後慢慢學到,上面的程序需要在一個名為“Keil uVision2”的軟件中彙編完成,彙編後得到一個*.hex文件,這就是目标文件,然後用編程器将該文件“寫”到單片機89s51中,這樣該89s51就具有自動控制小燈閃爍的功能了。

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

單片機程序設計5個基本步驟(告訴你怎麼編寫一個最簡單的單片機程序)2

這樣還不夠,單片機工作還需要兩個條件,一是需要加上一定的工作電壓,AT89S51工作電壓為5V,第20腳接負極,第40腳接正極;另外還要給單片機安裝一個心髒起搏器,就是振蕩器,通常叫做時鐘,隻要在18腳和19腳之間接一個石英晶體就行了,我用的是12MHz的,另外為了保證振蕩器穩定工作,還要在18腳、19腳分别接一個27PF的小電容到地(就是接到負極),此外,89s51的第9腳為複位端,要接一個10uF電容到正極,再接一個10K電阻到負極,最後,第31腳也要和電源的正極接起來,關于31腳,以後再說,這樣一台由單片機控制的會自動閃爍的小燈就做好了。下面是完整的電路圖:

單片機程序設計5個基本步驟(告訴你怎麼編寫一個最簡單的單片機程序)3

沒有使用的管腳空着就行了,什麼也不用接。一通上電,小燈就開始不停的閃爍了。大約1秒鐘閃爍3——4次。

本文轉載自網絡,如有侵權,請聯系删除。

單片機程序設計5個基本步驟(告訴你怎麼編寫一個最簡單的單片機程序)4

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
Copyright 2023-2024 - www.tftnews.com All Rights Reserved