娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

STM32電子鐘萬年歷時(shí)鐘鬧鐘LCD1602仿真設(shè)計(jì)

發(fā)布者:和諧共存最新更新時(shí)間:2024-06-14 來源: elecfans關(guān)鍵字:STM32  電子鐘  LCD1602 手機(jī)看文章 掃描二維碼
隨時(shí)隨地手機(jī)看文章

仿真:protues 8.9

程序編譯器:keil 5

編程語(yǔ)言:C語(yǔ)言

編號(hào)C0003

題目要求:

1.具有顯示年、月、日、時(shí)、分、秒功能;

2.能計(jì)算并顯示星期;

3.能手動(dòng)調(diào)整時(shí)間,設(shè)置鬧鐘;

4.具有鬧鐘功能,時(shí)間到聲光報(bào)警(蜂鳴器嘟嘟嘟,LED燈閃爍)。 

講解視頻:

仿真圖(提供源文件):

06b39750-2a0d-11ee-a368-dac502259ad0.jpg

原理圖(提供源文件):

07099dda-2a0d-11ee-a368-dac502259ad0.png

PCB(提供源文件):

07550806-2a0d-11ee-a368-dac502259ad0.png

程序(提供源文件源碼):

07cc31c4-2a0d-11ee-a368-dac502259ad0.jpg

以下為部分程序:


 


int main(void)

{

  bool i = 0;

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */

  HAL_Init();

  /* Configure the system clock */

  SystemClock_Config();//系統(tǒng)時(shí)鐘初始化

  delay_init(10);//初始化延時(shí)函數(shù)

  TIM3_Init(2400-1, 72-1);// 10ms 定時(shí)器初始化

  MX_RTC_Init();  //STM32內(nèi)部RTC初始化

  

  Key_Init();//按鍵初始化

  Beep_Init();//聲光報(bào)警初始化

  LCD_Init();//LCD1602初始化        

  

  sAlrm_g.Alm_Hour = 0;//鬧鐘時(shí)間 時(shí)

  sAlrm_g.Alm_Min  = 0;//鬧鐘時(shí)間 分

  sAlrm_g.Alm_Sec  = 10;//鬧鐘時(shí)間 秒



  while(1)

  {

    switch(set_mode)//設(shè)置模式

    {

      case 0:

        HAL_RTC_GetDate(&hrtc, &sDate_g, RTC_FORMAT_BIN);//得到RTC的年月日

        HAL_RTC_GetTime(&hrtc, &sTime_g, RTC_FORMAT_BIN);  //得到RTC的時(shí)分秒      

        Conv_Disp_Data(0);//參數(shù)0 得到全部顯示數(shù)據(jù)

        LCD_write_string(0, 0, (char*)temp_line_one);//LCD1602第一行顯示

        LCD_write_string(0, 1, (char*)temp_line_two);//LCD1602第二行顯示

      break;

      

      case 1://設(shè)置年份

        Conv_Disp_Data(i*1);//i是1 屏蔽掉年份顯示。i是0,顯示年份。通過對(duì)i的取反實(shí)現(xiàn)年份閃縮

        i = !i;//i取反

        LCD_write_string(0, 0, (char*)temp_line_one);//LCD1602第一行顯示

      break;

      

      case 2://設(shè)置月份

        Conv_Disp_Data(i*2);

        i = !i;

        LCD_write_string(0, 0, (char*)temp_line_one);

      break;

      

      case 3://設(shè)置日份

        Conv_Disp_Data(i*3);

        i = !i;

        LCD_write_string(0, 0, (char*)temp_line_one);

      break;

      

      case 4://設(shè)置時(shí)間

        Conv_Disp_Data(i*4);

        i = !i;

        LCD_write_string(0, 0, (char*)temp_line_one);

      break;

      

      case 5://設(shè)置分鐘

        Conv_Disp_Data(i*5);

        i = !i;

        LCD_write_string(0, 0, (char*)temp_line_one);

      break;

      

      case 6://設(shè)置秒

        Conv_Disp_Data(i*6);

        i = !i;

        LCD_write_string(0, 0, (char*)temp_line_one);

      break;

      

      case 7://設(shè)置鬧鐘時(shí)鐘

        Conv_Disp_Data(i*7);

        i = !i;

        LCD_write_string(0, 1, (char*)temp_line_two);

      break;

      

      case 8://設(shè)置鬧鐘分鐘

        Conv_Disp_Data(i*8);

        i = !i;

        LCD_write_string(0, 1, (char*)temp_line_two);

      break;

      

      case 9://設(shè)置鬧鐘秒鐘

        Conv_Disp_Data(i*9);

        i = !i;

        LCD_write_string(0, 1, (char*)temp_line_two);

      break;

      

      default:        

      break;      

    }

    

    if( (sTime_g.Hours == sAlrm_g.Alm_Hour) && (sTime_g.Minutes == sAlrm_g.Alm_Min) && (sTime_g.Seconds == sAlrm_g.Alm_Sec) )//判斷鬧鐘時(shí)間

    {

      for(uint8_t j = 0; j < 10; j++)//執(zhí)行十次

      {

        LED2_TOG();//LED2翻轉(zhuǎn),蜂鳴器嘟嘟嘟報(bào)警

        HAL_Delay(300);

      }

      

    }

    HAL_Delay(100);//延時(shí)

  }

}


