国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于51單片機的路燈【固定時間,紅外,DS1302,LCD1602】(仿真)

白茶茶668 ? 來源:白茶茶668 ? 作者:白茶茶668 ? 2024-04-10 00:44 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

基于51單片機的路燈【固定時間,紅外,DS1302,LCD1602】(仿真

晚上天黑至22點以前常亮(全亮)

22:00-23:59為微亮

有人接近就全亮,人離開后延時2分鐘變為微亮;

0點以后至天亮前,有人接近就全亮,人離開后延時1分鐘熄滅。

資料包括:

wKgZomYVcE-AS2wRAAJleSEIfg8762.png

原理圖:

wKgaomYVcFCAKlxPAAHi8TGEC00138.png

#include"ds1302.h"


//---DS1302寫入和讀取時分秒的地址命令---//

//---秒分時日月周年 最低位讀寫位;-------//

uchar code READ_RTC_ADDR[7] = {0x81, 0x83, 0x85, 0x87, 0x89, 0x8b, 0x8d};

uchar code WRITE_RTC_ADDR[7] = {0x80, 0x82, 0x84, 0x86, 0x88, 0x8a, 0x8c};


//---DS1302時鐘初始化2016年5月7日星期六12點00分00秒。---//

//---存儲順序是秒分時日月周年,存儲格式是用BCD碼---//

uchar TIME[7] = {0, 0, 0x12, 0x07, 0x05, 0x06, 0x16};


/*******************************************************************************

* 函 數 名 : Ds1302Write

* 函數功能 : 向DS1302命令(地址+數據)

* 輸 入 : addr,dat

* 輸 出 : 無

*******************************************************************************/


void Ds1302Write(uchar addr, uchar dat)

{

uchar n;

RST = 0;

_nop_();


SCLK = 0;//先將SCLK置低電平。

_nop_();

RST = 1; //然后將RST(CE)置高電平。

_nop_();


for (n=0; n<8; n++)//開始傳送八位地址命令

{

DSIO = addr & 0x01;//數據從低位開始傳送

addr >>= 1;

SCLK = 1;//數據在上升沿時,DS1302讀取數據

_nop_();

SCLK = 0;

_nop_();

}

for (n=0; n<8; n++)//寫入8位數據

{

DSIO = dat & 0x01;

dat >>= 1;

SCLK = 1;//數據在上升沿時,DS1302讀取數據

_nop_();

SCLK = 0;

_nop_();

}

RST = 0;//傳送數據結束

_nop_();

}


/*******************************************************************************

* 函 數 名 : Ds1302Read

* 函數功能 : 讀取一個地址的數據

* 輸 入 : addr

* 輸 出 : dat

*******************************************************************************/


uchar Ds1302Read(uchar addr)

{

uchar n,dat,dat1;

RST = 0;

_nop_();


SCLK = 0;//先將SCLK置低電平。

_nop_();

RST = 1;//然后將RST(CE)置高電平。

_nop_();


for(n=0; n<8; n++)//開始傳送八位地址命令

{

DSIO = addr & 0x01;//數據從低位開始傳送

addr >>= 1;

SCLK = 1;//數據在上升沿時,DS1302讀取數據

_nop_();

SCLK = 0;//DS1302下降沿時,放置數據

_nop_();

}

_nop_();

for(n=0; n<8; n++)//讀取8位數據

{

dat1 = DSIO;//從最低位開始接收

dat = (dat>>1) | (dat1<<7);

SCLK = 1;

_nop_();

SCLK = 0;//DS1302下降沿時,放置數據

_nop_();

}


RST = 0;

_nop_(); //以下為DS1302復位的穩定時間,必須的。

SCLK = 1;

_nop_();

DSIO = 0;

_nop_();

DSIO = 1;

_nop_();

return dat;

}


/*******************************************************************************

* 函 數 名 : Ds1302Init

* 函數功能 : 初始化DS1302.

* 輸 入 : 無

* 輸 出 : 無

*******************************************************************************/


void Ds1302Init()

{

uchar n;

Ds1302Write(0x8E,0X00); //禁止寫保護,就是關閉寫保護功能

for (n=0; n<7; n++)//寫入7個字節的時鐘信號:分秒時日月周年

{

Ds1302Write(WRITE_RTC_ADDR[n],TIME[n]);

}

Ds1302Write(0x8E,0x80); //打開寫保護功能

}


/*******************************************************************************

* 函 數 名 : Ds1302ReadTime

* 函數功能 : 讀取時鐘信息

* 輸 入 : 無

* 輸 出 : 無

*******************************************************************************/


void Ds1302ReadTime()

{

uchar n;

for (n=0; n<7; n++)//讀取7個字節的時鐘信號:分秒時日月周年

{

TIME[n] = Ds1302Read(READ_RTC_ADDR[n]);

}

}



審核編輯 黃宇


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 仿真
    +關注

    關注

    54

    文章

    4483

    瀏覽量

    138272
  • 51單片機
    +關注

    關注

    278

    文章

    5714

    瀏覽量

    134332
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    單片機電子時鐘程序的設計

    式的設定時間轉換為數組并寫入 DS1302 */ void SetRealTime(struct sTime *time){ unsigned char buf[8]; buf[7] = 0
    發表于 01-05 06:21

    大佬們,我寫的LCD1602A無法正常顯示(四針腳I2C的)

    大佬們,有懂模塊驅動的嗎?我寫的LCD1602A液晶顯示屏驅動無法正常顯示,字體有亂碼,且想要正確顯示的字體,它又顯示其它字體,代碼以上傳至github,項目名稱
    發表于 12-24 20:16

    單片機定時器中斷

    51單片機內部共有兩個16位可編程的定時器/計數器,即定時器T0和定時器T1。它們既有定時功能又
    發表于 11-24 06:22

    STM32F405驅動DS1302時鐘模塊,輸出時間錯亂該怎么排查?

    各位電子圈的朋友,最近用STM32F405RGT6驅動DS1302實時時鐘模塊時,遇到了時間顯示錯亂的問題:輸出的時間會出現“2055-55-55 55:55:55”這類明顯異常的數值,想和大家交流
    發表于 11-13 16:48

    stm32f405rgt6驅動DS1302ZN出現時間錯亂問題

    ds1032_init(void) { ds1302_gpio_init(); //初始化ds1302端口 HAL_Delay(5); //ds1032_SetTime(0x25,
    發表于 11-13 14:29

    51單片機RS485編程實例資料

    詳細介紹51單片機RS485通信接線和編程代碼
    發表于 10-20 14:57 ?4次下載

    SMC1602A LCM使用說明書

    LCD1602手冊
    發表于 09-01 17:31 ?0次下載

    AT89C51 單片機中文資料

    電子發燒友網站提供《AT89C51 單片機中文資料.pdf》資料免費下載
    發表于 06-24 15:29 ?1次下載

    單片機原理及應用

    本書全面系統地介紹了 MCS-51 系列單片機的基本結構、工作原理及應用技術。主要內容包括:微型計算機的基礎知識、MCS-51 單片機的基本結構、匯編語言和 C
    發表于 06-16 16:58

    2.4寸TFT彩屏配套測試程序-51單片機

    如題,2.4寸TFT彩屏配套測試程序-51單片機
    發表于 06-04 16:26 ?0次下載

    基于51單片機的多功能萬年歷設計

    DS1302DS18B20DHT11PCF8574AT24C02LCD1602MAX7221級聯等模塊,代碼功能實現部分:通過按鍵實現界面切換,按鍵選擇和修改時間,開機顯示當前時間(北京時間
    發表于 06-03 17:17 ?1次下載

    DS1302芯片英文手冊

    電子發燒友網站提供《DS1302芯片英文手冊.pdf》資料免費下載
    發表于 05-06 15:25 ?0次下載

    新概念51單片機C語言教程入門、提高、開發、拓展全攻略

    資料介紹 從實際應用入手,以實驗過程和實驗現象為主導,循序漸進地講述51單片機C語言編程方法以及51單片機的硬件結構和功能應用。全書共分5篇,分別為入門篇、內外部資源操作篇、提高篇、實
    發表于 04-15 13:57

    基于51/32單片機按鍵控制步進電機正反轉,A4988驅動

    基于51/32單片機按鍵控制步進電機正反轉,A4988驅動
    發表于 04-14 15:05 ?7次下載

    單片機方面的大佬嗎?有幾個單片機方面的問題需要請教一下

    單片機本身具有定時系統,當傳感器檢測到障礙物以后發出警報并停止運動系統運行,讓步進電機自動回到初始位置,對于這個系統我還要依靠單片機本身的定時功能來進行每天一次的往返運動。 傳感器目
    發表于 03-29 18:35