• 方案介紹
    • 1.? 簡(jiǎn)介
    • 2.? 主要功能
    • 3.? 源程序(Keil5)
    • 4.? 仿真proteus8.6
    • 5.? 設(shè)計(jì)報(bào)告
    • 6.? 資料清單
    • 7.? 資料獲取鏈接
  • 附件下載
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

基于51單片機(jī)的多功能電子時(shí)鐘系統(tǒng)設(shè)計(jì)

04/14 09:13
1542
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

單片機(jī)仿真設(shè)計(jì)合集資料獲取.pdf

共1個(gè)文件

資料清單:C程序+仿真+設(shè)計(jì)報(bào)告+使用說明+元件清單+操作視頻

仿真版本:Proteus8.6及以上版本

程序編譯:Keil5 C51

編程語言:C語言

設(shè)計(jì)編號(hào):【I08】

1.? 簡(jiǎn)介

? 本文提出了一種基于51單片機(jī)的電子時(shí)鐘系統(tǒng)。該系統(tǒng)由單片機(jī)系統(tǒng)、數(shù)碼管顯示系統(tǒng)、獨(dú)立鍵盤、蜂鳴器等組成,通過單片機(jī)自身的定時(shí)計(jì)數(shù)器溢出標(biāo)志產(chǎn)生最小計(jì)時(shí)單元,經(jīng)過變量的累加和判斷后,將數(shù)據(jù)送入數(shù)碼顯示屏顯示。通過按鍵來控制單片機(jī)實(shí)現(xiàn)數(shù)字時(shí)鐘的年月日、時(shí)分秒、鬧鐘等功能,并通過P0口的輸出在數(shù)碼管上顯示。

2.? 主要功能

a.通過數(shù)碼管顯示年月日、時(shí)分秒、鬧鐘,初始狀態(tài):11-59-50。

b.通過獨(dú)立按鍵設(shè)置年月日、時(shí)分秒、鬧鐘。

c.通過蜂鳴器顯示鬧鐘狀態(tài)。

3.? 源程序(Keil5)

本設(shè)計(jì)采用keil5 C51軟件(內(nèi)附安裝包)實(shí)現(xiàn)程序設(shè)計(jì)。如需用keil4打開程序,可自行通過.c和.h文件新建工程即可。

#include<reg51.h>
#define uChar unsigned char
#define uInt  unsigned int

uChar a[]={~0x3f,~0x06,~0x5b,~0x4f,~0x66,~0x6d,~0x7d,~0x07,~0x7f,~0x6f};	//數(shù)碼管段選碼,0——9     
uChar b[]={~0xfe,~0xfd,~0xfb,~0xf7,~0xef,~0xdf,~0xbf,~0x7f};	//數(shù)碼管位選碼,高——低    
uChar second=50,minute=59,hour=11,month=6,day=1,count; uInt year=2024;
uChar f_nao=0,s_nao=12;		//鬧鐘分計(jì)數(shù),鬧鐘時(shí)計(jì)數(shù)
uChar wave=0;		//定時(shí)器1對(duì)0.1ms定時(shí)時(shí)間進(jìn)行計(jì)數(shù),控制蜂鳴器響的頻率
bit flag_nao;		//控制鬧鐘開關(guān)變量 	flag_nao= 0-off;1--on

sbit Key1 = P3^6;       //減
sbit Key2 = P3^4;		//設(shè)置
sbit Key3 = P3^5;	    //加	
sbit Key4 = P3^7;       //切換時(shí)-分-秒、年-月-日
sbit BEEP = P2^2;		//蜂鳴器端口
						 
//函數(shù)聲明
void Delayms(uInt t); 	//長(zhǎng)延時(shí)函數(shù)
void Dispaly1(uChar second,uChar minute,uChar hour);	//時(shí)-分-秒顯示
void Dispaly2(uChar day,uChar month,uInt year);			//年-月-日顯示
void Keyscan1();										//按鍵Key4按下次數(shù)為雙數(shù)時(shí)(按鍵Key1~3控制時(shí)-分-秒)
void Keyscan2();										//按鍵Key4按下次數(shù)為單數(shù)時(shí)(按鍵Key1~3控制年-月-日)
void Keyscan3();
void nao_judge();										//判斷鬧鐘
    
