找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 136655|回復(fù): 286
收起左側(cè)

基于51單片機(jī)的電子時(shí)鐘課程設(shè)計(jì)源碼+仿真圖+論文

  [復(fù)制鏈接]
ID:301956 發(fā)表于 2018-4-4 12:50 | 顯示全部樓層 |閱讀模式
用51單片機(jī)做的數(shù)字時(shí)鐘課程設(shè)計(jì)
文件里有proteus原理圖,PCB圖,還有仿真的程序源碼……
0.png

全部資料51hei下載地址:
單片機(jī)電子時(shí)鐘.rar (1.47 MB, 下載次數(shù): 3202)

下面是課設(shè)論文的內(nèi)容預(yù)覽:
摘要

單片微型計(jì)算機(jī)簡(jiǎn)稱單片機(jī),又稱為微控制器,是將CPU、RAM、ROM、定時(shí)/計(jì)數(shù)器、I/O接口電路集成到一塊電路芯片上構(gòu)成的微型計(jì)算機(jī)。本次設(shè)計(jì)的系統(tǒng)由單片機(jī)系統(tǒng)、數(shù)碼管顯示系統(tǒng)、鍵盤、蜂鳴器等組成,通過(guò)按鍵來(lái)控制單片機(jī)實(shí)現(xiàn)數(shù)字時(shí)鐘的時(shí)、分、秒顯示,12、24制轉(zhuǎn)換,設(shè)定時(shí)間、鬧鐘等不同功能,并通過(guò)P0口的輸出在LED上顯示。該設(shè)計(jì)具有結(jié)構(gòu)簡(jiǎn)單、使用方便等特點(diǎn)。

目錄
第一章 設(shè)計(jì)目的及要求
1.目的
2.題目與要求
第二章 理論基礎(chǔ)
1.AT89C52芯片
2.Keil的簡(jiǎn)單介紹
3.Protues的簡(jiǎn)單介紹
第三章 設(shè)計(jì)原理以及方案
1.系統(tǒng)總體框圖
2.硬件電路
2.1晶振電路
2.2復(fù)位電路
2.3蜂鳴器電路
2.4數(shù)碼管顯示電路
2.5鍵盤電路
2.6總體電路
3.軟件系統(tǒng)設(shè)計(jì)
3.1單片機(jī)的使用情況
3.2軟件系統(tǒng)的各個(gè)模塊
3.3軟件系統(tǒng)程序流圖
第四章 仿真結(jié)果與分析
1.仿真結(jié)果
2.仿真結(jié)果分析
第五章 總結(jié)
參考文獻(xiàn)
附錄:
程序清單
PCB原理圖
第一章 設(shè)計(jì)目的及要求
1.目的
通過(guò)對(duì)電子時(shí)鐘系統(tǒng)進(jìn)行編程與Protues仿真,進(jìn)一步掌握單片機(jī)的組成,P1、P0、P2、P3口的應(yīng)用,蜂鳴器的應(yīng)用,定時(shí)中斷程序的編寫(xiě)及應(yīng)用,對(duì)之前學(xué)習(xí)的單片機(jī)課程進(jìn)行回顧與應(yīng)用;初步掌握Protues仿真方法以及用keil軟件編寫(xiě)程序的方法。
2.題目與要求
本次課程設(shè)計(jì)的題目為:電子時(shí)鐘的設(shè)計(jì),其具體要求為:
(1)能實(shí)現(xiàn)時(shí)、分、秒的顯示;
(2)能實(shí)現(xiàn)12、24小時(shí)制的切換;
(3)能設(shè)定時(shí)間;
(4)能設(shè)定鬧鐘;
整個(gè)系統(tǒng)要設(shè)計(jì)鍵盤和顯示器,利用單片機(jī)內(nèi)部時(shí)鐘完成定時(shí)器的定時(shí)設(shè)計(jì)。

