官术网_书友最值得收藏!

第一單元 單片機(jī)基礎(chǔ)知識

綜合教學(xué)目標(biāo)

了解單片機(jī)的相關(guān)常識,掌握AT89S52單片機(jī)的構(gòu)造與原理。

主要內(nèi)容

計算機(jī)的基礎(chǔ)知識,單片機(jī)的發(fā)展歷史、類型以及應(yīng)用,以及AT89S52單片機(jī)的CPU、存儲器、引腳功能及標(biāo)識。

崗位技能綜合職業(yè)素質(zhì)要求:學(xué)會識別AT89S52單片機(jī)的標(biāo)識。

隨著電子技術(shù)的發(fā)展,生產(chǎn)生活中的設(shè)備、儀器、電器等的智能化水平越來越高,如微電腦洗衣機(jī)、智能冰箱、遙控電視、公交車刷卡器、公交車報站器等,這些設(shè)備都內(nèi)嵌了極小型化的計算機(jī)——單片機(jī)。

單片機(jī)是單片微型計算機(jī)的簡稱,它將構(gòu)成計算機(jī)的基本部件集成到一塊芯片上,組成一個小巧卻完善的計算機(jī)系統(tǒng)。因此學(xué)習(xí)單片機(jī)除了要掌握它的硬件電路原理,還要學(xué)習(xí)計算機(jī)程序設(shè)計。

本教材講解的AT89S52單片機(jī)是美國ATMEL公司生產(chǎn)的低功耗、高性能CMOS8位單片機(jī),它采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)8051指令系統(tǒng)及引腳,其照片如圖1-1所示。

圖1-1 AT89S52單片機(jī)

1.1 初步了解單片機(jī)

一、計算機(jī)的常用術(shù)語

1.位(bit)

位是計算機(jī)數(shù)據(jù)存儲的最基本、最小的數(shù)據(jù)單位。計算機(jī)采用二進(jìn)制,因此位就是1個二進(jìn)制位,若干二進(jìn)制位的組合就可以表示各種數(shù)據(jù)、字符等。

2.字(word)和字長

字是計算機(jī)內(nèi)部進(jìn)行數(shù)據(jù)處理的基本單位。通常它與計算機(jī)內(nèi)部寄存器、算術(shù)邏輯單元、數(shù)據(jù)總線的長度一致。一個字所包含的二進(jìn)制位數(shù)稱為字長。

3.字節(jié)(byte)

相鄰的8位二進(jìn)制數(shù)構(gòu)成1個字節(jié),可以用字節(jié)作為計算機(jī)字長的單位。8位計算機(jī)的字長等于1個字節(jié),16位計算機(jī)的字長等于2個字節(jié),32位計算機(jī)的字長等于4個字節(jié)。習(xí)慣上把1個字節(jié)定為8位,把1個字定為16位,把1個雙字定為32位。

字節(jié)也是計算機(jī)數(shù)據(jù)存儲的單位。1KB=1024B(B表示字節(jié)byte),1MB=1024KB,1GB=1024MB。

4.指令

指令是規(guī)定計算機(jī)進(jìn)行某種操作的命令,由一串二進(jìn)制數(shù)碼組成,是計算機(jī)自動控制的依據(jù)。

5.程序

程序是指令的有序組合,是為實現(xiàn)特定目標(biāo)或解決特定問題而用計算機(jī)語言編寫的命令序列。

6.機(jī)器語言

用二進(jìn)制(或十六進(jìn)制)數(shù)表示的指令和數(shù)據(jù)總和稱為機(jī)器語言,是計算機(jī)能直接識別和執(zhí)行的。

7.匯編語言

用助記符號表達(dá)的指令稱為匯編語言,是機(jī)器語言的符號表示。

8.高級語言

高級語言是采用接近人類自然語言的習(xí)慣表達(dá)的程序設(shè)計語言,例如BASIC、C語言。現(xiàn)在一般使用C51語言設(shè)計51單片機(jī)程序。

二、計算機(jī)的數(shù)制

