版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
《單片機(jī)技術(shù)》課程設(shè)計(jì)任務(wù)1、 本課題任務(wù)如下:設(shè)計(jì)一個(gè)具有特定功能的電子鐘。該電子鐘上電或按鍵復(fù)位后能自動(dòng)顯示系統(tǒng)提示符“P.”,進(jìn)入時(shí)鐘準(zhǔn)備狀態(tài);第一次按電子鐘啟動(dòng)/調(diào)整鍵,電子鐘從0時(shí)0分0秒開(kāi)始運(yùn)行,進(jìn)入時(shí)鐘運(yùn)行狀態(tài);再次按電子鐘啟動(dòng)/調(diào)整鍵,則電子鐘進(jìn)入時(shí)鐘調(diào)整狀態(tài),此時(shí)可利用各調(diào)整鍵調(diào)整時(shí)間,調(diào)整結(jié)束后可按啟動(dòng)/調(diào)整鍵再次進(jìn)入時(shí)鐘運(yùn)行狀態(tài)。2、 本課題要求如下:在AT89S51的P0口和P2口外接由六個(gè)LED數(shù)碼管(LED5?LED0)構(gòu)成的顯示器,用P0口作LED的段碼輸出口(P0.0?P0.7對(duì)應(yīng)于LED的a?dp),P2.5?P2.0作LED的位控輸出線(P2.5?P2.0對(duì)應(yīng)于LED5?LED0),P1口外接四個(gè)按鍵A、B、C、D(對(duì)應(yīng)于P1.0?P1.3)。、利用六個(gè)LED顯示當(dāng)前時(shí)間。、四個(gè)按鍵的功能:A鍵用于電子鐘啟動(dòng)/調(diào)整;B鍵用于調(diào)時(shí),范圍0-23,0為24點(diǎn),每按一次時(shí)加1;C鍵用于調(diào)分,范圍0-59,0為60分,每按一次分加1;D鍵用于調(diào)秒,范圍0-59,0為60秒,每按一次秒加1。方案四:獨(dú)立式按鍵,LED動(dòng)態(tài)顯示。該方案方框圖如圖1.2.4所示,獨(dú)立式按鍵直接與單片機(jī)I/O口相連構(gòu)成鍵盤(pán),每個(gè)按鍵不會(huì)相互影響,因本系統(tǒng)用到的按鍵比較少,采用獨(dú)立式鍵盤(pán)不會(huì)浪費(fèi)I/O口線,所以本系統(tǒng)采用獨(dú)立式鍵盤(pán)。動(dòng)態(tài)顯示的亮度雖然不如靜態(tài)顯示,但其硬件電路較簡(jiǎn)單,可節(jié)省硬件成本,雖然動(dòng)態(tài)掃描需占用CPU較多的時(shí)間,但本系統(tǒng)中的單片機(jī)沒(méi)有很多實(shí)時(shí)測(cè)控任務(wù),因此,本系統(tǒng)采用此種方案。2多功能電子表的工作原理本設(shè)計(jì)中的電子鐘的核心是AT89S51單片機(jī),其內(nèi)部帶有4KB在線可編程Flash存儲(chǔ)器的單片機(jī),無(wú)須外擴(kuò)程序存儲(chǔ)器,硬件電路主要由四部分構(gòu)成:時(shí)鐘電路,復(fù)位電路,鍵盤(pán)以及顯示電路。時(shí)鐘電路是電子表硬件電路的核心,沒(méi)有時(shí)鐘電路,電子表將無(wú)法正常工作計(jì)時(shí)。本系統(tǒng)時(shí)鐘電路采用的晶振的頻率為12MHz,定時(shí)器采用的是定時(shí)器0工作在方式1定時(shí),用于實(shí)現(xiàn)時(shí)、分、秒的計(jì)時(shí),定時(shí)時(shí)間為62.5ms。復(fù)位電路可使電子表恢復(fù)到初始狀態(tài)。鍵盤(pán)可對(duì)電子表進(jìn)行開(kāi)啟、停止,還能實(shí)現(xiàn)時(shí)、分、秒的顯示及設(shè)定等操作。顯示電路由兩個(gè)共陽(yáng)級(jí)4位一體LED數(shù)碼管構(gòu)成,它的段控端和位控端通過(guò)74LS244及其S8550PNP型號(hào)三極管與AT89S51單片機(jī)的I/O口相連,顯示器可使電子表顯示出時(shí)、分、秒。多功能電子表的計(jì)時(shí)原理為:上電后,電子表顯示P.提示符,按下A鍵后,電子表從00:00:00開(kāi)始計(jì)時(shí)。當(dāng)定時(shí)器0的定時(shí)時(shí)間滿62.5ms后,定時(shí)器0溢出一次,溢出滿16次后,電子表的秒加1,滿60秒后,分加1,滿60分后,時(shí)加1,滿24時(shí)后,電子表重新從00:00:00開(kāi)始計(jì)時(shí)。3多功能電子表原理方框圖、原理圖及PCB圖3.1多功能電子表原理方框圖多功能電子表整機(jī)電路方框圖如圖3.1圖1多功能電子表整機(jī)電踏方框圖
第1頁(yè)3.2多功能電子表電路原理圖3.2.2多功能電子表整機(jī)電路原理3.3.2 多功能電子表整機(jī)電路PCB圖多功能電子表整機(jī)電路PCB圖如圖3.5所示3.5整機(jī)PCB圖
4多功能電子表元器件清單多功能電子表電路所有元器件清單如表4.1所示表4.1多功能電子表元器件清單1元件名稱(chēng)封裝形式元件號(hào)LED數(shù)碼管(共陽(yáng)極)DIP-12D1LED數(shù)碼管(共陽(yáng)極)DIP-12D2510Q電阻AXIAL0.4R1510Q電阻AXIAL0.4R2510Q電阻AXIAL0.4R3510Q電阻AXIAL0.4R4510Q電阻AXIAL0.4R5510Q電阻AXIAL0.4R6510Q電阻AXIAL0.4R7510Q電阻AXIAL0.4R81K電阻AXIAL0.4R9200電阻AXIAL0.4R104.7K電阻AXIAL0.4R114.7K電阻AXIAL0.4R124.7K電阻AXIAL0.4R134.7K電阻AXIAL0.4R144.7K電阻AXIAL0.4R154.7K電阻AXIAL0.4R164.7K電阻AXIAL0.4R174.7K電阻AXIAL0.4R18電源插座UINDIANYUAN74LS244芯片DIP-20A1
S8550PNP三極管TO-585501S8550PNP三極管TO-585502S8550PNP三極管TO-585503S8550PNP三極管TO-585504S8550PNP三極管TO-585505S8550PNP三極管TO-585506輕觸開(kāi)關(guān)ADIP04A輕觸開(kāi)關(guān)BDIP04B輕觸開(kāi)關(guān)CDIP04C輕觸開(kāi)關(guān)DDIP04D輕觸開(kāi)關(guān)DIP04S512M晶振XTAL1Y133pF電容RAD0.2C133pF電容RAD0.2C222呻電容RB.2/.4C37805芯片TO-220U10.33MF電容RAD0.2C10.1呻電容RAD0.2C2220呻電容RB.2/.4C3220呻電容RB.2/.4C4橋式整流DIP-04D2二極管DIODE0.4D111V變壓器DIP-5TR擴(kuò)展插針SIP08J0擴(kuò)展插針SIP08J1-LC2彌f...miO12MHZwe,,Cl-LC2彌f...miO12MHZwe,,ClT30pf圖5.2時(shí)鐘電路原理圖VCCBESET圖5,3復(fù)位電路原理圖A ~BCRll1R121R13JL.RM4.7K4.7K4.7F:4.7]P1J05多功能電子表單元電路工作原理介紹5.2時(shí)鐘電路工作原理圖5.2所示為時(shí)鐘電路原理圖,在AT89S51芯片內(nèi)部有一個(gè)高增益反相放大器,其輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2。而在芯片內(nèi)部,XTAL1和XTAL2之間跨接晶體振蕩器和微調(diào)電容,從而構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。時(shí)鐘電路產(chǎn)生的振蕩脈沖經(jīng)過(guò)觸發(fā)器進(jìn)行二分頻之后,才成為單片機(jī)的時(shí)鐘脈沖信號(hào)。5.3復(fù)位電路工作原理圖5.3所示為復(fù)位電路原理圖,復(fù)位是單片機(jī)的初始化操作,其主要功能是把PC初始化為0000H,使單片機(jī)從0000H單元開(kāi)始執(zhí)行程序,并使其它功能單元處于一個(gè)確定的初始狀態(tài)。本復(fù)位電路采用的是按鍵復(fù)位,它是通過(guò)復(fù)位端經(jīng)電阻與VCC電源接通而實(shí)現(xiàn)的,它兼具上電復(fù)位功能。因本系統(tǒng)的晶振的頻率為12MHz,所以,復(fù)位信號(hào)持續(xù)時(shí)間應(yīng)當(dāng)超過(guò)2uS才能完成復(fù)位操作。5.4鍵盤(pán)工作原理圖5.4所示為鍵盤(pán)原理圖,本系統(tǒng)采用的是獨(dú)立式鍵盤(pán)結(jié)構(gòu),每個(gè)按鍵單獨(dú)占用一根I/O口線,每個(gè)按鍵的工作不會(huì)影響其它I/O口線的狀態(tài)。它軟件是采用查詢式結(jié)構(gòu),首先逐位查詢每根I/O口線的輸入狀態(tài),如某一根I/O口線輸入為低電平,則可確認(rèn)該I/O口線所對(duì)應(yīng)的按鍵已按下,然后,再轉(zhuǎn)向第韋頁(yè)圖5.4鍵盤(pán)電路原鯉圖該鍵的功能處理程序。5.5顯示器工作原理系統(tǒng)采用動(dòng)態(tài)顯示方式,用P0口來(lái)控制LED數(shù)碼管的段控線,而用P2口來(lái)控制其位控線。動(dòng)態(tài)顯示通常都是采用動(dòng)態(tài)掃描的方法進(jìn)行顯示,即循環(huán)點(diǎn)亮每一個(gè)數(shù)碼管,這樣雖然在任何時(shí)刻都只有一位數(shù)碼管被點(diǎn)亮,但由于人眼存在視覺(jué)殘留效應(yīng),只要每位數(shù)碼管間隔時(shí)間足夠短,就可以給人以同時(shí)顯示的感覺(jué)。圖中的S8550作為驅(qū)動(dòng)器,而8個(gè)510歐姆電阻則起限流作用。由圖5.5可知,要想讓數(shù)碼管那一段亮,在該數(shù)碼管位控段為高電平的情況下給這段送低電平就可以了。顯示電路結(jié)構(gòu)采用動(dòng)態(tài)掃描的方式,所有數(shù)碼管的段控端公用單片機(jī)P0口的8根輸出口線,數(shù)碼管的段控端a、b、c、d、e、f、g、dp分別接到P0口的P0.0、P0.1、P0.2、P0.3、P0.4、P0.5、P0.6、P0.7口線上,每個(gè)數(shù)碼管的位控線單獨(dú)占用單片機(jī)P2口一根輸出口線,8位數(shù)碼管從高位到低位分別接P2.0?P2.7引腳。段控碼(低電平有效)由P0口輸出經(jīng)上拉電阻上拉電壓后通過(guò)鎖存器74LS244送到數(shù)碼管的段控端,位控碼由P2口輸出經(jīng)三極管S8550驅(qū)動(dòng)后送到數(shù)碼管的位控端。在單片機(jī)內(nèi)部顯示緩沖區(qū)79H、7AH、7BH、7CH、7DH、7EH內(nèi)的值分別是秒的個(gè)位、秒的十位、分的個(gè)位、分的十位、時(shí)的個(gè)位、時(shí)的十位,顯示器LED0、LED1、LED2、LED3、LED4、LED5分別顯示秒的個(gè)位十位、分的個(gè)位十位、時(shí)的個(gè)位十位,由圖5.5所示。數(shù)碼管動(dòng)態(tài)顯示:由于顯示的數(shù)據(jù)和LED數(shù)碼管的段控碼并不是一一對(duì)應(yīng)的關(guān)系,即顯示的數(shù)據(jù)與數(shù)碼管的字型代碼不相符。顯示數(shù)據(jù)與字型代碼之間存在著轉(zhuǎn)換關(guān)系,數(shù)碼管段控?cái)?shù)據(jù)和數(shù)碼管各段的對(duì)應(yīng)關(guān)系如表5.1、表5.2所示。表5.1數(shù)碼管數(shù)據(jù)和數(shù)碼管每段的對(duì)應(yīng)關(guān)系D7D6D5D4D3D2D1D0LED顯示碼a111111100FEHb111111010FDHc111110110FBHd111101110F7H
e111011110EFHf110111110DFHg101111110BFHdp011111117FH表5.2數(shù)碼管斷碼和字型的對(duì)應(yīng)關(guān)系(共陽(yáng)極)字型D7D6D5D4D3D2D1D0段碼dpgfedcba0110000000CO1111110010F92101001000A43101100000B04100110019951001001092610000010827111110000F88100000008091001000090A1000100088B1000001183C110001100C6D101000000A0E1000011086F100011108EP.0000011006全亮0000000000全滅111111110FF從電子鐘程序清單中的顯示程序可以知道:數(shù)據(jù)表格存儲(chǔ)單元從首地址到最高位分別存放的是共陽(yáng)極數(shù)碼管0、1、2、3、4、5、6、7、8、9、P.、滅的十六進(jìn)制字型代碼,所以只要把顯示緩沖區(qū)內(nèi)的數(shù)值加上偏移地址rel(偏移量計(jì)算方法如式3.1所示),把和送到累加器A中,使用MOVCA,@A+PC就可以取出緩沖區(qū)內(nèi)要顯示數(shù)據(jù)的字型代碼,當(dāng)然要取P.和滅的字型代碼就要分別給緩沖區(qū)送0AH、0BH。偏移地址rel=數(shù)據(jù)表格首地址-MOVCA@A+PC指令單元首地址-1式3.1在動(dòng)態(tài)掃描時(shí),顯示緩沖區(qū)79H內(nèi)部存放的是要顯示的秒的個(gè)位的數(shù)值,使用MOVCA,@A+PC指令取出段控碼,由P0口輸出通過(guò)鎖存器74LS244后送到數(shù)碼管的段控端,給P2口送01H通過(guò)鎖存器74LS244驅(qū)動(dòng)以后,只有LED0位的位控端有效,此時(shí)只有LED0被點(diǎn)亮來(lái)顯示秒的個(gè)位,延時(shí)持續(xù)點(diǎn)亮一段時(shí)間,然后把顯示緩沖單元地址加1,位控值左移一位,取出段控碼,再把段控碼和位控碼送到數(shù)碼管顯示器,此時(shí)只有LED1被點(diǎn)亮顯示秒的十位,延時(shí)持續(xù)點(diǎn)亮一段時(shí)間,就這樣通過(guò)逐個(gè)地從低位到高位點(diǎn)亮各個(gè)顯示器,掃描到最高位時(shí)的十位被點(diǎn)亮就返回。這樣雖然在任一時(shí)刻只有一位顯示器被點(diǎn)亮,但是由于人眼具有視覺(jué)殘留效應(yīng),看起來(lái)與全部顯示器持續(xù)點(diǎn)亮效果完全一樣。AT89S51芯片介紹如圖5.7所示為AT89S51芯片的引腳圖P10POOPL1P12PCIPO2P13P03PL4peaP15pci與FL6POC5P17P07LITTlP2QliTTLia 涪.!T1TOP24P25P26P27RESETRXDTXDRDWRALE/rPSEH圖5.7AT89S51芯片外部引腳圖兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)的AT89S51單片機(jī)是一個(gè)低功耗、高性能CHMOS的單片機(jī),片內(nèi)含4KB在線可編程Flash存儲(chǔ)器的單片機(jī)。它與通用80C51系列單片機(jī)的指令系統(tǒng)和引腳兼容。AT89S51單片機(jī)片內(nèi)的Flash可允許在線重新編程,也可用通用非易失性存儲(chǔ)編程器編程;片內(nèi)數(shù)據(jù)存儲(chǔ)器內(nèi)含128字節(jié)的RAM;有40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口;具有兩個(gè)16位可編程定時(shí)器;中斷系統(tǒng)是具有6個(gè)中斷源、5個(gè)中斷矢量、2級(jí)中斷優(yōu)先級(jí)的中斷結(jié)構(gòu);震蕩器頻率0到33MHZ,因此我們?cè)诖诉x用12MHZ的晶振是比較合理的;具有片內(nèi)看門(mén)狗定時(shí)器;具有斷電標(biāo)志POF等等。AT89S51具有PDIP,TQFP和PLCC三種封裝形式。上圖就是PDIP封裝的引腳排列,下面介紹各引腳的功能。P0□:8位、開(kāi)漏級(jí)、雙向I/O口。P0口可作為通用I/O口,但須外接上拉電阻;作為輸出口,每各引腳可吸收8各TTL的灌電流。作為輸入時(shí),首先應(yīng)將引腳置1。P0也可用做訪問(wèn)外部程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器時(shí)的低8位地址/數(shù)據(jù)總線的復(fù)用線。在該模式下,P0口含有內(nèi)部上拉電阻。在FLASH編程時(shí),P0口接收代碼字節(jié)數(shù)據(jù);在編程效驗(yàn)時(shí),P0口輸出代碼字節(jié)數(shù)據(jù)(需要外接上拉電阻)。P1□:8位、雙向I/0口,內(nèi)部含有上拉電阻。P1口可作普通I/O口。輸出緩沖器可驅(qū)動(dòng)四個(gè)TTL負(fù)載;用作輸入時(shí),先將引腳置1,由片內(nèi)上拉電阻將其抬到高電平。P1口的引腳可由外部負(fù)載拉到低電平,通過(guò)上拉電阻提供電流。在FLASH并行編程和校驗(yàn)時(shí),P1口可輸入低字節(jié)地址。在串行編程和效驗(yàn)時(shí),P1.5/MO-SI,P1.6/MISO和P1.7/SCK分別是串行數(shù)據(jù)輸入、輸出和移位脈沖引腳。P2口:具有內(nèi)部上拉電阻的8位雙向I/O口。P2口用做輸出口時(shí),可驅(qū)動(dòng)4各TTL負(fù)載;用做輸入口時(shí),先將引腳置1,由內(nèi)部上拉電阻將其提高到高電平。若負(fù)載為低電平,則通過(guò)內(nèi)部上拉電阻向外部輸出電流。CPU訪問(wèn)外部16位地址的存儲(chǔ)器時(shí),P2口提供高8位地址。當(dāng)CPU用8位地址尋址外部存儲(chǔ)時(shí),P2口為P2特殊功能寄存器的內(nèi)容。在FLASH并行編程和校驗(yàn)時(shí),P2口可輸入高字節(jié)地址和某些控制信號(hào)。P3口:具有內(nèi)部上拉電阻的8位雙向口。P3口用做輸出口時(shí),輸出緩沖器可吸收4各TTL的灌電流;用做輸入口時(shí),首先將引腳置1,由內(nèi)部上拉電阻抬位高電平。若外部的負(fù)載是低電平,則通過(guò)內(nèi)部上拉電阻向輸出電流。在與FLASH并行編程和校驗(yàn)時(shí),P3口可輸入某些控制信號(hào)。P3口除了通用I/O口功能外,還有替代功能,如表5.3所示表5.3P3口的替代功能引腳符號(hào)說(shuō)明P3.0RXD串行口輸入P3.1TXD串行口輸出P3.2/INT0外部中斷0P3.3/INT1外部中斷1P3.4T0T0定時(shí)器的外部的計(jì)數(shù)輸入P3.5T1T1定時(shí)器的外部的計(jì)數(shù)輸入P3.6/WR外部數(shù)據(jù)存儲(chǔ)器的寫(xiě)選通P3.7/RD外部數(shù)據(jù)存儲(chǔ)器的讀選通RST:復(fù)位端。當(dāng)振蕩器工作時(shí),此引腳上出現(xiàn)兩個(gè)機(jī)器周期的高電平將系統(tǒng)復(fù)位。ALE/眩:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),ALE(允許地址鎖存)是一個(gè)用于鎖存地址的低8位字節(jié)的書(shū)粗脈沖。在Flash編程期間,此引腳也可用于輸入編程脈沖(或)。在正常操作情況下,ALE以振蕩器頻率的1/6的固定速率發(fā)出脈沖,它是用作對(duì)外輸出的時(shí)鐘,需要注意的是,每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如果希望禁止ALE操作,可通過(guò)將特殊功能寄存器中位地址為8EH那位置的“0”來(lái)實(shí)現(xiàn)。該位置的“1”后。ALE僅在MOVE或MOVC指令期間激活,否則ALE引腳將被略微拉高。若微控制器在外部執(zhí)行方式,ALE禁止位無(wú)效。TW:外部程序存儲(chǔ)器讀選取通信號(hào)。當(dāng)AT89S51在讀取外部程序時(shí),每個(gè)機(jī)器周期將PSEN激活兩次。在此期間內(nèi),每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)兩個(gè)評(píng)麗信號(hào)。瓦/Vpp:訪問(wèn)外部程序存儲(chǔ)器允許端。為了能夠從外部程序存儲(chǔ)器的0000H至FFFFH單元中取指令,瓦必須接地,然而要注意的是,若對(duì)加密位1進(jìn)行編程,則在復(fù)位時(shí),虱的狀態(tài)在內(nèi)部被鎖存。執(zhí)行內(nèi)部程序虱應(yīng)接VCC。不當(dāng)選擇12V編程電源時(shí),在Flash編程期間,這個(gè)引腳可接12V編程電壓。XTAL1:振蕩器反向放大器輸入端和內(nèi)部時(shí)鐘發(fā)生器的輸入端。
XTAL2:振蕩器反相放大器輸出端。74LS244驅(qū)動(dòng)器74LS244是單向總線驅(qū)動(dòng)器。是8輸入8輸出芯片,中1G和2G為使能端,低電平有效。它的外部管腳圖如圖5.8所示。圖5.874LS244芯片外部管腳圖74LS244是一種三態(tài)輸出的八緩沖器和線驅(qū)動(dòng)器,該芯片的邏輯電路圖和引腳圖如圖5.8所示。從圖5.8可見(jiàn),該緩沖器有8個(gè)輸入端,分為兩路一一1A1?1A4,2A1?2A4,同時(shí)8個(gè)輸出端,也分為兩路——1Y1?1Y4,2Y1?2Y4,分別由2個(gè)門(mén)控信號(hào)1G和2G控制,當(dāng)記為低電平時(shí),1Y1?1Y4的電平與1A1?1A4的電平相同,即輸出反映輸入電平的高低;同樣,當(dāng)2G為低電平時(shí),1Y1?1Y4的電平與2A1?2A4的電平和同。而當(dāng)1G(或2G)為高電平時(shí),輸出1A1?1A4(或2A1?2A4)為高阻態(tài)。經(jīng)74LS244緩沖后,輸入信號(hào)被驅(qū)動(dòng),輸出信號(hào)的驅(qū)動(dòng)能力加大了。其功能表如表5.4所示,表中 H為高電平,L為低電平,A為高阻態(tài),X為任意狀態(tài)
NXXS8550PNP三極管5.8.1主要用途:作為音頻放大器,應(yīng)用于收錄機(jī)、電動(dòng)玩具等電子產(chǎn)品。(與S8050互補(bǔ))其管腳圖如下圖5.95.8.2極限值如下表5.5參數(shù)符號(hào)標(biāo)稱(chēng)值單位集電極、基極擊穿電壓VCBO-40V集電極、發(fā)射極擊穿電壓VCEO-25V發(fā)射極、基極擊穿電壓VEBO-6V集電極電流IC-1.5A集電極功率PC1W結(jié)溫TJ125C貯存溫TSTG-55-125C5.8.3電參數(shù)(Ta=25°C)電參數(shù)表5.6參數(shù)符號(hào)測(cè)試條件最小值典型值最大值集電極漏電流ICBOVCB=-35,IE=0-100nA發(fā)射極漏電流IEBOVBE=-6,IC=0-100nA集電極、發(fā)射極擊穿電壓BVCEOIC=-2mA,IB=0-25V發(fā)射極、基極擊穿電壓BVEBOIE=-100uA,IC=0-6V集電極、基極擊穿電壓BVCBOIC=-100uA,IE=0-40V集電極、發(fā)射極飽和壓降VCE(sat)IC=-800mA,IB=-80mA-0.5V基極、發(fā)射極飽和壓降VBE(sat)IC=-800mA,IB=-80mA-1.2V基極、發(fā)射極壓降VBEVCE=-1V,IC=-10mA-1.0V直流電流增益HFE1VCE=-1V,IC=-100mA85300HFE2VCE=-1V,IC=-800mA405.9四位一體數(shù)碼管四位一體數(shù)碼管的內(nèi)部結(jié)構(gòu),如圖5.10所示。由圖可知,四個(gè)數(shù)碼管的位控端連接在一起,共用8根數(shù)據(jù)線,四個(gè)公共端卻單獨(dú)占一根口線。假設(shè)段控端有段碼輸入時(shí),每個(gè)數(shù)碼管的段控端都收到了段碼,但只有位控線有效的數(shù)碼管才能顯示數(shù)據(jù),反之亦反。共陽(yáng)極數(shù)碼管段控端為低電平有效,位控端高電平有效,共陰極數(shù)碼管恰恰相反。四位一體數(shù)碼管用于動(dòng)態(tài)掃描,即把數(shù)碼管顯示數(shù)據(jù)的段控碼分時(shí)送到其對(duì)應(yīng)的段控端。當(dāng)一個(gè)段控碼被送到段控端時(shí),顯示此段控碼數(shù)據(jù)的數(shù)碼管,它的位控端置有效電平,數(shù)碼管點(diǎn)亮;而其他數(shù)碼管的位控端送無(wú)效電平,數(shù)碼管不亮。持續(xù)點(diǎn)亮一段時(shí)間,再送其它的段控碼,依次把顯示段控碼的數(shù)碼管,使其位控端為有效電平,其他數(shù)碼管的位控端為無(wú)效電平,就這樣數(shù)碼管依次被點(diǎn)亮。四位一體數(shù)碼管共十二個(gè)引腳,從數(shù)碼管的正面看,它以第一腳為起點(diǎn),逆時(shí)針排列的。由圖可知,6、8、9、12為公共端,A-11、B-7、C-4、D-2、E-1、F-10、G-5、DP-3。顯示字型和代碼關(guān)系如表5.3所示。第13頁(yè)字型共陽(yáng)極代碼共陰極代碼字型共陽(yáng)極代碼共陰極代碼rDFJPvrDFJPv*■QQQGOOOO117<11105J(b)共陽(yáng)極圖5.10四位一體數(shù)仍管內(nèi)部結(jié)構(gòu)圖表5.7十六進(jìn)制數(shù)字型代碼6單片機(jī)硬件資源的分配本次設(shè)計(jì)用到了單片機(jī)正常工作的硬件資源,如(連接晶振的引腳XTAL1和XTAL2,復(fù)位引腳RESET),對(duì)其硬件資源還做了具體的安排。.P0口作為數(shù)碼管顯示器的段控輸出口,對(duì)數(shù)碼管顯示器進(jìn)行控制。.P1口P1.0?P1.3接了四個(gè)獨(dú)立式分別為A鍵、B鍵、C鍵、D鍵,用于對(duì)鍵盤(pán)的控制,P1.5、P1.6、P1.7則作為ISP程序下載的輸入端。.P2口該口全部用于數(shù)碼管的位控端。.定時(shí)/計(jì)數(shù)器使用定時(shí)器0來(lái)實(shí)現(xiàn)本次電子鐘的運(yùn)行。.內(nèi)部存儲(chǔ)單元30H存儲(chǔ)定時(shí)/計(jì)數(shù)器0的中斷次數(shù)°31H?36H分別作為時(shí)、分、秒個(gè)位和十位的數(shù)據(jù)存儲(chǔ)單元。79H?7E分別作為L(zhǎng)ED0、LED1、LED2、LED3、LED4、LED5顯示緩沖單元。.通用寄存器第0組寄存器:R0、R1、R3、R7,用來(lái)存放鍵功能程序的數(shù)據(jù);第1組寄存器:R3,用來(lái)存放中斷服務(wù)程序的數(shù)據(jù);第2組寄存器:R1、R4,用來(lái)存放顯示程序的數(shù)據(jù)。.專(zhuān)用寄存器定時(shí)器控制寄存器TCON,通過(guò)設(shè)置該寄存器中TR0位的狀態(tài)來(lái)控制定時(shí)/計(jì)數(shù)器0的啟動(dòng)/停止;中斷允許寄存器IE,通過(guò)設(shè)置該寄存器EA/ET0位的狀態(tài)來(lái)設(shè)置定時(shí)/計(jì)數(shù)器0中斷允許/禁止;定時(shí)/計(jì)數(shù)器工作方式寄存器TMOD,設(shè)置定時(shí)/計(jì)數(shù)器0的工作方式。7程序流程圖8電子鐘程序清單調(diào)整運(yùn)行后的電子鐘程序清單;該程序?qū)崿F(xiàn)電子鐘時(shí)、分、秒運(yùn)行,時(shí)、分、秒調(diào)整;十、分、秒同時(shí)顯示;;共A、B、C、D四個(gè)按鍵,A鍵實(shí)現(xiàn)電子鐘的運(yùn)行和停止、B鍵調(diào)時(shí)、C鍵調(diào)分、D鍵調(diào)秒;該電子鐘是單片機(jī)AT89S51控制,使用芯片中的定時(shí)器0方式1實(shí)現(xiàn)定時(shí)功能;P0口輸出段控碼、P2口輸出位控碼控制數(shù)碼管顯示;該電子鐘共使用兩個(gè)4位一體數(shù)碼管(S02841A-B)顯示;系統(tǒng)初始化程序****************************************************ORG0000HAJMPMAIN;轉(zhuǎn)到系統(tǒng)初始化程序ORG000BHAJMPPITO;轉(zhuǎn)到定時(shí)器0中斷服務(wù)程序ORG0100HMAIN:MOVSP,#60H;確立堆棧區(qū)MOVTMOD,#01H;設(shè)定定時(shí)器0為工作方式1MOVTL0,#0DCH;裝計(jì)數(shù)器初值MOVTH0,#0BHCLR21H.0CLRTR0H;TR0置“0”,定時(shí)關(guān)閉SETBEAH;EA置“1”,中斷總允許SETBET0H;ET0置“1”,定時(shí)器0中斷允許MOV30H,#10H;循環(huán)次數(shù)MOV7EH,#0AH;P.點(diǎn)顯示初始化MOVR0,#79HMOVR1,#05HPP:MOV@R0,#0BH第17頁(yè)
INCR0DJNZR1,PPMOVR0,#31H;時(shí)、分、秒值存儲(chǔ)單兀清零MOVR1,#06HQ00:MOV@R0,#00HINCR0DJNZR1,Q00IIAr4*土工口r=^““““““““““““““““““““““““““““““““““““““““““““““““““““““““““!V、J-Z_>八十—4-a小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小JILL1工4王/丁LOOP:LCALLDIR;調(diào)顯示子程序LCALLKEY;調(diào)鍵掃描子程序LOOP1:JB20H.0,KEYA;A鍵是否按下,是跳轉(zhuǎn)到A鍵功能程序JB20H.1,KEYB;B鍵是否按下,是跳轉(zhuǎn)到B鍵功能程序JB20H.2,KEYC;C鍵是否按下,是跳轉(zhuǎn)到C鍵功能程序JB20H.3,KEYD;D鍵是否按下,是跳轉(zhuǎn)到D鍵功能程序LCALLDIRLJMPLOOP;跳轉(zhuǎn)到監(jiān)控程序A鍵功能子程序****************************************************KEYA:CPLTR0H;開(kāi)啟/關(guān)閉定時(shí)器SETB21H.0AJMPLOOP;返回B鍵功能子程序****************************************************KEYB:JBTR0H,KEYBO ;定時(shí)器是否運(yùn)行,是跳轉(zhuǎn)JNB21H.0,KEYBOOMOVR0,#36H;時(shí)值存儲(chǔ)單兀地址送R0LCALLDAAD1;調(diào)加1子程序MOVA,R3;時(shí)值加1后的值送累加器第18頁(yè),,,AXRLA,#24HJNZKEYBO;時(shí)值是否到24時(shí),否返回LCALLCLR0;時(shí)值存儲(chǔ)單兀清零KEYBO:MOV7DH,35HMOV7EH,36HKEYBOO:LJMPLOOP;返回監(jiān)控程序;C鍵功能子程序****************************************************KEYC:JB8CH,KEYCO;定時(shí)器是否運(yùn)行,否跳轉(zhuǎn)JNB21H.0,KEYCOOMOVR0,#34H ;分值存儲(chǔ)單兀地址送R0LCALLDAAD1;調(diào)加1子程序MOVA,R3 ;分值加1后的值送累加器AXRLA,#60HJNZKEYCO;分值是否到60分,否返回LCALLCLR0;分值存儲(chǔ)單兀清零KEYCO:MOV7CH,34HMOV7BH,33HKEYCOO:LJMPLOOP;返回監(jiān)控程序;D鍵功能子程序****************************************************KEYD:JB8CH,KEYDO ;定時(shí)器是否運(yùn)行,否跳轉(zhuǎn)JNB21H.0,KEYDOOMOVR0,#32H ;秒值存儲(chǔ)單兀地址送R0LCALLDAAD1;調(diào)加1子程序MOVA,R3 ;秒值加1后的值送R0XRLA,#60HJNZKEYDO;秒值是否到60秒,否返回LCALLCLR0;秒值存儲(chǔ)單兀清0KEYDO:MOV79H,31H
MOV7AH,32HKEYDOO:LJMPLOOP;返回監(jiān)控程序中斷服務(wù)程序******************************************************PITO:PUSHPSW;中斷服務(wù)程序,現(xiàn)場(chǎng)保護(hù)PUSHASETBRS0;選第二組通用寄存器SETBRS1MOVTL0,#0DCH;計(jì)數(shù)器重新加載MOVTH0,#0BHMOVA,30H;循環(huán)次數(shù)減1DECAMOV30H,AJNZRETO;不滿16次,轉(zhuǎn)RET0返MOV30H,#10H;滿16次開(kāi)始計(jì)時(shí)操作MOVR0,#32H;秒顯示單元地址ACALLDAAD1;秒加1MOVA,R3;加1后秒值在R3中XRLA,#60H;判是否到60秒JNZRETO;不到轉(zhuǎn)RET0返回ACALLCLR0;到60秒顯示單元清0MOVR0,#34H;分顯示單元地址ACALLDAAD1;分加1MOVA,R3;加1后分值在R3中XRLA,#60H;判是否到60分JNZRETO;不到轉(zhuǎn)RET0返回ACALLCLR0;到60分顯示單元清0MOVR0,#36H;時(shí)顯示單元地址ACALLDAAD1;時(shí)加1MOVA,R3;加1后時(shí)值在R3中DAAD1:MOVA,@R0;加1子程序,十位送ADECR0SWAPA;十位數(shù)占高4位ORLA,@R0;個(gè)位數(shù)占低4位ADDA,#01H;加1DAA;十進(jìn)制調(diào)整MOVR3,A;全值暫存R3中ANLA,#0FH;屏蔽十位數(shù),取出個(gè)位數(shù)MOV@R0,A;個(gè)位值送顯示緩沖單元MOVA,R3INCR0ANLA,#0F0H;屏蔽個(gè)位數(shù)取出十位數(shù)SWAPA;使十位數(shù)占低四位MOV@R0,A;十位數(shù)送緩沖單元第21頁(yè)加1子程序XRLA,XRLA,#24H;判是否到24時(shí)JNZRETO;不到轉(zhuǎn)RET0返回ACALLCLR0;到24時(shí)顯示單元清0RETO:CLRRS0;返回第0組通用寄存器CLRRS1POPA;現(xiàn)場(chǎng)恢復(fù)POPPSWMOV79H,31H;時(shí)、分、秒值放緩沖區(qū)MOV7AH,32HMOV7BH,33HMOV7CH,34HMOV7DH,35HMOV7EH,36HRETI;中斷返回“““““““““““““““““““““““““““““““““““““““““““““““““““““““小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小RET;返回CLR0:CLRA;清緩沖單兀子程序MOV@R0,A;十位緩沖單元清“0”DECR0MOV@R0,A;個(gè)位數(shù)緩沖單元清“0”RET;返回;鍵盤(pán)掃描子程序***************************************************KEY:LCALLKEYCHULI;調(diào)鍵值處理子程序JZEXIT;沒(méi)有鍵按下轉(zhuǎn)到返回LCALLDIRLCALLDIR;調(diào)顯示去抖動(dòng)LCALLKEYCHULI;調(diào)鍵值處理子程序JZEXIT;沒(méi)有鍵按下轉(zhuǎn)到返回MOVB,20H;保存鍵值KEYSF:LCALLKEYCHULI;調(diào)鍵值處理子程序JZKEY1;鍵釋放,轉(zhuǎn)到恢復(fù)鍵值LCALLDIR;調(diào)顯示子程序延時(shí)AJMPKEYSF;等到鍵釋放KEY1:MOV20H,B;鍵值送20H單元保存EXIT:RET;返回KEYCHULI:PUSHPSW;保護(hù)現(xiàn)場(chǎng)CLRRS1;改變寄存器組號(hào)SETBRS0MOVP1,#0FFH;先向P1口寫(xiě)1MOVA,P1;P1口值送累加器ACPLA;A值取反ANLA,#0FH;保存P1口的低4位MOV20H,A;A值送20H保存CLRRS1;改變寄存器組號(hào)CLRRS0
POPRETPSW;恢復(fù)現(xiàn)場(chǎng)1=(L工口r=^““““““““““““““““““““““““““““““““““““““““““““““““““““““““;顯示子程序********************************************************DIR:PUSHPSW ;恢復(fù)現(xiàn)場(chǎng)SETB RS1 ;改變寄存器組號(hào)CLR RS0MOVR0,#79H ;建立顯示緩沖區(qū)首地址MOVR3,#0FBH ;設(shè)置位控碼LD0:MOVP2,R3 ;送位控碼MOVDISP1:ADDA,A,@R0 ;緩沖區(qū)值送累加器A#1BHMOVCA,@A+PC ;取段控碼并送A中DISP2:MOVP0,A ;送段控碼MOVACALLR2,DEY#09H ;設(shè)置延時(shí)循環(huán)次數(shù);延時(shí)點(diǎn)亮INCR0;緩沖區(qū)地址加1MOVA,R3 ;位控碼送AJNBJBRLACC.1,ACC.5,AHERE;是否到最高位,是轉(zhuǎn)到返回LD2RLLD2:RLAA;不到向顯示、器高位移位MOVAJMPHERE:CLRCLRPOPRETDBB:DBDBR3,LD0RS0RS1PSW0C0H0F9HA ;位控值保存到R4中;繼續(xù)掃描;改變寄存器組號(hào);恢復(fù)現(xiàn)場(chǎng);返回
DB0A4HDB0B0HDB99HDB92HDB82HDB0F8HDB80HDB90HDB0CHDB0FFHh—U~工口““““““““““““““““““““““““““““““““““““““““““““““““““““““““延時(shí)子程序********************************************************DEY:PUSH12HDEY0:PUSH12HDEY1:PUSH12HDEY2:DJNZR2,DEY2POP12HDJNZR2,DEY1POP12HDJNZR2,DEY0POP12HDJNZR2,DEYRETEND9.誤差分析在上面的章節(jié)中已經(jīng)介紹過(guò),本電子鐘設(shè)計(jì)是使用單片機(jī)的定時(shí)/計(jì)數(shù)器0在工作方式1下定時(shí)62.5ms,根據(jù)定時(shí)時(shí)間和單片機(jī)最小系統(tǒng)的時(shí)鐘周期(1us)使定時(shí)/計(jì)數(shù)器0重復(fù)中斷16次就是一秒的時(shí)間了。定時(shí)/計(jì)數(shù)器0每產(chǎn)生一個(gè)中斷就定時(shí)62.5ms,當(dāng)產(chǎn)生一次中斷后,定時(shí)/計(jì)數(shù)器0并沒(méi)有馬上被賦予原來(lái)產(chǎn)生62.5ms的初值,而是在中斷服務(wù)程序中重新賦的初值,因而使用定時(shí)/計(jì)數(shù)器實(shí)現(xiàn)電子鐘的運(yùn)行存在著一定的誤差。一個(gè)62.5
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 藥品經(jīng)營(yíng)企業(yè)員工崗位職責(zé)
- 研究經(jīng)費(fèi)管理改革-洞察分析
- 虛擬現(xiàn)實(shí)與船舶駕駛教學(xué)資源整合-洞察分析
- 研發(fā)投入與產(chǎn)出分析-洞察分析
- 圖像元智能識(shí)別與跟蹤-洞察分析
- 《浙江卷生物》課件
- 云計(jì)算環(huán)境下的安全防護(hù)技術(shù)研究-洞察分析
- 勤儉節(jié)約是美德講話稿范文(16篇)
- 移動(dòng)網(wǎng)絡(luò)地址轉(zhuǎn)換技術(shù)-洞察分析
- 循環(huán)經(jīng)濟(jì)政策對(duì)堿業(yè)影響-洞察分析
- 2022年7月國(guó)家開(kāi)放大學(xué)本科《中國(guó)法律史》期末紙質(zhì)考試試題及答案
- 行政文秘筆試題
- 2024年部門(mén)年終工作總結(jié)參考(四篇)
- 主題四 第1課 節(jié)氣與我們的生活(教學(xué)設(shè)計(jì))教科版五年級(jí)下冊(cè)綜合實(shí)踐活動(dòng)
- 二年級(jí)數(shù)學(xué)上冊(cè)口算天天練
- 肯耐珂薩題庫(kù)
- 2024國(guó)家開(kāi)放大學(xué)電大本科《液壓氣動(dòng)技術(shù)》期末試題及答案
- 冷凝集素綜合征治療與護(hù)理研究進(jìn)展
- 商務(wù)服務(wù)機(jī)器人技術(shù)現(xiàn)狀與未來(lái)發(fā)展趨勢(shì)研究
- 工業(yè)物聯(lián)網(wǎng)(IIoT)行業(yè)發(fā)展全景調(diào)研與投資趨勢(shì)預(yù)測(cè)研究報(bào)告
- 金融數(shù)據(jù)分析-以Python為工具 課件 一、金融數(shù)據(jù)分析概覽
評(píng)論
0/150
提交評(píng)論