第二章 理論基礎(chǔ)
1.AT89C52芯片
AT89C52芯片的引腳圖如圖1所示。
圖1 AT89C52芯片引腳
其中主要應(yīng)用到的引腳口介紹:
(1)P0口的第一功能是作為一般I/O口使用,第二功能是在CPU訪問(wèn)外部存儲(chǔ)器時(shí),分時(shí)提供低8位地址和8位雙向數(shù)據(jù)。
(2)P1口是8位準(zhǔn)雙向I/O口,51子系列中P1只能用作一般I/O口,52子系列中P1.0和P1.1引腳還具有第二功能。
(3)P2口是8位準(zhǔn)雙向I/O口,第二功能是在CPU訪問(wèn)外部存儲(chǔ)器時(shí),作為高8位地址總線,輸出高8位地址。
(4)P3口是8位準(zhǔn)雙向I/O口,其第一功能是用作一般I/O口,第二功能是作為中斷信號(hào)和外部數(shù)據(jù)存儲(chǔ)器的讀寫(xiě)控制信號(hào)。
(5)RES,復(fù)位信號(hào)高電平有效。
2.Keil的簡(jiǎn)單介紹
Keil C51是美國(guó)Keil Software公司出品的51系列兼容單片機(jī)C語(yǔ)言軟件開(kāi)發(fā)系統(tǒng)。Keil提供了包括C編譯器、宏匯編、鏈接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開(kāi)發(fā)方案,通過(guò)一個(gè)集成開(kāi)發(fā)環(huán)境(μVision)將這些部分組合在一起。此處簡(jiǎn)單介紹一下Keil 工程的建立等,以Keil μVision2界面為例。
(1)建立一個(gè)工程,選擇菜單欄中的【Project】下的【New Project】,菜單欄如圖2所示。
圖2 菜單欄
(2)選擇工程要保存的路徑并且輸入工程名,以電子時(shí)鐘工程的建立為例,如圖3所示。
圖3 “保存新工程”對(duì)話框
(3)選擇系統(tǒng)要用的單片機(jī)如圖4(a)所示,選擇添加啟動(dòng)文件如圖4(b)所示。
圖4(a)“選擇單片機(jī)”對(duì)話框
圖4(b)“添加啟動(dòng)文件”對(duì)話框
(4)建立文件,選擇菜單【File】下的【New】,出現(xiàn)界面如圖5所示。
圖5 新建文件界面
(5)保存文件為“*.c”文件,并且添加文件到所建的工程下,保存文件截面圖如圖6所示,添加文件顯示界面如圖7所示,右鍵點(diǎn)擊SourceGroup添加。
圖6 保存文件界面
圖7 添加文件界面
3.Protues的簡(jiǎn)單介紹
Proteus軟件是英國(guó)Lab Center Electronics公司出版的EDA工具軟件,它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前比較好的仿真單片機(jī)及外圍器件的工具,可以仿真51系列、AVR、PIC、ARM、等常用主流單片機(jī)。在PROTEUS繪制好原理圖后,調(diào)入已編譯好的目標(biāo)代碼文件:*.HEX,可以在PROTEUS的原理圖中看到模擬的實(shí)物運(yùn)行狀態(tài)和過(guò)程。
(1)Keil中生成*.HEX的界面如圖8所示。
圖8 生成HEX文件界面
(2)Protues中加載HEX文件,在Protues界面中雙擊AT89C51芯片,所示界面如圖9所示。
              圖9 加載HEX文件界面

第三章 設(shè)計(jì)原理以及方案
1.系統(tǒng)總體框圖
本電子時(shí)鐘主要由單片機(jī)、鍵盤、數(shù)碼管顯示接口電路、蜂鳴器電路和復(fù)位電路構(gòu)成,設(shè)計(jì)的總體方案如圖10所示:
圖10 總體方案
2.硬件電路
2.1晶振電路
晶振電路如圖11所示。
圖11 晶振電路
2.2復(fù)位電路
復(fù)位電路如圖12所示。
圖12 復(fù)位電路

