C51入門(mén)與最小系統(tǒng)搭建

(一)泣栈、單板機(jī)

將CPU芯片卜高、存儲(chǔ)器芯片弥姻、I/O接口芯片和簡(jiǎn)單的I/O設(shè)備(小鍵盤(pán)、LED顯示器)等裝配在一塊印刷電路板上掺涛,再配上監(jiān)控程序(固化在ROM中)庭敦,就構(gòu)成了一臺(tái)單板微型計(jì)算機(jī)(簡(jiǎn)稱(chēng)單板機(jī))

單板機(jī)

(二)、單片機(jī)

在一片集成電路芯片上集成微處理器薪缆、存儲(chǔ)器秧廉、I/O接口電路,從而構(gòu)成了單芯片微型計(jì)算機(jī)拣帽,即單片機(jī)疼电。Intel公司推出了MCS-51系列單片機(jī):集成 8位CPU、4K字節(jié)ROM减拭、128字節(jié)RAM蔽豺、4個(gè)8位并口、1個(gè)全雙工串行口拧粪、2個(gè)16位定時(shí)/計(jì)數(shù)器修陡。尋址范圍64K,并有控制功能較強(qiáng)的布爾處理器可霎。

ROM:只讀存儲(chǔ)器(Read-Only Memory魄鸦,ROM)以非破壞性讀出方式工作,只能讀出無(wú)法寫(xiě)入信息癣朗。信息一旦寫(xiě)入后就固定下來(lái)拾因,即使切斷電源,信息也不會(huì)丟失旷余,所以又稱(chēng)為固定存儲(chǔ)器盾致。

總結(jié):只讀存儲(chǔ)器,掉電不丟失數(shù)據(jù)荣暮,一般用來(lái)存儲(chǔ)程序庭惜。

RAM:隨機(jī)存取存儲(chǔ)器(英語(yǔ):Random Access Memory,縮寫(xiě):RAM)穗酥,也叫主存护赊,是與CPU直接交換數(shù)據(jù)的內(nèi)部存儲(chǔ)器。它可以隨時(shí)讀寫(xiě)(刷新時(shí)除外)砾跃,而且速度很快骏啰,通常作為操作系統(tǒng)或其他正在運(yùn)行中的程序的臨時(shí)數(shù)據(jù)存儲(chǔ)介質(zhì)。

總結(jié):隨機(jī)存儲(chǔ)器抽高,掉電丟失數(shù)據(jù)判耕,一般用來(lái)存儲(chǔ)變量。

單片機(jī)

(三)翘骂、單片機(jī)能做什么

工業(yè)自動(dòng)化:數(shù)據(jù)采集壁熄、測(cè)控技術(shù)帚豪。

智能儀器儀表:數(shù)字示波器、數(shù)字信號(hào)源草丧、數(shù)字萬(wàn)用表狸臣、感應(yīng)電流表等。

消費(fèi)類(lèi)電子產(chǎn)品:洗衣機(jī)昌执、電冰箱烛亦、空調(diào)機(jī)、電視機(jī)懂拾、微波爐煤禽、手機(jī)、IC卡岖赋、汽車(chē)電子設(shè)備等呜师。

通訊方面:調(diào)制解調(diào)器、程控交換技術(shù)贾节、手機(jī)、小靈通等衷畦。

武器裝備:飛機(jī)栗涂、軍艦、坦克祈争、導(dǎo)彈斤程、航天飛機(jī)、魚(yú)雷制導(dǎo)菩混、智能武器等忿墅。

凡是與控制或簡(jiǎn)單計(jì)算有關(guān)的電子設(shè)備都可以用單片機(jī)來(lái)實(shí)現(xiàn),根據(jù)具體實(shí)際情況還可以選擇不同性能的單片機(jī)沮峡,如:atmel,stc,pic,avr,凌陽(yáng)疚脐,80C51,arm等邢疙。

(四)棍弄、80C51系列單片機(jī)

80C51是MCS-51系列中的一個(gè)典型品種,其它廠商以8051為基核開(kāi)發(fā)出的CMOS工藝單片機(jī)產(chǎn)品統(tǒng)稱(chēng)為80C51系列疟游。

80C51系列單片機(jī)主要產(chǎn)品有:

l Intel的:80C31呼畸、80C51、87C51颁虐,80C32蛮原、80C52、87C52等另绩;