關(guān)鍵字:STM32  電子鐘  LCD1602 引用地址:STM32電子鐘萬年歷時(shí)鐘鬧鐘LCD1602仿真設(shè)計(jì)

上一篇:STM32看門狗定時(shí)器的工作原理和作用 看門狗定時(shí)器的特性
下一篇:簡(jiǎn)述串口通信原理 stm32串口發(fā)送數(shù)據(jù) 如何通過串口發(fā)送數(shù)據(jù)

推薦閱讀最新更新時(shí)間:2025-06-26 16:36

時(shí)鐘芯片DS1302+AT89C2051的紅外遙控LED電子鐘電路設(shè)計(jì)與制作
自制LED電子鐘在很多電子報(bào)刊雜志上都可以見到,但大多數(shù)在斷電后都要重新設(shè)置時(shí)間等參數(shù),給使用帶來很多不便。也有用后備電池作為備用電源的,但往往體積較大。本文介紹的LED電子鐘克服了以往的弊端,而且采用了家電通用的紅外遙控器進(jìn)行控制,方便使用。有一路鬧鈴輸出,可以通過遙控器設(shè)置鬧鈴時(shí)間及允許與否。 一.工作原理 DS1302為達(dá)拉斯公司的一種實(shí)時(shí)時(shí)鐘芯片,主要特點(diǎn)是采用串行數(shù)據(jù)傳輸,可為掉電保護(hù)電源提供可編程的充電功能,并且可以關(guān)閉充電功能。采用普通32768 Hz 晶振 。 AT89C2051作為主控芯片,一是對(duì)接收到的紅外遙控編碼進(jìn)行判斷識(shí)別,并執(zhí)行相應(yīng)的處理;第二就是定期的讀取時(shí)鐘芯片DS1302中的時(shí)間并把小時(shí)和肥
[單片機(jī)]
<font color='red'>時(shí)鐘</font>芯片DS1302+AT89C2051的紅外遙控LED<font color='red'>電子鐘</font>電路設(shè)計(jì)與制作
基于DS1302的簡(jiǎn)易數(shù)碼管電子鐘
#include reg51.h #include intrins.h #include DS1302.h #include KEY.h #include IIC.H #define uchar unsigned char #define uint unsigned int #define LEDIO P0 #define LEDCHIP P2 sbit BEEP=P3^7; /*************************數(shù)碼管定義**************************************/ //段碼 0 1 2 3 4 5 6 7 8 9 A B - P d uchar
[單片機(jī)]
基于51單片機(jī)+LCD1602顯示
LCD1602介紹 LCD1602相關(guān)引腳 LCD1602寫命令、寫數(shù)據(jù)相關(guān)操作圖 根據(jù)上面時(shí)序圖和時(shí)序參數(shù)圖我們可以寫出 寫命令代碼 和寫數(shù)據(jù)代碼 寫命令 代碼 寫命令 void write_com(char command) { RS = 0; RW = 0; //高讀低寫 LCD = command; delay5ms(); //這里延時(shí)最低要30納秒 我們直接給5ms E = 1;//使能拉高 delay5ms(); //最低要求延遲150納秒 我們直接給5ms E = 0; } 寫數(shù)據(jù) 代碼 寫數(shù)據(jù) void write_data(char data) {
[單片機(jī)]
基于51單片機(jī)+<font color='red'>LCD1602</font>顯示
單片機(jī) 實(shí)時(shí)時(shí)鐘電路(LCD1602、PCF8563)
一、簡(jiǎn)介 此電路主要有51單片機(jī)、LCD1602模塊、PCF8563芯片和按鍵組成組成,通過LCD1062顯示當(dāng)前時(shí)間,按鍵可設(shè)置時(shí)間。 二、運(yùn)行效果 三、部分代碼 /*想要更多項(xiàng)目私wo!!!*/ #include reg52.h #include intrins.h #define uchar unsigned char #define uint unsigned int void init() { uchar num; lcden=0; write_com(0x38); //0011 1000B,功能模式設(shè)置,設(shè)置為8為數(shù)據(jù)口,兩行顯示,5*7點(diǎn)陣 write_com(0x0c)
[單片機(jī)]
單片機(jī) 實(shí)時(shí)<font color='red'>時(shí)鐘</font>電路(<font color='red'>LCD1602</font>、PCF8563)
自制紅外遙控LED電子鐘
自制LED電子鐘在很多電子報(bào)刊雜志上都可以見到,但大多數(shù)在斷電后都要重新設(shè)置時(shí)間等參數(shù),給使用帶來很多不便。也有用后備電池作為備用電源的,但往往體積較大。本文介紹的LED電子鐘克服了以往的弊端,而且采用了家電通用的紅外遙控器進(jìn)行控制,方便使用。有一路鬧鈴輸出,可以通過遙控器設(shè)置鬧鈴時(shí)間及允許與否。    一.工作原理   DS1302為達(dá)拉斯公司的一種實(shí)時(shí)時(shí)鐘芯片,主要特點(diǎn)是采用串行數(shù)據(jù)傳輸,可為掉電保護(hù)電源提供可編程的充電功能,并且可以關(guān)閉充電功能。采用普通32768Hz晶振。   AT89C2051作為主控芯片,一是對(duì)接收到的紅外遙控編碼進(jìn)行判斷識(shí)別,并執(zhí)行相應(yīng)的處理;第二就是定期的讀取時(shí)鐘芯片DS1302中的
[電源管理]
自制紅外遙控LED<font color='red'>電子鐘</font>
ATmega16讀取RTC和ADC顯示在LCD1602,同時(shí)串口輸出
介紹mikroPascal for AVR 寫的ATmega16讀取RTC和ADC顯示在LCD1602,同時(shí)串口輸出,并寫入EEPROM的程序。附帶仿真文件。mikro編譯器分為c,basic,pascal三種,除了語(yǔ)法有所區(qū)別外,使用和功能基本一樣。有8051,AVR,PIC,ARM等版本,界面和語(yǔ)法都一樣。學(xué)會(huì)一種芯片花很少時(shí)間就可以轉(zhuǎn)到另一種芯片。自帶常用庫(kù),幫助文件中例子很多,基本不需要其他文檔就可以開始學(xué)習(xí)了。 仿真原理圖如下 單片機(jī)源程序如下: program RTC_Read; var seconds, minutes, hours, day, month, year : byte; // Global
[單片機(jī)]
ATmega16讀取RTC和ADC顯示在<font color='red'>LCD1602</font>,同時(shí)串口輸出
DS1302時(shí)鐘LCD1602液晶顯示
DS1302是一個(gè)實(shí)時(shí)時(shí)鐘芯片,它在實(shí)時(shí)顯示時(shí)間中應(yīng)用。它可以對(duì)年、月、日、周、時(shí)、分、秒進(jìn)行計(jì)時(shí)。 DS1302的引腳及原理圖如下: 它與CPU的連接需要SCLK(7)、I/O(6)和RST(5)三個(gè)引腳,VCC2和VCC1分別為主電源和備份電源,X1和X2分別接外部振蕩器。在于CPU的通信中I/O用來傳輸數(shù)據(jù),RST作為復(fù)位信號(hào),SCLK用來控制數(shù)據(jù)字節(jié)的讀寫。 DS1302的讀寫時(shí)序如下: 程序中對(duì)芯片的操作主要是參考芯片的時(shí)序狀態(tài),時(shí)序中說明只要有對(duì)數(shù)據(jù)的操作RST就需要置1,在讀數(shù)據(jù)的前8個(gè)時(shí)鐘中在SCLK處于高電平的過程中會(huì)獲取控制字信息,此過程I/O數(shù)據(jù)不會(huì)變化,而在低電平的過程中I/O
[單片機(jī)]
DS1302<font color='red'>時(shí)鐘</font>與<font color='red'>LCD1602</font>液晶顯示
LCD1602液晶顯示漢字
使用LCD1602 顯示字符會(huì)比使用七段數(shù)碼管方便 可顯示內(nèi)容也多的多 1602內(nèi)部的字符發(fā)生器 CGROM中已經(jīng)存儲(chǔ)了160多個(gè)字符 ,每一個(gè)字符都有一個(gè)固定的代碼,比如大寫的英文字母“A”的代碼是“01000001B,顯示時(shí)把41H的點(diǎn)陣字符顯示出來,就可以看到字符“A”。 常用的方法是 寫完數(shù)據(jù)顯示地址后 直接寫入字符串 “A”,其實(shí)直接寫入0x41也可以顯示“A”; 1602中有這樣幾個(gè)區(qū): CGRAM 區(qū)為用戶自定義字符區(qū) DDRAM 為字符顯示地址(位置)數(shù)據(jù)存貯器 CGROM為 液晶模塊內(nèi)部字符發(fā)生存儲(chǔ)器 使用1602顯示漢字 就需要是用到 CGRAM,需要將取模后的點(diǎn)陣字符寫入CGRAM ,以備后面讀
[單片機(jī)]
小廣播
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號(hào)

 
EEWorld服務(wù)號(hào)

 
汽車開發(fā)圈

 
機(jī)器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號(hào) 京ICP備10001474號(hào)-1 電信業(yè)務(wù)審批[2006]字第258號(hào)函 京公網(wǎng)安備 11010802033920號(hào) Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 天峨县| 峡江县| 南京市| 孟连| 洞头县| 会昌县| 武义县| 镇江市| 沙湾县| 黄石市| 门头沟区| 贵南县| 临沭县| 礼泉县| 普兰店市| 图片| 北碚区| 黄陵县| 平果县| 宕昌县| 石门县| 聂荣县| 靖西县| 舟山市| 昭苏县| 桓仁| 巍山| 吐鲁番市| 贺兰县| 平凉市| 犍为县| 左云县| 陵水| 正安县| 安陆市| 宿松县| 探索| 红河县| 章丘市| 尚义县| 合江县|