0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

白茶茶668 ? 來(lái)源:白茶茶668 ? 作者:白茶茶668 ? 2024-04-10 00:44 ? 次閱讀

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

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

22:00-23:59為微亮

有人接近就全亮,人離開(kāi)后延時(shí)2分鐘變?yōu)槲⒘粒?/p>

0點(diǎn)以后至天亮前,有人接近就全亮,人離開(kāi)后延時(shí)1分鐘熄滅。

資料包括:

wKgZomYVcE-AS2wRAAJleSEIfg8762.png

原理圖:

wKgaomYVcFCAKlxPAAHi8TGEC00138.png

#include"ds1302.h"


//---DS1302寫(xiě)入和讀取時(shí)分秒的地址命令---//

//---秒分時(shí)日月周年 最低位讀寫(xiě)位;-------//

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時(shí)鐘初始化2016年5月7日星期六12點(diǎn)00分00秒。---//

//---存儲(chǔ)順序是秒分時(shí)日月周年,存儲(chǔ)格式是用BCD碼---//

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


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

* 函 數(shù) 名 : Ds1302Write

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

* 輸 入 : addr,dat

* 輸 出 : 無(wú)

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


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++)//開(kāi)始傳送八位地址命令

{

DSIO = addr & 0x01;//數(shù)據(jù)從低位開(kāi)始傳送

addr >>= 1;

SCLK = 1;//數(shù)據(jù)在上升沿時(shí),DS1302讀取數(shù)據(jù)

_nop_();

SCLK = 0;

_nop_();

}

for (n=0; n<8; n++)//寫(xiě)入8位數(shù)據(jù)

{

DSIO = dat & 0x01;

dat >>= 1;

SCLK = 1;//數(shù)據(jù)在上升沿時(shí),DS1302讀取數(shù)據(jù)

_nop_();

SCLK = 0;

_nop_();

}

RST = 0;//傳送數(shù)據(jù)結(jié)束

_nop_();

}


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

* 函 數(shù) 名 : Ds1302Read

* 函數(shù)功能 : 讀取一個(gè)地址的數(shù)據(jù)

* 輸 入 : 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++)//開(kāi)始傳送八位地址命令

{

DSIO = addr & 0x01;//數(shù)據(jù)從低位開(kāi)始傳送

addr >>= 1;

SCLK = 1;//數(shù)據(jù)在上升沿時(shí),DS1302讀取數(shù)據(jù)

_nop_();

SCLK = 0;//DS1302下降沿時(shí),放置數(shù)據(jù)

_nop_();

}

_nop_();

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

{

dat1 = DSIO;//從最低位開(kāi)始接收

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

SCLK = 1;

_nop_();

SCLK = 0;//DS1302下降沿時(shí),放置數(shù)據(jù)

_nop_();

}


RST = 0;

_nop_(); //以下為DS1302復(fù)位的穩(wěn)定時(shí)間,必須的。

SCLK = 1;

_nop_();

DSIO = 0;

_nop_();

DSIO = 1;

_nop_();

return dat;

}


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

* 函 數(shù) 名 : Ds1302Init

* 函數(shù)功能 : 初始化DS1302.

* 輸 入 : 無(wú)

* 輸 出 : 無(wú)

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


void Ds1302Init()

{

uchar n;

Ds1302Write(0x8E,0X00); //禁止寫(xiě)保護(hù),就是關(guān)閉寫(xiě)保護(hù)功能

for (n=0; n<7; n++)//寫(xiě)入7個(gè)字節(jié)的時(shí)鐘信號(hào):分秒時(shí)日月周年

{

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

}

Ds1302Write(0x8E,0x80); //打開(kāi)寫(xiě)保護(hù)功能

}


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

* 函 數(shù) 名 : Ds1302ReadTime

* 函數(shù)功能 : 讀取時(shí)鐘信息

* 輸 入 : 無(wú)

* 輸 出 : 無(wú)

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


void Ds1302ReadTime()

{

uchar n;

for (n=0; n<7; n++)//讀取7個(gè)字節(jié)的時(shí)鐘信號(hào):分秒時(shí)日月周年

{

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

}

}



審核編輯 黃宇


聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 仿真
    +關(guān)注

    關(guān)注

    50

    文章

    4023

    瀏覽量

    133338
  • 51單片機(jī)
    +關(guān)注

    關(guān)注

    273

    文章

    5697

    瀏覽量

    122997
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于FPGA的LCD1602液晶顯示模塊驅(qū)動(dòng)設(shè)計(jì)

    本文通過(guò)以LCD1602液晶顯示模塊為基礎(chǔ),介紹FPGA驅(qū)動(dòng)LCD1602原理,詳細(xì)介紹硬件原理圖設(shè)計(jì)及FPGA驅(qū)動(dòng)LCD1602軟件設(shè)計(jì),通過(guò)萬(wàn)年歷功能綜合實(shí)現(xiàn)時(shí)鐘功能、LCD1602
    的頭像 發(fā)表于 10-24 14:42 ?399次閱讀
    基于FPGA的<b class='flag-5'>LCD1602</b>液晶顯示模塊驅(qū)動(dòng)設(shè)計(jì)

    基于51單片機(jī)的二氧化碳濃度檢測(cè)調(diào)節(jié)系統(tǒng)仿真

    具體實(shí)現(xiàn)功能由51單片機(jī)+二氧化碳傳感器+LCD1602液晶顯示屏+按鍵+蜂鳴器+指示燈+繼電器+風(fēng)扇+電源構(gòu)成。具體功能:(1)二氧化碳傳感器測(cè)得二氧化碳數(shù)據(jù)后經(jīng)過(guò)單片機(jī)處理,由
    的頭像 發(fā)表于 10-22 14:13 ?95次閱讀
    基于<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>的二氧化碳濃度檢測(cè)調(diào)節(jié)系統(tǒng)<b class='flag-5'>仿真</b>

    基于51單片機(jī)的停車(chē)場(chǎng)管理系統(tǒng)

    具體實(shí)現(xiàn)功能由51單片機(jī)+按鍵模塊+LCD1602顯示+報(bào)警模塊+74HC595模塊+LED指示燈等構(gòu)成。具體功能:(1)根據(jù)紅外傳感器原理,用兩個(gè)按鍵代替駛?cè)霗z測(cè)
    的頭像 發(fā)表于 10-22 14:12 ?88次閱讀
    基于<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>的停車(chē)場(chǎng)管理系統(tǒng)

    基于51單片機(jī)的智能防火GSM上報(bào)仿真

    設(shè)定的報(bào)警值時(shí),蜂鳴器響,相應(yīng)的指示燈亮;當(dāng)測(cè)得的溫度和煙霧值同時(shí)超過(guò)報(bào)警值時(shí),電機(jī)轉(zhuǎn)動(dòng),表示滅火; (4)報(bào)警時(shí),利用GSM模塊(仿真中無(wú)GSM模塊,用串口模擬)將測(cè)得的溫度值與煙霧值發(fā)送到用戶(hù)手機(jī)上,實(shí)現(xiàn)遠(yuǎn)程報(bào)警。 設(shè)計(jì)介紹 51
    的頭像 發(fā)表于 10-21 11:48 ?145次閱讀
    基于<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>的智能防火GSM上報(bào)<b class='flag-5'>仿真</b>

    基于51單片機(jī)DS18B20溫度采集1602液晶顯示報(bào)警設(shè)計(jì)

    本資源內(nèi)容概要:? ? ? ?這是基于51單片機(jī)DS18B20溫度采集1602液晶顯示報(bào)警設(shè)計(jì)包含了電路圖源文件(Altiumdesigner軟件打開(kāi))、C語(yǔ)言程序源代碼(keil軟件
    發(fā)表于 06-25 10:16 ?0次下載

    基于51單片機(jī)的電子鐘【調(diào)時(shí),DS1302,數(shù)碼管,獨(dú)立按鍵】(仿真

    基于51單片機(jī)的電子鐘【調(diào)時(shí),DS1302,數(shù)碼管,獨(dú)立按鍵】(仿真
    的頭像 發(fā)表于 04-10 00:41 ?2082次閱讀
    基于<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>的電子鐘【調(diào)時(shí),<b class='flag-5'>DS1302</b>,數(shù)碼管,獨(dú)立按鍵】(<b class='flag-5'>仿真</b>)

    基于51單片機(jī)的SHT11溫濕度監(jiān)測(cè)系統(tǒng),LCD1602顯示,上下限按鍵設(shè)置

    設(shè)計(jì)要求 1.設(shè)計(jì)一套基于51單片機(jī)的溫濕度Proteus仿真監(jiān)控系統(tǒng); 2.采用高精度的SHT11溫濕度傳感器模塊; 3.LCD液晶實(shí)時(shí)顯示當(dāng)前環(huán)境溫濕度值; 4.設(shè)計(jì)報(bào)警單元,實(shí)現(xiàn)
    發(fā)表于 03-26 17:44

    基于51單片機(jī)的車(chē)輛倒車(chē)?yán)走_(dá)報(bào)警系統(tǒng),HC-SR04超聲波測(cè)距,全套資料

    LCD1602顯示電路組成。 汽車(chē)行進(jìn)時(shí),LCD顯示車(chē)內(nèi)溫度以及設(shè)定的倒車(chē)預(yù)警值;倒車(chē)時(shí),啟動(dòng)超聲波測(cè)距,回傳的聲波數(shù)據(jù)經(jīng)AT89C51單片機(jī)處理后顯示到
    發(fā)表于 03-19 14:17

    基于51單片機(jī)的智能頻率計(jì)畢設(shè),C代碼,仿真,原理圖,論文

    時(shí),單片機(jī)讀取計(jì)算的是經(jīng)分頻后的信號(hào)脈沖個(gè)數(shù),然后再通過(guò)數(shù)據(jù)處理?yè)Q算成實(shí)際頻率。 最后,單片機(jī)將頻率測(cè)量值輸出到LCD1602顯示器上實(shí)時(shí)顯示。 Proteus仿真電路 原理圖及P
    發(fā)表于 03-18 12:57

    【原創(chuàng)】基于51單片機(jī)DS1302電子鐘萬(wàn)年歷(帶鬧鐘)(Proteus仿真+C語(yǔ)言+原理圖論文)

    電子萬(wàn)年歷系統(tǒng)以AT89C52單片機(jī)為核心,構(gòu)成單片機(jī)控制電路,結(jié)合DS1302時(shí)鐘芯片和DS18B20溫度傳感器,完成時(shí)間和溫度的讀取,
    發(fā)表于 03-15 16:17

    lcd1602壞了有哪些表現(xiàn)

    LCD1602是一種常見(jiàn)的液晶顯示模塊,廣泛應(yīng)用于各種電子設(shè)備中。然而,像其他電子設(shè)備一樣,LCD1602也有可能會(huì)出現(xiàn)故障或損壞。下面我將詳細(xì)介紹LCD1602壞了可能出現(xiàn)的幾種常見(jiàn)表現(xiàn)。 無(wú)圖像
    的頭像 發(fā)表于 01-09 10:54 ?2720次閱讀

    為什么我的LCD1602不能顯示DS18B20采集的溫度

    )tem*0.625; if(temp)return tem; else return -tem; } LCD1602: #include "lcd1602.h"
    發(fā)表于 12-20 20:03

    DS1302時(shí)鐘芯片的電路原理

    DS1302時(shí)鐘芯片內(nèi)部的時(shí)鐘電路原理是基于晶振的振蕩原理。晶振是一種利用晶體的共振特性產(chǎn)生穩(wěn)定的振蕩信號(hào)的元件。在DS1302中,晶振的頻率為32.768kHz,這是一個(gè)非常穩(wěn)定的頻率,適合用于實(shí)時(shí)時(shí)鐘應(yīng)用。
    的頭像 發(fā)表于 11-18 09:40 ?2605次閱讀

    DS1302時(shí)鐘芯片的工作原理

    DS1302時(shí)鐘芯片是一種實(shí)時(shí)時(shí)鐘芯片,采用三線(xiàn)串行接口與微處理器相連,可以提供年、月、日、時(shí)、分、秒等時(shí)間信息。
    的頭像 發(fā)表于 11-18 09:39 ?5089次閱讀

    LCD1602原理圖

    電子發(fā)燒友網(wǎng)站提供《LCD1602原理圖.pdf》資料免費(fèi)下載
    發(fā)表于 11-17 15:04 ?16次下載
    <b class='flag-5'>LCD1602</b>原理圖