/*************時(shí)-分-秒、年-月-日閃爍函數(shù)聲明*********************/
void delay(uInt t);											 /***/
void Bright1(uChar second,uChar minute,uChar hour);			 /***/
void Hour_flicker(uChar second,uChar minute,uChar hour);	 /***/
void Minute_flicker(uChar second,uChar minute,uChar hour);	 /***/
void Second_flicker(uChar second,uChar minute,uChar hour); 	 /***/
void Bright2(uChar day,uChar month,uInt year);				 /***/
void Year_flicker(uChar day,uChar month,uInt year);			 /***/
void Month_flicker(uChar day,uChar month,uInt year);		 /***/
void Day_flicker(uChar day,uChar month,uInt year); 			 /***/
/*************時(shí)-分-秒、年-月-日閃爍函數(shù)聲明*********************/

//主函數(shù)
void main()
{
	TMOD=0x11;	//置T0、T1都為工作方式1    
   	TH0=(65536-10000)/256;
	TL0=(65536-10000)%256;	   
	TR0=1;	//開啟T0 
	ET0=1;	//打開T0中斷允許位
	IT1=1;	//設(shè)置外部中斷1為下降沿觸發(fā)
	IT0=0;	//設(shè)置外部中斷0為低電平觸發(fā)
	EX1=1;	//打開外部中斷1允許位
	EX0=1;	//打開外部中斷0允許位
	PT0=1;	//設(shè)置內(nèi)部定時(shí)中斷優(yōu)先級(jí)大于外部中斷優(yōu)先級(jí)
	EA=1;	//打開中斷總允許位

	BEEP=1;	 
	flag_nao=0;
	while(1)
	{
		static	uChar h=0;	 
		nao_judge();					
		if(Key4==0)											
		{
			Delayms(10);										
			if(Key4==0)
				while(!Key4);	//空操作,等待按鍵釋放
			h++;
		if(h >= 3)
		{
			h = 0;
		}
		}
			if(h==1)											
			{
				Dispaly2(day,month,year);
				Keyscan2();	
			}		
			if(h==0)
			{
				Dispaly1(second,minute,hour); 
				nao_judge();
				Keyscan1();				
			}
			if(h==2)
			{
				Dispaly1(0,f_nao,s_nao); 
				Keyscan3();				
			}
	}
}

4.? 仿真proteus8.6

? 本設(shè)計(jì)采用proteus8.6軟件(內(nèi)附安裝包)實(shí)現(xiàn)仿真設(shè)計(jì),如下圖所示。proteus軟件一般存在高低版本兼容問題,該仿真是通過proteus8.6導(dǎo)出的,所以請(qǐng)盡量使用proteus8.6打開文件,低于proteus8.6的版本不能夠正常使用,高于proteus8.6的版本除了proteus8.8/8.9理論上可以正常使用。

初始界面:

年月日界面:

鬧鐘界面:

5.? 設(shè)計(jì)報(bào)告

設(shè)計(jì)報(bào)告主要包括硬件電路、軟件設(shè)計(jì)、仿真調(diào)試等等,僅供參考。

6.? 資料清單

設(shè)計(jì)資料主要包括C程序+仿真+設(shè)計(jì)報(bào)告+使用說明+元件清單+操作視頻等。

7.? 資料獲取鏈接

百度網(wǎng)盤下載鏈接:【I08】百度網(wǎng)盤下載鏈接

更多單片機(jī)仿真設(shè)計(jì)合集:單片機(jī)仿真設(shè)計(jì)合集

  • 單片機(jī)仿真設(shè)計(jì)合集資料獲取.pdf
    下載

相關(guān)推薦