2.3蜂鳴器電路
蜂鳴器電路如圖13所示。
圖13 蜂鳴器電路
2.4數(shù)碼管顯示電路
數(shù)碼管顯示電路如圖14所示。
圖14 數(shù)碼管顯示電路
2.5鍵盤電路
鍵盤電路如圖15所示。
圖15 鍵盤電路
2.6總體電路
在Protues中仿真的總體電路圖如圖16所示。
圖16 總體電路
3.軟件系統(tǒng)設(shè)計(jì)
3.1單片機(jī)的使用情況
設(shè)計(jì)電子時(shí)鐘使用單片機(jī)資源的情況如下:
P0口輸出數(shù)碼管段選信號(hào),P2口輸出數(shù)碼管位選信號(hào);調(diào)整功能選擇鍵kgnxz:P3.0口,通過(guò)其選擇調(diào)整時(shí)鐘還是調(diào)整鬧鐘;調(diào)整秒 ksec:P3.1口,按一次使秒加1;調(diào)整分kmin:P3.2;按一次使分加1;調(diào)整小時(shí)khour:P3.3口,按一次使時(shí)加1;12與24小時(shí)制的轉(zhuǎn)換鍵kzh:P3.4,默認(rèn)24小時(shí)制,按一次鍵之后轉(zhuǎn)換為12小時(shí)制。具體如下:
(1)實(shí)現(xiàn)基本的走時(shí)間和顯示時(shí)間的時(shí)、分、秒,上電自動(dòng)顯示初始時(shí)間00-00-00。
(2)當(dāng)?shù)谝淮伟聪碌谝粋(gè)彈性按鍵時(shí)進(jìn)入時(shí)間的調(diào)節(jié)狀態(tài),按下第二個(gè)按鍵時(shí)實(shí)現(xiàn)秒的加一調(diào)節(jié),按下第三個(gè)按鍵時(shí)實(shí)現(xiàn)分的加一調(diào)節(jié),按下第四個(gè)按鍵時(shí)實(shí)現(xiàn)小時(shí)的加一調(diào)節(jié)。
(3)當(dāng)?shù)诙伟聪碌谝粋(gè)彈性按鍵時(shí)進(jìn)入鬧鐘的調(diào)節(jié)狀態(tài)(鬧鐘初始值設(shè)定為01-00-30),按下第二個(gè)按鍵時(shí)實(shí)現(xiàn)秒的加一調(diào)節(jié),按下第三個(gè)按鍵時(shí)實(shí)現(xiàn)分的加一調(diào)節(jié),按下第四個(gè)按鍵時(shí)實(shí)現(xiàn)小時(shí)的加一調(diào)節(jié)。
(4)當(dāng)?shù)谌伟聪碌谝粋(gè)彈性按鍵時(shí)進(jìn)入原顯示時(shí)間的狀態(tài)。
(5)按下第五個(gè)按鍵時(shí)實(shí)現(xiàn)24到12小時(shí)制的轉(zhuǎn)換。
(6)當(dāng)?shù)谖宕伟聪碌谝粋(gè)彈性按鍵時(shí)返回正常的顯示時(shí)間走時(shí)狀態(tài)。
3.2軟件系統(tǒng)的各個(gè)模塊
時(shí)鐘系統(tǒng)的軟件設(shè)計(jì)主要采用以下基本模塊來(lái)實(shí)現(xiàn),主程序、定時(shí)中斷服務(wù)程序、鍵盤掃描程序模塊、時(shí)鐘顯示模塊、鬧鐘顯示模塊、轉(zhuǎn)換模塊、延時(shí)模塊和蜂鳴器模塊。
主程序:對(duì)中斷程序初值進(jìn)行設(shè)定,在各種情況下對(duì)子函數(shù)的調(diào)用,保證整個(gè)程序的順序執(zhí)行。
定時(shí)中斷服務(wù)程序:用于電子時(shí)鐘的準(zhǔn)確運(yùn)行。
鍵盤掃描程序模塊:用于確定按鍵并在按鍵按下時(shí)調(diào)用相應(yīng)的程序進(jìn)行顯示。
時(shí)鐘顯示模塊:用于顯示正常走表的時(shí)間。
鬧鐘顯示模塊:用于顯示設(shè)定鬧鐘的時(shí)間。
轉(zhuǎn)換模塊:用于將默認(rèn)的24小時(shí)制轉(zhuǎn)換為12小時(shí)制。
延時(shí)模塊:程序中調(diào)用延時(shí)子程序,用于按鍵消抖動(dòng),數(shù)碼管消影等。
蜂鳴器模塊:用于在設(shè)定的鬧鐘時(shí)間與走表的時(shí)間相等時(shí),鬧鐘響起。
3.3軟件系統(tǒng)程序流圖
主程序的順序流圖如圖17所示。
圖17 主程序順序流圖

