freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機(jī)的多功能電子鐘課程設(shè)計(jì)說明書(完整版)

2025-08-29 19:48上一頁面

下一頁面
  

【正文】 1 3 0 2 通 信 引 腳 定 義數(shù) 據(jù) 設(shè) 定 引 腳 定 義數(shù) 據(jù) 存 儲(chǔ) 地 址顯 示 數(shù) 據(jù) 緩 沖 地 址初 始 化 液 晶 屏 幕顯 示 初 始 畫 面清 液 晶 屏 幕 顯 示 空 白讀 取 D S 1 3 0 2 程 序讀 D S 1 3 0 2 程 序數(shù) 據(jù) 分 離 送 顯 示 緩 存分 離 數(shù) 據(jù) 子 程 序日 歷 顯 示 子 程 序?qū)?指 令 到 液 晶 屏讀 數(shù) 據(jù) 到 液 晶 屏 主程序流程圖 山東建筑大學(xué)信息與電氣工程學(xué)院課程設(shè)計(jì)說明書 16 (2)子程序流程圖設(shè)計(jì) DS1302 定時(shí)器中斷子程序流程圖 開 始給 定 時(shí) 器 再 次 賦 值執(zhí) 行 年 、 月 、 日 、 時(shí) 、 分 、 秒 的 顯 示結(jié) 束判 斷 是 否 計(jì) 滿 1 8 次秒 加 1 , 判 斷 是 否 等 于 6 0分 加 1 , 秒 置 0 , 判 斷 分 是 否 等 于 6 0時(shí) 加 1 , 分 置 0 , 判 斷 時(shí) 是 否 等 于 2 4日 加 1 , 時(shí) 置 0 , 判 斷 該 年 是 否 為 閏 年判 斷 日 是 否 到 月 底月 加 1 , 日 置 1 , 判 斷 月 是 否 等 于 1 2年 加 1 , 月 置 1 , 判 斷 年 是 否 為 1 0 0YNNNNNNNYYYYYYYYN 圖 DS1302 中斷流程圖 山東建筑大學(xué)信息與電氣工程學(xué)院課程設(shè)計(jì)說明書 17 程序主要實(shí)現(xiàn)對 DS1302 寫保護(hù)、充電,對年、月、日、時(shí)、分、秒等寄存器的讀寫操作。表 35 為 LCD1602 的內(nèi)部顯示地址。 ④ RS: 數(shù)據(jù) /命令選擇端( H/L)。如果還有額外的 SCLK 周期, DS1302 將重新發(fā)送數(shù)據(jù)字節(jié),這使 DS1302 具有連續(xù)突發(fā)讀取的能力。 一個(gè)時(shí)鐘周期是由一個(gè)下降沿之后的上升沿序列。 位 6:如果為 0,則表示存取日歷時(shí)鐘數(shù)據(jù),為 1 表示存取 RAM 數(shù)據(jù); 位 5 至位 1( A4~ A0):指示操作單元的地址; 位 0(最低有效位):如為 0,表示要進(jìn)行寫操作,為 1 表示進(jìn)行讀操作。時(shí)鐘脈沖的個(gè)數(shù)在單字節(jié)方式下為 8 加 8,在多字節(jié)方式下為 8 加字節(jié)數(shù),最大可達(dá) 248 字節(jié)數(shù)。工作電壓寬達(dá) ~ 。當(dāng)作為輸入腳時(shí)被外部信號(hào)拉低的 P1 口會(huì)因?yàn)閮?nèi)部上拉而輸出一個(gè)電流。 ( 2) VPP 功能:片內(nèi)有 EPROM 的芯片,在 EPROM 編程期間,此引腳用于施加編程電源。 RST/VPD—— 復(fù)位 /備用電源。在 ALE 信號(hào)的下降沿,鎖定 P0 口傳送的內(nèi)容,即低 8 位地址信號(hào)。 AT89C51 單片機(jī)一般采用雙列直插 DIP 封裝,共 40 個(gè)引腳,圖 為其引腳排列圖。 A T 8 9 C 5 1D S 1 3 0 2 時(shí) 鐘 電 路時(shí) 鐘 振 蕩 電 路鍵 盤 控 制 模 塊1 6 0 2 液 晶 模 塊電 源 模 塊 圖 主電路設(shè)計(jì)框圖 本設(shè)計(jì)采用 C 語言程序設(shè)計(jì),使單片機(jī)控制 液晶 顯示年、月、日、時(shí)、分、秒,當(dāng)秒計(jì)數(shù)滿 60 時(shí)就向分進(jìn)位,分計(jì)數(shù)器計(jì)滿 60 后向時(shí)計(jì)數(shù)器進(jìn)位,小時(shí)計(jì)數(shù)器按“ 23 翻 0”規(guī)律計(jì)數(shù)。 本文將詳細(xì)介紹 AT89C51 單片機(jī)和 DS1302 時(shí)鐘芯片的基本原理,從軟件和硬件電路的實(shí)現(xiàn)兩大方面進(jìn)行分析 。它體積小、重量輕、抗干擾能力強(qiáng)、環(huán)境要求不高、價(jià)格低廉、可靠性高、靈活性好、開發(fā)較為容易,廣泛應(yīng)用于智能生產(chǎn)和工業(yè)自動(dòng)化上。 山東建筑大學(xué)信息與電氣工程學(xué)院課程設(shè)計(jì)說明書 2 2 設(shè)計(jì)要求 1.設(shè)計(jì)能支持年、月、日、星期、時(shí)、分、秒的時(shí)鐘,時(shí)鐘有時(shí)間調(diào)整功能及鬧鐘功能; 2.時(shí)鐘具有裝卸電池時(shí)掉電保護(hù)功能,保護(hù)時(shí)間大于 5 分鐘; 3.時(shí)鐘功耗小于 。其最突出的優(yōu)點(diǎn)是片內(nèi) ROM 為 Flash ROM,可擦寫 1000 次以上,應(yīng)用并不復(fù)雜的通用 ROM 寫入器就能方便的擦寫,讀取也很方便,價(jià)格低廉,具有片程序 ROM 二級保密系統(tǒng)。 ( 1) ALE 功能:用來鎖存 P0 口送出的低八位地址。 山東建筑大學(xué)信息與電氣工程學(xué)院課程設(shè)計(jì)說明書 6 89C51 讀外 ROM 時(shí),每個(gè)機(jī)器周期內(nèi) PSEN 兩次有效輸出。 AT89C51 單片機(jī) ROM 尋址范圍為 64KB,其中 4KB 在片內(nèi), 60KB 在片外 。在 Flash 編程時(shí), P0 端口接收指令字節(jié);而在驗(yàn)證程序時(shí),則輸出指令字節(jié)。 P3 口是帶內(nèi)部上拉電阻的雙向 I/O 口,向 P3 口寫入 1 時(shí) P3 口被內(nèi)部上拉為高電平可用作輸入口,當(dāng)作為輸入腳時(shí)被外部拉 低的 P3 口會(huì)因?yàn)閮?nèi)部上拉而輸出電流。 (1) DS1302數(shù)據(jù)操作原理 DS1302 在任何數(shù)據(jù)傳送時(shí)必須先初始化,把 RST 腳置為高電平,然后山東建筑大學(xué)信息與電氣工程學(xué)院課程設(shè)計(jì)說明書 9 把 8 位地址和命令字裝入移位寄存器,數(shù)據(jù)在 SCLK 的上升沿被輸入。 SCLK:串行時(shí)鐘,輸入,控制數(shù)據(jù)的輸入與輸出; I/O:三線接口時(shí)的雙向數(shù)據(jù)線; CE:輸 入信號(hào),在讀、寫數(shù)據(jù)期間,必須為高。 CE 輸入有兩個(gè)功能。 對于數(shù)據(jù)輸出:開始的 8 個(gè) SCLK 周期,輸入一個(gè)讀命令字節(jié),數(shù)據(jù)字節(jié)在后 8 個(gè) SCLK 周期的下降沿輸出。 (1)LCD1602 引腳及功能 LCD1602 的引腳如圖 所示: ① VSS:電源 地 。 ⑧ BLA:背光源正極; ⑨ BLK:背光源負(fù)極。 在設(shè)計(jì)過程中我們利用 Altium 軟件進(jìn)行原理圖及 PCB 圖的繪制,最后再利仿真軟件進(jìn)行檢查,看程序是否能顯示其功能。 sbit RS=P1^5。 /************************************************************/ //全局變量及常量定義 uchar i=20,j。 //鬧鐘中用的全局變量 uchar th1,tl1。 RW=0。 delay1ms(2)。 //顯示器開、光標(biāo)關(guān) Enable()。 CLK=0。 //向 DS1302 寫入一字節(jié)數(shù)據(jù) _nop_()。 //右移一位 _nop_()。 //不顯示字符 TimeBuf[2]=TimeBuf[5]=39。 DS1302_Write(0xc5)。 //讀取數(shù)據(jù) RST=0。 P32=!P32。 b=aamp。 D1: do { b。 ET1=0。 TimeBuf[6]=TimeBuf[7]=0x30。 if((KEY1 == 1)||(KEY2 == 1)||(KEY3 == 1)||(KEY4 == 1)) { delay1ms(100)。 //將字符格式的年份轉(zhuǎn)換為數(shù)值格式 month=(DataBuf[7]amp。 if((year%4)!=0) if(month==2amp。(year%4)==0) //計(jì)算是否閏年 day=29。0xf)。 n++。 DataBuf[10]=day/10+0x30。 DS1302_Write(0x8a)。0xf))。 RST=0。 for(i=1。0xf)+0x30。 P2=0xff。 n++。 if(n59) n=0。 RST=0。 山東建筑大學(xué)信息與電氣工程學(xué)院課程設(shè)計(jì)說明書 32 DS1302_Write(DataBuf[0])。 } } } if(j==0) { TR0=0。 RST=0。0xf)*16+(DataBuf[i+1]amp。0xf))。 //清屏并光標(biāo)復(fù)位 Enable()。 //讀取時(shí)間 LCDShow()。 } else if(KEY2 == 1) { SetAlarm()。 } } 。 if(DataBuf[0]==FLAG) DataBuf[0]=0x20。 山東建筑大學(xué)信息與電氣工程學(xué)院課程設(shè)計(jì)說明書 34 P2=0xff。 //設(shè)置顯示模式 :8 位 2 行 5x7 點(diǎn)陣 Enable()。 } } /************************************************************/ //主函數(shù) main() { IE=0x82。 山東建筑大學(xué)信息與電氣工程學(xué)院課程設(shè)計(jì)說明書 33 RST=0。 DS1302_Write(SetWeek())。 return。 TR0=0。 DS1302_Write((TimeBuf[3]amp。 TimeBuf[4]=n%10+0x30。 TimeBuf[0]=n/10+0x30。 //延時(shí) 去抖動(dòng) if((KEY1 == 1)||(KEY2 == 1)||(KEY3 == 1)||(KEY4 == 1)) { 山東建筑大學(xué)信息與電氣工程學(xué)院課程設(shè)計(jì)說明書 31 j=7。 LCDShow()。i++) { DataBuf[i]=0x20。 return。 } for(i=0。 RST=0。 LCDShow()。 TimeBuf[3]=n/10+0x30。 if(n23) n=0。 if(dayDay[month1]) { if(month==2amp。day==29) day=28。0xf)。 if(KEY1 == 1) { i+=3。 LCDShow()。 return。n3。 a=4。 ET1=1。 //將兩位數(shù)據(jù)的十位轉(zhuǎn)為字符格式 TimeBuf[i+1]=time[m]%16+0x30。 RST=0。 //時(shí)間分隔顯示 DS1302_Write(0xc1)。 //拉低時(shí)鐘脈沖
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1