計算機(jī)由觸發(fā)器、計數(shù)器、加法器、邏輯門等基本的數(shù)字電路構(gòu)成。數(shù)字電路具有兩種不同的穩(wěn)定狀態(tài)且能相互轉(zhuǎn)換,用“0”和“1”表示最為方便,因此計算機(jī)處理一切信息(包括數(shù)據(jù)、指令、字符、顏色、語音、圖像等)均用二進(jìn)制數(shù)表示。但是二進(jìn)制數(shù)書寫起來太長,且不便于閱讀和記憶,所以一般都將二進(jìn)制數(shù)轉(zhuǎn)換成十六進(jìn)制數(shù)來呈現(xiàn)。另外,人們最常用的是十進(jìn)制數(shù),因此我們將對這三種數(shù)制及其之間的轉(zhuǎn)換進(jìn)行介紹。

1.數(shù)制介紹

(1)十進(jìn)制(Decimal)

數(shù)碼:0,1,2,3,4,5,6,7,8,9

① 十進(jìn)制有0~9十個不同的數(shù)碼。

② 十進(jìn)制數(shù)逢十進(jìn)一,即當(dāng)?shù)臀粷M十則向相鄰高位進(jìn)一。

(2)二進(jìn)制(Binary)

數(shù)碼:0,1

① 二進(jìn)制有0,1兩個不同的數(shù)碼。

② 二進(jìn)制數(shù)逢二進(jìn)一。

(3)十六進(jìn)制(Hexadecimal)

數(shù)碼:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F(xiàn)

① 十六進(jìn)制有0~F十六個不同的數(shù)碼。

② 十六進(jìn)制數(shù)逢十六進(jìn)一。

為方便起見,現(xiàn)將部分十進(jìn)制、二進(jìn)制、十六進(jìn)制數(shù)的對照表列于表1-1中。

表1-1 部分十進(jìn)制、二進(jìn)制、十六進(jìn)制數(shù)的對照表

2.數(shù)制的書寫

為區(qū)別不同數(shù)制,要求在書寫時要注意規(guī)范,數(shù)制書寫一般有以下方法。

(1)可以給數(shù)加括號,并在括號右下角標(biāo)注數(shù)制代號,例如:

十進(jìn)制數(shù),(32)10,(1000)10

二進(jìn)制數(shù),(1001)2,(0100)2

十六進(jìn)制數(shù),(123)16,(A1EF)16

(2)匯編語言中,可以在數(shù)后面用英文字母標(biāo)記。

十進(jìn)制數(shù)以字母D結(jié)尾,例如:32D,1000D。

二進(jìn)制數(shù)以字母B結(jié)尾,例如:1001B,0100B。

十六進(jìn)制數(shù)以字母H結(jié)尾,例如:123H,A1EFH。

(3)C51語言中,可以在數(shù)前面標(biāo)記。

十六進(jìn)制數(shù)以0x開頭,例如:0x64,0xfffe等。

3.不同數(shù)制之間的轉(zhuǎn)換

(1)二進(jìn)制數(shù)與十進(jìn)制數(shù)相互轉(zhuǎn)換

① 二進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù),將二進(jìn)制數(shù)按權(quán)展開后相加,例如:

② 十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù),采用“除2取余法”。即用2連續(xù)去除十進(jìn)制數(shù),直到商為0為止,然后把各次余數(shù)按最后得到的為最高位、最早得到的為最低位(從下至上),依次排列起來,所得到的數(shù)便是所求的二進(jìn)制數(shù)。

例:試求出十進(jìn)制數(shù)125的二進(jìn)制數(shù)。

把125連續(xù)除以2,直到商為0,相應(yīng)豎式如下:

按照逆序?qū)⒏饔鄶?shù)記下,得到轉(zhuǎn)換后的二進(jìn)制數(shù)為:1111101B。

(2)十六進(jìn)制數(shù)與十進(jìn)制數(shù)相互轉(zhuǎn)換

① 十六進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù),采用將十六進(jìn)制數(shù)按權(quán)展開后相加的方法,例如:

② 十進(jìn)制數(shù)轉(zhuǎn)換成十六進(jìn)制數(shù),采用“除16取余法”,即用16連續(xù)去除要轉(zhuǎn)換的十進(jìn)制數(shù),直到商為0為止,然后把各次余數(shù)按得到順序的逆序依次排列起來,所得的數(shù)便是所求的十六進(jìn)制數(shù)。

(3)二進(jìn)制數(shù)與十六進(jìn)制數(shù)相互轉(zhuǎn)換