顯示程序的順序流圖如圖18所示。
圖18 顯示程序順序流圖
中斷程序的順序流圖如圖19所示。
圖19 中斷程序順序流
第四章 仿真結(jié)果與分析
1.仿真結(jié)果
上電走表仿真結(jié)果圖如圖20所示。
圖20 上電之后走表仿真結(jié)果圖
按下一次kgnxz鍵,再分別調(diào)整時(shí)、分、秒各按鍵,使得顯示時(shí)間為15-15-15仿真結(jié)果圖如圖21所示。
圖21 調(diào)整時(shí)分秒仿真結(jié)果圖
按下kzh鍵,使得顯示時(shí)間為03-15-19仿真結(jié)果圖如圖22所示。
圖22 24小時(shí)制轉(zhuǎn)換為12小時(shí)制仿真結(jié)果圖
按下第二次kgnxz鍵,再分別調(diào)整時(shí)、分、秒各按鍵,即調(diào)整的便是鬧鐘的設(shè)定時(shí)間(初始設(shè)定為01-00-30),仿真結(jié)果圖如圖23所示。
圖23 鬧鐘顯示仿真結(jié)果圖
調(diào)整鬧鐘的設(shè)定時(shí)間為03-20-30,仿真結(jié)果圖如圖24所示。
圖24 鬧鐘調(diào)整顯示仿真結(jié)果圖
按下第三次kgnxz鍵時(shí),顯示走表的時(shí)間,并且在到達(dá)設(shè)定的鬧鐘時(shí)間時(shí)蜂鳴器發(fā)出聲音,即在蜂鳴器發(fā)聲過(guò)程中P1.0口會(huì)由原高電平變?yōu)榈碗娖,仿真結(jié)果圖如圖25所示。
圖25 蜂鳴器發(fā)聲仿真圖
2.仿真結(jié)果分析
讓手機(jī)中的秒表與Protues仿真中的秒同時(shí)開(kāi)始,可以發(fā)現(xiàn)他們幾乎是同步的(由于個(gè)人反應(yīng)導(dǎo)致按下手機(jī)秒表瞬間有微小誤差)。而鬧鐘設(shè)定值是完全沒(méi)有誤差的,當(dāng)時(shí)間與設(shè)定鬧鐘時(shí)間完全相等時(shí)蜂鳴器就會(huì)發(fā)聲。

第五章 總結(jié)
本次課程設(shè)計(jì)利用Keil以及Protues軟件,完成了電子時(shí)鐘系統(tǒng)的程序編寫(xiě)與電路圖搭建,并對(duì)所設(shè)計(jì)的電子時(shí)鐘系統(tǒng)進(jìn)行了仿真測(cè)試。
完成本次課程設(shè)計(jì)的過(guò)程,經(jīng)歷了興奮、自信、失落、奮發(fā)、所悟、完成幾個(gè)過(guò)程。剛開(kāi)始做課程設(shè)計(jì)時(shí),仔細(xì)閱讀設(shè)計(jì)的題目和要求,想到理論課學(xué)得也還差不多,以為沒(méi)什么太大困難,所用的知識(shí)書(shū)上都有,各部分程序大都可以參考課本例題完成。開(kāi)始前兩天我就熟悉課本,參考課本內(nèi)容在稿紙上把自己的思路和各部分程序?qū)懥讼聛?lái),然后就是銜接起來(lái)在Keil中編寫(xiě)。經(jīng)過(guò)三天的努力,毫無(wú)結(jié)果。埋頭苦干的過(guò)程是痛苦的,尤其是在按自己覺(jué)得理論上合理的算法和程序做完,發(fā)現(xiàn)根本顯示不了的時(shí)候,是迷茫,煩躁的。在第三天下午參考別人只是顯示出來(lái)走表就可以的程序,并且接受別人建議按一步一步調(diào)試去編寫(xiě)的情況下,編寫(xiě)運(yùn)行找錯(cuò)地不斷循環(huán)中,終于在第五天完善了程序。
通過(guò)這次課程設(shè)計(jì),我感覺(jué)到自己從課本上學(xué)到的理論知識(shí)和實(shí)踐仍有很大的差距。學(xué)習(xí)理論課時(shí)也是有實(shí)踐課的,但當(dāng)時(shí)自己只是追求明白課本例題的程序,幾乎很少在Protues上去畫(huà)例題中的仿真圖,導(dǎo)致自己對(duì)Protues的應(yīng)用不熟悉,而且也沒(méi)深入想過(guò)課本上那些小的程序之間的聯(lián)系應(yīng)用。所以學(xué)習(xí)知識(shí)不能太局限于理論,要與實(shí)踐結(jié)合。學(xué)會(huì)了單片機(jī)的一般設(shè)計(jì)過(guò)程,通常都要進(jìn)行系統(tǒng)擴(kuò)展與配置,因此,要完成一個(gè)單片機(jī)的設(shè)計(jì)工作,必須依次做到下述工作:
  • 硬件電路的設(shè)計(jì)、組裝與調(diào)試;
  • 應(yīng)用軟件的編寫(xiě)、調(diào)試;
  • 完整應(yīng)用軟件的調(diào)試、固化和脫機(jī)運(yùn)行。
