在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

AT89S51單片機(jī)功能及特點(diǎn)

科技綠洲 ? 來(lái)源:西天取經(jīng)的熊 ? 作者:西天取經(jīng)的熊 ? 2023-09-11 10:18 ? 次閱讀

圖片

第1章 單片機(jī)系統(tǒng)硬件電路

1.1 實(shí)習(xí)目的

了解單片機(jī)最小系統(tǒng);

了解keil軟件操作,程序下載及調(diào)試方法;

掌握單片機(jī)外部電路使用;

掌握鍵盤(pán)和數(shù)碼管顯示編程方法;

應(yīng)用單片機(jī)開(kāi)發(fā)板進(jìn)行實(shí)驗(yàn)開(kāi)發(fā);

1.2 單片機(jī)型號(hào)及特性

1、AT89S51單片機(jī)功能及特點(diǎn)

AT89S51采用40引腳雙列直插封裝(DIP)形式,內(nèi)部由CPU,4kB的ROM,256 B的RAM,2個(gè)16b的定時(shí)/計(jì)數(shù)器TO和T1,4個(gè)8 b的工/O端I:IP0,P1,P2,P3,一個(gè)全雙功串行通信口等組成。特別是該系列單片機(jī)片內(nèi)的Flash可編程、可擦除只讀存儲(chǔ)器(E~PROM),使其在實(shí)際中有著十分廣泛的用途,在便攜式、省電及特殊信息保存的儀器和系統(tǒng)中更為有用。AT89S51提供了高度靈活和低成本的解決辦法。充分利用他的片內(nèi)資源,即可在較少外圍電路的情況下構(gòu)成功能完善的超聲波測(cè)距系統(tǒng)。
2、STC89C52單片機(jī)功能及特點(diǎn)

STC89C52是由8K可反復(fù)擦寫(xiě)Flash ROM,32個(gè)雙向I/O口,256x8bit內(nèi)部RAM,3個(gè)16位可編程定時(shí)/計(jì)數(shù)器中斷,時(shí)鐘頻率0-24MHz,2個(gè)串行中斷,可編程UART串行通道,2個(gè)外部中斷源,共6個(gè)中斷源,2個(gè)讀寫(xiě)中斷口線,3級(jí)加密位,低功耗空閑和掉電模式,軟件設(shè)置睡眠和喚醒功能。該器件采用ATMEL搞密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。

1.3 單片機(jī)開(kāi)發(fā)板

1、復(fù)位電路

在電路中,使用電阻電容充電,使電容的電壓緩慢上升一直到VCC,在還沒(méi)有到VCC時(shí),芯片復(fù)位腳近似低電平,但是芯片復(fù)位,接近VCC時(shí),芯片復(fù)位腳近高電平,導(dǎo)致芯片停止復(fù)位,此時(shí)復(fù)位完成,整個(gè)電路循環(huán)運(yùn)行.這個(gè)電路就叫做復(fù)位電路。開(kāi)關(guān)復(fù)位電路如上圖所示。

在電路上電時(shí)候或電壓波動(dòng)不穩(wěn)定的時(shí)候,當(dāng)給單片機(jī)上電那一瞬間,電壓有在幾微秒內(nèi)(有的是幾毫秒內(nèi))不是直接跳變到5V的而是一個(gè)直線上升的階段,這時(shí)候,單片機(jī)不能正常工作,需要復(fù)位電路給它延時(shí)以等到電壓穩(wěn)定。這叫上電復(fù)位。

圖片

圖1

2、晶振電路

晶振使用12MHZ。時(shí)鐘周期是機(jī)器周期的12倍,機(jī)器周期是晶振頻率的倒數(shù),1/12MHz = 1/12us那么時(shí)鐘周期就是12*(1/12us)=1us。單片機(jī)晶振提供的時(shí)鐘頻率越高,那么單片機(jī)運(yùn)行速度就越快,單片機(jī)的一切指令的執(zhí)行都是建立在單片機(jī)晶振提供的時(shí)鐘頻率。晶振的兩端并聯(lián)上合適的電容它就會(huì)組成并聯(lián)諧振電路。這個(gè)并聯(lián)諧振電路加到一個(gè)負(fù)反饋電路中就可以構(gòu)成正弦波振蕩電路,也就是晶振電路。

圖片

圖2

3、鍵盤(pán)和中斷

鍵盤(pán)掃描原理:

檢測(cè)時(shí),先送一列為低電平,其余幾列全為高電平,然后立即輪流檢測(cè)一次各行是否有低電平,若檢測(cè)到某一行為低電平,則我們便可確認(rèn)當(dāng)前被按下的鍵是哪一行哪一列的,用同樣的方法輪流送各列一次低電平,輪流檢測(cè)一次各行是否變成低電平,這樣即可檢測(cè)完所有的按鍵,當(dāng)有鍵被按下時(shí)便可判斷出按下的鍵是哪一個(gè)鍵。

圖片

圖3

中斷原理:

⑴ 當(dāng)單片微機(jī)內(nèi)部或外部有中斷申請(qǐng)時(shí),CPU能及時(shí)響應(yīng)中斷,停下正在執(zhí)行的任務(wù),轉(zhuǎn)去處理中斷服務(wù)子程序,中斷服務(wù)處理后能回到原斷點(diǎn)處繼續(xù)處理原先的任務(wù);

