☆.STC89C51/52、AT89C51/52、AT89S51/52之間的關(guān)系與區(qū)別?答: 共同點(diǎn):都是采用MCU-51內(nèi)核,引腳和編程方面都是一樣,所以統(tǒng)稱為51單片機(jī)。大家一定要記住51單片機(jī)不是單單指的是AT89C51或者STC89C51,51單片機(jī)是屬于一個(gè)系列都采用MCU-51內(nèi)核。 不同點(diǎn):從這些單片機(jī)型號(hào)上來認(rèn)識(shí)它們。 ①:開頭的字母指的是生產(chǎn)的廠商!癝TC”是宏晶科技、“AT”是Atmel公司; ②:“89C”和“89S”這個(gè)是單片機(jī)型號(hào)!9’表示內(nèi)部含有Flash存儲(chǔ)器;‘C’表示CMOS產(chǎn)品;‘S’表示含有串行下載Flash存儲(chǔ)器; ③:“51”和“52”這是表示內(nèi)部程序存儲(chǔ)空間大小。其中“51”表示有4K程序存儲(chǔ)空間,“52”有8K程序存儲(chǔ)空間,另外還有“54”、“55”、“58”、“516”等依次類推即可。。。所以這個(gè)也是在設(shè)計(jì)中選擇單片機(jī)具體型號(hào)上的一個(gè)關(guān)鍵地方。如果程序的大小為5K,那么用“51”的只有4K就裝不下不可行,所以只能使用“52”。如果程序只有2K,那么使用“51”有4K的存儲(chǔ)空間那就足夠了,那么會(huì)問使用“52”行嗎,這個(gè)當(dāng)然是可以的,只有芯片的程序存儲(chǔ)空間大于實(shí)際程序的大小就可以,這個(gè)好比U盤的大小,大家想下就知道了。 ☆.51單片機(jī)最小系統(tǒng)由哪些組成?答: 最小系統(tǒng)指的以最少的器件組成能夠讓單片機(jī)正常工作的系統(tǒng)。 51單片機(jī)最小系統(tǒng)由:晶振電路、復(fù)位電路、電源三部分組成,當(dāng)然單片機(jī)肯定得要有。 ☆.晶振電路和復(fù)位電路的作用分別是什么?答: 晶振電路:給單片機(jī)提供時(shí)鐘信號(hào),單片機(jī)在這個(gè)時(shí)鐘信號(hào)下進(jìn)行工作。 復(fù)位電路:是使程序計(jì)數(shù)器清零,也就是讓程序從頭開始執(zhí)行。復(fù)位電路又可分為:上電復(fù)位和按鍵復(fù)位。 上電復(fù)位:指的是單片機(jī)系統(tǒng)在打開電源后自動(dòng)的復(fù)位單片機(jī)。 按鍵復(fù)位:通過按鍵進(jìn)行手動(dòng)的復(fù)位單片機(jī),這種情況一般在單片機(jī)卡死的情況下使用。 ☆.如果將程序下載到單片機(jī)中?答: 首先,下載程序你就的有一根線將板子上的單片機(jī)和電腦進(jìn)行連接起來(大家要注意這個(gè)不是那個(gè)圓孔的電源線,電源線只能用于供電而不能下載程序),那么這根線就叫作下載器。 然后,電腦上需要裝上下載器對(duì)應(yīng)的驅(qū)動(dòng)。(這個(gè)不難理解,就好比,你鍵盤或鼠標(biāo)你買回來第一次插到電腦上沒有安裝驅(qū)動(dòng)是不能用的,等驅(qū)動(dòng)安裝好才能使用)。 再來,電腦上需要有下載程序的軟件。下載程序的時(shí)候就只要再軟件中選擇好需要下載的程序然后點(diǎn)擊下載就可以下載進(jìn)入。(切記STC的單片機(jī)需要冷啟動(dòng)才能下載,所謂能啟動(dòng)就是板子上先關(guān)閉電源,在電腦上點(diǎn)擊下載后,在將板子的電源打開。如果沒有冷啟動(dòng)這個(gè)是沒辦法下載的) 具備以上三個(gè)點(diǎn)就可以將程序從電腦下載到單片機(jī)中了。 備注:STC和AT這兩個(gè)單片機(jī)的下載程序方法是不一樣的,STC單片機(jī)用串行下載線(如:PL2303)就可以了,而AT單片機(jī)需要用專門的下載器(如:SP200)。對(duì)應(yīng)的下載器驅(qū)動(dòng)也需要安裝對(duì)應(yīng)的。下載軟件也是需要對(duì)應(yīng)支持。我們下載程序的時(shí)候下載軟件(STC采用 ,AT采用 )。具體的教程可以下載資料中《11-相關(guān)軟件下載》文件夾中《程序下載軟件《普中下載軟件》》的下載鏈接進(jìn)行下載,里面有具體的下載教程。 ☆.單片機(jī)上一共具有多少個(gè)引腳,多少個(gè)IO口?答: 我們使用的單片機(jī)STC89C51/52、AT89C51/52、AT89S51/52中的任何一種都是具有40引腳。其中32個(gè)IO口,分為P0、P1、P2、P3四組八位IO口。P0、P1、P2這三組只能作為普通IO口用(正常的輸入輸出操作),而P3具有普通IO的功能外還可以使用第二功能(如串口通訊,計(jì)數(shù)器輸入,外部中斷觸發(fā)等)。 ☆.P0口的上拉電阻(排阻)是否有必要加上?或者為什么需要加上拉電阻(排阻)?答: 51單片機(jī)的P0口時(shí)漏極開路輸出。 作為輸出:如果沒有接上拉電阻(排阻)的話輸出電流非常低,輸出低電平的時(shí)候?yàn)?,但是輸出高電平是處于高阻態(tài)并非5V,也就是說輸出高電平不穩(wěn)定。所以需要添加上拉電阻(排阻)(即:一端連接到VCC),由VCC通過這個(gè)上拉電阻給負(fù)載提供電流,使得高電平輸出穩(wěn)定。 作為輸入:當(dāng)P0作為輸入時(shí)可以不加上拉電阻(排阻),不過需要在讀之前先將P0置1,使P0口處于高阻浮空狀態(tài),這樣所輸入高電平才能被讀取,否則無法正確讀取到高電平。 綜合以上,P0加上拉是有必要的,不管作為輸入還是輸出。輸入這個(gè)必須的加,輸出的話如果沒有加在每次讀取都得先置1程序上顯得麻煩,添加了上拉就不需要多余這一步。 ☆.晶振是如何選擇?或者說為什么要選擇12MHZ或者11.0592MHZ?答: 在51單片機(jī)上晶振通常采用的是12MHZ或者11.0592MHZ。采用6MH、24MHZ等也是可以,只要再單片機(jī)晶振頻率范圍之內(nèi)就可以。 如果采用12MHZ晶振的話,經(jīng)過12分頻后一個(gè)指令周期剛好1us,這樣對(duì)于需要計(jì)時(shí)的程序就非常有幫助了。剛好1us計(jì)算非常方便。 如果采用11.0592MHZ晶振的話,對(duì)于波特率的產(chǎn)生可以作為理論0誤差(晶振本身也不可能剛好11.0592MHZ,所以不可能說百分百的)。而采用12MHZ或者別的晶振的時(shí)候就可以產(chǎn)生非常大的誤差這樣就會(huì)導(dǎo)致通訊失敗。所以在紅外遙控,串口通訊上我們都是采用11.0592MHZ。 我們?cè)诔艘陨蟽煞N特殊情況選擇11.0592MHZ外,其余的都一致采用12MHZ。 ☆.51單片機(jī)共有幾個(gè)中斷,分別是什么?答: 5個(gè)。分別為:外部中斷0、定時(shí)/計(jì)數(shù)器中斷0、外部中斷1、定時(shí)/計(jì)數(shù)器中斷1、串口中斷。優(yōu)先級(jí)(也就是同時(shí)發(fā)生情況下先執(zhí)行哪一個(gè)中斷):外部中斷0>定時(shí)/計(jì)數(shù)器中斷0>外部中斷1>定時(shí)/計(jì)數(shù)器中斷1>串口中斷。 ☆.為什么仿真圖看上去和實(shí)物(或原理圖)有差別?(這問題針對(duì)可以仿真的設(shè)計(jì),不可以仿真的設(shè)計(jì)可以了解下或者忽略)。答: 原理圖采用的是DXP軟件繪制,而仿真圖采用的是Proteus軟件繪制。大家會(huì)問如果焊接是看哪一個(gè)圖?焊接的時(shí)候最好就是看PCB圖,PCB圖上的元件尺寸和布局都是最接近實(shí)物的,而原理圖和仿真圖是沒有布局,原理圖上的元件也沒具體的尺寸,仿真圖上可能有的元件使用別的代替所有。 首先仿真這只是一個(gè)模擬現(xiàn)實(shí)的虛擬環(huán)境,它是處于理想的一個(gè)環(huán)境下模擬現(xiàn)實(shí)情況,然后在顯示中可能會(huì)出現(xiàn)各種各樣的問題,所以告誡大家仿真可行的,你做出東西來也不一定可以運(yùn)行,大家千萬別以為仿真可以的做出來的東西就可以(不過大家仿真我們做的仿真和實(shí)物都是經(jīng)過調(diào)試OK的)。 比如:在仿真中的單片機(jī)你不用接VCC和GND,而在事物上你沒接連電都沒有還怎么運(yùn)行;在仿真中復(fù)位電路和晶振電路也可以不接,而在實(shí)際上不接就等同于一個(gè)人沒有心臟(無法運(yùn)行);還有仿真中DS1302時(shí)鐘芯片在每次開啟仿真時(shí)都會(huì)自動(dòng)校準(zhǔn)電腦上的時(shí)間(也就是電腦上時(shí)間多少仿真里就多少),而實(shí)際就沒辦法只能靠備用電池提供電源繼續(xù)供電,才能保持時(shí)間的準(zhǔn)確;還有仿真中可能很多器件是沒有的比如酒精傳感器、煙霧傳感器、震動(dòng)傳感器等等,沒有怎么辦?那就得根據(jù)這些傳感器特性找到對(duì)應(yīng)的起來來替代,酒精傳感器、煙霧傳感器這兩種可以用電位器來模擬輸出的電壓,震動(dòng)傳感器可以用按按鍵來模擬實(shí)際中是否震動(dòng)產(chǎn)生。。。 除了以上列舉的幾種不一樣的地方還有很多這里就不一一列舉。 ☆. LCD1602左上角的藍(lán)白色東西時(shí)什么?作用是什么?答: 電位器。 作用:首先這個(gè)電位器接入的是LCD1602第3引腳,查閱LCD1602手冊(cè)可以知道第3引腳是調(diào)節(jié)灰度的,而且是采用電壓進(jìn)行控制,在0.5~1V左右顯示正常。所以我們采用一個(gè)電位器通過連接電源進(jìn)行分壓后輸入第3引腳,然后調(diào)節(jié)電位器就可以得到合適的電壓值使得顯示清晰。 可是有人會(huì)問那為什么不直接計(jì)算一個(gè)合適的電阻進(jìn)行分壓接進(jìn)去就好了,用電位器多麻煩。這個(gè)也是考慮過但是為什么還選擇電位器,而不是固定電阻,不是省什么成本。而是,供電電壓可能不會(huì)那么穩(wěn)定的是5V,那么我們計(jì)算的時(shí)候就按一個(gè)電壓進(jìn)行計(jì)算出來這樣就進(jìn)去就一小范圍的適合。如果是電位器的話我不管你電源電壓多少,我調(diào)節(jié)電位器都可以調(diào)節(jié)出合適的電壓值出來。 ☆.LCD1602采用的是串口還是并口?能夠同時(shí)顯示多少內(nèi)容的?答: 并口通訊。最多能夠同時(shí)顯示16*2字符(字符就是像數(shù)字、字母這種)內(nèi)容。 ☆. DS18B20溫度傳感器采用什么通訊方式?答: 單總線通訊。單總線的意思就是只用一根信號(hào)線按照特定通訊協(xié)議就可以數(shù)據(jù)的傳輸。 ☆.DS18B20溫度傳感器精度多少?測(cè)量范圍?最小分度值多少?答: 精度:±0.5℃。測(cè)量范圍(這個(gè)是器件的測(cè)量范圍,有可能我們?cè)O(shè)計(jì)上只是選取其中的一部分,這邊大家不要混淆):-55℃到+125℃。最小分度值:0.0625℃。 ☆.為什么顯示器上只顯示00.06呢?答: 如果只顯示出“00.06”而且不管怎么給傳感器加熱或降溫都不會(huì)變化的話,那么可以判斷傳感器沒有插接好,大家重新插好下就可以正常工作了。其中也不排除背面的焊接線路斷了,如果還是不行就得檢測(cè)下背面的線路是否斷了。 大家可以將傳感器拔了(注意拔的時(shí)候要記好插的方向,到時(shí)候插回去的時(shí)候得按原來的方向插回去,不然接反會(huì)立馬發(fā)燙),然后開機(jī)看看,顯示的依然為“00.06”。 ☆.單片機(jī)是如何實(shí)現(xiàn)播放音樂的?答: 其實(shí)音樂就是通過發(fā)音的頻率和節(jié)拍組成的,我們只要知道歌曲中所有的頻率和節(jié)拍然后通過定時(shí)器進(jìn)行精準(zhǔn)的控制發(fā)音的頻率和節(jié)拍,這樣就可以完成音樂播放,具體原理見《15-參考論文》 |