l ATMEL的:89C51儒陨、89C52花嘶、89C2051等;

l Philips框全、華邦察绷、Dallas、STC津辩、Siemens(Infineon)等公司的許多產(chǎn)品拆撼;

80C51

P3口第二功能各引腳功能定義:

P3.0:RXD串行口輸入

P3.1:TXD串行口輸出

P3.2:INT0外部中斷0輸入

P3.3:INT1外部中斷1輸入

P3.4:T0定時(shí)器0外部輸入

P3.5:T1定時(shí)器1外部輸入

P3.6:WR外部寫(xiě)控制

P3.7:RD外部讀控制

8051內(nèi)部結(jié)構(gòu):

內(nèi)部結(jié)構(gòu)

總線:

總線(BUS)是計(jì)算機(jī)各部件之間傳送信息的公共通道。微機(jī)中有內(nèi)部總線和外部總線兩類(lèi)喘沿。內(nèi)部總線是CPU內(nèi)部之間的連線闸度。外部總線是指CPU與其它部件之間的連線。 外部總線有三種: 數(shù)據(jù)總線DB(Data Bus), 地址總線 AB(Address Bus)和控制總線 CBControl Bus)蚜印。

內(nèi)部資源:

CPU:由運(yùn)算和控制邏輯組成莺禁,同時(shí)還包括中斷系統(tǒng)和部分外部特殊
功能寄存器;

RAM:用以存放可以讀寫(xiě)的數(shù)據(jù)窄赋,如運(yùn)算的中間結(jié)果哟冬、最終結(jié)果以及欲顯示的數(shù)據(jù);

ROM:用以存放程序忆绰、一些原始數(shù)據(jù)和表格浩峡;

I/O口:四個(gè)8位并行I/O口,既可用作輸入错敢,也可用作輸出翰灾;

T/C:兩個(gè)定時(shí)/記數(shù)器,既可以工作在定時(shí)模式稚茅,也可以工作在記數(shù)模式纸淮;

五個(gè)中斷源的中斷控制系統(tǒng):

一個(gè)全雙工UART(通用異步接收發(fā)送器)的串行I/O口,用于實(shí)現(xiàn)單片機(jī)之間或單片機(jī)與微機(jī)之間的串行通信亚享;

片內(nèi)振蕩器和時(shí)鐘產(chǎn)生電路咽块,石英晶體和微調(diào)電容需要外接。最高振蕩頻率取決于單片機(jī)型號(hào)及性能欺税。

機(jī)器周期和指令周期:

振蕩周期: 也稱(chēng)時(shí)鐘周期, 是指為單片機(jī)提供時(shí)鐘脈沖信號(hào)的振蕩源的周期糜芳,一般為12MHZ(通過(guò)晶振產(chǎn)生)。

狀態(tài)周期: 每個(gè)狀態(tài)周期為時(shí)鐘周期的 2 倍, 是振蕩周期經(jīng)二分頻后得到的魄衅。 

機(jī)器周期: 一個(gè)機(jī)器周期包含 6 個(gè)狀態(tài)周期S1~S6, 也就是 12 個(gè)時(shí)鐘周期峭竣。 在一個(gè)機(jī)器周期內(nèi), CPU可以完成一個(gè)獨(dú)立的操作。 

指令周期: 它是指CPU完成一條操作所需的全部時(shí)間晃虫。 每條指令執(zhí)行時(shí)間都是有一個(gè)或幾個(gè)機(jī)器周期組成皆撩。MCS - 51 系統(tǒng)中, 有單周期指令、雙周期指令和四周期指令。

(五)扛吞、單片機(jī)最簡(jiǎn)程序與最小系統(tǒng)

5.1呻惕、開(kāi)發(fā)環(huán)境的搭建

1、首先安裝KEIL C51 Version 9.00滥比,雙擊C51V900.exe亚脆,直接下一步...下一步...傻瓜安裝就好,遇到需要填寫(xiě)的信息盲泛,直接空格就好濒持。

2、準(zhǔn)備好軟件stc-isp寺滚,這個(gè)軟件不需要安裝柑营,是一個(gè)上位機(jī)程序,用于把寫(xiě)好的C語(yǔ)言程序上次給單片機(jī)村视,下載好軟件之后雙擊就可以運(yùn)行官套,可以發(fā)送到桌面快捷方式。