⑵ 當(dāng)有多個(gè)中斷源同時(shí)申請(qǐng)中斷時(shí),應(yīng)能先響應(yīng)優(yōu)先級(jí)高的中斷源,實(shí)現(xiàn)中斷優(yōu)先級(jí)的控制;

⑶ 當(dāng)?shù)蛢?yōu)先級(jí)中斷源正在享用中斷服務(wù)時(shí),若這時(shí)優(yōu)先級(jí)比它高的中斷源也申請(qǐng)中斷,要求能停下低優(yōu)先級(jí)中斷源的服務(wù)程序轉(zhuǎn)去執(zhí)行更高優(yōu)先級(jí)中斷源的服務(wù)程序,實(shí)現(xiàn)中斷嵌套,并能逐級(jí)正確返回原斷點(diǎn)處。

4、數(shù)碼

靜態(tài)顯示驅(qū)動(dòng)原理:

靜態(tài)驅(qū)動(dòng)也稱直流驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)是指每個(gè)數(shù)碼管的每一個(gè)段碼都由一個(gè)單片機(jī)的I/O口進(jìn)行驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)的優(yōu)點(diǎn)就是編程簡(jiǎn)單,顯示亮度高,缺點(diǎn)是占用I/O口多。實(shí)際應(yīng)用時(shí)必須增加譯碼驅(qū)動(dòng)器進(jìn)行驅(qū)動(dòng),增加了硬件電路的復(fù)雜性。

動(dòng)態(tài)顯示驅(qū)動(dòng)原理:

數(shù)碼管動(dòng)態(tài)顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的8個(gè)顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個(gè)數(shù)碼管的公共極COM增加位選通控制電路,位選通由各自獨(dú)立的I/O線控制,當(dāng)單片機(jī)輸出字形碼時(shí),所有數(shù)碼管都接收到相同的字形碼,但究竟是那個(gè)數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對(duì)位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開(kāi),該位就顯示出字形,沒(méi)有選通的數(shù)碼管就不會(huì)亮。通過(guò)分時(shí)輪流控制各個(gè)數(shù)碼管的的COM端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)態(tài)驅(qū)動(dòng)。在輪流顯示過(guò)程中,每位數(shù)碼管的點(diǎn)亮?xí)r間為1~2ms,由于人的視覺(jué)暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會(huì)有閃爍感,動(dòng)態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O端口,而且功耗更低。

圖片

圖4

第2章 單片機(jī)應(yīng)用系統(tǒng)軟件

2.1 STC下載軟件

本軟件不需要安裝,只要直接點(diǎn)擊圖片這個(gè)圖標(biāo)即可。

MCU Type 選擇STC89C52RC 將生成的文件Open File 然后我的電腦點(diǎn)擊右鍵找到管理設(shè)備管理器端口然后看顯示的是哪個(gè)COM口。最后點(diǎn)擊Download 單片機(jī)的開(kāi)關(guān)在顯示連接時(shí)再打開(kāi)。

圖片

2.2Keil軟件

點(diǎn)開(kāi)圖標(biāo)UV3;

圖片

圖片

圖片

圖片

圖片

圖片

圖片

點(diǎn)擊add close即可在界面上編譯即可。

圖片

圖片

圖片

圖片

2.3 外部電路驅(qū)動(dòng)

1、串口

串行接口是一種可以將接受來(lái)自CPU的并行數(shù)據(jù)字符轉(zhuǎn)換為連續(xù)的串行數(shù)據(jù)流發(fā)送出去,同時(shí)可將接受的串行數(shù)據(jù)流轉(zhuǎn)換為并行的數(shù)據(jù)字符供給CPU的器件。一般完成這種功能的電路,我們成為串行接口電路。計(jì)算機(jī)通信是將計(jì)算機(jī)技術(shù)和通信技術(shù)的相結(jié)合,完成計(jì)算機(jī)與外部設(shè)備或計(jì)算機(jī)與計(jì)算機(jī)之間的信息交換 。可以分為兩大類:并行通信與串行通信。

并行通信通常是將數(shù)據(jù)字節(jié)的各位用多條數(shù)據(jù)線同時(shí)進(jìn)行傳送 。

圖片

并行通信控制簡(jiǎn)單、傳輸速度快;由于傳輸線較多,長(zhǎng)距離傳送時(shí)成本高且接收方的各位同時(shí)接收存在困難。

串行通信是將數(shù)據(jù)字節(jié)分成一位一位的形式在一條傳輸線上逐個(gè)地傳送。

圖片

串行通信的特點(diǎn):傳輸線少,長(zhǎng)距離傳送時(shí)成本低,且可以利用電話網(wǎng)等現(xiàn)成的設(shè)備,但數(shù)據(jù)的傳送控制比并行通信復(fù)雜。

異步通信是指通信的發(fā)送與接收設(shè)備使用各自的時(shí)鐘控制數(shù)據(jù)的發(fā)送和接收過(guò)程。為使雙方的收發(fā)協(xié)調(diào),要求發(fā)送和接收設(shè)備的時(shí)鐘盡可能一致。

異步通信的數(shù)據(jù)格式 :

圖片

異步通信的特點(diǎn):不要求收發(fā)雙方時(shí)鐘的嚴(yán)格一致,實(shí)現(xiàn)容易,設(shè)備開(kāi)銷(xiāo)較小,但每個(gè)字符要附加2~3位用于起止位,各幀之間還有間隔,因此傳輸效率不高。

