freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設(shè)計(jì)-基于at89s51單片機(jī)的電子時(shí)鐘設(shè)計(jì)(編輯修改稿)

2024-07-11 01:38 本頁面
 

【文章內(nèi)容簡介】 器進(jìn)行中斷時(shí),配合軟件延時(shí)實(shí)現(xiàn)時(shí)、分、秒的計(jì)時(shí)。該方案節(jié)省硬件成本,且能 使讀者在定時(shí) /計(jì)數(shù)器的使用、中斷及程序設(shè)計(jì)方面得到鍛煉與提高,對單片機(jī)的指令系統(tǒng)能有更深入的了解,從而對學(xué)好單片機(jī)技術(shù)這門課程起到一定的作用。 控制方案 AT89S51 的 P0 口和 P2口外接由八個(gè) LED 數(shù)碼管 (LED8~ LED1)構(gòu)成的顯示器,用P0口作 LED 的段碼輸出口, P2口作八個(gè) LED 數(shù)碼管的位控輸出線, P1 口外接四個(gè)按鍵 A、 B、 C構(gòu)成鍵盤電路。 AT89S51 是一種低功耗,高性能的 CMOS 8 位微型計(jì)算機(jī)。它帶有 8K Flash 可編程和擦除的只讀存儲(chǔ)器( EPROM),該器件采用 ATMEL 的高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)上標(biāo)準(zhǔn)的 80C51 和 80C52 的指令系統(tǒng)及引腳兼容,片內(nèi) Flash 集成在一個(gè)芯片上,可用與解決復(fù)雜的問題,且成本較低。簡易電子鐘的功能不復(fù)雜,采用其現(xiàn)有的 I/O 便可完成,所以本設(shè)計(jì)中采用此的設(shè)計(jì)方案。 具體設(shè)計(jì)分析 利用單片機(jī)( AT89S51)制作簡易電子時(shí)鐘,由六個(gè) LED 數(shù)碼管分別顯示小時(shí)十位、小時(shí)個(gè)位、分鐘十位、分鐘個(gè)位、秒鐘十位、秒鐘個(gè)位。結(jié)合本設(shè)計(jì)實(shí)驗(yàn)來說,要求顯示的時(shí)間為時(shí),分,秒,并且都用兩位數(shù)碼管來實(shí)現(xiàn)顯示。因此,具體設(shè)計(jì)程序時(shí),應(yīng) 盡可能多用一些子程序與數(shù)據(jù)暫寄存器單元。本程序設(shè)計(jì)中,在主程序之外,可以設(shè)置時(shí)間值處理子程序,時(shí)間值顯示前的處理子程序,按鍵情況掃描子程序, 1S定時(shí)中斷子程序以及 5ms 延時(shí)消除按鍵抖動(dòng)子程序等多個(gè)小型的子程序。另外,可以設(shè)置一些數(shù)據(jù)單元作為數(shù)據(jù)寄存器。用 28H, 2AH,2BH 和 2CH 地址單元分別作為顯示電子時(shí)鐘的設(shè)計(jì) 位數(shù)的掃描指針值寄存器,時(shí)寄存器,分寄存器和秒寄存器,再用 20H 地址單元作為顯示寄存器 圖 51 系統(tǒng)框圖 模塊設(shè)計(jì) 芯片分析 AT89S51 芯片 選用的 AT89S51 與同系列的 AT89C51 在功能上有明顯的提高,最突出是的可以實(shí)現(xiàn)在線的編程。用于實(shí)現(xiàn)系統(tǒng)的總的控制。其 主要功能列舉如下 : 8 位單片機(jī) 晶片內(nèi)部具有時(shí)鐘振蕩器(傳統(tǒng)最高工作頻率可至 33MHz) 內(nèi)部程式存儲(chǔ)器( ROM)為 4KB 內(nèi)部數(shù)據(jù)存儲(chǔ)器( RAM)為 128B 外部程序存儲(chǔ)器可擴(kuò)充至 64KB 外部數(shù)據(jù)存儲(chǔ)器可擴(kuò)充至 64KB 32 條雙向輸入輸出線,且每條均可以單獨(dú)做 I/O 的控制 5 個(gè)中斷向量源 2 組獨(dú)立的 16 位定時(shí)器 1 個(gè)全雙工串行通信端口 1 8751 及 8752 單芯片具有數(shù)據(jù)保密的功能 1單芯片提供位邏輯運(yùn)算指令 單 片 機(jī) 晶振 譯碼器 數(shù)碼管顯示 時(shí)間 調(diào)整 按鈕 電子時(shí)鐘的設(shè)計(jì) AT89S51 各引腳功能介紹: VCC: ATAT89S51 電源正端輸入,接 +5V。 VSS:電源地端。 XTAL1:單芯片系統(tǒng)時(shí)鐘的反向放大器輸入端。 XTAL2:系統(tǒng)時(shí)鐘的反向放大器輸出端,一般在設(shè)計(jì)上只要在 XTAL1 和 XTAL2 上接上一只石英振蕩晶體系統(tǒng)就可以動(dòng)作了,此外可以在兩個(gè)引腳與地之間加入一個(gè) 20PF 的小 電容,可以使系統(tǒng)更穩(wěn)定,避免噪聲干擾而死機(jī)。 RESET: AT89S51 的重置引腳,高電平動(dòng)作,當(dāng)要對晶片重置時(shí),只要對此引腳電平提升至高電平并保持兩個(gè)機(jī)器周期以上的時(shí)間, AT89S51 便能完成系統(tǒng)重置的各項(xiàng)動(dòng)作,使得內(nèi)部特殊功能寄存器之內(nèi)容均被設(shè)成已知狀態(tài),并且至地址 0000H 處開始讀入程序代碼而執(zhí)行程序。 EA/Vpp: EA為英文 External Access的縮寫,表示存取外部程序代碼之意,低電平動(dòng)作,也就是說當(dāng)此引腳接低電平后,系統(tǒng)會(huì)取用外部的程序代碼(存于外部EPROM 中)來執(zhí)行程序。因此 在 8031 及 8032 中, EA 引腳必須接低電平,因?yàn)槠鋬?nèi)部無程序存儲(chǔ)器空間。如果是使用 8751 內(nèi)部程序空間時(shí),此引腳要接成高電平。此外,在將程序代碼燒錄至 8751 內(nèi)部 EPROM 時(shí),可以利用此引腳來輸入 21V 的燒錄高壓( Vpp)。 ALE/PROG: ALE 是英文 Address Latch Enable的縮寫,表示地址鎖存器啟用信號(hào)。 ATAT89S51 可以利用這支引腳來觸發(fā)外部的 8位鎖存器(如 74LS373),將端口 0的地址總線( A0~ A7)鎖進(jìn)鎖存器中,因?yàn)?ATAT89S51 是以多工的方式送出地址及數(shù)據(jù) 。平時(shí)在程序執(zhí)行時(shí) ALE引腳的輸出頻率約是系統(tǒng)工作頻率的 1/6,因此可以用來電子時(shí)鐘的設(shè)計(jì) 驅(qū)動(dòng)其他周邊晶片的時(shí)基輸入。此外在燒錄 8751 程序代碼時(shí),此引腳會(huì)被當(dāng)成程序規(guī)劃的特殊功能來使用。 PSEN:此為 Program Store Enable的縮寫,其意為程序儲(chǔ)存啟用,當(dāng) 8051 被設(shè)成為讀取外部程序代碼工作模式時(shí)( EA=0),會(huì)送出此信號(hào)以便取得程序代碼,通常這支腳是接到 EPROM 的 OE腳。 ATAT89S51 可以利用 PSEN 及 RD 引腳分別啟用存在外部的 RAM 與 EPROM,使得數(shù)據(jù)存儲(chǔ)器與程序存儲(chǔ)器可以合并在一起而共 用 64K 的定址范圍。 PORT0( ~ ):端口 0 是一個(gè) 8 位寬的開路電極( Open Drain)雙向輸出入端口,共有 8個(gè)位, 表示位 0, 表示位 1,依此類推。其他三個(gè) I/O 端口( P P P3)則不具有此電路組態(tài),而是內(nèi)部有一提升電路, P0 在當(dāng)作 I/O用時(shí)可以推動(dòng) 8個(gè) LS的 TTL 負(fù)載。如果當(dāng) EA引腳為低電平時(shí)(即取用外部程序代碼或數(shù)據(jù)存儲(chǔ)器), P0 就以多工方式提供地址總線( A0~ A7)及數(shù)據(jù)總線( D0~ D7)。設(shè)計(jì)者必須外加一個(gè)鎖存器將端口 0送出的地址鎖住成為 A0~ A7,再配合端口 2所送出的 A8~ A15 合成一組完整的 16位地址總線,而定位地址到 64K 的外部存儲(chǔ)器空間。 PORT2( ~ ):端口 2 是具有內(nèi)部提升電路的雙向 I/O 端口,每一個(gè)引腳可以推動(dòng) 4個(gè) LS的 TTL 負(fù)載,若將端口 2 的輸出設(shè)為高電平時(shí),此端口便能當(dāng)成輸入端口來使用。 P2 除了當(dāng)作一般 I/O 端口使用外,若是在 ATAT89S51 擴(kuò)充外接程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),也提供地址總線的高字節(jié) A8~ A15,這個(gè)時(shí)候 P2 便不能當(dāng)作 I/O 來使用了。 PORT1( ~ ):端口 1 也是具有內(nèi)部提升電路的雙向 I/O 端口, 其輸出緩沖器可以推動(dòng) 4個(gè) LS TTL 負(fù)載,同樣地,若將端口 1的輸出設(shè)為高電平,便是由此端口來輸入數(shù)據(jù)。如果是使用 8052 或是 8032 的話, 又當(dāng)作定時(shí)器 2 的外部脈沖輸入腳,而 可以有 T2EX 功能,可以做外部中斷輸入的觸發(fā)引腳。 PORT3( ~ ):端口 3 也具有內(nèi)部提升電路的雙向 I/O 端口,其輸出緩沖器可以推動(dòng) 4個(gè) TTL 負(fù)載,同時(shí)還多工具有其他的額外特殊功能,包括串行通信、外部中斷控制、計(jì)時(shí)計(jì)數(shù)控制及外部數(shù)據(jù)存儲(chǔ)器內(nèi)容的讀取或?qū)懭肟刂频裙δ堋? 其引腳分配如下: : RXD,串行 通信輸入。 電子時(shí)鐘的設(shè)計(jì) : TXD,串行通信輸出。 : INT0,外部中斷 0 輸入。 : INT1,外部中斷 1 輸入。 : T0,計(jì)時(shí)計(jì)數(shù)器 0 輸入。 : T1,計(jì)時(shí)計(jì)數(shù)器 1 輸入。 : WR:外部數(shù)據(jù)存儲(chǔ)器的寫入信號(hào)。 : RD,外部數(shù)據(jù)存儲(chǔ)器的讀取信號(hào)。 74LS47 芯片說明 74LS47 是 BCD7段數(shù)碼管譯碼器 /驅(qū)動(dòng)器, 74LS47 的功能用于將 BCD 碼轉(zhuǎn)化成數(shù)碼塊中的數(shù)字 ,通過它解碼, 可以直接把數(shù)字轉(zhuǎn)換為數(shù)碼管的顯示數(shù)字, 從而簡化了程 序 。 74LS47 譯碼器原理: 譯碼為編碼的逆過程。它將編碼時(shí)賦予代碼的含義 “ 翻譯 ” 過來。實(shí)現(xiàn)譯碼的邏輯電路成為譯碼器。譯碼器輸出與輸入代碼有唯一的對應(yīng)關(guān)系。 74LS47 是輸出低電平有效的七段字形譯碼器,它在這里與數(shù)碼管配合使用, 電子時(shí)鐘的設(shè)計(jì) 下表 列出了 74LS47 的真值表,表示出了它與數(shù)碼管之間的關(guān)系。 輸 入 輸 出 顯示數(shù)字符號(hào) LT RBI A3 A2 A1 A0 BI RBO a b c d e f g 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 1 X 0 0 0 1 1 1 0 0 1 1 1 1 1 1 X 0 0 1 0 1 0 0 1 0 0 1 0 2 1 X 0 0 1 1 1 0 0 0 0 1 1 0 3 1 X 0 1 0 0 1 1 0 0 1 1 0 0 4 1 X 0 1 0 1 1 0 1 0 0 1 0 0 5 1 X 0 1 1 0 1 1 1 0 0 0 0 0 6 1 X 0 1 1 1 1 0 0 0 1 1 1 1 7 1 X 1 0 0 0 1 0 0 0 0 0 0 0 8 1 X 1 0 0 1 1 0 0 0 1 1 0 0 9 X X X X X X 0 1 1 1 1 1 1 1 熄滅 1 0 0 0 0 0 0 1 1 1 1 1 1 1 熄滅 0 X X X X X 1 0 0 0 0 0 0 0 8 74LS138 芯片說明 74HC138:74LS138 為 3 線- 8 線譯碼器,共有 54/74S138和 54/74LS138 兩種線路結(jié)構(gòu)型式,其74LS138工作原理如下: 當(dāng)一個(gè)選通端( G1)為高電平,另兩個(gè)選通端( /(G2A)和/(G2B))為 低電平時(shí),可將地址端( A、 B、 C)的二進(jìn)制編碼在一個(gè)對應(yīng)的 輸出端以低 電平譯出。 74LS138的作用 : 利用 G /(G2A)和 /(G2B)可級(jí)聯(lián)擴(kuò)展成 24 線譯碼器;若外接一個(gè)反 電子時(shí)鐘的設(shè)計(jì) 相器還可級(jí)聯(lián)擴(kuò)展成 32 線譯碼器。 若將選通端中的一個(gè)作為數(shù)據(jù)輸入端時(shí), 74LS138還可作數(shù)據(jù)分配器 74LS138 與 74HC 的引腳圖 用與非門組成的 3線 8線譯碼器 74LS138 無論從邏輯圖還是功能表我們都可以看到 74LS138 的八個(gè)輸出引腳,任何時(shí)刻要么全為高電平 1— 芯片處于不工作狀態(tài),要么只有一個(gè)為低電平 0,其余 7 個(gè)輸出 引腳全為高電平 1。如果出現(xiàn)兩個(gè)輸出引腳同時(shí)為 0的情況,說明該芯片已經(jīng)損壞。 電子時(shí)鐘的設(shè)計(jì) 71LS138 有三個(gè)附加的控制端、和。當(dāng)、時(shí),輸出為高電平( S= 1),譯碼器處于工作狀態(tài)。否則,譯碼器被禁止,所有的輸出端被封鎖在高電平,如表 所示。這三個(gè)控制端也叫做 “ 片選 ” 輸入端,利用片選的作用可以將多篇連接起來以擴(kuò)展譯碼器的功能。 3 線 8 線譯碼器 74LS138 的功能表 帶控制輸入端的譯碼器又是一個(gè)完整的數(shù)據(jù)分配器。在圖 電路中如果把作為“ 數(shù)據(jù) ” 輸入端(同時(shí)),而將作為 “ 地址 ” 輸入端,那么從送來的數(shù)據(jù)只能通過 所指定的一根輸出線送出去。這就不難理解為什么把叫做地址輸入了。例如當(dāng)= 101 時(shí),門的輸入端除了接至輸出端的一個(gè)以外全是高電平,因此的數(shù)據(jù)以反碼的形式從輸出,而不會(huì)被送到其他任何一個(gè)輸出端上。 晶振電路 右圖所示為時(shí)鐘電路原理圖,在 AT89S51 芯片內(nèi)部有一個(gè)高增益反相放大器,其輸入端為芯片引腳 XTAL1,輸出端為引腳 XTAL2。而在芯片內(nèi)部, XTAL1 和XTAL2 之間跨接晶體振蕩器和微調(diào)電容,從而構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。時(shí)鐘電路產(chǎn)生的振蕩脈沖經(jīng)過觸發(fā)器進(jìn)行二分頻之后,才成為單片機(jī)的時(shí)鐘脈沖 信號(hào)。 圖 3 晶振電路 電子時(shí)鐘的設(shè)計(jì) 數(shù)碼管的引腳圖 共陰數(shù)碼管 復(fù)位電路 單片機(jī)復(fù)位的條件是:必須使 RST/VPD 或 RST 引( 9)加上持續(xù)兩個(gè)機(jī)器周期(即 24 個(gè)振蕩周期)的高電平。例如,若時(shí)鐘頻率為 12 MHz,每機(jī)器周期為 1μ s,則只需 2μ s 以上時(shí)間的高電平,在 RST 引腳出現(xiàn)高電平后的第二個(gè)機(jī)器周期執(zhí)行復(fù)位。單片機(jī)常見的復(fù)位如圖所示。電路為上電復(fù)位電路,它是利用電容充電來實(shí)現(xiàn)的。在接電瞬間, RESET 端的電位與 VCC 相同,隨著充電電流的減少, RESET 的電位逐漸下降。只要保證 RESET 為高電平的時(shí)間大于兩個(gè)機(jī)器周期,便能正常復(fù) 位。該電路除具有上電復(fù)位功能外,若要復(fù)位,只需按圖中的 RESET 鍵,此時(shí)電源 VCC經(jīng)電阻 R R2 分壓,在 RESET 端產(chǎn)生一個(gè)復(fù)
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1