• 方案介紹
    • 1.主要功能
    • 2.仿真設(shè)計(jì)
    • 3.程序設(shè)計(jì)
    • 4.設(shè)計(jì)報(bào)告
    • 5.原理圖PCB
    • 6.實(shí)物圖
    • 7.下載鏈接
  • 附件下載
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

基于STM32電子鐘鬧鐘數(shù)碼管顯示設(shè)計(jì)(Proteus仿真+程序+設(shè)計(jì)報(bào)告+原理圖PCB+講解視頻)

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

設(shè)計(jì)資料獲取聯(lián)系方式.doc

共1個(gè)文件

基于STM32電子鐘鬧鐘數(shù)碼管顯示設(shè)計(jì)(Proteus仿真+程序+設(shè)計(jì)報(bào)告+原理圖PCB+講解視頻)

仿真圖proteus 8.9

程序編譯器:keil 5

編程語言:C語言

設(shè)計(jì)編號(hào):C0104

1.主要功能

設(shè)計(jì)一個(gè)基于STM32單片機(jī)的電子鐘鬧鐘proteus仿真設(shè)計(jì),可以顯示時(shí)、分、秒,并且可以設(shè)置時(shí)間和鬧鐘。

1、采用單片機(jī)內(nèi)部RTC模塊實(shí)現(xiàn)計(jì)時(shí);

2、采用八位數(shù)碼管顯示時(shí)分秒;

3、可對時(shí)分秒分別進(jìn)行加減設(shè)置,設(shè)置時(shí)對應(yīng)數(shù)碼管閃爍;

4、可設(shè)置鬧鐘,并且到時(shí)間后蜂鳴器響;

5、鬧鐘鳴響時(shí),按下任意按鍵可手動(dòng)消除鬧鐘;

6、可以通過Proteus仿真或者實(shí)物演示。

資料下載鏈接:

通過網(wǎng)盤分享的文件:KEY_C0104

鏈接: https://pan.baidu.com/s/1iKdIqVMCHvNg0642rKrteA?pwd=vtrf
提取碼: vtrf

2.仿真設(shè)計(jì)

打開仿真工程,雙擊proteus中的單片機(jī),選擇hex文件路徑,然后開始仿真。

開始仿真后,數(shù)碼管顯示12-00-50,分別代表時(shí)分秒。

img

默認(rèn)鬧鐘時(shí)間12-01-00,時(shí)間到了之后鬧鐘響,指示燈亮。響鈴期間按下任意按鍵關(guān)掉鬧鐘。

img

按下設(shè)置鍵可對時(shí)分秒分別進(jìn)行加減設(shè)置,設(shè)置時(shí)對應(yīng)數(shù)碼管閃爍。

img

3.程序設(shè)計(jì)

程序是用keil5 mdk版本打開的,如果打開有問題,核實(shí)下keil的版本。程序是HAL版本編寫的,有stm32cubemx配置文件。有注釋可以結(jié)合講解視頻理解。

img

while (1)
  {
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
	
	if(step==0){
		//十進(jìn)制格式
		HAL_RTC_GetTime(&hrtc, &sTimeStructure, RTC_FORMAT_BIN);	//RTC時(shí)間獲取函數(shù)
		//十進(jìn)制格式
		HAL_RTC_GetDate(&hrtc, &sDateStructure, RTC_FORMAT_BIN);	//RTC日期獲取函數(shù)
		if( (sTimeStructure.Hours == sAlrmStructure.Hours) && (sTimeStructure.Minutes == sAlrmStructure.Minutes)&&(sTimeStructure.Seconds==0))//判斷鬧鐘時(shí)間
		{
			beep_state=1;//鬧鐘標(biāo)志位		
			LED_ALARM_STA_ON();
		}
		if( (sTimeStructure.Hours != sAlrmStructure.Hours) || (sTimeStructure.Minutes != sAlrmStructure.Minutes)){
			beep_state=0;//取消鬧鐘標(biāo)志位	
		}
		if(beep_state==1){
			BEEP_ON();		   //蜂鳴器響
			LED_ALARM_STA_ON();//指示燈亮
		}else{
			BEEP_OFF();		   //關(guān)蜂鳴器
			LED_ALARM_STA_OFF();//指示燈滅
		}		
		//格式轉(zhuǎn)換為字符串
		memset(smgbuf, 0, sizeof(smgbuf));//清空數(shù)組
		smgbuf[0]=gsmg_code[sTimeStructure.Hours/10];//時(shí)間十位
		smgbuf[1]=gsmg_code[sTimeStructure.Hours%10];//時(shí)間個(gè)位
		smgbuf[2]=0x40;
		smgbuf[3]=gsmg_code[sTimeStructure.Minutes/10];//分鐘十位
		smgbuf[4]=gsmg_code[sTimeStructure.Minutes%10];//分鐘個(gè)位
		smgbuf[5]=0x40;
		smgbuf[6]=gsmg_code[sTimeStructure.Seconds/10];//顯示秒十位
		smgbuf[7]=gsmg_code[sTimeStructure.Seconds%10];//顯示個(gè)位
		SMG_Display(smgbuf,1);	
	
//		HAL_Delay(10);//延時(shí)一段時(shí)間,等待顯示穩(wěn)定
	}else{//設(shè)置狀態(tài)下的顯示
	
		memset(smgbuf, 0, sizeof(smgbuf));//清空數(shù)組
		if(step>=1&&step<=3){//設(shè)置時(shí)鐘時(shí)間
			if(step==1&&flick_cnt<50){
				
			}else{
				smgbuf[0]=gsmg_code[sTimeStructure.Hours/10];//時(shí)間十位
				smgbuf[1]=gsmg_code[sTimeStructure.Hours%10];//時(shí)間個(gè)位
			}
			smgbuf[2]=0x40;//顯示橫杠
			if(step==2&&flick_cnt<50){
	
			}else{
				smgbuf[3]=gsmg_code[sTimeStructure.Minutes/10];//分鐘十位
				smgbuf[4]=gsmg_code[sTimeStructure.Minutes%10];//分鐘個(gè)位
				}
			smgbuf[5]=0x40;//顯示橫杠
			if(step==3&&flick_cnt<50){
	
			}else{
				smgbuf[6]=gsmg_code[sTimeStructure.Seconds/10];//顯示秒十位
				smgbuf[7]=gsmg_code[sTimeStructure.Seconds%10];//顯示個(gè)位
			}
			SMG_Display(smgbuf,1);	
//			HAL_Delay(10);//延時(shí)一段時(shí)間,等待顯示穩(wěn)定

		}else if(step>=4){//設(shè)置鬧鐘時(shí)間
			if(step==4&&flick_cnt<50){
					
			}else{
				smgbuf[0]=gsmg_code[sAlrmStructure.Hours/10];//鬧鐘時(shí)十位
				smgbuf[1]=gsmg_code[sAlrmStructure.Hours%10];//鬧鐘時(shí)個(gè)位

			}
			smgbuf[2]=0x40;//顯示橫杠
			if(step==5&&flick_cnt<50){

			}else{
				smgbuf[3]=gsmg_code[sAlrmStructure.Minutes/10];//鬧鐘分鐘十位
				smgbuf[4]=gsmg_code[sAlrmStructure.Minutes%10];//鬧鐘分鐘個(gè)位

				}
			SMG_Display(smgbuf,1);	
//			HAL_Delay(5);//延時(shí)一段時(shí)間,等待顯示穩(wěn)定
		}
	} 
  }
  /* USER CODE END 3 */
}

