★由于每一個(gè)答辯老師都會(huì)有自己的想法見(jiàn)解,所以每一個(gè)老師問(wèn)出來(lái)的問(wèn)題都可能不同,本文將系統(tǒng)將設(shè)計(jì)中的常識(shí)常見(jiàn)的問(wèn)題進(jìn)行整理出來(lái)以供不時(shí)之需。就算在答辯中老師沒(méi)有問(wèn)起這些問(wèn)題但是這些問(wèn)題讓大家對(duì)設(shè)計(jì)中的原理認(rèn)識(shí)還是有所幫助的。另外根據(jù)個(gè)人的經(jīng)驗(yàn)告訴大家,在答辯中老師可能會(huì)問(wèn)起一些比較奇葩的問(wèn)題:例如做的一個(gè)手機(jī)藍(lán)牙小車,老師可能會(huì)問(wèn)在操控的時(shí)候手機(jī)掉地上該如何辦?問(wèn)是否能用別的手機(jī)進(jìn)行繼續(xù)操控,如果可以,那么安全性又該如何解決?總之像這類的問(wèn)題就是一個(gè)坑,大家可以隨機(jī)應(yīng)變。在問(wèn)答的時(shí)候大家千萬(wàn)不要沉默,想到什么就大膽的回答。另外一定要對(duì)自己有信心,堅(jiān)信設(shè)計(jì)為自己所做,在答辯的時(shí)候老師不會(huì)讓你現(xiàn)場(chǎng)制作,比較后面還有那么多同學(xué)等著答辯的,實(shí)在有點(diǎn)破綻那就說(shuō)有讓學(xué)的比較好的同學(xué)幫忙。★☆.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)上來(lái)認(rèn)識(shí)它們。 ①:開(kāi)頭的字母指的是生產(chǎn)的廠商。“STC”是宏晶科技、“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ì)問(wèn)使用“52”行嗎,這個(gè)當(dāng)然是可以的,只有芯片的程序存儲(chǔ)空間大于實(shí)際程序的大小就可以,這個(gè)好比U盤(pán)的大小,大家想下就知道了。 ☆.如果將程序下載到單片機(jī)中?答: 首先,下載程序你就的有一根線將板子上的單片機(jī)和電腦進(jìn)行連接起來(lái)(大家要注意這個(gè)不是那個(gè)圓孔的電源線,電源線只能用于供電而不能下載程序),那么這根線就叫作下載器。 然后,電腦上需要裝上下載器對(duì)應(yīng)的驅(qū)動(dòng)。(這個(gè)不難理解,就好比,你鍵盤(pán)或鼠標(biāo)你買(mǎi)回來(lái)第一次插到電腦上沒(méi)有安裝驅(qū)動(dòng)是不能用的,等驅(qū)動(dòng)安裝好才能使用)。 再來(lái),電腦上需要有下載程序的軟件。下載程序的時(shí)候就只要再軟件中選擇好需要下載的程序然后點(diǎn)擊下載就可以下載進(jìn)入。(切記STC的單片機(jī)需要冷啟動(dòng)才能下載,所謂能啟動(dòng)就是板子上先關(guān)閉電源,在電腦上點(diǎn)擊下載后,在將板子的電源打開(kāi)。如果沒(méi)有冷啟動(dòng)這個(gè)是沒(méi)辦法下載的) 具備以上三個(gè)點(diǎn)就可以將程序從電腦下載到單片機(jī)中了。 備注:STC和AT這兩個(gè)單片機(jī)的下載程序方法是不一樣的,STC單片機(jī)用串行下載線(如:PL2303)就可以了,而AT單片機(jī)需要用專門(mén)的下載器(如: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í)漏極開(kāi)路輸出。 作為輸出:如果沒(méi)有接上拉電阻(排阻)的話輸出電流非常低,輸出低電平的時(shí)候?yàn)?,但是輸出高電平是處于高阻態(tài)并非5V,也就是說(shuō)輸出高電平不穩(wěn)定。所以需要添加上拉電阻(排阻)(即:一端連接到VCC),由VCC通過(guò)這個(gè)上拉電阻給負(fù)載提供電流,使得高電平輸出穩(wěn)定。 作為輸入:當(dāng)P0作為輸入時(shí)可以不加上拉電阻(排阻),不過(guò)需要在讀之前先將P0置1,使P0口處于高阻浮空狀態(tài),這樣所輸入高電平才能被讀取,否則無(wú)法正確讀取到高電平。 綜合以上,P0加上拉是有必要的,不管作為輸入還是輸出。輸入這個(gè)必須的加,輸出的話如果沒(méi)有加在每次讀取都得先置1程序上顯得麻煩,添加了上拉就不需要多余這一步。 ☆.晶振是如何選擇?或者說(shuō)為什么要選擇12MHZ或者11.0592MHZ?答: 在51單片機(jī)上晶振通常采用的是12MHZ或者11.0592MHZ。采用6MH、24MHZ等也是可以,只要再單片機(jī)晶振頻率范圍之內(nèi)就可以。 如果采用12MHZ晶振的話,經(jīng)過(guò)12分頻后一個(gè)指令周期剛好1us,這樣對(duì)于需要計(jì)時(shí)的程序就非常有幫助了。剛好1us計(jì)算非常方便。 如果采用11.0592MHZ晶振的話,對(duì)于波特率的產(chǎn)生可以作為理論0誤差(晶振本身也不可能剛好11.0592MHZ,所以不可能說(shuō)百分百的)。而采用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í)物(或原理圖)有差別?(這問(wèn)題針對(duì)可以仿真的設(shè)計(jì),不可以仿真的設(shè)計(jì)可以了解下或者忽略)。答: 原理圖采用的是DXP軟件繪制,而仿真圖采用的是Proteus軟件繪制。大家會(huì)問(wèn)如果焊接是看哪一個(gè)圖?焊接的時(shí)候最好就是看PCB圖,PCB圖上的元件尺寸和布局都是最接近實(shí)物的,而原理圖和仿真圖是沒(méi)有布局,原理圖上的元件也沒(méi)具體的尺寸,仿真圖上可能有的元件使用別的代替所有。 首先仿真這只是一個(gè)模擬現(xiàn)實(shí)的虛擬環(huán)境,它是處于理想的一個(gè)環(huán)境下模擬現(xiàn)實(shí)情況,然后在顯示中可能會(huì)出現(xiàn)各種各樣的問(wèn)題,所以告誡大家仿真可行的,你做出東西來(lái)也不一定可以運(yùn)行,大家千萬(wàn)別以為仿真可以的做出來(lái)的東西就可以(不過(guò)大家仿真我們做的仿真和實(shí)物都是經(jīng)過(guò)調(diào)試OK的)。 比如:在仿真中的單片機(jī)你不用接VCC和GND,而在事物上你沒(méi)接連電都沒(méi)有還怎么運(yùn)行;在仿真中復(fù)位電路和晶振電路也可以不接,而在實(shí)際上不接就等同于一個(gè)人沒(méi)有心臟(無(wú)法運(yùn)行);還有仿真中DS1302時(shí)鐘芯片在每次開(kāi)啟仿真時(shí)都會(huì)自動(dòng)校準(zhǔn)電腦上的時(shí)間(也就是電腦上時(shí)間多少仿真里就多少),而實(shí)際就沒(méi)辦法只能靠備用電池提供電源繼續(xù)供電,才能保持時(shí)間的準(zhǔn)確;還有仿真中可能很多器件是沒(méi)有的比如酒精傳感器、煙霧傳感器、震動(dòng)傳感器等等,沒(méi)有怎么辦?那就得根據(jù)這些傳感器特性找到對(duì)應(yīng)的起來(lái)來(lái)替代,酒精傳感器、煙霧傳感器這兩種可以用電位器來(lái)模擬輸出的電壓,震動(dòng)傳感器可以用按按鍵來(lái)模擬實(shí)際中是否震動(dòng)產(chǎn)生。。。 除了以上列舉的幾種不一樣的地方還有很多這里就不一一列舉。 ☆. LCD1602左上角的藍(lán)白色東西時(shí)什么?作用是什么?答: 電位器。 作用:首先這個(gè)電位器接入的是LCD1602第3引腳,查閱LCD1602手冊(cè)可以知道第3引腳是調(diào)節(jié)灰度的,而且是采用電壓進(jìn)行控制,在0.5~1V左右顯示正常。所以我們采用一個(gè)電位器通過(guò)連接電源進(jìn)行分壓后輸入第3引腳,然后調(diào)節(jié)電位器就可以得到合適的電壓值使得顯示清晰。 可是有人會(huì)問(wèn)那為什么不直接計(jì)算一個(gè)合適的電阻進(jìn)行分壓接進(jìn)去就好了,用電位器多麻煩。這個(gè)也是考慮過(guò)但是為什么還選擇電位器,而不是固定電阻,不是省什么成本。而是,供電電壓可能不會(huì)那么穩(wěn)定的是5V,那么我們計(jì)算的時(shí)候就按一個(gè)電壓進(jìn)行計(jì)算出來(lái)這樣就進(jìn)去就一小范圍的適合。如果是電位器的話我不管你電源電壓多少,我調(diào)節(jié)電位器都可以調(diào)節(jié)出合適的電壓值出來(lái)。 ☆.LCD1602采用的是串口還是并口?能夠同時(shí)顯示多少內(nèi)容的?答: 并口通訊。最多能夠同時(shí)顯示16*2字符(字符就是像數(shù)字、字母這種)內(nèi)容。 ☆. MQ-3酒精傳感器的輸出電壓和酒精濃度的關(guān)系?答: MQ-3是半導(dǎo)體氣敏傳感器,它的電導(dǎo)率會(huì)隨著空氣中酒精氣體濃度的增加而增加,輸出的電壓與環(huán)境中的酒精濃度呈現(xiàn)出近視線性的關(guān)系,電壓每升高0.1V,氣體濃度增加20PPM。 ☆.LED燈串聯(lián)的電阻有何作用?阻值又是如何計(jì)算出來(lái)得到?答: 首先要知道LED燈上串聯(lián)的電阻為分壓作用。而LED燈工作電流在4~20ma,工作電壓3V。根據(jù)串聯(lián)的原理,下圖中R1電阻上的電流也應(yīng)該為4~20ma,而電阻兩端的電阻就為:電源電壓VCC - LED燈工作電壓3V=2V。根據(jù)R=U/I,可以得到R1阻值在100~500Ω。而如果采用500Ω電阻的話LED燈過(guò)于亮,長(zhǎng)時(shí)間容易燒壞,所以加大了R1阻值到1K。
☆.設(shè)計(jì)中蜂鳴器采用有源還是無(wú)源?有源和無(wú)源的區(qū)別是什么?答: 采用的是有源蜂鳴器。 有源蜂鳴器在控制的時(shí)候只需要施加高低電平(具體看驅(qū)動(dòng)電路的設(shè)計(jì))就可以控制發(fā)出聲音。 無(wú)源蜂鳴器在控制的時(shí)候需要脈沖信號(hào)才能控制蜂鳴器鳴叫。 ☆.蜂鳴器驅(qū)動(dòng)為什么要采用PNP三極管(S8550、9012)?而不采用NPN三極管(S8050、9013)?還有這個(gè)三極管的作用?答: 單片機(jī)剛上電的時(shí)候所有的IO口會(huì)處于短暫的高電平狀態(tài)。如果采用NPN三極管的話是高電平三極管導(dǎo)通,蜂鳴器鳴叫,這時(shí)在上電的時(shí)候就會(huì)出現(xiàn)鳴叫一聲。如果采用PNP三極管的話是低電平三極管導(dǎo)通,蜂鳴器鳴叫,這時(shí)在上電的時(shí)候處于的高電平并不會(huì)對(duì)蜂鳴器造成影響。 作用:由于單片機(jī)的IO口輸出電流比較低,而蜂鳴器的工作電流又比較大所以需要三極管進(jìn)行放大電流才能使得蜂鳴器正常的工作。 ☆.ADC0832是幾位(分辨率多少)AD轉(zhuǎn)換芯片,有幾個(gè)通道?答: 8位AD轉(zhuǎn)換芯片。具有兩個(gè)通道輸入?梢詫(shí)現(xiàn)四種采集方式,即通道0、通道1、通道0為正通道1為負(fù)差分輸入、通道0為負(fù)通道1為正差分輸入。 |