① 二進(jìn)制數(shù)轉(zhuǎn)換成十六進(jìn)制數(shù),采用“4位合1位”的方法,即從二進(jìn)制數(shù)最低位開始,每4位一組,不足4位以0補(bǔ)足,然后分別把每組用十六進(jìn)制數(shù)表示,并按序相連。

例:把二進(jìn)制數(shù)1101111100110B轉(zhuǎn)換成十六進(jìn)制數(shù),則有

所以,1101111100110B=1BE6H

② 十六進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù),采用“1位分4位”的方法,即把十六進(jìn)制數(shù)的每一位分別用4位二進(jìn)制數(shù)表示,然后將其按序連成一體。

例:把十六進(jìn)制數(shù)2AE5H轉(zhuǎn)換成二進(jìn)制數(shù),則有

所以,2AE5H=0010101011100101B

三、單片機(jī)的概念

單片機(jī),全稱為單片微型計算機(jī),就是在一塊芯片上集成了微處理器(CPU)、程序存儲器(ROM)、數(shù)據(jù)存儲器(RAM)、定時/計數(shù)器以及多種I/O接口電路的具有一定規(guī)模的微型計算機(jī),因最早被應(yīng)用在工業(yè)控制領(lǐng)域,所以又被稱為微控制器。

四、單片機(jī)的發(fā)展歷史

單片機(jī)誕生于20世紀(jì)70年代末,經(jīng)歷了SCM、MCU、SOC三大發(fā)展階段。

(1)SCM即單片微型計算機(jī)(SingleChipMicrocomputer)階段,主要尋求單片形態(tài)嵌入式系統(tǒng)的最佳體系結(jié)構(gòu)。因受集成度和工藝的限制,常采用雙片形式的單片機(jī)。例如:仙童公司的F8須外接一塊3851電路才能構(gòu)成一個完整的計算機(jī)。

(2)MCU即微控制器(MicroControllerUnit)階段,主要致力于不斷擴(kuò)展?jié)M足嵌入式應(yīng)用的對象系統(tǒng)要求而采用的各種外圍電路與接口電路,突顯其對象的智能化控制能力。它所涉及的領(lǐng)域都與對象系統(tǒng)相關(guān),因此,發(fā)展MCU的重任不可避免地落在電氣、電子技術(shù)廠家。在發(fā)展MCU方面,最著名的當(dāng)數(shù)Philips公司。Philips公司以其在嵌入式應(yīng)用方面的巨大優(yōu)勢,將80C51從單片微型計算機(jī)迅速發(fā)展到微控制器。

(3)SOC即專用化片上系統(tǒng)(SystemOnChip)階段,是指將微處理器、模擬IP核、數(shù)字IP核和存儲器(或片外存儲控制接口)集成在單一芯片上,它通常是客戶定制的,或是面向特定用途的標(biāo)準(zhǔn)產(chǎn)品。單片機(jī)是嵌入式系統(tǒng)的獨立發(fā)展之路,向MCU階段發(fā)展的重要因素,就是尋求應(yīng)用系統(tǒng)在芯片上的最大化解決。因此,標(biāo)準(zhǔn)化專用單片機(jī)的發(fā)展自然形成了SOC化趨勢。隨著微電子技術(shù)、IC設(shè)計、EDA工具的發(fā)展,基于SOC的單片機(jī)應(yīng)用系統(tǒng)設(shè)計會有較大的發(fā)展。

五、單片機(jī)的分類

單片機(jī)按用途可分為兩類:專用型單片機(jī)和通用型單片機(jī)。

專用型單片機(jī)用途專一,內(nèi)部程序在出廠時已經(jīng)固化,不能被再次修改,例如電子表里的單片機(jī),其生產(chǎn)成本很低。

通用型單片機(jī)的用途廣泛,程序可以不斷修改,用戶可以根據(jù)需要給此類單片機(jī)植入不同的程序,配合不同接口的輸入和輸出來完成所需功能。小到家用電器、儀器儀表,大到機(jī)器設(shè)備和整套生產(chǎn)線都可用通用型單片機(jī)來實現(xiàn)自動化控制。通用型單片機(jī)按位數(shù)分為4位機(jī)、8位機(jī)、16位機(jī)和32位機(jī)等。