同步通信時(shí)要建立發(fā)送方時(shí)鐘對(duì)接收方時(shí)鐘的直接控制,使雙方達(dá)到完全同步。此時(shí),傳輸數(shù)據(jù)的位之間的距離均為“位間隔”的整數(shù)倍,同時(shí)傳送的字符間不留間隙,即保持位同步關(guān)系,也保持字符同步關(guān)系。
2、定時(shí)器
定時(shí)/計(jì)數(shù)器的工作原理:

加1計(jì)數(shù)器輸入的計(jì)數(shù)脈沖有兩個(gè)來(lái)源,一個(gè)是由系統(tǒng)的時(shí)鐘振蕩器輸出脈沖經(jīng)12分頻后送來(lái);一個(gè)是T0或T1引腳輸入的外部脈沖源。每來(lái)一個(gè)脈沖計(jì)數(shù)器加1,當(dāng)加到計(jì)數(shù)器為全1時(shí),再輸入一個(gè)脈沖就使計(jì)數(shù)器回零,且計(jì)數(shù)器的溢出使TCON中TF0或TF1置1,向CPU發(fā)出中斷請(qǐng)求(定時(shí)/計(jì)數(shù)器中斷允許時(shí))。如果定時(shí)/計(jì)數(shù)器工作于定時(shí)模式,則表示定時(shí)時(shí)間已到;

如果工作于計(jì)數(shù)模式,則表示計(jì)數(shù)值已滿。可見(jiàn),由溢出時(shí)計(jì)數(shù)器的值減去計(jì)數(shù)初值才是加1計(jì)數(shù)器的計(jì)數(shù)值。

工作方式寄存器TMOD用于設(shè)置定時(shí)/計(jì)數(shù)器的工作方式,低四位用于T0,高四位用于T1。其格式如下:

圖片

GATE:門(mén)控位。

C/T:定時(shí)/計(jì)數(shù)模式選擇位。

M1M0:工作方式設(shè)置位。

圖片

圖片

TF1(TCON.7):T1溢出中斷請(qǐng)求標(biāo)志位。

TR1(TCON.6):T1運(yùn)行控制位。

TF0(TCON.5):T0溢出中斷請(qǐng)求標(biāo)志位,其功能與TF1類同。

TR0(TCON.4):T0運(yùn)行控制位,其功能與TR1類同。

3、中斷

一、中斷的概念

CPU在處理某一事件A時(shí),發(fā)生了另一事件B請(qǐng)求CPU迅速去處理(中斷發(fā)生);

CPU暫時(shí)中斷當(dāng)前的工作,轉(zhuǎn)去處理事件B(中斷響應(yīng)和中斷服務(wù));

待CPU將事件B處理完畢后,再回到原來(lái)事件A被中斷的地方繼續(xù)處理事件A(中斷返回),這一過(guò)程稱為中斷 。

MCS-51單片機(jī)的中斷系統(tǒng)結(jié)構(gòu)

圖片

引起CPU中斷的根源,稱為中斷源。中斷源向CPU提出的中斷請(qǐng)求。CPU暫時(shí)中斷原來(lái)的事務(wù)A,轉(zhuǎn)去處理事件B。對(duì)事件B處理完畢后,再回到原來(lái)被中斷的地方(即斷點(diǎn)),稱為中斷返回。實(shí)現(xiàn)上述中斷功能的部件稱為中斷系統(tǒng)(中斷機(jī)構(gòu))。

80C51的中斷系統(tǒng)有5個(gè)中斷源(8052有 6個(gè)) ,2個(gè)優(yōu)先級(jí),可實(shí)現(xiàn)二級(jí)中斷嵌套 。

TCON的中斷標(biāo)志

圖片

IT0(TCON.0),外部中斷0觸發(fā)方式控制位。

當(dāng)IT0=0時(shí),為電平觸發(fā)方式。

當(dāng)IT0=1時(shí),為邊沿觸發(fā)方式(下降沿有效)。

IE0(TCON.1),外部中斷0中斷請(qǐng)求標(biāo)志位。

IT1(TCON.2),外部中斷1觸發(fā)方式控制位。

IE1(TCON.3),外部中斷1中斷請(qǐng)求標(biāo)志位。

TF0(TCON.5),定時(shí)/計(jì)數(shù)器T0溢出中斷請(qǐng)求標(biāo)志位。

TF1(TCON.7),定時(shí)/計(jì)數(shù)器T1溢出中斷請(qǐng)求標(biāo)志位。

SCON的中斷標(biāo)志

圖片

RI(SCON.0),串行口接收中斷標(biāo)志位。

TI(SCON.1),串行口發(fā)送中斷標(biāo)志位。

中斷允許控制

圖片

EX0(IE.0),外部中斷0允許位;

ET0(IE.1),定時(shí)/計(jì)數(shù)器T0中斷允許位;

EX1(IE.2),外部中斷0允許位;

ET1(IE.3),定時(shí)/計(jì)數(shù)器T1中斷允許位;

ES(IE.4),串行口中斷允許位;

EA (IE.7), CPU中斷允許(總允許)位。

中斷優(yōu)先級(jí)控制

圖片

PX0(IP.0),外部中斷0優(yōu)先級(jí)設(shè)定位;

PT0(IP.1),定時(shí)/計(jì)數(shù)器T0優(yōu)先級(jí)設(shè)定位;