而在進(jìn)行硬件系統(tǒng)設(shè)計(jì)時(shí)我們應(yīng)當(dāng)盡量做到:
  • 盡可能的選擇典型電路,并符合單片機(jī)的常規(guī)使用方法;
  • 在充分滿足系統(tǒng)功能要求前提下,留余地以便于二次開(kāi)發(fā);
  • 硬件結(jié)構(gòu)設(shè)計(jì)應(yīng)與軟件設(shè)計(jì)方案一并考慮;
  • 整個(gè)系統(tǒng)相關(guān)器件要力求性能的匹配;
  • 硬件上要有可靠性與抗干擾設(shè)計(jì);
  • 充分考慮單片機(jī)的帶載驅(qū)動(dòng)能力。
所以我用單片機(jī)編寫(xiě)了上面的程序,因?yàn)榛A(chǔ)知識(shí)學(xué)的不怎么好,如有錯(cuò)誤之處,還望老師理解,并加以批改。通過(guò)這次設(shè)計(jì)使我對(duì)單片機(jī)有了更深入的了解。培養(yǎng)了我的動(dòng)手實(shí)踐能力。

參考文獻(xiàn)
[1] 郭文川,MCS-51單片機(jī)原理、接口及應(yīng)用,電子工業(yè)出版社,2014.

[2] 朱永金,《單片機(jī)應(yīng)用技術(shù)》,中國(guó)勞動(dòng)社會(huì)保障出版社.

[3] 彭冬明.韋友春,《單片機(jī)實(shí)驗(yàn)教程》,理工大學(xué)出版社.

[4] 朱家建,《單片機(jī)原理及應(yīng)用》,機(jī)械工業(yè)出版社.

[5] 胡漢才,《單片機(jī)原理及接口技術(shù)》,清華大學(xué)出版社.

[6] 張偉,《單片機(jī)原理及應(yīng)用》,機(jī)械工業(yè)出版社.


附錄:

PCB原理圖



