仿真圖proteus7.8及以上
程序編譯器:keil 4/keil 5
編程語言:C語言
設(shè)計編號:S0087
1. 主要功能:
基于51單片機的電子時鐘秒表proteus仿真設(shè)計
1、系統(tǒng)可以通過LCD1602顯示年月日時分秒,星期和鬧鐘時間;
2、通過DS1302計時;
3、系統(tǒng)具有鬧鐘功能,鬧鐘到蜂鳴器響,可以通過按鍵按停鬧鐘響鈴;
4、時鐘模式可以通過按鍵設(shè)置鬧鐘、年月日、時分秒和星期;
5、具有秒表計時模式,秒表模式可以設(shè)置計時的開始、暫停和復(fù)位;
需注意仿真中51單片機芯片是兼容的,AT89C51,AT89C52是51單片機的具體型號,內(nèi)核是一樣的。相同的原理圖里,無論stc還是at都一樣,引腳功能都是一樣的,程序是兼容的,芯片可以替換為STC89C52/STC89C51/AT89C52/AT89C51等51單片機芯片。
2. 講解視頻:
講解視頻包含仿真運行講解和代碼講解
基于51單片機的電子鐘秒表LCD液晶顯示proteus仿真+程序+設(shè)計報告+原理圖
3. 仿真
打開仿真工程,雙擊proteus中的單片機,選擇hex文件路徑,然后開始仿真。
顯示時間的情況下,按下上一個/下一個切換設(shè)置模式,設(shè)置的變量有光標(biāo),先設(shè)置鬧鐘、年月日、時分和星期;通過按鍵加和按鍵減調(diào)整,通過下一個按鍵切換設(shè)置月份,設(shè)置月份時同樣通過加減鍵調(diào)整。如此類推設(shè)置鬧鐘、年月日、時分和星期。
通過按鍵切換鬧鐘和秒表模式,在秒表模式下,切換按鍵用于進入/退出秒表模式。啟動用于秒表計時的開始,暫停用于秒表計時的暫停復(fù)位鍵用于秒表計時歸零。
4. 程序代碼
使用keil4或者keil5編譯,代碼有注釋,可以結(jié)合視頻理解代碼含義。
/***************主函數(shù)*****************/
void main()
{
uint time0,time1;//臨時變量
uchar led_time=1;//led點亮,中間變量
init_1602(); //1602液晶初始化
Ds1302ReadTime();//讀取7個字節(jié)
xianshi();//調(diào)用顯示函數(shù)初始化LCD
addr=7;
shi=0x16;//定時默認(rèn)6點00分
fen=0x30;
TMOD|=0X01;//選擇為定時器0模式,工作方式1,僅用TR0打開啟動。
TH0=(65536-10000)/256; //給定時器賦初值,定時10ms
TL0=(65536-10000)%256;
ET0=1;//打開定時器0中斷允許
EA=1;//打開總中斷
while(1)
{
delay_uint(20000);
Ds1302ReadTime();//讀取時間
xianshi();//顯示
if(mode==0)
{
// xianshi();//顯示
TR0=0;
}
else
{
TR0=1;
}
if(!next)//切換顯示
{
mode=!mode;
write_string(1,0," ");
write_string(2,0," ");
if(mode)
disp();
while(!next);
}
//秒表控制
if(TR0)
{
if(!s1)
start=1;
if(!s2)
start=0;
if(!s3)
{
sec=0;
miao=0;
fen1=0;
start=0;
while(!s3);
}
}
time0=600*(TIME[2]>>4)+60*(TIME[2] & 0x0F)+10*(TIME[1]>>4)+(TIME[1] & 0x0F);//將讀取的時間轉(zhuǎn)換成分鐘,便于計算
time1=600*(shi>>4)+60*(shi & 0x0F)+10*(fen>>4)+(fen & 0x0F);//將定時時間轉(zhuǎn)換成分鐘
if((time0==time1)&&(TIME[0]==0))//時間到
{
off0=0;
}
if(!off0 && (time0<time1+10) && (time0>time1-1))//如果時間到了,響鈴,震動10分鐘直到按下關(guān)閉按鈕
out=1;
else
out=0;
//==========================================================================
if(!off)//檢測關(guān)閉按鈕
{
off0=1;
}
//=======================================
if(!shijian)//選擇下一個要修改的時間
{
if(addr<7)
addr++;
else
addr=0;
addr_guang();
while(!shijian);
}
if(!shang)
{
if(addr>0)
addr--;
else
addr=7;
addr_guang();
while(!shang);
}
//=======================================
if(!ok)//確認(rèn)
{
addr=8;
addr_guang();
while(!ok);
}
//=======================================
if(!jia)//加
{
addr_set();
while(!jia);
if(addr>1)
Ds1302WriteTime();//寫入DS1302
while(!jia);
}
//=======================================
if(!jian)//減
{
addr_clr();
while(!jian);
if(addr>1)
Ds1302WriteTime();
while(!jian);
}
}
}
5. 設(shè)計報告
6967字設(shè)計報告,內(nèi)容包括硬件設(shè)計、軟件設(shè)計、軟硬件框圖、調(diào)試、結(jié)論等
隨著現(xiàn)代科技的飛速進步,嵌入式技術(shù)已經(jīng)成為推動日常生活和工業(yè)自動化進程的重要驅(qū)動力。單片機作為嵌入式系統(tǒng)的核心部件,因其體積小巧、功能強大、成本低廉且易于集成的特點,在各種設(shè)備與控制系統(tǒng)中扮演著不可或缺的角色。特別是在物聯(lián)網(wǎng)(IoT)、智能家居以及各類工業(yè)控制領(lǐng)域,單片機的應(yīng)用日益普及并呈現(xiàn)出多樣化的發(fā)展趨勢。
本課程設(shè)計項目正是基于這一背景,選取了在教學(xué)和實踐中廣泛應(yīng)用的經(jīng)典51系列單片機作為核心控制器單元。結(jié)合強大的Proteus仿真平臺,我們將引導(dǎo)學(xué)生從理論到實踐,從零開始構(gòu)建一款集電子時鐘、鬧鐘及秒表多功能于一體的實用系統(tǒng)。通過這個綜合性的設(shè)計項目,學(xué)生不僅能夠深入了解單片機的工作原理,包括指令集、中斷處理機制、定時器/計數(shù)器應(yīng)用等基礎(chǔ)知識,還將有機會深入探究DS1302實時時鐘芯片的具體使用方法及其在時間管理上的關(guān)鍵作用,掌握如何準(zhǔn)確讀取和設(shè)置時間數(shù)據(jù)。
6. 原理圖
原理圖使用AD繪制,可供實物參考,仿真不同于實物,經(jīng)驗不足不要輕易搞實物。
Proteus仿真和實物作品的區(qū)別:
1.運行環(huán)境:Proteus仿真是在計算機上運行的,而實物則是在硬件電路板上運行。
2.調(diào)試方式:在Proteus仿真中,可以方便地進行單步調(diào)試和觀察變量值的變化,而在實物中則需要通過調(diào)試器或者串口輸出等方式進行調(diào)試。
電路連接方式:在Proteus仿真中,可以通過軟件設(shè)置進行電路連接的修改,而在實物中則需要通過硬件電路板和連接線進行修改。
3.運行速度:Proteus仿真通常比實物運行速度快,因為仿真是基于計算機運行的,而實物則需要考慮電路板上的物理限制和器件的響應(yīng)時間等因素。
4.功能實現(xiàn):在Proteus仿真中,可以通過軟件設(shè)置實現(xiàn)不同的功能,而在實物中則需要根據(jù)電路設(shè)計和器件的性能進行實現(xiàn)。
7. 設(shè)計資料內(nèi)容清單&&下載鏈接
資料設(shè)計資料包括仿真,程序代碼、講解視頻、功能要求、設(shè)計報告、軟硬件設(shè)計框圖等。
0、常見使用問題及解決方法–必讀?。。。?/p>
1、程序
2、proteus仿真
3、功能要求
4、軟硬件流程圖
5、開題報告
6、設(shè)計報告
7、原理圖
8、元器件清單
9、講解視頻
Altium Designer 安裝破解
KEIL+proteus 單片機仿真設(shè)計教程
KEIL安裝破解
Proteus元器件查找
Proteus安裝
Proteus簡易使用教程
單片機學(xué)習(xí)資料
相關(guān)數(shù)據(jù)手冊
答辯技巧
設(shè)計報告常用描述
鼠標(biāo)雙擊打開查找嘉盛單片機51 STM32單片機課程畢業(yè)設(shè)計.url
資料下載鏈接:
https://docs.qq.com/doc/DS2lmVlVKZEljVkVu