PX1(IP.2),外部中斷0優(yōu)先級(jí)設(shè)定位;

PT1(IP.3),定時(shí)/計(jì)數(shù)器T1優(yōu)先級(jí)設(shè)定位;

PS (IP.4),串行口優(yōu)先級(jí)設(shè)定位;

PT2 (IP.5) ,定時(shí)/計(jì)數(shù)器T2優(yōu)先級(jí)設(shè)定位。

圖片

第3章 電子時(shí)鐘設(shè)計(jì)

3.1 基本電路

數(shù)碼管

所謂的八段就是指數(shù)碼管里有八個(gè)小LED發(fā)光二極管,通過(guò)控制不同的LED的亮滅來(lái)顯示出不同的字形。數(shù)碼管又分為共陰極和共陽(yáng)極兩種類型,其實(shí)共陰極就是將八個(gè)LED的陰極連在一起,讓其接地,這樣給任何一個(gè)LED的另一端高電平,它便能點(diǎn)亮。而共陽(yáng)極就是將八個(gè)LED的陽(yáng)極連在一起。其原理圖如下。

圖片

圖3-1數(shù)碼管圖

其中引腳圖的兩個(gè)COM端連在一起,是公共端,共陰數(shù)碼管要將其接地,共陽(yáng)數(shù)碼管將其接正5伏電源。一個(gè)八段數(shù)碼管稱為一位,多個(gè)數(shù)碼管并列在一起可構(gòu)成多位數(shù)碼管,它們的段選線(即a,b,c,d,e,f,g,dp)連在一起,而各自的公共端稱為位選線。顯示時(shí),都從段選線送入字符編碼,而選中哪個(gè)位選線,那個(gè)數(shù)碼管便會(huì)被點(diǎn)亮。數(shù)碼管的8段,對(duì)應(yīng)一個(gè)字節(jié)的8位,a對(duì)應(yīng)最低位,dp對(duì)應(yīng)最高位。所以如果想讓數(shù)碼管顯示數(shù)字0,那么共陰數(shù)碼管的字符編碼為00111111,即0x3f;共陽(yáng)數(shù)碼管的字符編碼為11000000,即0xc0。可以看出兩個(gè)編碼的各位正好相反。

2.DS1302的結(jié)構(gòu)和工作原理

DS1302是美國(guó)DALLAS公司推出的一種高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘電路,它可以對(duì)年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能,工作電壓為2.5V~5.5V。采用三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)或RAM數(shù)據(jù)。DS1302內(nèi)部有一個(gè)31×8的用于臨時(shí)性存放數(shù)據(jù)的RAM寄存器。DS1302是DS1202的升級(jí)產(chǎn)品,與DS1202兼容,但增加了主電源/后背電源雙電源引腳,同時(shí)提供了對(duì)后背電源進(jìn)行涓細(xì)電流充電的能力。

2.1 引腳功能及結(jié)構(gòu)

DS1302的引腳排列,其中Vcc1為后備電源,VCC2為主電源。在主電源關(guān)閉的情況下,也能保持時(shí)鐘的連續(xù)運(yùn)行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當(dāng)Vcc2大于Vcc1+0.2V時(shí),Vcc2給DS1302供電。當(dāng)Vcc2小于Vcc1時(shí),DS1302由Vcc1供電。X1和X2是振蕩源,外接32.768kHz晶振。RST是復(fù)位/片選線,通過(guò)把RST輸入驅(qū)動(dòng)置高電平來(lái)啟動(dòng)所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)RST為高電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許對(duì)DS1302進(jìn)行操作。如果在傳送過(guò)程中RST置為低電平,則會(huì)終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時(shí),在Vcc≥2.5V之前,RST必須保持低電平。只有在SCLK為低電平時(shí),才能將RST置為高電平。I/O為串行數(shù)據(jù)輸入輸出端(雙向),后面有詳細(xì)說(shuō)明。SCLK始終是輸入端。

2.2數(shù)據(jù)輸入輸出(I/O)

在控制指令字輸入后的下一個(gè)SCLK時(shí)鐘的上升沿時(shí),數(shù)據(jù)被寫(xiě)入DS1302,數(shù)據(jù)輸入從低位即位0開(kāi)始。同樣,在緊跟8位的控制指令字后的下一個(gè)SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù),讀出數(shù)據(jù)時(shí)從低位0位到高位7。

2.4 DS1302的寄存器

DS1302有12個(gè)寄存器,其中有7個(gè)寄存器與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式,其日歷、時(shí)間寄存器及其控制字見(jiàn)表1。

此外,DS1302 還有年份寄存器、控制寄存器、充電寄存器、時(shí)鐘突發(fā)寄存器及與RAM相關(guān)的寄存器等。時(shí)鐘突發(fā)寄存器可一次性順序讀寫(xiě)除充電寄存器外的所有寄存器內(nèi)容。DS1302與RAM相關(guān)的寄存器分為兩類:一類是單個(gè)RAM單元,共31個(gè),每個(gè)單元組態(tài)為一個(gè)8位的字節(jié),其命令控制字為C0H~FDH,其中奇數(shù)為讀操作,偶數(shù)為寫(xiě)操作;另一類為突發(fā)方式下的RAM寄存器,此方式下可一次性讀寫(xiě)所有的RAM的31個(gè)字節(jié),命令控制字為FEH(寫(xiě))、FFH(讀)。

3.2 設(shè)計(jì)原理

編程思想