單片機(jī)源程序如下:
  1. #include<reg52.h>
  2. #include<intrins.h>
  3. #include<absacc.h>
  4. sbit kgnxz=P3^0; //功能選擇鍵,按一次設(shè)定時(shí)間,按兩次設(shè)定鬧鐘時(shí)間,按三次又顯示時(shí)間表  
  5. sbit ksec=P3^1;//調(diào)整秒
  6. sbit kmin=P3^2;//調(diào)整分
  7. sbit khour=P3^3;//調(diào)整時(shí)
  8. sbit kzh=P3^4;//24與12小時(shí)制轉(zhuǎn)換
  9. sbit bear=P1^0;//蜂鳴器控制口
  10. unsigned char secshi=0,secge=0,minshi=0,minge=0,hourshi=0,hourge=0,flag=0,//flag是按鍵的計(jì)數(shù)
  11.                secshi1=0,secge1=0,minshi1=0,minge1=0,hourshi1=0,hourge1=0;//定義存儲(chǔ)時(shí)間和鬧鐘時(shí)分秒的個(gè)位和十位
  12. unsigned int num=0,sec=0,min=0,hour=0,sec1=30,min1=0,hour1=1, num1=0;//定義時(shí)間和鬧鐘的時(shí)分秒
  13. unsigned char code table[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//數(shù)碼管段控口
  14. void keyscan();//鍵盤掃描函數(shù)
  15. void display();//時(shí)鐘顯示函數(shù)
  16. void display1();//鬧鐘顯示函數(shù)
  17. void clock();//鬧鐘函數(shù)即蜂鳴器函數(shù)
  18. /***延時(shí)函數(shù)****/
  19. void delay(unsigned char z)
  20. {unsigned char x,y;
  21.   for(x=z;x>0;x--)
  22.    for(y=255;y>0;y--);
  23. }
  24. /***中斷函數(shù)****/
  25. void time0() interrupt 1
  26. {num++;
  27. TH0=(65536-50000)/256;
  28. TL0=(65536-50000)%256;
  29. if(num==20)
  30.    {num=0;
  31.     sec++;
  32.     if(sec==60)
  33.      {sec=0;
  34.       min++;
  35.       if(min==60)
  36.         {min=0;
  37.          hour++;
  38.          if(hour==24)
  39.            {hour=0;
  40.             }
  41.          }
  42.       }
  43.   display(); }
  44. }
  45. /******時(shí)鐘顯示函數(shù)******/
  46. void display()
  47. {
  48. secge=sec%10;
  49. secshi=sec/10;
  50. minge=min%10;
  51. minshi=min/10;
  52. hourge=hour%10;
  53. hourshi=hour/10;
  54. P2=0xfe;
  55. P0=table[secge];
  56. delay(5);
  57. P2=0xfd;
  58. P0=table[secshi];
  59. delay(5);
  60. P2=0xfb;
  61. P0=0x40;
  62. delay(5);
  63. P2=0xf7;
  64. P0=table[minge];
  65. delay(5);
  66. P2=0xef;
  67. P0=table[minshi];
  68. delay(5);
  69. P2=0xdf;
  70. P0=0x40;
  71. delay(5);
  72. P2=0xbf;
  73. P0=table[hourge];
  74. delay(5);
  75. P2=0x7f;
  76. P0=table[hourshi];
  77. delay(5);
  78. }
  79. /*****鬧鐘顯示函數(shù)****/
  80. void display1()
  81. {
  82. secge1=sec1%10;
  83. secshi1=sec1/10;
  84. minge1=min1%10;
  85. minshi1=min1/10;
  86. hourge1=hour1%10;
  87. hourshi1=hour1/10;
  88. P2=0xfe;
  89. P0=table[secge1];
  90. delay(10);
  91. P2=0xfd;
  92. P0=table[secshi1];
  93. delay(15);
  94. P2=0xfb;
  95. P0=0x40;
  96. delay(15);
  97. P2=0xf7;
  98. P0=table[minge1];
  99. delay(15);
  100. P2=0xef;
  101. P0=table[minshi1];
  102. delay(15);
  103. P2=0xdf;
  104. P0=0x40;
  105. delay(15);
  106. P2=0xbf;
  107. P0=table[hourge1];
  108. delay(15);
  109. P2=0x7f;
  110. P0=table[hourshi1];
  111. delay(15);
  112. }
  113. /*****鍵盤掃描*********/
  114. void keyscan()
  115. {if(kgnxz==0)     //功能選擇鍵是否按下
  116.     {  delay(10);//延時(shí)消抖            
  117.         if(kgnxz==0)//再次判斷鍵是否按下              
  118.           {flag++;}        //計(jì)數(shù),功能選擇鍵按鍵次數(shù)加一         
  119.           while(!kgnxz);} //釋放鍵  
  120.    if(flag==1)//功能選擇鍵
  121.    {if(ksec==0)//秒調(diào)整鍵
  122.    {delay(10);//延時(shí)消抖        
  123.     if(ksec==0)//再次判斷鍵是否按下
  124.       {sec++;//秒加加
  125.        if(sec>=60)//如果秒大于60
  126.        sec=0;//秒清零
  127.        }
  128.   while(ksec==0)//釋放鍵
  129.   display();}
  130.   if(kmin==0)
  131.     {delay(10);
  132.      if(kmin==0)
  133.        {min++;
  134.         if(min>=60)
  135.         min=0;
  136.         }
  137.   while(kmin==0)
  138.   display();
  139.      }
  140.   if(khour==0)
  141.     {delay(10);
  142.      if(khour==0)
  143.        {hour++;
  144.         if(hour==24)
  145.         hour=0;
  146.         }
  147.   while(khour==0)
  148.   display();
  149.   }
  150. }
  151. if(flag==2)//鬧鐘調(diào)整
  152.      {if(ksec==0)
  153.         {delay(5);
  154.          if(ksec==0)
  155.           {sec1++;
  156.           if(sec1==60)
  157.            sec1=0;}
  158.            while(!ksec)
  159.            {display1();delay(50);}                  
  160.              }
  161.           if(kmin==0)
  162.          {delay(5);
  163.            if(kmin==0)
  164.              {min1++;
  165.              if(min1==60)
  166.                min1=0;}
  167.            while(!kmin)
  168.                    {display1();}
  169.                  }
  170.        if(khour==0)
  171.          {delay(5);
  172.             if(khour==0)
  173.              {hour1++;
  174.              if(hour1==24)
  175.               hour1=0;}
  176.              while(!khour)
  177.              {display1();} } }}
  178. /*****蜂鳴器*********/
  179. void clock()
  180.    {    unsigned int i;
  181.        for(i=1000;i>0;i--)
  182.         {bear=1;
  183.                 P1=0xfe;
  184.                 delay(10);
  185.                 bear=0;
  186.                 P1=0xff;
  187. ……………………

  188. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

評(píng)分

參與人數(shù) 5黑幣 +71 收起 理由
sunshine_52 + 6 絕世好帖!
sanqisang + 5 沒(méi)有找到仿真。。
小甜甜-L + 5 共享資料的黑幣獎(jiǎng)勵(lì)!
zhiqian + 5 很給力!
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:342554 發(fā)表于 2018-5-31 22:48 | 顯示全部樓層
謝謝分享
回復(fù)

使用道具 舉報(bào)

ID:247467 發(fā)表于 2018-6-1 16:46 | 顯示全部樓層
謝謝分享資源,下載下來(lái)學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

ID:356199 發(fā)表于 2018-6-21 16:49 | 顯示全部樓層
謝謝分享學(xué)習(xí)資源
回復(fù)

使用道具 舉報(bào)

ID:168799 發(fā)表于 2018-6-21 18:38 | 顯示全部樓層
很棒。。。。。。。
回復(fù)

使用道具 舉報(bào)

ID:168799 發(fā)表于 2018-6-21 18:38 | 顯示全部樓層
謝謝分享,還沒(méi)有學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

ID:315554 發(fā)表于 2018-6-22 10:56 | 顯示全部樓層
開(kāi)始沒(méi)下載成功,點(diǎn)了三次,扣了三次分才成功下載到,仿真成功,不錯(cuò)!程序中數(shù)碼管位碼端口定義找不到,但能正常顯示,
回復(fù)

使用道具 舉報(bào)

ID:213402 發(fā)表于 2018-6-22 11:58 | 顯示全部樓層

謝謝分享,還沒(méi)有學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

ID:359477 發(fā)表于 2018-6-26 16:26 | 顯示全部樓層
有人把余下的代碼發(fā)一下么
回復(fù)

使用道具 舉報(bào)

ID:359057 發(fā)表于 2018-6-27 09:24 | 顯示全部樓層
可以發(fā)我一份ma ?2316550443@qq.com
回復(fù)

使用道具 舉報(bào)

ID:360819 發(fā)表于 2018-6-28 10:03 | 顯示全部樓層
謝謝分享
回復(fù)

使用道具 舉報(bào)

ID:361629 發(fā)表于 2018-6-29 11:06 | 顯示全部樓層
優(yōu)秀啊兄弟
回復(fù)

使用道具 舉報(bào)

ID:362024 發(fā)表于 2018-6-29 21:18 | 顯示全部樓層
希望能下載
回復(fù)

使用道具 舉報(bào)

ID:362427 發(fā)表于 2018-6-30 20:31 | 顯示全部樓層
兄弟,源代碼還有沒(méi)有呀?分享一下唄
回復(fù)

使用道具 舉報(bào)

ID:362427 發(fā)表于 2018-6-30 20:34 | 顯示全部樓層
兄弟,源代碼還有沒(méi)有?有的話能不能分享一下???
回復(fù)

使用道具 舉報(bào)

ID:362435 發(fā)表于 2018-6-30 20:59 | 顯示全部樓層
很棒,學(xué)到了很多
回復(fù)

使用道具 舉報(bào)

ID:362435 發(fā)表于 2018-6-30 21:15 | 顯示全部樓層
很給力!
回復(fù)

使用道具 舉報(bào)

ID:360915 發(fā)表于 2018-7-1 18:24 | 顯示全部樓層
太棒 給力
回復(fù)

使用道具 舉報(bào)

ID:362856 發(fā)表于 2018-7-2 09:28 | 顯示全部樓層
謝謝分享。。。。。!
回復(fù)

使用道具 舉報(bào)

ID:363530 發(fā)表于 2018-7-2 21:30 | 顯示全部樓層
謝謝分享
回復(fù)

使用道具 舉報(bào)

ID:368925 發(fā)表于 2018-7-10 18:52 | 顯示全部樓層
謝謝分享!
回復(fù)

使用道具 舉報(bào)

ID:369044 發(fā)表于 2018-7-10 21:29 來(lái)自手機(jī) | 顯示全部樓層
謝謝分享謝謝分享
回復(fù)

使用道具 舉報(bào)

ID:369196 發(fā)表于 2018-7-11 10:38 | 顯示全部樓層
調(diào)鬧鐘那一步,數(shù)碼管為什么一直閃爍啊
回復(fù)

使用道具 舉報(bào)

ID:369797 發(fā)表于 2018-7-11 22:41 | 顯示全部樓層
可以給我發(fā)一份嗎?我下載失敗 顯示文件不完整 好氣。。!
903033214@qq.com
回復(fù)

使用道具 舉報(bào)

ID:369797 發(fā)表于 2018-7-11 22:43 | 顯示全部樓層
能發(fā)一下嗎? 我下載文件損壞 顯示文件不完整  903033214@qq.com
回復(fù)

使用道具 舉報(bào)

ID:263337 發(fā)表于 2018-7-15 15:56 | 顯示全部樓層
謝謝分享 很有參考價(jià)值
回復(fù)

使用道具 舉報(bào)

ID:389233 發(fā)表于 2018-8-23 13:07 | 顯示全部樓層
感謝大佬分享
回復(fù)

使用道具 舉報(bào)

ID:389233 發(fā)表于 2018-8-23 13:23 | 顯示全部樓層
大神問(wèn)一下整點(diǎn)報(bào)時(shí)的功能要怎么做
回復(fù)

使用道具 舉報(bào)

ID:390259 發(fā)表于 2018-8-27 00:02 | 顯示全部樓層
感謝樓主分享,正想做一個(gè)顯時(shí)間單片機(jī)
回復(fù)

使用道具 舉報(bào)

ID:393384 發(fā)表于 2018-9-4 10:45 | 顯示全部樓層
厲害樓主能給分享一下么
回復(fù)

使用道具 舉報(bào)

ID:393607 發(fā)表于 2018-9-5 16:41 來(lái)自手機(jī) | 顯示全部樓層
為什么程序一運(yùn)行開(kāi)發(fā)版就一直在響

評(píng)分

參與人數(shù) 1黑幣 +5 收起 理由
周志強(qiáng) + 5 很給力!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:303383 發(fā)表于 2018-9-5 17:27 | 顯示全部樓層
提示: 作者被禁止或刪除 內(nèi)容自動(dòng)屏蔽
回復(fù)

使用道具 舉報(bào)

ID:396379 發(fā)表于 2018-9-11 16:03 | 顯示全部樓層
謝謝分享,學(xué)習(xí)了。
回復(fù)

使用道具 舉報(bào)

ID:398312 發(fā)表于 2018-9-15 14:26 | 顯示全部樓層
有沒(méi)有代碼啊,求一份
回復(fù)

使用道具 舉報(bào)

ID:398312 發(fā)表于 2018-9-15 14:42 | 顯示全部樓層
來(lái)份代碼,急用754690654@qq.com
回復(fù)

使用道具 舉報(bào)

ID:403456 發(fā)表于 2018-10-9 16:19 | 顯示全部樓層
我也想要余下代碼能發(fā)一份給我嗎?
回復(fù)

使用道具 舉報(bào)

ID:407257 發(fā)表于 2018-10-9 21:21 | 顯示全部樓層
大佬  求帶飛
回復(fù)

使用道具 舉報(bào)

ID:409340 發(fā)表于 2018-10-14 10:41 | 顯示全部樓層
資料很給力
回復(fù)

使用道具 舉報(bào)

ID:408646 發(fā)表于 2018-10-15 01:07 | 顯示全部樓層
燒錄模塊為什么沒(méi)有?
回復(fù)

使用道具 舉報(bào)

ID:400074 發(fā)表于 2018-10-15 07:20 | 顯示全部樓層
厲害了
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表