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

正文內(nèi)容

畢業(yè)設計-基于單片機萬年歷的設計(參考版)

2024-12-07 19:09本頁面
  

【正文】 }} 。i5。 dsaddshuju(0x8c,(a[11]4)+a[10])。 dsio=0。// 寫 1Byte 數(shù)據(jù) dssclk=1。 dswrite(add)。 dssclk=0。 } return temp。 delay(1)。 delay(1)。i++) { temp=temp1。 for(i=0。 delay(1)。 temp=temp1。 delay(1)。 delay(1)。i++) { dsio=tempamp。 for(i=0。 delay(1)。 uint a[24]={0,0,0,0,0,0,1,0,1,0,9,0,0,0,0,0,0,0,1,0,1,0,9,0}。 sbit dssclk=P2^1。 return(t)。 tt=t*。 t=8。 b=readds18b20()。 writeds18b20(0xBE)。//開啟溫度轉(zhuǎn)換 ds18b20on()。 writeds18b20(0xCC)。 float tt=0。 } } //讀取溫度 readtemperature(void) { uchar a=0,b=0。 dq=1。0x01。i) { dq=0。 for(i=8。 } return(dat)。 if(dq) dat|=0x80。 dat=1。i0。 } //讀一個字節(jié) readds18b20(void) { uchar i=0,dat=0。 sdelay(14)。 sdelay(80)。 sdelay(8)。 } ds18b20on(void)//ds18b20 初始化 { uchar x=0。 } DS18B20 頭文件: include define uint unsigned int define uchar unsigned char sbit dq=P0^3。//開顯示,光標不閃爍 lcdwrite(0x06)。 lcdwrite(0x38)。 29 lcden=0。 lcden=1。 P1=shuju。 lcden=0。 lcden=1。 P1=write。y)。x) for(y=110。 for(x=z。 sbit lcden=P0^2。 }} 子程序: LCM1602 頭文件: include define uint unsigned int define uchar unsigned char sbit lcdrs=P0^0。 28 lcdwrite(0x8e+0x40)。 lcdwrite(0x8d+0x40)。不然會出現(xiàn)溫度到 25 后回 00 的現(xiàn)象。} } temp=readtemperature()。 if(c==100){bigclock=0。} if(bigclock==1) { speaker=1。} else {lcdwrite(0x8e)。39。 lcdshuju(39。 else num=0。i++) {if(a[i+12]==a[i])num++。 if(b5==0) { for(i=0。 lcdscan()。0x0f。0x0f。 dsrst=0。 dswrite(0x8d)。0x0f。0x0f。 dsrst=0。 dswrite(0x81+i*2)。i5。 dssclk=0。 delay(1)。i8。 } lcdwrite(0x84+0x40)。i++) { lcdshuju(row1[i])。 for(i=0。 lcdon()。 lcdrw=0。} if(b5==0)clock=12。 if(b1==1) { dsaddshuju(0x80,(a[1]4)+a[0])。 lcdshuju(a[102*jj+clock]+0x30)。 lcdshuju(a[112*jj+clock]+0x30)。 delay(200)。 lcdwrite(j[jj]+1)。 } lcdwrite(j[jj])。i++) 26 { a[11i*2+clock]=b[i]/10。 } for(i=0。} if(b[1]==0)b[1]=12。b[0]%100!=0) || b[0]%400==0){if(b[2]=0)b[2]=year2[b[1]1]。 if((b[0]%4==0amp。 if(b[4]==1)b[4]=59。 b[jj]。 if(b[0]==100)b[0]=0。} else {if(b[2]year1[b[1]1])b[2]=1。amp。 if(b[3]==24)b[3]=0。 if(b[5]==60)b[5]=0。} } if(b2==0) { delay(3)。 jj++。i++) {b[i]=a[11i*2+clock]*10+a[10i*2+clock]。 while(b1==0) { for(i=0。 lcdshuju(a[10i*2]+0x30)。 lcdshuju(a[11i*2]+0x30)。i6。//鬧鐘 sbit speaker=P3^5。//下調(diào) sbit b4=P3^3。//設置 sbit b2=P3^1。 //i 循環(huán)數(shù), k 溫度緩存, jj 地址位 uint temp。//潤年 uchar j[6]={0x85,0x88,0x8b,0x84+0x40,0x87+0x40,0x8a+0x40}。 uchar year1[12]={31,28,31,30,31,30,31,31,30,31,30,31}。 //年、月、日、時、分、秒 uchar code row1[]={20210101}。 在畢業(yè)之際,我衷心地同學和朋友們在以后的人生道路上越走越寬廣,也深深相信在未來的日子里我們將一路攜手前行,會 遇到 很多的碰撞和交流,我們將始終記得我們曾在三門峽 職 業(yè)技術學 院同窗學習,這將是我克服困難、不斷前進的精神動力。同時也要感謝學校能給我這次機會去嘗試自己設計一些東西,使自己所學專業(yè)知識與實踐相結合。在此,謹對培育我的母校、教導我的老師、幫助我的同學們致予最誠摯的謝意和敬意。 21 致謝 在 三門峽 職業(yè)技術學院的三年學習時間即將過去,三年時間并不算長,但對我而言,是磨礪青春、揮灑書生意氣的三年,也是承受師恩、增長才干、提高學識的三年。 美中不足的是并沒有給出與陽歷同步的陰歷算法,久經(jīng)思索卻終究未能達成。從元件性能和組裝電路后的測試結果來看,硬件電路的設計是比較成功的。最后選擇了 DS18B20,此類傳感器為數(shù)字式傳感器而且僅需要一條數(shù)據(jù)線進行數(shù)據(jù)傳輸,易于與單片機連接,可以避免 A/D 模數(shù)轉(zhuǎn)換模塊,降低硬件成本,簡化系統(tǒng)電路。因此采用專業(yè)的時鐘芯片 DS1302,它可以對年、月、日、周日、時、分、秒進行計時,具有閏年補 償功能,主要特點是采用串行數(shù)據(jù)傳輸,可為掉電保護電源提供可編程的充電功能;在顯示模塊的選擇上,若采用 LED 數(shù)碼管動態(tài)掃描 ,LED數(shù)碼管價格雖適中 ,對于顯示數(shù)字也最合適 ,而且采用動態(tài)掃描法與單片機連接時 ,占用的單片機口線少。在時鐘芯片的選擇上,若直接采用單片機定時計數(shù)器提供秒信號,使用程序?qū)崿F(xiàn)年、月、日、星期、時、分、秒計數(shù)。硬件層面而言操作相對簡單,界面比較友好。所以在調(diào)用溫度子程序時,先關閉定時器 1中斷允許,在溫度子程序反回時再打開定時器 1 中斷允許。對芯片的讀寫都需要在相應的觸發(fā)沿到來時才能進行。首先必須對可編程芯片的控制字即其控制指令要熟記于心。經(jīng)查發(fā)現(xiàn)原來是有尖銳的管腳刺破鄰近的漆包線造成短路,斷掉該線并再次連接可解決問題。在不通電狀態(tài)下用萬用表檢測電路是否正常連接,在檢查回路時發(fā)現(xiàn)有的點之間看似連接,但由于虛焊導致其并無電氣連接,只能對焊腳進行在加工直到解決問題。 19 第四章 系統(tǒng)測試 硬件測試 在 Protues 仿真結束后,于焊接板上完成了硬件組裝。 開始 初始化 讀、寫日 期、時間和溫度 分離日期 \時間 \溫度顯示值 顯示子程序 日期、時間修改子程序 閏月子程序 返回 17 開 始控 制 鍵 有 效 進 入 年 調(diào) 整 程 序等 待 按 鍵 程 序加 鍵 有 效年 減 1年 加 1減 鍵 有 效控 制 鍵 有 效 進 入 小 時 調(diào) 整 程 序等 待 按 鍵 程 序加 鍵 有 效分 鐘 減 1小 時 加 1減 鍵 有 效控 制 鍵 有 效 進 入 日 調(diào) 整 程 序等 待 按 鍵 程 序加 鍵 有 效年 減 1日 加 1減 鍵 有 效控 制 鍵 有 效 進 入 月 調(diào) 整 程 序等 待 按 鍵 程 序加 鍵 有 效月 減 1月 加 1減 鍵 有 效控 制 鍵 有 效 進 入 星 期 調(diào) 整 程 序等 待 按 鍵 程 序加 鍵 有 效星 期 減 1星 期 加 1減 鍵 有 效控 制 鍵 有 效 進 入 分 鐘 調(diào) 整 程 序等 待 按 鍵 程 序加 鍵 有 效分 鐘 減 1分 鐘 加 1減 鍵 有 效按 鍵 有 效 , 跳 出 時 間 調(diào) 整 程 序 , 進 入 主循 環(huán) 程 序 圖 11 時間調(diào)整程序流程圖 18 第二節(jié) 子程序 由于本系統(tǒng)程序涉及的可編程器件有 LCM1602, DS18B20 以及 DS1302,各芯片的控制字及數(shù)據(jù)讀寫如果混雜,將會使程序可讀性大大降低,因此采用子程序的方法進行調(diào)用并將其封裝于各自的頭文件中。 由于在硬件電路方面上設計了時間調(diào)整按鍵和開關,因此應有對應的時間調(diào)整程序。 16 第三章 系統(tǒng)的軟件設計 第一節(jié) 程序流程框圖 圖 10 主程序流程圖 主程序流程圖如上圖 10 所示。 系統(tǒng)仿真電路 本次仿真使用軟件 ,該軟件元件庫豐富,元件封裝要求相對簡單且參數(shù)調(diào)整方便,除此之外,程序還可進行動態(tài)調(diào)試。數(shù)據(jù)指針設置:數(shù)據(jù)首地址為 80H,所以數(shù)據(jù)地址為 80H+地址碼 (027H, 4067H)。顯示模式設置 (初始化 )00111000[0x38]設置 16 2顯示, 5 7點陣, 8 位數(shù)據(jù)接口;顯示開關及光標設置: (初始化 ) 00001DCBD顯示 (1 有效 )、 C 光標顯示 (1有效 )、 B光標閃爍 (1 有效 )。 14 LCM1602 工作原理及說明 (1)寄存器選擇控制 1602 字符型 LCD 通常有 14 條引腳線或 16 條引腳線的 LCD,多出來的 2 條線是背光電源線。時鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器外的所有寄存器內(nèi)容。如下圖 7所示: 13 圖 7 DS1302 讀與寫的 時序圖 (3) DS1302 的寄存器 DS1302 有 12 個寄存器,其中有 7 個寄存器與日歷、時鐘相關,存放的數(shù)據(jù)位為 BCD碼形式 ,其日歷、時間寄存器及其控制字見圖 8。 圖 6 DS1302 的控制字 (3) 數(shù)據(jù)輸入輸出 在控制指令字輸入后的下一個 SCLK 時鐘的上升沿時,數(shù)據(jù)被寫入 DS1302,數(shù)據(jù)輸入從低位即位 0 開始。 (2) DS1302 的控制字 DS1302 的控制字如圖 6 所示。“ WP”是寫保護位,在任何的對時鐘和 RAM 的寫操作之前, WP必須為 0??刂谱止?jié)總是從最
點擊復制文檔內(nèi)容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1