1.數(shù)據(jù)輸出

從P0口輸出段選碼,從P1口輸出位選碼,數(shù)碼管就會(huì)顯示出數(shù)字來(lái)。

2.計(jì)時(shí)功能的實(shí)現(xiàn)與中斷服務(wù)程序

時(shí)間的運(yùn)行依靠定時(shí)中斷子程序?qū)r(shí)鐘單元數(shù)值為進(jìn)行進(jìn)位調(diào)整來(lái)實(shí)現(xiàn)的。計(jì)數(shù)器T0打開(kāi)后,進(jìn)入計(jì)時(shí),滿50ms后,重裝定時(shí),中斷一次。中斷二十次后,滿一秒進(jìn)位,滿60秒后即為1分鐘,分鐘單位進(jìn)位,60分到了后,時(shí)單位進(jìn)位,24小時(shí)滿后,清0;通過(guò)掃描程序送數(shù)碼管顯示出來(lái),實(shí)現(xiàn)時(shí)鐘計(jì)時(shí)功能。

圖片

圖3-1 電子時(shí)鐘軟件流程圖

3.3實(shí)現(xiàn)方法

本實(shí)驗(yàn)完全使用軟件實(shí)現(xiàn)數(shù)字時(shí)鐘。系統(tǒng)以AT89C52為核心,具有時(shí)間顯示功能。硬件電路包括AT89C52單片機(jī)最小系統(tǒng)電路,數(shù)碼管模塊。采用單片機(jī)內(nèi)部的定時(shí)/計(jì)數(shù)器來(lái)實(shí)現(xiàn)電子時(shí)鐘。原理為:在單片機(jī)內(nèi)部存儲(chǔ)器設(shè)三個(gè)字節(jié)分別存放時(shí)鐘的時(shí)、分、秒信息。利用定時(shí)器與軟件結(jié)合50ms秒定時(shí)中斷,產(chǎn)生二十次中斷,達(dá)到一秒,秒計(jì)算到60時(shí),要軟件清零并向分進(jìn)1;分計(jì)算到60時(shí),要自己清零并向時(shí)進(jìn)1;時(shí)計(jì)算到24時(shí),要清零。這樣才能循環(huán)計(jì)時(shí)。該方案具有硬件電路簡(jiǎn)單,性能可靠,實(shí)時(shí)性好,操作簡(jiǎn)單,編程容易的特點(diǎn)。但由于每次執(zhí)行程序時(shí),定時(shí)器都要重新賦初值,所以該時(shí)鐘精度不高。而且,由于是軟件實(shí)現(xiàn),當(dāng)單片機(jī)不上電,程序不執(zhí)行時(shí),時(shí)鐘將不工作。

3.4(1)數(shù)碼管的動(dòng)態(tài)顯示

顯示格式如10-45-10.在多位LED顯示時(shí),為了降低成本和功耗,將所有位的段選線并聯(lián)起來(lái),由一個(gè)8位口控制,由另一個(gè)端口進(jìn)行顯示位的控制。但是,由于段選是公用的,要讓各位數(shù)碼管顯示不同的字符,就必須采用掃描方式,即動(dòng)態(tài)掃描顯示方式。首先從段選線上送出字段碼,再控制位選線,字符就顯示在指定位置上,持續(xù)1~5ms時(shí)間;接下來(lái)又送出新的字段碼,按照上述過(guò)程又顯示在新的位置上,直到每一位數(shù)碼管都掃描完為止,即為一個(gè)掃描周期。由于人的視覺(jué)停留效應(yīng),因此當(dāng)掃描周期小到一定程度時(shí),人就感覺(jué)不出字符的移動(dòng)或閃爍,覺(jué)得每位數(shù)碼管到一直在顯示,達(dá)到一種穩(wěn)定的視覺(jué)效果。

3.5 動(dòng)態(tài)掃描顯示的掃描方式有程序控制和定時(shí)中斷掃描兩種。程序控制掃描方式要占用許多CPU時(shí)間,在計(jì)算機(jī)的任務(wù)較重時(shí),難以得到好的效果,所以在實(shí)際中常采用定時(shí)中斷掃描方式,這種方式是每隔一定時(shí)間(如1ms)顯示一位數(shù)碼管,假設(shè)有8位數(shù)碼管,顯示掃描周期為8ms,顯示效果十分良好。本次設(shè)計(jì)采用這種方法。

3.6 (2)數(shù)碼管的字型碼設(shè)計(jì)

3.7八段LED顯示器由8個(gè)發(fā)光二極管組成。基中7個(gè)長(zhǎng)條形的發(fā)光管排列成"日"字形,另一個(gè)賀點(diǎn)形的發(fā)光管在顯示器的右下角作為顯示小數(shù)點(diǎn)用,它能顯示各種數(shù)字及部份英文字母。LED顯示器有兩種不同的形式:一種是8個(gè)發(fā)光二極管的陽(yáng)極都連在一起的,稱之為共陽(yáng)極LED顯示器;另一種是8個(gè)發(fā)光二極管的陽(yáng)極都連在一起的,稱之為共陽(yáng)極LED顯示器。共陰和共陽(yáng)結(jié)構(gòu)的LED顯示器各筆劃段名和安排位置是相同的。當(dāng)二極管導(dǎo)通時(shí),相應(yīng)的筆劃段發(fā)亮,由發(fā)亮的筆劃段組合而顯示的各種字符。這里必須注意的是:很多產(chǎn)品為方便接線,常不按規(guī)則的方法去對(duì)應(yīng)字段與位的關(guān)系,這時(shí)字形碼就必須根據(jù)接線來(lái)自行設(shè)計(jì)了。單片機(jī)上數(shù)碼管接法為共陽(yáng)型,也就是相應(yīng)的輸出位為0時(shí)筆段亮,則字型碼為:

