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

正文內(nèi)容

片機課程設計--基于51單片機的萬年歷(完整版)

2025-07-24 22:45上一頁面

下一頁面
  

【正文】 write_1602dat(39。)。 case 6:write_1602dat(39。)。H39。 write_1602dat(39。)。 case 2:write_1602dat(39。)。 gw=dat%10。//向 DS1302內(nèi)寫年份寄存器 8cH寫入初始年份數(shù)據(jù) 10 write_1302(0x8e,0x80)。 write_1302(0x8e,0x00)。 RST=0。 RST=0。 ACC=ACC1。 SCLK=1。//數(shù)字 +30得到該數(shù)字的 LCD1602顯示碼 write_1602dat(0xdf)。//取得百位數(shù)字 } else { dat=256dat。 單片機主控制模塊的設計 AT89S52 單片機為 40 引腳雙列直插芯片 ,有四個 I/O 口P0,P1,P2,P3, MCS51 單片機共有 4 個 8 位的 I/O 口( P0、 P P AT89S52 主控制模 塊 時鐘模塊 LCD 液晶 顯示模塊 溫度采集模塊 鍵盤 模塊 鈴聲報點模塊 P3),每一條 I/O 線都能獨立地作輸出或輸入。程序采用 C 語言編寫。該電路采用 AT89S52 單片機作為核心,功耗小, 能在 3V 的低壓工作,電壓可選用 3~5V 電壓供電。 本設計是基于 51 系列的單片機進行的電子萬年歷設計,可以顯示年月日時分秒及周信息,具有可調(diào)整日期和時間功能。所有程序編寫完成后,在 KeilC51 軟件中進行調(diào)試,確定沒有問題后,在 Proteus 軟件中嵌入單片機內(nèi)進行仿真,并最終實現(xiàn)基本要求。 單片機的最小系統(tǒng)如下圖所示 ,18 引腳和 19 引腳 接時鐘電路 ,XTAL1接外部晶振和微調(diào)電容的一端 ,在片內(nèi)它是振蕩器倒相放大器的輸入 ,XTAL2接外部晶振和微調(diào)電容的另一端 ,在片內(nèi)它是振蕩器倒相放大器的輸出 .第 9 引腳為復位輸入端 ,接上電容 ,電阻及開關(guān)后夠上電復位電路 ,20 引腳為接地端 ,40 引腳為電源端 . 液晶顯示 模塊的設計 LCD1602有 16個引腳,其中 VCC、 VSS分別為電源正負極; VO為液晶偏壓信號輸入端,圖中 W1可調(diào)節(jié)液晶明亮度; DB0— DB7 8位數(shù)據(jù)段; BLA、 BLK背光源正負極; RS數(shù)據(jù) /命令選擇端; R/W讀寫選擇端; E使能端 溫度采集模塊設計 采用數(shù)字式溫度傳感器 DS18B20, 它是 數(shù)字式溫度傳感器 , 具有測量精度高 ,電路連接簡單特點, 此類傳感器僅需要一條數(shù)據(jù)線進行數(shù)據(jù)傳輸, 使用P 與 DS18B20 的 I/O 口連接加一個上拉電阻 ,Vcc 接電源 ,Vss 接地。 gw=dat%10。//顯示溫度的小圓圈符號, 0xdf 是液晶屏字符庫的該符號地址碼 write_1602dat(0x43)。 ACC=ACC1。 } return (ACC)。 } uchar read_1302(uchar add)//從 1302讀數(shù)據(jù)函數(shù),指定讀取數(shù)據(jù) 來源地址 { uchar temp。 return(temp)。 //允許寫,禁止寫保護 write_1302(0x80,0x00)。 //打開寫保護 } 時分秒顯示子函數(shù) void write_sfm(uchar add,uchar dat)//向 LCD寫時分秒 ,有顯示位置加、現(xiàn)示數(shù)據(jù),兩個參數(shù) { uchar gw,sw。//取得個位數(shù)字 sw=dat/10。//星期數(shù)為 1時,顯示 write_1602dat(39。T39。 break。D39。)。//星期數(shù)據(jù)為 5時顯示 write_1602dat(39。S39。 break。N39。 //允許 T0中斷 TR0=1。//設置按鍵共有秒、分、時、星期、日、月、年、返回, 8個功能循環(huán) switch(key1n) { case 1: TR0=0。 break。//按動 4次, week //write_1602(0x0f)。 case 7: write_1602(yh+0x04)。 write_1602dat(0x46)。 write_1602dat(0x20)。 } } } //加鍵 key2 if(key1n!=0)//當 key1按下以下。//秒超過 59,再加 1,就歸零 write_sfm(0x08,miao)。 case 2:fen++。//因為設置液晶的模式是寫入數(shù)據(jù)后,指針自動加一,在這里是寫回原來的位置 break。//打開寫保護 write_1602(er+3)。//指定周數(shù)據(jù)顯示內(nèi)容 temp=(week)/10*16+(week)%10。 break。//令 LCD在正確的位置顯示 加 設定好的日期數(shù)據(jù) temp=(ri)/10*16+(ri)%10。 write_nyr(6,yue)。 if(nian==100) nian=0。 case 8: write_1602(er+9)。 if(fen1==60) fen1=0。//令 LCD在正確的位置顯示 加 設 定好的小時數(shù)據(jù) write_1602(er+3)。 while(!key3)。 //打開寫保護 write_1602(er+0x09)。//允許寫,禁止寫保護 write_1302(0x82,temp)。//十進制轉(zhuǎn)換成 DS1302要求的 DCB碼 write_1302(0x8e,0x00)。//指定 39。//因為設置液晶的模式是寫入數(shù)據(jù)后,指針自動加一,所以需要光標回位 break。 break。 case 6:yue。//因為設置液晶 的模式是寫入數(shù)據(jù)后,指針自動加一,所以需要光標回位 break。//打開寫保護 write_1602(yh+4)。 case 9: write_1602(er+6)。 if(shi1==1) shi1=23。 //打開 LCD的背光電源 buzzer=0。 shi = BCD_Decimal(read_1302(0x85))。//分,從第二行第 5個字符后開始顯示 write_sfm(2,shi)。amp。miao==0) { clock=1。把編程當成一個游戲來玩,和電腦直接對話,在千百次的調(diào)試中發(fā)現(xiàn)自己犯的錯誤,了解程序的執(zhí)行過程,意外發(fā)現(xiàn)一些自己不知道的東西,這是很有收獲的!時常編程,時常把自己想到的問題用程序來實現(xiàn),在學習期間我就不會寂寞,也會不斷肯定自己,不斷提高自己! 本次試驗使我對 DS130 DS18B單片機定時功能等有了更深的認識。尤其是閏年、平年二月日期的顯示問題,此問題我最初根本就沒有考慮到, 在最后才解決。//蜂 鳴器短響一次 delay(20)。//蜂鳴器短響一次 delay(20)。//日期,從第二行第 9個字符后開始顯示 write_nyr(6,yue)。 yue = BCD_Decimal(read_1302(0x89))。 buzzer=1。//令 LCD在正確的位置顯示 加 設定好的小時數(shù)據(jù) write_1602(er+3)。 if(fen1==1) fen1=59。 case 8: write_1602(er+9)。 if(nian==1) nian=99。 write_nyr(6,yue)。 temp=(ri)/10*16+(ri)%10。 switch(yue) { case 1:case 3:case 5:case 7:case 8:case 10:case
點擊復制文檔內(nèi)容
畢業(yè)設計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1