版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 單片機課程設計 目錄第一章 引言2第二章 設計方案論證.3 2.1 方案論證與設計3 2.1.1 控制部分的方案選擇.3 2.1.2 顯示部分的方案選擇.4 2.1.3 系統(tǒng)基本方案選擇和論證.4 2.2 單片機原理5 2.3 led顯示數(shù)碼管.5第三章 計算部分.5 3.1 主要單元電路的器件.5 3.1.1 單片機主控制模塊.6 3.2其他模塊器件.10 3.2.1 74ls164.10 3.2.2 其他元器件.10第四章 結構設計部分13 4.1 顯示部分設計.12 4.1.1 萬年歷優(yōu)先算法.13 4.1.2 秒表顯示.13 4.2 電路控制部分設計.13 4.3 整體設計.14 4
2、.4 系統(tǒng)軟件設計.16 4.4.1 proteus 軟件仿真.17結束語19參考文獻.20系統(tǒng)程序清單.20第一章 引言 隨著微電子技術的高速發(fā)展,單片機在國民經(jīng)濟的個人領域得到了廣泛的運用。單片機以體積小、功能全、性價比高等諸多優(yōu)點,在工業(yè)控制、家用電器、通信設備、信息處理、尖端武器等各種測控領域的應用中獨占鰲頭,單片機開發(fā)技術已成為電子信息、電氣、通信、自動化、機電一體化等專業(yè)技術人員必須掌握的技術。而電子萬年歷作為電子類小設計不僅是市場上的寵兒,也是是單片機實驗中一個很常用的題目。因為它的有很好的開放性和可發(fā)揮性,因此對作者的要求比較高,不僅考察了對單片機的掌握能力更加強調了對單片機擴
3、展的應用。而且在操作的設計上要力求簡潔,功能上盡量齊全,顯示界面也要出色。數(shù)字顯示的日歷鐘已經(jīng)越來越流行,特別是適合在家庭居室、辦公室、大廳、會議室、車站和廣場等使用,壁掛式led數(shù)碼管顯示的日歷鐘逐漸受到人們的歡迎。led數(shù)字顯示的日歷鐘顯示清晰直觀、走時準確、可以進行夜視,并且還可以擴展出多種功能。 所以,電子萬年歷無論作為比賽題目還是練習題目都是很有價值。關鍵字: 單片機 顯示器 計時 萬年歷 秒表第二章 設計方案論證21方案論證與設計2.1.1.控制部分的方案選擇 a)用可編程邏輯器件設計??刹捎胊ltera公司的flex10k系列pld器件。設計起來結構清晰,各個模塊,從硬件上設計起
4、來相對簡單,控制與顯示的模塊間的連接也會比較方便。但是考慮到本設計的特點,eda在功能擴展上比較受局限,而且eda占用的資源也相對多一些。從成本上來講,用可編程邏輯器件來設計也沒有什么優(yōu)勢。 b)用凌陽16位單片機設計。凌陽16位單片機有豐富的中斷源和時基,方便本實驗的設計。它的準確度相當高,并且c語言和匯編兼容的編程環(huán)境也很方便來實現(xiàn)一些遞歸調用。i/o口功能也比較強大,方便使用。用凌陽16位單片機做控制器最有特色的就是它的可編程音頻處理,可完成語音的錄制播放和識別。這些都方便對設計進行擴展,使設計更加完善。成本也相對低一些。2.1.2顯示部分的方案選擇a)液晶顯示方式。液晶顯示效果出眾,可
5、以運用菜單項來方便操作,但是在顯示時,特別是使用秒表功能時掃描速度跟不上,屏幕會有明顯的閃爍。而且由于61板的存儲空間有限,液晶顯示就不能與語音播抱程序同時實現(xiàn)。這些大大影響了電子萬年歷的性能。b)相比液晶顯示,采用8段數(shù)碼管既經(jīng)濟實惠,在效果上也可以加入語音報時功能,操作比較液晶顯示來說雖然略顯繁瑣,但總體也還可以做到比較人性化。所以,最后選擇led數(shù)碼管顯示方案。2.1.3系統(tǒng)基本方案選擇和論證1.單片機芯片的選擇方案和論證:方案一: 采用at89s52,片內rom全都采用flash rom;能以3v的超底壓工作;同時也與mcs-51系列單片機完全該芯片內部存儲器為8kb rom 存儲空間
6、,同樣具有89c51的功能,且具有在線編程可擦除技術,與51單片機相比,存儲空間更大一些,處理能力更強一些,但價格昂貴。方案二:采用89c51芯片作為硬件核心,采用flash rom,內部具有4kb rom 存儲空間,能于3v的超低壓工作,而且與mcs-51系列單片機完全兼容,雖然其存儲空間和處理能力都比不上52單片機,但是51單片機的處理能力完全能夠滿足我們的要求,而且價格方面非常便宜。所以選擇采用at89c51作為主控制系統(tǒng).2. 顯示模塊選擇方案和論證:方案一: 采用led液晶顯示屏,液晶顯示屏的顯示功能強大,可顯示大量文字,圖形led數(shù)碼管價格適中,對于顯示數(shù)字最合適,而且采用動態(tài)掃描
7、法與單片機連,顯示多樣,清晰可見,但是價格昂貴,需要的接口線多,所以在此設計中不采用led液晶顯示屏.方案二:采用點陣式數(shù)碼管顯示,點陣式數(shù)碼管是由八行八列的發(fā)光二極管組成,對于顯示文字比較適合,如采用在顯示數(shù)字顯得太浪費,且價格也相對較高,所以也不用此種作為顯示.方案三:采用led數(shù)碼管動態(tài)掃描,接時,占用的單片機口線少。所以采用了led數(shù)碼管作為顯示。3. 電路設計最終方案決定綜上各方案所述,對此次作品的方案選定: 采用at89c51作為主控制系統(tǒng);led數(shù)碼管動態(tài)掃描作為顯示。2.2 單片機原理單片機就是簡化的微型計算機。cpu中本身自帶存儲器rom和ram。cpu片內也有總線。ic(集
8、成電路)技術是將電路通過特殊工藝做在一塊硅基片上封裝成芯片,比如cpu,片外存儲器等等。 將單片機cpu(比如51系列),晶振,存儲器,地址鎖存器,邏輯門,七段譯碼器(顯示器),按鈕(類似鍵盤),擴展芯片,接口等通過pcb工藝(比如smt貼片,或者插裝)做在環(huán)氧樹脂板上。這樣才是一個完整的單片(做在一塊pcb板上)的微型計算機。 2.3 led顯示數(shù)碼管常見的led顯示具有清晰明亮的特點。是顯示接口也是絕大多數(shù)單片機應用系統(tǒng)必備的部件之一。發(fā)光二極管組成的顯示器是單片機應用產(chǎn)品中最常用的廉價輸出設備。它由若干個發(fā)光二極管按一定的規(guī)律排列而成。當某一個發(fā)光二極管導通時,相應的一個點或一筆畫被點亮
9、,控制不同組合的二極管導通,就能顯出各種字符。1. 顯示器的結構常用的7段顯示器的結構如圖所示,發(fā)光二極管的陽極連在一起的稱為共陽極顯示器,陰極連在一起的成為共陰顯示器。1位顯示器由8個發(fā)光二極管組成,其中7個發(fā)光二極管ag控制7個筆畫的亮或暗,另一個控制一個小數(shù)點的亮和暗,這種筆畫的七段顯示器能顯示的字符較少,字符的形狀有些失真,但失控簡單,使用方便。第三章計算部分3.1 主要單元電路的器件3.1.1單片機主控制模塊1內部結構8051是mcs-51系列單片機的典型產(chǎn)品,我們以這一代表性的機型進行系統(tǒng)的講解。 8051單片機包含中央處理器、程序存儲器(rom)、數(shù)據(jù)存儲器(ram)、定時/計數(shù)
10、器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在我們分別加以說明: 中央處理器:中央處理器(cpu)是整個單片機的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進制數(shù)據(jù)或代碼,cpu負責控制、指揮和調度整個單元系統(tǒng)協(xié)調的工作,完成運算和控制輸入輸出功能等操作。數(shù)據(jù)存儲器(ram):8051內部有128個8位用戶數(shù)據(jù)存儲單元和128個專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的的ram只有128個,可存放讀寫的數(shù)據(jù),運算的中間結果或用戶定義的字型表。程序存儲器(rom):80
11、51共有4096個8位掩膜rom,用于存放用戶程序,原始數(shù)據(jù)或表格。定時/計數(shù)器(rom):8051有兩個16位的可編程定時/計數(shù)器,以實現(xiàn)定時或計數(shù)產(chǎn)生中斷用于控制程序轉向。并行輸入輸出(i/o)口:8051共有4組8位i/o口(p0、 p1、p2或p3),用于對外部數(shù)據(jù)的傳輸。全雙工串行口:8051內置一個全雙工串行通信口,用于與其它設備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當同步移位器使用。中斷系統(tǒng):8051具備較完善的中斷功能,有兩個外中斷、兩個定時/計數(shù)器中斷和一個串行中斷,可滿足不同的控制要求,并具有2級的優(yōu)先級別選擇。時鐘電路:8051內置最高頻率達12mhz
12、的時鐘電路,用于產(chǎn)生整個單片機運行的脈沖時序,但8051單片機需外置振蕩電容。單片機的結構有兩種類型,一種是程序存儲器和數(shù)據(jù)存儲器分開的形式,即哈佛(harvard)結構,另一種是采用通用計算機廣泛使用的程序存儲器與數(shù)據(jù)存儲器合二為一的結構,即普林斯頓(princeton)結構。intel的mcs-51系列單片機采用的是哈佛結構的形式,而后續(xù)產(chǎn)品16位的mcs-96系列單片機則采用普林斯頓結構。2.引腳定義及功能: mcs-51系列單片機中的8031、8051及8751均采用40pin封裝的雙列直接dip結構,右圖是它們的引腳配置,40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4
13、組8位共32個i/o口,中斷口線與p3口線復用?,F(xiàn)在我們對這些引腳的功能加以說明: 1).電源及時鐘引腳vcc:接+5v 電源vss:接地xtal1和xtal2:時鐘引腳,外接晶體引線端。當使用芯片內部時鐘時,此兩引腳端用于外接石英晶體和微調電容;當使用外部時鐘時,用于接外部時鐘脈沖信號。2).控制引腳rst/vpq:rst是復位信號輸入端,vpd是備用電源輸入端。當rst輸入端保持2個機器周期以上高電平時,單片機完成復位初始化操作。當主電源vcc發(fā)生故障而突然下降到一定低電壓或斷電時,第2功能vpd將為片內ram提供電源以保護片內ram中的信息不丟失。ale/prog:地址鎖存允許信號輸入端
14、。在存取外存儲器時,用于鎖存低8位地址信號。當單片機正常工作后,ale端就周期性地以時鐘振蕩頻率的1/6固定頻率向外輸出正脈沖信號。此引腳的第2功能prog是對片內帶有4k字節(jié)eprom的8751固外程序時,作為編程脈沖輸入端。psen:程序存儲器允許輸出端。當片外程序存儲器的讀選通信號,低電平有效。cpu從外部程序存儲器取指令時,psen信號會自動產(chǎn)生負脈沖,作為外部程序存儲器的選通信號。ea/vpp:程序存儲器地址允許輸入端。當ea為高電平時,cpu執(zhí)行片內程序存儲器指令,但當pc中的值超過0fffh時,將自動轉向執(zhí)行片外程序存儲器指令;當ea為低電平時,cpu只執(zhí)行片外程序存儲器指令。3
15、).i/o口引腳p0.0p0.7:p0口8位雙向i/o口;p1.0p1.7:p1口8位準雙向i/o口;p2.0p2.7:p2口8位準雙向i/o口;p3.0p3.7:p3口8位準雙向i/o口。3片外總線結構分為三部分:數(shù)據(jù)總線 data bus(db),地址總線 address bus (ab),控制總線 control bus(cb) 3.2其他模塊器件(1) 74hc164芯片外觀圖如下:74hc是個串入并出的8位移位寄存器,它常用于單片機系統(tǒng)中,其主要工作特點如下:串行輸入帶鎖存; 時鐘輸入,串行輸入帶緩沖 ;異步清除; 最高時鐘頻率可高達36mhz ;功耗:10mw/bit ;74系列工
16、作溫度: 0c to 70c ;vcc最高電壓:7v ;輸入最高電壓:7v; 高電平:0.4ma ;低電平:8ma其內部引腳結構圖如下:(2).電阻本實驗采用金屬薄膜電阻,阻值為1k, 金屬膜電位器的電阻體可由合金膜、金屬氧化膜、金屬箔等分別組成。特點是分辯力高、耐高溫、溫度系數(shù)小、動噪聲小、平滑性好。(3)電解電容本實驗電解電容分別有20uf和100uf,在電路中起微調作用,用于復位與電源電路中。元件示意圖如下:(4).電容本實驗中采用c104,在電源與地之間其去耦的作用,同時用于振蕩電路中。(5).晶振本實驗采用6mhz的晶體振蕩器,xtal1和xtal2分別為晶振的輸入和輸出。該反向放大
17、器可以配置為片內振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅動器件,xtal2應不接。有余輸入至內部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。(6).七段數(shù)碼管顯示器本實驗選用元件示意圖如下:由于系統(tǒng)要顯示的內容較簡單,顯示量不多,所以選用此數(shù)碼管既方便又經(jīng)濟。led有共陰極和共陽極兩種。如下圖所示。二極管的陰極連接在一起,通常此公共陰極接地,而共陽極則將發(fā)光二極管的陽極連接在一起,接入+5v的電壓。一位顯示器由8個發(fā)光二極管組成,其中7個發(fā)光二極管構成字型“8”的各個筆劃(段)ag,另一個小數(shù)點為dp發(fā)光二極管。當在某段
18、發(fā)光二極管施加一定的正向電壓時,該段筆劃即亮;不加電壓則暗。為了保護各段led不被損壞,需外加限流電阻。圖3 led數(shù)碼管結構原理圖led顯示數(shù)碼管通常由硬件7段譯碼集成電路,完成從數(shù)字到顯示碼的譯碼驅動。本系統(tǒng)采用軟件譯碼,以減小體積,降低成本和功耗,軟件譯碼的另一優(yōu)勢還在于比硬件譯碼有更大的靈活性。所謂軟件譯碼,即由單片機軟件完成從數(shù)字到顯示碼的轉換。從led數(shù)碼管結構原理可知,為了顯示字符,要為led顯示數(shù)碼管提供顯示段碼,組成一個“8”字形字符的7段,再加上1個小數(shù)點位,共計8段,因此提供給led數(shù)碼管的顯示段碼為1個字節(jié)。各段碼位與顯示段的對應關系如表1。表1 各段碼位的對應關系段碼
19、位d7d6d5d4d3d2d1d0顯示段dpgfedcba需說明的是當用數(shù)據(jù)口連接led數(shù)碼管adp引腳時,不同的連接方法,各段碼位與顯示段有不同的對應關系。通常數(shù)據(jù)口的d0位與a段連接,d1位與b段連接,d7位與dp段連接,如表1所示,表2為用于led數(shù)碼管顯示的十六進制數(shù)和空白字符與p的顯示段碼。表2 led顯示段碼字型共陽極段碼共陰極段碼字型共陽極段碼共陰極段碼0c0h3fh990h6fh1f9h06ha88h77h2a4h5bhb83h7ch3boh4fhcc6h39h499h66hda1h5eh592h6dhe86h79h682h7dhf84h71h7f8h07h空白ffh00h88
20、0h7fhp8ch73h注:(1)本表所列各字符的顯示段碼均為小數(shù)點不亮的情況。 (2)“空白”字符即沒有任何顯示。(7)、發(fā)光二極管發(fā)光二極管也與普通二極管一樣由pn結構成,也具有單向導電性。本實驗選用下圖鐘紅色的發(fā)光二極管,在電子鐘電路中起閃爍計時作用,每半秒閃爍一次。6、8位移位寄存器芯片74hc16474hc164與89c51連接在一起實現(xiàn)了移位的串入并出。本實驗中是利用89c51芯片的rxd(p30)和txd(p31)兩個引腳,通過串行口的緩沖寄存器sbuf將數(shù)據(jù)送入移位寄存器,然后串行輸入數(shù)碼管譯碼顯示。第四章 結構設計部分4.1 顯示部分設計基本顯示原理:時鐘開始顯示為0時0分0
21、秒,也就是數(shù)碼管顯示000000,然后每秒秒位加1 ,到9后,10秒位加1,秒位回0。10秒位到5后,即59秒 ,分鐘加1,10秒位回0。依次類推,時鐘最大的顯示值為23小時59分59秒。這里只要確定了1秒的定時時間, 其他位均以此為基準往上累加。 同時時鐘達到最大值的時候天數(shù)也增加一位,根據(jù)不同的月份顯示的天數(shù)陽歷有28,29,30,31天,到了12個月后,年數(shù)自動增加1,以此類推。顯示部分電路圖4.1.1萬年歷優(yōu)化算法每十月的總的天數(shù)相對來說是固定的。只有2月份,在閏年是29天,在非閏年是28天。每400年整一閏,或每4年且不為百年的一潤。 表1月份123456789101112閏年312
22、931303130313130313031非閏年3128313031303131303130314.1.2 秒表顯示多功能秒表系統(tǒng)采用at89c51單片機為中心器件,利用其定時器/計數(shù)器定時和技術的原理,結合顯示電路、電源電路、led數(shù)碼管以及鍵盤電路來設計定時電路。將軟硬件有機的結合起來,使得系統(tǒng)能夠實現(xiàn)四位的led顯示,顯示時間為00-99秒。4.2 電路控制部分設計從左到右依次是a、b、c三個按鍵,當用作電子表時間顯示功能時,鍵c是模式選擇鍵,分別實現(xiàn)對時、分、秒的選擇功能,鍵b是加1鍵,鍵a是減1鍵;當用作萬年歷顯示功能時,用c鍵選擇,鍵b是加1鍵,鍵a是減1鍵;當用作秒表功能時,鍵b
23、是啟動/暫停功能鍵,鍵a是復位鍵。4.3整體設計硬件設計模塊實現(xiàn):實現(xiàn)過程:單片機處理后通過串行口輸出到74ls164,而74ls164將串行信號變成并行信號,每個164對應led七段碼,6個164對應6行l(wèi)ed數(shù)碼管。其整個過程,如原理圖所示。生成pcb版圖,如下圖所示:4.4系統(tǒng)軟件設計4.4.1 proteus軟件仿真 單片機加載程序啟動仿真后,按下開始鍵開始仿真,下圖是電子表功能的仿真結果圖, 按下mod鍵,1次可調時,2次可調分,3次可調秒。 當按下模式c鍵達到四次時,這時可以按下a鍵進入萬年歷顯示的功能,此時顯示10年12月25日,按下c鍵可以實現(xiàn)模式選擇分別調節(jié)年、月、日。 當按
24、下b鍵進入秒表顯示模式,而且可以暫停顯示,此時按下c鍵可以退出秒表顯示模式。由以上仿真可知,此設計程序及電路邏輯功能正確,基本完成了實驗所要求的任務,達到了預期的目的。結束語通過這個月的學習和調試過程,終于完成了單片機模塊數(shù)字鐘的工作。并且使電子鐘夠順利運行,完成了預期的目標。從單片機模塊數(shù)字鐘的設計過程中也找到了一些單片機開發(fā)的規(guī)律:先了解所有元件的具體內容,從而畫出其電路圖,使數(shù)字鐘從簡易變成多功能的方式,雖沒有做多功能數(shù)字鐘,卻知曉了其方法。從而讓我踏入了單片機應用領域的第一步。然而在調試過程中有也有許多的不足之處:例如編寫調試程序有點不足。希望能夠在以后的不斷深入學習中能夠彌補自己的不
25、足之處。同時更是朝著單片機應用領域邁進。這次課程設計整體來說是成功的,但我也發(fā)現(xiàn)了自己許多錯漏和不足之處。譬如,最簡單的程序沒寫好就想著寫更復雜的程序,做事還是缺乏耐性和細心,當有時遇到問題時,總覺得無從下手,對于課本上的知識不能很好的組織起來。在編寫各功能程序時,特別是后來增添的比較復雜的程序,更是找不著思路,在以后的學習中,確實應加強這一模塊的練習??偟膩碚f,這次課程設計的探索與完成,給我最深的體會就是書本上的知識和實際的應用真的存在著較大的差別,甚至脫節(jié)。平時自己感覺什么都掌握的差不多了,也似乎是明白了,但真到具體應用時,確如紙上談兵,無從下手。所以,我們不僅要熟練掌握課本知識,更要學以
26、致用,能讓自己真正成為一個有實際操作能力的單片機應用型人才。附錄一:參考文獻【1】單片機微型計算機與理與應用 西安電子科技大學出版社 張毅坤 陳善久 裘雪紅 編著【2】 51系列單片機設計實例.北京航空航天大學出版社?!?】單片機應用技術.西安電子科技大學出版社?!?】單片機原理及接口技術實驗.北方交通大學出版社。二:系統(tǒng)程序清單#includeunsigned char dispbuf6; /時間顯示緩沖區(qū)unsigned char disdate6; /日期顯示緩沖區(qū)unsigned char dissec6; /秒表緩沖區(qū)struct /設定時間結構體 unsigned char hou
27、r; unsigned char min; unsigned char sec; time;struct /設定日期結構體 unsigned char year; unsigned char month; unsigned char days; date;struct /設定毫秒結構體 unsigned char minite; unsigned char second; unsigned char millisec; millisecond;unsigned char point=0;unsigned char point1=0;unsigned char point2=0;unsigned
28、 char daymount;unsigned char daymount1;unsigned char t0_int_times=0; /中斷次數(shù)計數(shù)變量unsigned char flash_flag=0; /閃爍標志,每半秒閃爍unsigned char flash_flag1=0; /閃爍標志,每半秒閃爍unsigned char display_back=0; /顯示緩沖區(qū)更新備份,如果顯示緩沖區(qū)更新則跟閃爍標志不一致unsigned char display_back1=0; /顯示緩沖區(qū)更新備份,如果顯示緩沖區(qū)更新則跟閃爍標志不一致unsigned char i,j;unsign
29、ed char setmillisecond; /啟動秒表code unsigned char ledcode=0x01,0xd7,0x22,0x82,0xc4,0x88,0x08,0xc1,0x00,0x80; /數(shù)碼管顯示代碼code unsigned char errorledcode=0x01,0xe7,0x12,0x82,0xc4,0x88,0x08,0xc1,0x00,0x80;/繪制錯誤圖紙的數(shù)碼管顯示代碼void displaybuf();void changetodispcode();void changetodispcode1();void changedate(); /
30、調日期void displaydate(); / 顯示日期void makedays(); /確定每個月的日期void runsec();void delay(unsigned int i); /函數(shù)聲名sbit p1_0=p10;sbit p1_1=p11;sbit p1_2=p12;/*/ init 初始化代碼/ 設定50ms中斷一次,注:在fosc=6m情況下/*void init(void) date.year=10; date.month=12; date.days=25; time.hour=12; time.min=0; time.sec=0; tmod=0x01; th0=(6
31、5536-5000)/256; tl0=(65536-5000)%256; tr0=1; et0=1; ea=1;/*延時子程序*/void delay(unsigned int i) char j; for(i; i 0; i-) for(j = 200; j 0; j-);/*/ 主程序/* main() init(); /初始化for(;) if(display_back!=flash_flag) /是否顯示? display_back=flash_flag; /顯示過后要半秒后再顯示 changetodispcode(); /轉化時間為可顯示代碼 if(flash_flag) /更新雙
32、點閃爍 dispbuf2=dispbuf2|0x10; /雙點熄滅 dispbuf4=dispbuf4|0x20; else dispbuf2=dispbuf2&0xef; /點亮雙點 dispbuf4=dispbuf4&0xdf; ; if(flash_flag & point=1) /更新小時 dispbuf0=dispbuf0|0xff; /小時熄滅 dispbuf1=dispbuf1|0xff; else dispbuf0=dispbuf0&0xff; /小時點亮 dispbuf1=dispbuf1&0xff; ; if(flash_flag & point=2) /更新分鐘 disp
33、buf2=dispbuf2|0xff; /分鐘熄滅 dispbuf3=dispbuf3|0xff; else dispbuf2=dispbuf2&0xff; /分鐘點亮 dispbuf3=dispbuf3&0xff; ; if(flash_flag & point=3) /更新秒鐘 dispbuf4=dispbuf4|0xff; /秒鐘熄滅 dispbuf5=dispbuf5|0xff; else dispbuf4=dispbuf4&0xff; /秒鐘點亮 dispbuf5=dispbuf5&0xff; ; displaybuf();/顯示 if(p1&0x07)!=0x7) /按鍵處理模塊模
34、塊 delay(250); if(p1&0x07)!=0x7) if(p1_2=0) point=(point+1)%5; else if (p1_1=0) switch(point) case 0: millisecond.minite=0; millisecond.second=0; millisecond.millisec=0; setmillisecond+; runsec(); break; case 1: time.hour=( time.hour+1)%24; break; case 2: time.min=( time.min+1)%60; break; case 3: tim
35、e.sec=( time.sec+1)%60; break; ; else if (p1_0=0) switch(point) case 0: changetodispcode1(); disdate2=disdate2&0xef; /點亮雙點 disdate4=disdate4&0xdf; displaydate(); delay(2000); break; case 1: time.hour=( time.hour+24-1)%24; break; case 2: time.min=( time.min+60-1)%60; break; case 3: time.sec=( time.sec+60-1)%60; break; case 4: changedate(); break; ; ; ; ;makedays(); /*/ 把時間顯示緩沖區(qū)的內容發(fā)到74hc164/* void displaybuf(void) unsigned char i; for(i=0;i6;i+) sbuf=dispbufi;while(ti=0); /等待發(fā)送完畢ti=0; /把發(fā)送完標志清掉以備下次再用 ;/*/ 把日期顯示緩沖區(qū)的內容發(fā)到74hc164/* void displaydate(void) unsigned char i; for(i=0;i6;i+) sbuf
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024羊絨產(chǎn)業(yè)技術創(chuàng)新與成果轉化合作合同3篇
- 漁材料在幼兒園各區(qū)域中的運用
- 2025年度新媒體內容審核與風險控制合同3篇
- 2025年上海啟迪控股股份有限公司招聘筆試參考題庫含答案解析
- 2025年個人公司股權代持合同執(zhí)行監(jiān)督協(xié)議4篇
- 2025年福建太平財產(chǎn)保險有限公司招聘筆試參考題庫含答案解析
- 2025年浙江寧波陽明拍賣有限公司招聘筆試參考題庫含答案解析
- 二零二五版美容美發(fā)行業(yè)人才招聘及輸送合同4篇
- 2025年度個人汽車貸款擔保合同模板(專業(yè)版)4篇
- 漳州衛(wèi)生職業(yè)學院《MATLAB與人工智能》2023-2024學年第一學期期末試卷
- 專升本英語閱讀理解50篇
- 施工單位值班人員安全交底和要求
- 中國保險用戶需求趨勢洞察報告
- 數(shù)字化轉型指南 星展銀行如何成為“全球最佳銀行”
- 中餐烹飪技法大全
- 靈芝孢子油減毒作用課件
- 現(xiàn)場工藝紀律檢查表
- 醫(yī)院品管圈與護理質量持續(xù)改進PDCA案例降低ICU病人失禁性皮炎發(fā)生率
- 新型電力系統(tǒng)研究
- 烘干廠股東合作協(xié)議書
- 法院服務外包投標方案(技術標)
評論
0/150
提交評論