3蚁孔、安裝USB轉(zhuǎn)TTL的下載器奶赔,安裝PL2303,雙擊安裝即可杠氢。

下載地址:
鏈接:https://pan.baidu.com/s/1kcludXeInbRJm48wLfevVA
提取碼:fpnv

5.2站刑、KEIL建立工程

1、首先創(chuàng)建一個(gè)文件夾修然,用來(lái)存放工程文件,文件夾名稱(chēng)可以為中文质况。

2愕宋、打開(kāi)軟件KEIL,Project ->new uVision Project结榄,選擇剛才新建的文件夾中贝,輸入項(xiàng)目的名稱(chēng),然后點(diǎn)擊保存臼朗,這里我們需要選擇單片機(jī)的型號(hào)邻寿,選擇Atmel公司的AT89C52即可,當(dāng)然也可以選擇AT89C51RC视哑,內(nèi)核是一樣的绣否,所以可以通用。

KEIL工程

這是是否需要添加單片機(jī)啟動(dòng)代碼挡毅,點(diǎn)擊是就可以了蒜撮。

下圖的STARTUP.A51就是單片機(jī)的啟動(dòng)文件,使用匯編寫(xiě)的。

3段磨、我們找到我們創(chuàng)建的工程文件夾取逾,在里面新建一個(gè)文本文檔,隨便一個(gè)重命名,但是文件的擴(kuò)展名稱(chēng)改為.c的文件,這樣就建立了一個(gè)C文件豹休。點(diǎn)擊Source Group1文件夾跃赚,右鍵Add File to Group “****Source Group1****”****,把我們的C文件添加進(jìn)去即可辽狈。

項(xiàng)目目錄

5.2、最小系統(tǒng)電路圖

最小系統(tǒng)電路圖

5.2.1、物料準(zhǔn)備:

51單片機(jī)STC89C52RC X 1:2020年這個(gè)型號(hào)的單片機(jī)入門(mén)使用的比較多邑时。

按鍵開(kāi)關(guān) X 1:這個(gè)開(kāi)關(guān)用來(lái)做復(fù)位電路使用。

電阻10K X 1:用在復(fù)位電路上特姐。

12M的晶振 X 1:晶振是為單片機(jī)提供一個(gè)基本震蕩源晶丘,也就相當(dāng)于人體的心跳,沒(méi)有震蕩源單片機(jī)是無(wú)法啟動(dòng)的唐含。

10uf電解電容 X1 和30pf瓷片電容 X 2:瓷片電容作用是濾除晶振工作時(shí)產(chǎn)生的一下諧波浅浮,電解電容用在復(fù)位電路上。

最后需要一塊面包板和若干導(dǎo)線捷枯。

5.2.2滚秩、燒寫(xiě)程序:

這里我們需要一個(gè)USB轉(zhuǎn)TTL的燒寫(xiě)器。

燒寫(xiě)器

長(zhǎng)相酷似一個(gè)U盤(pán)淮捆,上面有五個(gè)引腳郁油,但其實(shí)我們只需要4個(gè)就可以了,因?yàn)樯想婋妷哼@里有5V和3.3V攀痊,根據(jù)不同的單片機(jī)做出相應(yīng)的選擇桐腌,這里的STC89C52RC使用5V的上電電壓。

VCC(5V/3.3V) ------> 單片機(jī)的40引腳苟径。

GND ------> 單片機(jī)的20引腳(VSS)案站。

RXD ------> 單片機(jī)的11引腳(TXD)。

TXD ------> 單片機(jī)的10引腳(RXD)棘街。

RXD和TXD是信號(hào)線:

RXD蟆盐,全稱(chēng)receive external data,即接收外部設(shè)備傳來(lái)的數(shù)據(jù)遭殉,也稱(chēng)為接收數(shù)據(jù)的引腳石挂。

TXD,全稱(chēng)transmit external data险污,即發(fā)送給外部設(shè)備的數(shù)據(jù)誊稚,也稱(chēng)為發(fā)送數(shù)據(jù)的引腳。

5.2.3、里伯、實(shí)物電路連接
右邊的RGB燈珠是為后面的測(cè)試程序準(zhǔn)備的城瞎。

實(shí)物連接圖