第4章 實(shí)習(xí)總結(jié)

4.1 實(shí)習(xí)體會(huì)

這幾天的實(shí)習(xí)分為兩大部分,前幾天進(jìn)行單片機(jī)的焊接,之后老師布置作業(yè),進(jìn)行編程調(diào)試,最后進(jìn)行檢查。在對(duì)AT89C52單片機(jī)焊接和調(diào)試過(guò)程中,我學(xué)到了很多東西,無(wú)論是在單片機(jī)理論方面還是在電子器件焊接方面都取得了很大的進(jìn)步。

在單片機(jī)焊接過(guò)程中注意以下幾點(diǎn):

1、注意電解電容、發(fā)光二極管、蜂鳴器的正負(fù)極性不能接反、三者均是長(zhǎng)的管腳接正極、短的管腳接負(fù)極,如接反輕則燒毀元?dú)饧貏t發(fā)生輕微爆炸。

2、三極管8550的E、B、C、注意接法,板子上面有相應(yīng)的圖形形狀。按照那個(gè)圖形焊接。

3、焊接元?dú)饧倪^(guò)程之中焊接時(shí)間應(yīng)在2-4秒。焊接時(shí)間不宜過(guò)長(zhǎng),否則不僅會(huì)燒毀元?dú)饧⒍乙资购更c(diǎn)容易脆裂

4、電阻焊接過(guò)程中注意相應(yīng)的阻值對(duì)應(yīng),不要焊錯(cuò)。否則影響相應(yīng)的電流大小。

5、排阻焊接過(guò)程之中公共端應(yīng)該接VCC、其余管腳為相應(yīng)的獨(dú)立端。

6、ISP插槽應(yīng)該注意方向。缺口對(duì)應(yīng)板子的外面、如果接反下載線將不能接好。

7、數(shù)碼管的焊接應(yīng)該是有小數(shù)點(diǎn)的一側(cè)在下面、接反影響數(shù)碼管的顯示。

焊接的順序如下:應(yīng)該先焊器件高度小的,再焊高度大的。

單片機(jī)主要包括AT89C52芯片,數(shù)碼管,蜂鳴器,發(fā)光二極管,按鍵,12864,1206,紅外接收,24c04,18b20溫度傳感器

在實(shí)現(xiàn)某些功能時(shí)要對(duì)單片機(jī)引腳,內(nèi)部結(jié)構(gòu),寄存器和原理有一定的了解和感官認(rèn)識(shí),它是怎樣工作的,能干什么?單片機(jī)是一門(mén)應(yīng)用性和實(shí)踐性很強(qiáng)的學(xué)科,要是一段時(shí)間不接觸就會(huì)把學(xué)會(huì)的東西忘記,因此要經(jīng)常制作一些小東西,鞏固單片機(jī)的一些知識(shí)點(diǎn)。

4.2設(shè)計(jì)硬件體會(huì)

雖然硬件部分有的硬件比較少,做出來(lái)的時(shí)間比較少,但在制作這些硬件的過(guò)程中仍然從某種意義上遵循著硬件開(kāi)發(fā)的一些既定的程序。在設(shè)計(jì)硬件時(shí),先將各部分硬件用PTOTEL畫(huà)出來(lái),然后最后根據(jù)總的要求將各個(gè)部件連接在一起。硬件最好使用覆銅板將電路焊出來(lái),最好不要使用萬(wàn)用板焊接,這樣誤差比較大。在制作過(guò)程中必須注意比較細(xì)致的分析。在使用軟件進(jìn)行編程時(shí),必須結(jié)合硬件。

元器件的布局方面,應(yīng)該把相互有關(guān)的元件盡量放得靠近一些,對(duì)于那些易產(chǎn)生噪聲的器件、小電流電路、大電流電路開(kāi)關(guān)電路等,應(yīng)盡量使其遠(yuǎn)離單片機(jī)的邏輯控制電路和儲(chǔ)存電路,如果可能的話,可能將這些電路另外制成電路板,這樣有利于抗干擾,提高電路工作的可靠性。

盡量在關(guān)鍵元件,如ROM、RAM等芯片旁邊安裝去耦電容。實(shí)際上,印制電路板走線、引腳連線等都可能含有較大的電感效應(yīng)。大的電感可能會(huì)在VCC走線上引起嚴(yán)重的開(kāi)關(guān)噪聲尖峰。防止VCC走線上開(kāi)關(guān)噪聲尖峰的唯一方法,是在VCC與電源地之間安防一個(gè)合適大小的去耦電容。最好使用瓷片電容,因?yàn)檫@種電容具有較低的高頻阻抗,另外這種電容溫度和時(shí)間上的介質(zhì)穩(wěn)定性也很不錯(cuò)。如果不會(huì)設(shè)計(jì)硬件電路,可以根據(jù)典型電路進(jìn)行設(shè)計(jì),然后再根據(jù)實(shí)際情況進(jìn)行加各種電容、電阻等元器件。

參考文獻(xiàn)

