




已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
目 錄一、設(shè)計任務(wù)要求2 1.1、任務(wù)選擇2 1.2、任務(wù)要求分析及實現(xiàn)2二、設(shè)計方案與原理2 2.1.硬件電路方案選擇2 2.2、硬件電路設(shè)計原理 2 2.3軟件部分的設(shè)計11三、運行結(jié)果及分析17 3.1.電子鐘仿真結(jié)果17 3.2.ad轉(zhuǎn)換器仿真結(jié)果18四、設(shè)計總結(jié)18五、參考文獻(xiàn)18一、設(shè)計任務(wù)及要求 1.1、任務(wù)選擇 按照老師要求,必須完成課程設(shè)計任務(wù)書的兩項任務(wù),任務(wù)書中總共有30項任務(wù),可任選兩項。經(jīng)仔細(xì)閱讀任務(wù)書,結(jié)合自己對stc89c51的掌握情況,我選擇任務(wù)24和任務(wù)30。分別如下: (1)、任務(wù) 24:可調(diào)數(shù)字鐘系統(tǒng),要求支持小時、分、秒數(shù)字顯示,并且支持小時、分手動調(diào)節(jié)與復(fù)位功能。 (2)、任務(wù) 30:設(shè)計單片機(jī)外接 a/d 控制器,并將 ad 轉(zhuǎn)換的數(shù)據(jù)送數(shù)碼管顯示。 1.2、任務(wù)要求分析及實現(xiàn): (1)、任務(wù)24分析:本任務(wù)要求制作簡易電子鐘,并且時、分、秒可手動調(diào)節(jié),可用stc89c51內(nèi)部定時器t0或t1實現(xiàn)準(zhǔn)確定時,用6位數(shù)碼管分別顯示時、分、秒,也可用1602液晶顯時間。 (2)、任務(wù)30分析:由于硬件電路限制,此a/d轉(zhuǎn)換器只能用stc89c51開發(fā)板上的adc0804芯片結(jié)合數(shù)碼管來完成8位a/d轉(zhuǎn)換。二、設(shè)計方案與原理 2.1.硬件電路方案選擇 (1)、可調(diào)數(shù)字鐘方案選擇與論證: 方案一:用內(nèi)部定時器t1通過計算初值和循環(huán)實現(xiàn)定時1秒,用六位數(shù)碼管分別顯示時、分、秒。 方案二:用內(nèi)部定時器t1通過計算初值和循環(huán)實現(xiàn)定時1秒,用1602液晶顯示屏顯示時間。 用六位數(shù)碼管雖然可以分別顯示時、分、秒,但是的stc89c51i/o口并不是直接和數(shù)碼管的7段相連,來傳輸數(shù)據(jù)。由于stc89c51的i/o較少,為了節(jié)省i/o,通過74ls573做擴(kuò)展同時對i/o輸出數(shù)據(jù)進(jìn)行鎖存。所以數(shù)碼管的片選和段選均要經(jīng)過74ls573來進(jìn)行數(shù)據(jù)鎖存,而,電子鐘要求顯示時、分、秒用到的數(shù)碼管較多,編寫程序就比較麻煩。而,1602液晶顯示屏只要求定義好寫地址和寫命令即可顯示時間,方便快捷,美觀。 綜上所述:可調(diào)數(shù)字鐘選用方案二進(jìn)行設(shè)計。 (2)、a/d轉(zhuǎn)換電路設(shè)計思路: 選用stc89c51開發(fā)板上的adc0804進(jìn)行ad采樣,并將采樣結(jié)果量化后送到51的p1口,然后通過控制鎖存器打開數(shù)碼管的片選和段選將采樣值顯示出來。 2.2、硬件電路設(shè)計原理 1、stc89c51簡介: stc系列單片機(jī)是美國stc公司最新推出的一種新型51內(nèi)核的單片機(jī)。片內(nèi)含有flash程序存儲器、sram、uart、spi、ad、pwm等模塊。該器件的基本功能與普通的51單片機(jī)完全兼容。主要功能、性能參數(shù):(1).內(nèi)置標(biāo)準(zhǔn)51內(nèi)核,機(jī)器周期:增強(qiáng)型為6時鐘,普通型為12時鐘;(2).工作頻率范圍:040mhz,相當(dāng)于普通8051的080mhz;(3).stc89c5xrc對應(yīng)flash空間:4kb8kb15kb;(4).內(nèi)部存儲器(ram):512b;(5).定時器計數(shù)器:3個16位;(6).通用異步通信口(uart)1個;(7).中斷源:8個;(8).有isp(在系統(tǒng)可編程)iap(在應(yīng)用可編程),無需專用編程器仿真器;(9).通用io口:3236個;(10).工作電壓:3.85.5v;(11).外形封裝:40腳pdip、44腳plcc和pqfp等2. 89c51單片機(jī)的引腳功能說明(1)vcc:電源電壓(2)gnd:地(3)p0口:p0口是一組8位漏極開路型雙向i/o口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時,每位能吸收電流的方式驅(qū)動8個ttl邏輯門電路,對端口p0寫“1”時可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)位,在訪問期間激活內(nèi)部上拉電阻。 (4)p1口:p1是一個帶內(nèi)部上拉電阻的8位雙向i/o口,p1的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個tte邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(ill)。與at89c51不同之處是,p1.0和p1.1還可分別作為定時/計數(shù)器2的外部計數(shù)輸入(p 1.0/t2)和輸入(p 1.1/t2ex ), flash編程和程序校驗期間,p1接收低8位地址。表2-2-1 p1.0和p1.1的第二功能引 腳 號 功能特性p1.0t2(定時/計數(shù)器2外部計數(shù)脈沖輸入),時鐘輸出p1.1t2ex(定時/計數(shù)2捕獲/重裝載觸發(fā)和方向控制) 表2-2-1(5)p2口:p2是一個帶有內(nèi)部上拉電阻的8位雙向i/o口,p2的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個ttl邏輯門電路。對端口p2寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(ill)。在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行movx dptr指令)時,p2口送出高8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲器(如執(zhí)行movx ri指令)時,p2口輸出p2鎖存器的內(nèi)容。(6)p3口:p3口是一組帶有內(nèi)部上拉電阻的8位雙向i/o口。p3口輸出緩沖級可驅(qū)動(吸收或輸出電流)4個ttl邏輯門電路。對p3口寫入“1”時,它們被內(nèi)部上拉電阻拉高并可作為輸入端口。此時,被外部拉低的p3口將用上拉電阻輸出電流(ill)。p3口除了作為一般的i/o口線外,更重要的用途是它的第二功能,如表4-2所示。 (7) rst:復(fù)位輸入。當(dāng)振蕩器工作時,rst引腳出現(xiàn)兩個機(jī)器周期以上高電平將使單片機(jī)復(fù)位。表2-2-2 p3口的第二功能:端口引腳第二功能p3.0rxd(串行輸入口)p3.1txd(串行輸出口)p3.2(外中斷0)p3.3(外中斷1)p3.4t0(定時/計數(shù)0)p3.5t1(定時/計數(shù)1)p3.6(外部數(shù)據(jù)存儲器寫選通)p3.7(外部數(shù)據(jù)存儲器讀選通) 表2-2-2(8)/vpp:外部訪問允許。欲使cpu僅訪問外部程序存儲器(地址為0000h-ffffh ) 。端必須保持低電平(接地)。需注意的是:如果加密位lb1被編程,復(fù)位時內(nèi)部會鎖存端狀態(tài)。如端為高電平(接vcc端),cpu則執(zhí)行內(nèi)部程序存儲器中的指令。flash存儲器編程時,該引腳加上+12v的編程允許電源vpp,當(dāng)然這必須是該器件是使用12v編程電壓vcc 。(9)xtal1:振蕩器反相放大器的及內(nèi)部時鐘發(fā)生器的輸入端。(10)xtal2:振蕩器反相放大器的輸出端。3、74ls573鎖存器工作原理: (1)、74ls573 的八個鎖存器都是透明的d 型鎖存器,當(dāng)使能(g)為高時,q 輸出將隨數(shù)據(jù)(d)輸入而變。當(dāng)使能為低時,輸出將鎖存在已建立的數(shù)據(jù)電平上。輸出控制不影響鎖存器的內(nèi)部工作,即老數(shù)據(jù)可以保持,甚至當(dāng)輸出被關(guān)閉時,新的數(shù)據(jù)也可以置入。這種電路可以驅(qū)動大電容或低阻抗負(fù)載,可以直接與系統(tǒng)總線接口并驅(qū)動總線,而不需要外接口。特別適用于緩沖寄存器,i/o 通道,雙向總線驅(qū)動器和工作寄存器。 真值表: 輸出 enablelatch enable啟用d輸出olhhhlhllllxqohxxz 表2-2-3h=高電平 l=低電平 =不定 z=高阻態(tài)qo=建立穩(wěn)態(tài)輸入條件前q的電平引腳功能表: pin names管腳號 description 功能d0d7 data inputs數(shù)據(jù)輸入le latch enable input (active high) 鎖存使能輸入(高電平有效) oe 3-state output enable input (active low) 3態(tài)輸出使能輸入(低電平有效)o0o7 3-state latch outputs 3態(tài)鎖存輸出 表2-2-4(2)51開發(fā)板的原理圖: 表2-2-54、7段數(shù)碼管工作原理及原理圖: (1)、7段數(shù)碼管一般由8個發(fā)光二極管組成,其中由7個細(xì)長的發(fā)光二極管組成數(shù)字顯示,另外一個圓形的發(fā)光二極管顯示小數(shù)點。當(dāng)發(fā)光二極管導(dǎo)通時,相應(yīng)的一個點或一個筆畫發(fā)光。控制相應(yīng)的二極管導(dǎo)通,就能顯示出各種字符,盡管顯示的字符形狀有些失真,能顯示的數(shù)符數(shù)量也有限,但其控制簡單,使有也方便。發(fā)光二極管的陽極連在一起的稱為共陽極數(shù)碼管,陰極連在一起的稱為共陰極數(shù)碼管。 (2)、硬件電路原理圖: 表2-2-65、1602液晶顯示原理 (1)、液晶顯示原理 液晶顯示的原理是利用液晶的物理特性,通過電壓對其顯示區(qū)域進(jìn)行控制,有電就有顯示,這樣即可以顯示出圖形。液晶顯示器具有厚度薄、適用于大規(guī)模集成電路直接驅(qū)動、易于實現(xiàn)全彩色顯示的特點,目前已經(jīng)被廣泛應(yīng)用在便攜式電腦、數(shù)字?jǐn)z像機(jī)、pda移動通信工具等眾多領(lǐng)域。 (2)、液晶顯示器的分類 液晶顯示的分類方法有很多種,通??砂雌滹@示方式分為段式、字符式、點陣式等。除了黑白顯示外,液晶顯示器還有多灰度有彩色顯示等。如果根據(jù)驅(qū)動方式來分,可以分為靜態(tài)驅(qū)動(static)、單純矩陣驅(qū)動(simplematrix)和主動矩陣驅(qū)動(activematrix)三種。液晶顯示器各種圖形的顯示原理:線段的顯示點陣圖形式液晶由mn個顯示單元組成,假設(shè)lcd顯示屏有64行,每行有128列,每8列對應(yīng)1字節(jié)的8位,即每行由16字節(jié),共168=128個點組成,屏上6416個顯示單元與顯示ram區(qū)1024字節(jié)相對應(yīng),每一字節(jié)的內(nèi)容和顯示屏上相應(yīng)位置的亮暗對應(yīng)。例如屏的第一行的亮暗由ram區(qū)的000h00fh的16字節(jié)的內(nèi)容決定,當(dāng)(000h)=ffh時,則屏幕的左上角顯示一條短亮線,長度為8個點;當(dāng)(3ffh)=ffh時,則屏幕的右下角顯示一條短亮線;當(dāng)(000h)=ffh,(001h)=00h,(002h)=00h,(00eh)=00h,(00fh)=00h時,則在屏幕的頂部顯示一條由8段亮線和8條暗線組成的虛線。這就是lcd顯示的基本原理。字符的顯示用lcd顯示一個字符時比較復(fù)雜,因為一個字符由68或88點陣組成,既要找到和顯示屏幕上某幾個位置對應(yīng)的顯示ram區(qū)的8字節(jié),還要使每字節(jié)的不同位為“1”,其它的為“0”,為“1”的點亮,為“0”的不亮。這樣一來就組成某個字符。但由于內(nèi)帶字符發(fā)生器的控制器來說,顯示字符就比較簡單了,可以讓控制器工作在文本方式,根據(jù)在lcd上開始顯示的行列號及每行的列數(shù)找出顯示ram對應(yīng)的地址,設(shè)立光標(biāo),在此送上該字符對應(yīng)的代碼即可。 (3)原理圖如下: 表2-2-77、a/d轉(zhuǎn)換模塊: adc0804工作原理: (1)、(a/d轉(zhuǎn)換概念:即模數(shù)轉(zhuǎn)換(analog to digital),輸入模擬量(比如電壓信號),輸出一個與模擬量相對應(yīng)的數(shù)字量(常為二進(jìn)制形式)。例如參考電壓vref為5v,采用8位的模數(shù)轉(zhuǎn)換器時,當(dāng)輸入電壓為0v時,輸出的數(shù)字量為0000 0000,當(dāng)輸入的電壓為5v時,輸出的數(shù)字量為1111 1111。當(dāng)輸入的電壓從從0v到5v變化時,輸出的數(shù)字量從0000 0000到1111 1111變化。這樣每個輸入電壓值對應(yīng)一個輸出數(shù)字量,即實現(xiàn)了模數(shù)轉(zhuǎn)換。 (3)、分辨率概念:分辨率是指使輸出數(shù)字量變化1時的輸入模擬量,也就是使輸出數(shù)字量變化一個相鄰數(shù)碼所需輸入模擬量的變化值。分辨率與a/d轉(zhuǎn)換器的位數(shù)有確定的關(guān)系,可以表示成fs / 2 n 。fs表示滿量程輸入值,n為a/d轉(zhuǎn)換器的位數(shù)。例如,對于5v的滿量程,采用4位的adc時,分辨率為5v/16=0.3125v (也就是說當(dāng)輸入的電壓值每增加0.3125v,輸出的數(shù)字量增加;采用8位的adc時,分辨率為5v/25619.5mv(也就是說當(dāng)輸入的電壓值每增加19.5mv,則輸出的數(shù)字量增加1);當(dāng)采用12位的adc時,分辨率則為5v/40961.22mv(也就是說當(dāng)輸入的電壓值每增加1.22mv ,則輸出的數(shù)字量增加1)。顯然,位數(shù)越多,分辨率就越高。 (4)、adc0804引腳功能:cs:芯片片選信號,低電平有效。即cs=0時,該芯片才能正常工作,高電平時芯片不工作。在外接多個adc0804芯片時,該信號可以作為選擇地址使用,通過不同的地址信號使能不同的adc0804芯片,從而可以實現(xiàn)多個adc通道的分時復(fù)用。wr:啟動adc0804進(jìn)行adc采樣,該信號低電平有效,即wr信號由低電平變成高電平時,觸發(fā)一次adc轉(zhuǎn)換。rd:低電平有效,即rd=0時,dac0804把轉(zhuǎn)換完成的數(shù)據(jù)加載到db口,可以通過數(shù)據(jù)端口db0db7讀出本次的采樣結(jié)果。vin(+)和vin(-):模擬電壓輸入端,單邊輸入時模擬電壓輸入接vin(+)端,vin(-)端接地。雙邊輸入時vin(+)、vin(-)分別接模擬電壓信號的正端和負(fù)端。當(dāng)輸入的模擬電壓信號存在“零點漂移電壓”時,可在vin(-)接一等值的零點補(bǔ)償電壓,變換時將自動從vin(+)中減去這一電壓。vref/2:參考電壓接入引腳,該引腳可外接電壓也可懸空,若外接電壓,則adc的參考電壓為該外界電壓的兩倍,如不外接,則vref與vcc共用電源電壓,此時adc的參考電壓即為電源電壓vcc的值。clkin和clkr:外接rc振蕩電路產(chǎn)生模數(shù)轉(zhuǎn)換器所需的時鐘信號,時鐘頻率clk = 1/1.1rc,一般要求頻率范圍100khz1460khz。agnd和dgnd:分別接模擬地和數(shù)字地。 intr:轉(zhuǎn)換結(jié)束輸出信號,低電平有效,當(dāng)一次a/d轉(zhuǎn)換完成后,將引起intr=0,實際應(yīng)用時,該引腳應(yīng)與微處理器的外部中斷輸入引腳相連(如51單片機(jī)的int0,int1腳),當(dāng)產(chǎn)生intr信號有效時,還需等待rd=0才能正確讀出a/d轉(zhuǎn)換結(jié)果,若adc0804單獨使用,則可以將intr引腳懸空。db0db7:輸出a/d轉(zhuǎn)換后的8位二進(jìn)制結(jié)果。 (5)、 adc0804工作過程: a.啟動轉(zhuǎn)換:由圖2-2-8中的上部“figure 10a”可知,在cs信號為低電平的情況下,將wr引腳先由高電平變成低電平,經(jīng)過至少tw(wr)i 延時后,再將wr引腳拉成高電平,即啟動了一次ad轉(zhuǎn)換。 b延時等待轉(zhuǎn)換結(jié)束:依然由圖6中的上部“figure 10a”可知,由拉低wr信號啟動ad采樣后,經(jīng)過1到8個tclk+internal tc延時后,ad轉(zhuǎn)換結(jié)束,因此,啟動轉(zhuǎn)換后必須加入一個延時以等待ad采樣結(jié)束。 c.讀取轉(zhuǎn)換結(jié)果:由圖2-2-8的下部“figure 10b”可知,采樣轉(zhuǎn)換完畢后,在cs信號為低的前提下,將rd腳由高電平拉成低電平后,經(jīng)過tacc的延時即可從db腳讀出有效的采樣結(jié)果。圖2-2-8:adc0804手冊給出的adc轉(zhuǎn)換時序圖(6)原理圖如下: 圖2-2-98、矩陣鍵盤原理及電路圖 (1)、矩陣鍵盤又稱為行列式鍵盤,它是用4條i/o線作為行線,4條i/o線作為列線組成的鍵盤。在行線和列線的每一個交叉點上,設(shè)置一個按鍵。這樣鍵盤中按鍵的個數(shù)是44個。這種行列式鍵盤結(jié)構(gòu)能夠有效地提高單片機(jī)系統(tǒng)中i/o口的利用率。 (2)、44矩陣鍵盤的編程方法:先讀取鍵盤的狀態(tài),得到按鍵的特征編碼。先從p1口的高四位輸出低電平,低四位輸出高電平,從p1口的低四位讀取鍵盤狀態(tài)。再從p1口的低四位輸出低電平,高四位輸出高電平,從p1口的高四位讀取鍵盤狀態(tài)。將兩次讀取結(jié)果組合起來就可以得到當(dāng)前按鍵的特征編碼。使用上述方法我們得到16個鍵的特征編碼。舉例說明如何得到按鍵的特征編碼: 假設(shè)“1”鍵被按下,找其按鍵的特征編碼。從p1口的高四位輸出低電平,即p1.4p1.7為輸出口。低四位輸出高電平,即p1.0p1.3為輸入口。讀p1口的低四位狀態(tài)為“1101”,其值為“0dh”。再從p1口的高四位輸出高電平,即p1.4p1.7為輸入口。低四位輸出低電平,即p10p13為輸出口,讀p1口的高四位狀態(tài)為“1110”,其值為“e0h”。將兩次讀出的p0口狀態(tài)值進(jìn)行邏輯或運算就得到其按鍵的特征編碼為“edh”。用同樣的方法可以得到其它15個按鍵的特征編碼。 (3)原理圖如下: 圖2-2-102.3軟件部分的設(shè)計: 1、計時模塊流程圖如下圖所示。保護(hù)現(xiàn)場重裝定時器初值循環(huán)次數(shù)減1否滿20次?是秒單元加1否60s到?是秒單元清0,分單元加1否60分到?是分單元清0,時單元加1否24小時到?是時單元清0恢復(fù)現(xiàn)場返回 2、電子鐘c語言程序如下: /*lcd數(shù)字中顯示,時,分,秒手動按鍵可調(diào),按下s4時,光標(biāo)第一次顯示到秒,此刻再按s8秒加1,按s12秒減1,同來可調(diào)時,分,當(dāng)時調(diào)節(jié)完后,再按s4依次,光標(biāo)消失,數(shù)字鐘開始走*/#include#define uchar unsigned char#define uint unsigned intsbit dula=p26;/關(guān)閉所有數(shù)碼管和二極管sbit wela=p27;sbit lcdrs=p35; /申明lcd使能端sbit lcden=p34;sbit s1=p30;sbit s2=p31;sbit s3=p32;sbit rd=p37;uchar code table=dx zhao-wu-long;uchar code table1= 00:00:00;uchar count,num,s1num; char shi,fen,miao;void delay(uint z)uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);void write_com(uchar com)/寫指令lcdrs=0; p0=com; delay(5); lcden=1; delay(5); lcden=0;void write_date(uchar date) /寫數(shù)據(jù)lcdrs=1; p0=date; delay(5); lcden=1; delay(5);lcden=0;void init() /初始化函數(shù)dula=0;wela=0;lcden=0; write_com(0x38); /設(shè)置顯示16*2,5*7點陣,8位數(shù)據(jù)接口 write_com(0x0c); /設(shè)置光標(biāo) write_com(0x06); /設(shè)置移位 write_com(0x01); /顯示清屏 write_com(0x80); for(num=0;num15;num+) /第一行顯示的數(shù)組 write_date(tablenum);delay(5); write_com(0x80+0x40);/第二行顯示數(shù)組 for(num=0;num12;num+) write_date(table1num);delay(5);tmod=0x01; /選擇定時器t0,工作方式1th0=(65536-50000)/256; /初始化tl0=(65536-50000)%256;ea=1; /開總中斷et0=1; /打開t0中斷tr0=1; /啟動t0void write_sfm(uchar add,uchar date)/定位顯示數(shù)據(jù)函數(shù) uchar shi,ge; shi=date/10; ge=date%10; write_com(0x80+0x40+add); write_date(0x30+shi); write_date(0x30+ge);void keyscan() /鍵盤掃描函數(shù)rd=0; if(s1=0) delay(1);if(s1=0); s1num+; while(!s1); /松手檢測 if(s1num=1) tr0=0; write_com(0x80+0x40+10); /時間調(diào)整 write_com(0x0f); if(s1num=2) /調(diào)整分 write_com(0x80+0x40+7); if(s1num=3) /調(diào)整秒 write_com(0x80+0x40+4); if(s1num=4) tr0=1; write_com(0x0c); s1num=0; if(s1num!=0) if(s2=0) /s2按下時時分秒相應(yīng)的加1 delay(5);if(s2=0) while(!s2); if(s1num=1) miao+; /按s2秒加1 if(miao=60)miao=0; write_sfm(10,miao); write_com(0x80+0x40+10); if(s1num=2) fen+; /分加1 if(fen=60)fen=0; write_sfm(7,fen); write_com(0x80+0x40+7); if(s1num=3) shi+; /時加1 if(shi=24) shi=0; write_sfm(4,shi); write_com(0x80+0x40+4); if(s3=0) /按下s3鍵時分時秒 減1 delay(5);if(s3=0) while(!s3); if(s1num=1) miao-; /秒減1 if(miao=-1) miao=59; write_sfm(10,miao); write_com(0x80+0x40+10); if(s1num=2) fen-; if(fen=-1) fen=59 /分減1 write_sfm(7,fen); write_com(0x80+0x40+7); if(s1num=3) shi-;/時時 減1 if(shi=-1) shi=23; write_sfm(4,shi); write_com(0x80+0x40+4); void main() init(); tmod=0x01; /選擇定時器t0,工作方式0 th0=(65536-50000)/256; /初始化 tl0=(65536-50000)%256; ea=1; /開總中斷 et0=1; /打開t0中斷 tr0=1; /啟動t0 while(1) keyscan(); if(count=20) count=0;miao+; if(miao=60) miao=0; fen+; if(fen=60) fen=0; shi+;if(shi=24)shi=0;write_sfm(4,shi); write_sfm(7,fen); write_sfm(10,miao);void time0() interrupt 1 /中斷函數(shù)th0=(65536-50000)/256; tl0=(65536-50000)%256; /重裝初值count+;3.a/d轉(zhuǎn)換電路c程序如下: /*調(diào)節(jié)w3電位器adc0804模數(shù)轉(zhuǎn)換后的數(shù)字量會顯示在數(shù)碼管上*/#include #define uchar unsigned char #define uint unsigned intsbit wr=p36;sbit rd=p37;sbit wela=p27;sbit dula=p26;sbit dio=p25;uchar dispbuf6;uchar code disptab=0x3f,0x6,0x5b,0x4f,0x66,0x6d,0x7d,0x27,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x0;uchar code dispbit=0xfe,0xfd,0xfb,0xf7,0xef,0xdf;uchar a;void delay(uint x)uchar i,j;for(i=x;i0;i-)for(j=110;j0;j-);void init_timer0()tmod=0x01;th0=(65535-5000)/256;tl0=(65535-5000)%256;ea=1;et0=1;tr0=1;void timer0() interrupt 1uchar tmp;staticuchar count;p0|=0x3f; /關(guān)閉所有數(shù)碼管,wela=1;tmp=dispbitcount; /數(shù)碼管位選數(shù)組p0&=tmp;wela=0;dula=1;t
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年證券從業(yè)資格證金融工具解析試題及答案
- 項目管理專業(yè)資格考試能力動態(tài)試題及答案
- 注冊會計師考試的關(guān)鍵準(zhǔn)備細(xì)則試題及答案
- 注冊會計師考試2025年合規(guī)風(fēng)險管理流程探討試題及答案
- 微生物與疾病預(yù)防的關(guān)系試題及答案
- 風(fēng)險應(yīng)對策略在項目管理中的運用試題及答案
- 證券從業(yè)資格證的復(fù)習(xí)心態(tài)調(diào)整技巧試題及答案
- 證券投資決策模型的應(yīng)用試題及答案
- 臨床微生物學(xué)課程總結(jié)試題及答案
- 股票價值評估的基本方法試題及答案
- 石群邱關(guān)源電路課件(第8至16單元)白底
- 幼兒園警察職業(yè)介紹課件
- 學(xué)校直飲水衛(wèi)生管理制度
- GB/T 7389-1987船用起貨絞車
- GB/T 2423.18-2012環(huán)境試驗第2部分:試驗方法試驗Kb:鹽霧,交變(氯化鈉溶液)
- FZ/T 01008-2008涂層織物耐熱空氣老化性的測定
- 2021年5月北京地區(qū)成人本科學(xué)士學(xué)位英語統(tǒng)一考試真題及答案
- 國防科技大學(xué)介紹
- 防腐木施工合同樣本(3篇)
- 感染性休克病人麻醉處理課件
- 李清照永遇樂落日熔金講課教案課件
評論
0/150
提交評論