程序流程圖

img

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

8272字設(shè)計(jì)報(bào)告,內(nèi)容包括設(shè)計(jì)目標(biāo)、硬件設(shè)計(jì)、軟件設(shè)計(jì)、結(jié)論等。

img

隨著電子技術(shù)的飛速發(fā)展,智能家居和便攜式電子設(shè)備的需求日益增長,數(shù)字時(shí)鐘作為日常生活中不可或缺的一部分,其功能性和用戶體驗(yàn)成為用戶關(guān)注的重點(diǎn)。本項(xiàng)目旨在設(shè)計(jì)一款基于STM32單片機(jī)的多功能數(shù)字時(shí)鐘鬧鐘,通過Proteus軟件進(jìn)行仿真設(shè)計(jì),實(shí)現(xiàn)時(shí)間顯示、時(shí)間設(shè)置、鬧鐘設(shè)置及響鈴提醒等功能,不僅提升了時(shí)鐘的基本計(jì)時(shí)功能,還增加了用戶交互性和實(shí)用性,對于學(xué)習(xí)STM32單片機(jī)應(yīng)用、RTC(實(shí)時(shí)時(shí)鐘)模塊使用以及Proteus仿真技術(shù)具有重要意義。

5.原理圖PCB

下面是原理圖和PCB

img

img

6.實(shí)物圖

實(shí)物如下圖所示

實(shí)物2

7.下載鏈接

img

0、常見使用問題及解決方法–必讀?。。。?/p>

1、程序代碼

2、Proteus仿真

3、功能要求

4、開題報(bào)告

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

6、框圖

7、講解視頻

Altium Designer 安裝破解

KEIL+proteus 單片機(jī)仿真設(shè)計(jì)教程

KEIL安裝破解

Proteus元器件查找

Proteus安裝

Proteus簡易使用教程

單片機(jī)學(xué)習(xí)資料

相關(guān)數(shù)據(jù)手冊

答辯技巧

設(shè)計(jì)報(bào)告常用描述

鼠標(biāo)雙擊打開查找嘉盛單片機(jī)51 STM32單片機(jī)課程畢業(yè)設(shè)計(jì).url

資料下載鏈接:

通過網(wǎng)盤分享的文件:KEY_C0104

鏈接: https://pan.baidu.com/s/1iKdIqVMCHvNg0642rKrteA?pwd=vtrf提取碼: vtrf

更多資源 點(diǎn)擊下方鏈接:

https://docs.qq.com/sheet/DS0xIa0llTmtNakRW

單片機(jī)學(xué)習(xí)資料

相關(guān)數(shù)據(jù)手冊

答辯技巧

設(shè)計(jì)報(bào)告常用描述

鼠標(biāo)雙擊打開查找嘉盛單片機(jī)51 STM32單片機(jī)課程畢業(yè)設(shè)計(jì).url

資料下載鏈接:

通過網(wǎng)盤分享的文件:KEY_C0104

鏈接: https://pan.baidu.com/s/1iKdIqVMCHvNg0642rKrteA?pwd=vtrf提取碼: vtrf

  • 設(shè)計(jì)資料獲取聯(lián)系方式.doc
    下載

相關(guān)推薦

方案定制

去合作
方案開發(fā)定制化,2000+方案商即時(shí)響應(yīng)!