[1]郭天祥 51單片機(jī)C語(yǔ)言教程2009

[2] 華成英,童詩(shī)白 模擬電子技術(shù)基礎(chǔ) 2006

[3] 閆石 數(shù)字電子技術(shù)基礎(chǔ) 2006

[4] 謝自美 電子線路設(shè)計(jì) 1992

[5] 何利民 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì) 1993

[6] 付家才 單片機(jī)工程時(shí)間技術(shù) 2004.3

[7] 朱定華 單片機(jī)原理及接口技術(shù) 2002.11

[8] 劉湘濤 江世明 單片機(jī)原理與應(yīng)用 2006

附錄2系統(tǒng)主要程序

#include< reg52.h >                                  /////////////////////////////////////////////////
#define uchar unsigned char
#define uint unsigned int


/////////////////////////////////////////////////
uint miaod,miaog,fend,feng,shid,shig;
uint t,num,max,temp;
////////////////////////////////////////////////
uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x98};
uchar code wela[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
//////////////////////////////////////////////////
void delay(uint z) //如果數(shù)碼管有顯示太快。可以開(kāi)這個(gè)延時(shí)。
{
  uint x,y;
  for(x=z;x >0;x--)
    for(y=100;y >0;y--);
}
////////////////////////////////////////////////
void display(uchar shig,uchar shid,uchar feng,uchar fend,uchar miaog,uchar miaod)
{
  P1=0X00;     //消隱,防止余暉
  shig=temp/10;
  shid=temp%10;
  feng=max/10;
  fend=max%10;
  miaog=num/10;
  miaod=num%10; 
  P1=wela[0];
  P0=table[miaod];
  delay(2);
  P1=wela[1];
  P0=table[miaog];
  delay(2);
  P1=wela[2];
  P0=0xbf;
  delay(2);
  P1=wela[3];
  P0=table[fend];
  delay(2);
  P1=wela[4];
  P0=table[feng];
  delay(2);
  P1=wela[5];
  P0=0xbf;
  delay(2);
  P1=wela[6];  
  P0=table[shid];
  delay(2);
  P1=wela[7];
  P0=table[shig];
  delay(2);
}


void init()
{
  TMOD=0x01;
     TH0=(65535-45872)/256;
     TL0=(65535-45872)%256;
     ET0=1;
     TR0=1;
     EA=1;
  num=0;                
}
/*void delay(uint z) //如果數(shù)碼管有顯示太快。可以開(kāi)這個(gè)延時(shí)。
{
  uint x,y;
  for(x=z;x >0;x--)
    for(y=100;y >0;y--);
}*/
void main()
{
  init();
  while(1)
  {
    display(shig,shid,feng,fend,miaog,miaod);
  }
}
void time0() interrupt 1
{
  TH0=(65536-45872)/256;
  TL0=(65536-45872)%256;
  t++;
  if(t==20)
  {
    t=0;
    num++;
    if(num==60)
    {
      num=0;
      max++;
      if(max==60)
      {  
        max=0;
        temp++;
        if(temp==24)
          temp=0;
      }
    }
  }


}
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 數(shù)碼管
    +關(guān)注

    關(guān)注

    32

    文章

    1889

    瀏覽量

    92306
  • 編程
    +關(guān)注

    關(guān)注

    88

    文章

    3685

    瀏覽量

    94943
  • 儀器
    +關(guān)注

    關(guān)注

    1

    文章

    3909

    瀏覽量

    50714
  • AT89S51單片機(jī)
    +關(guān)注

    關(guān)注

    4

    文章

    54

    瀏覽量

    24189
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    AT89S51單片機(jī)

    AT89S51是一個(gè)低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含4k Bytes ISP(In-system programmable)的可反復(fù)擦寫(xiě)1000次的Flash只讀程序存儲(chǔ)器,器件采用
    發(fā)表于 10-12 11:45

    AT89S51單片機(jī)的I/O端口的特點(diǎn)及使用注意事項(xiàng)有哪些

    AT89S51單片機(jī)的I/O端口的特點(diǎn)及使用注意事項(xiàng)有哪些?AT89S51單片機(jī)的中斷系統(tǒng)的中斷源是什么?
    發(fā)表于 08-04 07:09

    AT89S51/52單片機(jī)與AT89C51單片機(jī)的主要區(qū)別在哪

    AT89S51/52單片機(jī)與AT89C51單片機(jī)的引腳功能有何不同?AT89S51/52
    發(fā)表于 11-09 06:42

    AT89S51單片機(jī)是什么?

    AT89S51單片機(jī)是什么? AT89S51是什么?  書(shū)上和網(wǎng)絡(luò)教程上可都是8051,89C51等 !沒(méi)聽(tīng)說(shuō)過(guò)有 89S51&n
    發(fā)表于 03-30 13:22 ?1846次閱讀

    AT89S51引腳圖,AT89S51單片機(jī)引腳說(shuō)明及管腳定義

    AT89S51引腳圖,AT89S51單片機(jī)引腳說(shuō)明及管腳定義  
    發(fā)表于 04-29 22:07 ?5.3w次閱讀
    <b class='flag-5'>AT89S51</b>引腳圖,<b class='flag-5'>AT89S51</b><b class='flag-5'>單片機(jī)</b>引腳說(shuō)明及管腳定義

    基于AT89S51單片機(jī)的教室燈光智能控制系統(tǒng)_畢業(yè)設(shè)計(jì)(論文)

    基于AT89S51單片機(jī)的教室燈光智能控制系統(tǒng)
    發(fā)表于 11-02 16:05 ?92次下載

    AT89S51單片機(jī)硬件結(jié)構(gòu)介紹

    第2章 AT89S51單片機(jī)硬件結(jié)構(gòu)可以了解單片機(jī)的原理的。可以好好看看
    發(fā)表于 12-08 15:55 ?0次下載

    AT89S51單片機(jī)試驗(yàn)及實(shí)踐教程

    AT89S51單片機(jī)試驗(yàn)及實(shí)踐教程,很不錯(cuò)的哦!
    發(fā)表于 07-25 17:45 ?11次下載

    基于AT89S51單片機(jī)及無(wú)線收發(fā)模塊的新型報(bào)警器設(shè)計(jì)

    基于AT89S51單片機(jī)及無(wú)線收發(fā)模塊的新型報(bào)警器設(shè)計(jì)
    發(fā)表于 02-01 16:56 ?44次下載

    AT89S51系列單片機(jī)特點(diǎn)AT89S51引腳功能及應(yīng)用電路)

    本文首先介紹了AT89S51性能參數(shù)和AT89S51引腳功能,其次介紹了AT89S51系列單片機(jī)特點(diǎn)
    的頭像 發(fā)表于 05-14 11:58 ?5.6w次閱讀
    <b class='flag-5'>AT89S51</b>系列<b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>特點(diǎn)</b>(<b class='flag-5'>AT89S51</b>引腳<b class='flag-5'>功能及</b>應(yīng)用電路)

    AT89S51單片機(jī)功能特點(diǎn)詳解

    AT89C5x/AT89S5x系列單片機(jī)繼承了MCS- 51的原有功能,與MCS-51系列
    發(fā)表于 04-26 16:10 ?2.6w次閱讀

    AT89S51單片機(jī)各引腳的功能解析

    掌握AT89S51單片機(jī),應(yīng)首先了解AT89S51的引腳,熟悉并牢記各引腳的功能AT89S51與80C
    發(fā)表于 10-22 16:35 ?4.8w次閱讀
    <b class='flag-5'>AT89S51</b><b class='flag-5'>單片機(jī)</b>各引腳的<b class='flag-5'>功能</b>解析

    AT89S51單片機(jī)的硬件結(jié)構(gòu)學(xué)習(xí)課件資料免費(fèi)下載

    單片機(jī)應(yīng)用特點(diǎn)是程序來(lái)控制硬件,讀者應(yīng)首先熟知并掌握AT89S51片內(nèi)硬件的基本結(jié)構(gòu)和特點(diǎn)
    發(fā)表于 09-17 16:41 ?13次下載
    <b class='flag-5'>AT89S51</b><b class='flag-5'>單片機(jī)</b>的硬件結(jié)構(gòu)學(xué)習(xí)課件資料免費(fèi)下載

    AT89S51單片機(jī)硬件結(jié)構(gòu)

    AT89S51單片機(jī)硬件結(jié)構(gòu)AT89S51單片機(jī)片內(nèi)結(jié)構(gòu)??由此可以看出,基本結(jié)構(gòu)為CPU 加上外圍芯片的傳統(tǒng)微機(jī)結(jié)構(gòu)。CPU對(duì)各種功能部件
    發(fā)表于 11-11 19:36 ?33次下載
    <b class='flag-5'>AT89S51</b><b class='flag-5'>單片機(jī)</b>硬件結(jié)構(gòu)

    AT89C51單片機(jī)

    AT89C51單片機(jī)學(xué)習(xí)一、AT89S51單片機(jī)的I/O端口二、AT89S51單片機(jī)的中斷系統(tǒng)?
    發(fā)表于 11-12 12:21 ?66次下載
    AT<b class='flag-5'>89C51</b><b class='flag-5'>單片機(jī)</b>
    主站蜘蛛池模板: 欧美1024 | 福利视频第一区 | 高h乱肉辣文辣书阁 | a在线观看网站 | 亚洲码在线 | 国产激情视频一区二区三区 | 亚1州区2区3区4区产品乱码 | 国产一区二区中文字幕 | 二级黄的全免费视频 | 久久国产成人午夜aⅴ影院 久久国产福利 | 日韩一级在线 | 婷婷亚洲综合五月天小说在线 | 免费啪视频在线观看 | 日本黄色录象 | 三级色图 | 国产一级一片免费播放视频 | 香蕉视频vip | 精品久久香蕉国产线看观看亚洲 | 手机午夜视频 | 丁香婷婷在线观看 | 欧美一级特黄aaaaaa在线看片 | 丁香六月色婷婷综合网 | 每日最新avhd101天天看新片 | 激情文学综合网 | 激情五月亚洲色图 | 成人欧美一区二区三区白人 | 免费看真人a一级毛片 | 国产男人搡女人免费视频 | 欧美黑人巨大日本人又爽又色 | 一本到中文字幕高清不卡在线 | 久久综合中文字幕 | 精品国产影院 | 在线黄色.com | 超薄肉色丝袜精品足j福利 超黄视频在线观看 | 国产 日韩 欧美 高清 | 成人国产一区二区 | 免费观看四虎精品成人 | 一区二区三区亚洲视频 | 伊人一区二区三区 | 毛片色毛片18毛片美女 | 天天夜夜狠狠一区二区三区 |