單片機(jī)還可按生產(chǎn)廠家分類,我國目前最常用的單片機(jī)有如下幾家:

● Intel——MCS51系列、MCS96系列;

● Atmel——AT89系列、MCS51內(nèi)核;

● Microchip——PIC系列;

● Motorola——68HCXX系列;

● Zilog——Z86系列;

● Philips——87、80系列,MCS51內(nèi)核;

● Siemens——SAB80系列,MCS51內(nèi)核;

● NEC——78系列。

六、單片機(jī)的應(yīng)用范圍

在信息化高速發(fā)展的時代,單片機(jī)以其體積小、功耗低、控制功能強(qiáng)等優(yōu)勢迅速滲透到我們生活的各個領(lǐng)域。單片機(jī)廣泛應(yīng)用于儀器儀表、家用電器、醫(yī)用設(shè)備、航空航天、專用設(shè)備的智能化管理及過程控制等領(lǐng)域,大致可分為如下幾個范疇。

1.在智能儀器儀表上的應(yīng)用

結(jié)合不同類型的傳感器,單片機(jī)可實現(xiàn)諸如電壓、濕度、流量、溫度、壓力等物理量的測量。采用單片機(jī)控制使儀器儀表更加數(shù)字化、智能化、微型化,且功能更加強(qiáng)大。例如精密的測量設(shè)備,功率計、溫濕度計、各種分析儀。

2.在工業(yè)控制中的應(yīng)用

用單片機(jī)可以構(gòu)成形式多樣的控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)。例如工廠流水線的智能化管理,電梯智能化控制,各種報警系統(tǒng),與計算機(jī)聯(lián)網(wǎng)構(gòu)成二級控制系統(tǒng)。

3.在醫(yī)療設(shè)備領(lǐng)域中的應(yīng)用

醫(yī)療行業(yè)的智能化系統(tǒng)都用到了單片機(jī)。例如醫(yī)用呼吸機(jī),各種分析儀,監(jiān)護(hù)儀,超聲診斷設(shè)備及病床呼叫系統(tǒng)等。

4.在汽車設(shè)備領(lǐng)域中的應(yīng)用

單片機(jī)的使用使得汽車智能電子控制系統(tǒng)越來越發(fā)達(dá),汽車也變得越來越聰明。駕駛汽車時,行車電腦能夠自動處理大量的信息,比如當(dāng)車輛轉(zhuǎn)彎時,助力轉(zhuǎn)向會助你一臂之力;當(dāng)急剎車時,ABS會自動啟動,防止側(cè)滑。

5.在計算機(jī)及網(wǎng)絡(luò)和通信領(lǐng)域中的應(yīng)用

現(xiàn)代的單片機(jī)普遍具備通信接口,可以很方便地與計算機(jī)進(jìn)行數(shù)據(jù)通信,為計算機(jī)網(wǎng)絡(luò)和通信設(shè)備間的應(yīng)用提供了極好的物質(zhì)條件。現(xiàn)在的通信設(shè)備基本上都實現(xiàn)了單片機(jī)智能控制,例如手機(jī)、電話機(jī)、小型程控交換機(jī)、樓宇自動通信呼叫系統(tǒng)、列車無線通信、集群移動通信、無線電對講機(jī)等。

6.在家用電器中的應(yīng)用

現(xiàn)在,很多家用電器中都采用了單片機(jī)控制,例如電飯煲、洗衣機(jī)、電冰箱、空調(diào)機(jī)、彩電,音視頻器材、電子秤量設(shè)備等,五花八門,無處不在。

此外,單片機(jī)在工商、金融、科研、教育、國防、航空航天等領(lǐng)域都有著十分廣泛的用途。

主站蜘蛛池模板: 五大连池市| 满城县| 嘉义县| 玉林市| 湟源县| 庆阳市| 白山市| 尚志市| 延津县| 大关县| 张掖市| 若羌县| 太白县| 涿鹿县| 龙胜| 大方县| 西林县| 新河县| 承德市| 江口县| 新河县| 吴川市| 惠州市| 霍州市| 游戏| 高州市| 通化县| 达孜县| 清水河县| 南郑县| 潜山县| 天水市| 永修县| 屏东县| 宁化县| 新民市| 南川市| 衡水市| 汨罗市| 新龙县| 工布江达县|