5.2.4疾瓮、單片機(jī)最簡(jiǎn)單程序

程序測(cè)試:
# include "reg52.h"
// set bit 4組IO口p0 p1 p2 p3 狼电、每一組都有八個(gè)針p10 p12 p13.....
sbit LED_R = P1^1;
sbit LED_G = P1^2;
sbit LED_B = P1^3;

void main()
{
    // 實(shí)現(xiàn)燈的閃爍强窖。
    int i;
    while(1)
    {
        LED_B = 1;
        LED_R = 1;
        LED_G = 1;
        for(i=0; i<30000; i++);    // 程序等待
        LED_B = 1;
        LED_R = 0;
        LED_G = 0;
        for(i=0; i<30000; i++);
        LED_B = 1;
        LED_R = 1;
        LED_G = 0;
        for(i=0; i<30000; i++);
        LED_B = 1;
        LED_R = 0;
        LED_G = 1;
        for(i=0; i<30000; i++);
        LED_B = 0;
        LED_R = 0;
        LED_G = 0;
        for(i=0; i<30000; i++);
    }
}

5.2.5髓抑、編譯程序:

編譯程序執(zhí)行褪猛,要設(shè)置一下伊滋,點(diǎn)擊下圖左上角的圖標(biāo),生成.HEX文件燥撞。

然后點(diǎn)擊下方的第2個(gè)按鈕戏锹,進(jìn)行編譯。


5.2.6、使用上位機(jī)燒寫(xiě)程序

選擇一個(gè)單片機(jī)型號(hào),然后點(diǎn)擊“打開(kāi)程序文件”脚翘,選擇我們生成的.HEX文件沃于,點(diǎn)擊“下載/編程”揽涮,然后這里需要給單片機(jī)重新上電,可以拔掉燒寫(xiě)器的VCC引腳然后再插上即可雪标。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末撰茎,一起剝皮案震驚了整個(gè)濱河市逆粹,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌芭毙,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,402評(píng)論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件忠聚,死亡現(xiàn)場(chǎng)離奇詭異网梢,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)烦感,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)绿渣,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)淀散,“玉大人蚜锨,你說(shuō)我怎么就攤上這事档插。” “怎么了踏志?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,483評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵阀捅,是天一觀的道長(zhǎng)胀瞪。 經(jīng)常有香客問(wèn)我针余,道長(zhǎng)饲鄙,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,165評(píng)論 1 292
  • 正文 為了忘掉前任圆雁,我火速辦了婚禮忍级,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘伪朽。我一直安慰自己轴咱,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布烈涮。 她就那樣靜靜地躺著朴肺,像睡著了一般。 火紅的嫁衣襯著肌膚如雪坚洽。 梳的紋絲不亂的頭發(fā)上戈稿,一...
    開(kāi)封第一講書(shū)人閱讀 51,146評(píng)論 1 297
  • 那天,我揣著相機(jī)與錄音讶舰,去河邊找鬼鞍盗。 笑死,一個(gè)胖子當(dāng)著我的面吹牛跳昼,可吹牛的內(nèi)容都是我干的般甲。 我是一名探鬼主播,決...
    沈念sama閱讀 40,032評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼鹅颊,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼敷存!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起堪伍,我...
    開(kāi)封第一講書(shū)人閱讀 38,896評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤历帚,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后杠娱,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體挽牢,經(jīng)...
    沈念sama閱讀 45,311評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評(píng)論 2 332
  • 正文 我和宋清朗相戀三年摊求,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了禽拔。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,696評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡室叉,死狀恐怖睹栖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情茧痕,我是刑警寧澤野来,帶...
    沈念sama閱讀 35,413評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站踪旷,受9級(jí)特大地震影響曼氛,放射性物質(zhì)發(fā)生泄漏豁辉。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評(píng)論 3 325
  • 文/蒙蒙 一舀患、第九天 我趴在偏房一處隱蔽的房頂上張望徽级。 院中可真熱鬧,春花似錦聊浅、人聲如沸餐抢。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)旷痕。三九已至,卻和暖如春顽冶,著一層夾襖步出監(jiān)牢的瞬間苦蒿,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,815評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工渗稍, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留佩迟,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,698評(píng)論 2 368
  • 正文 我出身青樓竿屹,卻偏偏與公主長(zhǎng)得像报强,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子拱燃,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容