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

正文內(nèi)容

片機(jī)課程設(shè)計(jì)--電子日歷時(shí)鐘(留存版)

2025-08-03 06:46上一頁面

下一頁面
  

【正文】 高使能端,為制造有效的下降沿做準(zhǔn)備 delay(1)。 sbit en=P3^7。y0。 //en 由高變低,產(chǎn)生下降沿,液晶執(zhí)行命令 } lcd_init()//***液晶初始化函數(shù) **** { write_1602(0x38)。 for(a=8。 RST=1。 return(Decimal=Decimal*10+(bcdamp。//er 是頭文件規(guī)定的值 0x80+0x40 write_1602dat(0x30+sw)。//設(shè)置按鍵按動一次,秒位置顯示光標(biāo) write_1602(0x0f)。 case 6: write_1602(yh+0x04)。//令 LCD 在正確位置顯示 加 設(shè)定好的秒數(shù) temp=(miao)/10*16+(miao)%10。 if(shi==24) shi=0。 break。//向 DS1302內(nèi)寫年份寄存器寫入調(diào)整后的數(shù)據(jù) BCD 碼 write_1302(0x8e,0x80)。//因?yàn)樵O(shè)置液晶的模式是寫入數(shù)據(jù)后,指針自動加一,在這里是寫回原來的位置 break。//向 DS1302 內(nèi)寫小時(shí)寄存器寫入調(diào)整后的數(shù)據(jù) BCD 碼 write_1302(0x8e,0x80)。//十進(jìn)制轉(zhuǎn)換成 DS1302 要求的 DCB 碼 write_1302(0x8e,0x00)。 //定時(shí)器 T0的高四位 =0 TL0=0。//秒,從第二行第 8 個(gè)字后開始顯示(調(diào)用時(shí)分秒顯示子函數(shù)) write_sfm(5,fen)。 ri = BCD_Decimal(read_1302(0x87))。//打開寫保護(hù) write_1602(yh+4)。 case 5:yue。 write_sfm(2,shi)。//十進(jìn)制轉(zhuǎn)換成 DS1302 要求的 DCB 碼 write_1302(0x8e,0x00)。 write_nyr(3,nian)。//十進(jìn)制轉(zhuǎn)換成 DS1302 要求的 DCB 碼 write_1302(0x8e,0x00)。//向 DS1302 內(nèi)寫分寄存寫入調(diào)整后的分?jǐn)?shù)據(jù) BCD 碼 write_1302(0x8e,0x80)。 while(!key2)。 case 4: write_1602(yh+0x0a)。 if(key1n==9) key1n=1。 //打開寫保護(hù) } //時(shí)分秒顯示子函數(shù) void write_sfm(uchar add,uchar dat)//向 LCD 寫時(shí)分秒 ,有顯示位置加、顯示數(shù)據(jù),兩個(gè)參數(shù) { uchar gw,sw。 RST=0。 ACC=ACC1。a++) { write_1602dat(tab2[a])。//送入數(shù)據(jù) delay(1)。//時(shí)間顯示的固定字符 void delay(uint xms)//延時(shí)函數(shù),有參函數(shù) { uint x,y。 在 Proteus 軟件中將設(shè)計(jì)的各個(gè)模塊電路連接好,檢查接線無誤后,將軟件測試產(chǎn)生的“ HEX 文件”燒錄到 AT89S51 中,進(jìn)行仿真測試,根據(jù)結(jié)果修改相應(yīng)電路。//數(shù)據(jù) /指令選擇置為指令 rw=0。 //打開寫保護(hù) } 顯示模塊程序設(shè)計(jì) 液晶 初始化子程序 序流程圖 在液晶顯示子函數(shù)中,首先應(yīng)對 LCD1602 進(jìn)行初始化設(shè)置,然后再對顯示數(shù)據(jù)的位置進(jìn)行設(shè)置;在需要對時(shí)間進(jìn)行校準(zhǔn)時(shí),還要設(shè)置光標(biāo)的顯示位置,其流程圖如下圖, 設(shè) 置 工 作 模 式開 始光 標(biāo) 移 動是 否 顯 示 光 標(biāo)清 顯 示結(jié) 束設(shè) 置 日 歷 顯 示 位 置寫 入 并 顯 示 日 歷 數(shù) 據(jù)設(shè) 置 時(shí) 間 顯 示 位 置寫 入 并 顯 示 時(shí) 間 位 置 圖 12 液晶初始化程序流程圖 具體函數(shù)如下: //***液晶初始化函數(shù) ****// lcd_init() { write_1602(0x38)。 開 始液 晶 初 始 化D S 1 3 0 2 時(shí) 鐘 初 始 化設(shè) 置 定 時(shí) 計(jì) 數(shù) 器鍵 盤 掃 描 子 函 數(shù)顯 示 子 函 數(shù)返 回 圖 11 主程序流程圖 主程序的具體實(shí)現(xiàn) 主程序: //*******************主函數(shù) **************************// void main() { lcd_init()。中有在 SCLK 為低電平時(shí),才能將 RST置為高電平, I/O 為串行數(shù)據(jù)輸入端(雙向)。 DS1302 內(nèi)部有一個(gè) 31*8 的用于臨時(shí)性存放數(shù)據(jù)的 RAM 寄存器。 3. DS1302 的控制字節(jié) DS1302 的控制字如下圖 4所示。采用雙電源供電(主電源和備用電源),可設(shè)置備用電源充電方式,提供了對后背電源進(jìn)行涓細(xì)電流充電的能力。 1. LCD1602 介紹 字符型液晶顯 示模塊是一種專門用于顯示字母、數(shù)字、符號等點(diǎn)陣式 LCD,目前常用 16*1, 16*2, 20*2 和 40*2 行等的模塊。 四 主要參考文獻(xiàn) 何立民 . 單片機(jī)高級教程. 第 1 版.北京:北京航空航天大學(xué)出版社, 2021 MCS— 51 單片機(jī)應(yīng)用設(shè)計(jì) 張毅剛 修林成 胡振江 編 MCS— 51 單片微型計(jì)算機(jī)原理與開發(fā) 王樹勛 王朝玉 張新發(fā) 編 徐愛鈞 KEIL Cx 單片機(jī)高級語言編程與 uVision2 應(yīng)用實(shí)踐,北京,電子工業(yè)出版社, 2021 李全利、仲偉峰、徐軍,單片機(jī)原理及應(yīng)用,北京:清華大學(xué)出版社, 2021 五 、設(shè)計(jì)分組及選題安排 電氣 09 092,三個(gè)題目中每人任選一題。 2. 培養(yǎng)學(xué)生綜合分析問題、發(fā)現(xiàn)問題和解決問題的能力。 4 設(shè)計(jì)參考 基 于 AT89S51 單片機(jī)的電子日歷時(shí)鐘有電源電路、單片機(jī)主控電路、按鍵控制電路和顯示電路組成, DS1302 的寄存器、控制命令及參考電路如圖 1 和表 表 2 所示: 圖 1 基于 AT89S51 單片機(jī)的交通信號燈控制系統(tǒng)框圖 表 1 DS1302 日歷、時(shí)鐘寄存器與控制字對照表 寄存器名稱 7 6 5 4 3 2 1 0 1 RAM/CK A4 A3 A2 A1 A0 RD/W 秒寄存器 1 0 0 0 0 0 0 分寄存器 1 0 0 0 0 0 1 小時(shí)寄存器 1 0 0 0 0 1 0 日 寄存器 1 0 0 0 0 1 1 月寄存器 1 0 0 0 1 0 0 星期寄存器 1 0 0 0 1 0 1 年寄存器 1 0 0 0 1 1 0 寫保護(hù)寄存器 1 0 0 0 1 1 1 慢充電寄存器 1 0 0 1 0 0 0 時(shí)鐘突發(fā)寄存器 1 0 1 1 1 1 1 表 2 DS14302 內(nèi)部主要寄存器分布表 寄存器名稱 命令字 取值范圍 各位內(nèi)容 寫 讀 7 6 5 4 3 2 1 0 秒寄存器 80H 81H 0059 CH 10SEC SEC 分寄存 器 82H 83H 0059 0 10MIN MIN 小時(shí)寄存器 84H 85H 0112或 0023 12/24 0 A HR HR 日期寄存器 86H 87H 0128,29,30,31 0 0 10DATE DATE 月份寄存器 88H 89H 0112 0 0 0 10M MONTH 周寄存器 8AH 8BH 0107 0 0 0 0 0 DAY 年份寄存器 8CH 8DH 0099 10YEAR YEAR 5 知識點(diǎn)準(zhǔn)備: ? +5V電源原理及設(shè)計(jì); ? 單片機(jī)復(fù)位電路工作原理及 設(shè)計(jì)(元件選擇的依據(jù)); ? 單片機(jī)晶振電路工作原理及設(shè)計(jì)(元件選擇的依據(jù)); ? 按鍵電路設(shè)計(jì)(了解常用按鍵設(shè)計(jì)方法)。所以選擇采用 AT89S51作為主控制系統(tǒng)。 簡介: DS1302 是美國 DALLAS 公司推出的一種高性能、低功耗的實(shí)時(shí)時(shí)鐘芯片,附加 31 字節(jié)靜態(tài) RAM,采用 SPI 三線接口與 CPU 進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號和 RAM 數(shù)據(jù)。只有在 SCLK 為低電平時(shí),才能將 RST置為高電平。 電路 系統(tǒng) 設(shè)計(jì)框圖 如圖 5。當(dāng) RST 為高電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許對 DS1302 進(jìn)行操作。 K2:加鍵,當(dāng)光標(biāo)處于相應(yīng)位置時(shí),此按鍵按動一次,該光標(biāo)處的數(shù)值將增一,并且在相應(yīng)的數(shù)據(jù)范圍內(nèi)循環(huán)。 //向 DS1302 內(nèi)寫日期寄存器 86H 寫入初始日期數(shù)據(jù) 12 //write_1302(0x88,0x06)。//寫顯示時(shí)間固定符號,兩個(gè)冒號 //delay(3)。 //en 由高變低,產(chǎn)生下降沿,液晶執(zhí)行命令 } 按鍵掃描子程序 調(diào)整時(shí)間用 3 個(gè)調(diào)整按鈕, 1個(gè)作為 功能 控制用,另外 2 個(gè)分別作為加調(diào)整,減調(diào)整 。 //加鍵 sbit key3=P2^7。//en 由高變低,產(chǎn)生下降沿,液晶執(zhí)行命令 } write_1602dat(uchar dat)//***液晶寫入數(shù)據(jù)函數(shù) **** { rs=1。 } write_1602(er+2)。a) { ACC7=IO。 write_byte(add)。 //向 DS1302 內(nèi)寫日期寄存器 86H 寫入初始日期數(shù)據(jù) 12 //write_1302(0x88,0x06)。//延時(shí),用于消抖動 if(key1==0)//延時(shí)后再次確認(rèn)按鍵按下 { delay(20)。 case 3: write_1602(er+3)。 } } } //加鍵 key2 if(key1n!=0)//當(dāng) key1 按下以下。//令 LCD 在正確位置顯示 加 設(shè)定好的分?jǐn)?shù)據(jù) temp=(fen)/10*16+(fen)%10。 if(ri==32) ri=1。 break。 if(miao==1) miao=59。 break。//向 DS1302 內(nèi)寫日期寄存器寫入調(diào)整后的數(shù)據(jù) BCD 碼 write_1302(0x8e,0x80)。//十進(jìn)制轉(zhuǎn)換成 DS1302 要求的 DCB 碼 write_1302(0x8e,0x00)。 //調(diào)用鍵盤掃描子函數(shù) } } void timer0() interrupt 1 //取得并顯示日歷和時(shí)間 { //讀取秒 分 時(shí) 日 月 年六個(gè)數(shù)據(jù)( DS1302 的讀寄存器與寫寄存器不一樣): miao = BCD_Decimal(read_1302(0x81))。//日期,從第二行第 9 個(gè)字符后開始顯示 write_nyr(6,yue)。 //允許 T0中斷 TR0=1。//打開寫保護(hù) write_1602(yh+7)。 case 4:ri。 write_sfm(5,fen)。 } } } //減鍵 key3,各句功能參照 39。 write_nyr(6,yue)。//十進(jìn)制轉(zhuǎn)換成 DS1302 要求的 DCB 碼 write_1302(0x8e,0x00)。 //向 DS1302內(nèi)寫秒寄存器寫入調(diào)整后的秒數(shù)據(jù) BCD碼 write_1302(0x8e,0x80)。//按動到第 7 次,設(shè)置光標(biāo)不閃爍 TR0=1。 write_1302(0x80,0x80|temp)。 gw=dat%10。 SCLK=0。 SCLK=1。 SCLK=0。//整屏不移動,光標(biāo)自動右移 write_1602(0x01)。//數(shù)據(jù) /指令選擇置為指令 rw=0。 sbit SCLK=P2^1。//數(shù)據(jù) /指令選擇置為數(shù)據(jù) rw=0。a++) { write_1602dat(tab1[a])。 SCLK=0??刂谱止?jié)總是從
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1