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

正文內容

基于單片機的電子萬年歷帶計算器-文庫吧在線文庫

2024-12-24 02:44上一頁面

下一頁面
  

【正文】 x1B) { Reset()。939。 } }} /* 按鍵驅動函數(shù),檢測按鍵動作,調度相應動作函數(shù),需在主循環(huán)中調用 */ void KeyDriver() { unsigned char i, j。 // 調 用 按 鍵 動 作 函數(shù) } backup[i][j] = KeySta[i][j]。 keybuf[keyout][1] = (keybuf[keyout][1] 1) | KEY_IN_2。 0x0F) == 0x0F) { //連續(xù) 4 次掃描值為 1,即 4*4ms 內都是彈起狀態(tài)時,可認為按鍵已穩(wěn)定的彈起 KeySta[keyout][i] = 1。 //輸出索引遞增 keyout amp。 case 2: KEY_OUT_2 = 1。 sbit LCD1602_RW = P1^1。 //讀取狀態(tài)字 LCD1602_E = 0。 LCD1602_E = 0。 if (y == 0) //由輸入的屏幕坐標計算顯示 RAM 的地址 addr = 0x00 + x。} /* 關閉光標顯示 */ void LcdCloseCursor() { LcdWriteCmd(0x0C)。)。 unsigned char mon。 //200ms 定時標志 struct sTime bufTime。 u8 ZeroFlag=0。u8 T0RL = 0。 extern void SetRealTime(struct sTime *time)。 extern void LcdSetCursor(unsigned char x, unsigned char y)。 //初始化實時時鐘 InitLcd1602()。amp。 GetRealTime(amp。 case 2: LcdShowStr(0, y, *)。 temp = 0。 } void NumKeyAction(u8 n) { static u8 i=0。 number=num1。amp。 pointnum++。 len = LongToString(str, (s32)number)。n==0) ZeroFlag=1。 pointnum++。 LcdAreaClear(1, 1, 14)。 } } } void OprtKeyAction(u8 type) { if(step == 0) { LcdShowStr(16lenpointnum+1,0,str)。 LcdShowStr(16len1, 1, str1)。pointnum4) { if(n=0amp。 } } else { if(PointFlag==0) { i=0。 len1=LongToString(str1, (s32)temp) LcdShowStr(16len1, 1, str1)。amp。 } if(step == 0) { LcdAreaClear(1, 0, 14)。039。 default: break。 //用當前值更新上次秒數(shù) } } }} // void ShowOprt(u8 y, u8 type) { switch(type) { case 0: LcdShowStr(0, y, +)。amp。timext==1) { LcdShowStr(3, 0, 20 )。 void main() { u8 psec=0xAA。 extern void LcdShowStr(u8 x, u8 y, u8 *str)。void ConfigTimer0(u16 ms)。 float num1 = 0。u8 oprt = 0。 unsigned char sec。 第 26 頁 typedef signed char s8。 //文字不動,地址自動 +1 LcdWriteCmd(0x01)。 //設置起始地址 while (*str != 39。 LCD1602_DB = dat。 LCD1602_RS = 0。 LCD1602_RS = 0。 KEY_OUT_4 = 0。 break。 0x0F)==0x00) KeySta[4][k] = 0。 i4。 static unsigned char keybuf1[2]={0xFF, 0xFF} 。 i5。 } else if (keycode == 0x27) //向右鍵,向右切換設置位 { RightShiftTimeSet()。039。 } else if(keycode == 0x28) { OprtKeyAction(1)。 NumKeyAction(11)。939。 LcdFullClear()。 extern void DecSetTime()。 //時間設置索引 extern u8 timext。, 0x1B, 0x0D, 0x27 } , //數(shù)字鍵 0、 ESC 鍵、 回車鍵、 向右鍵 {39。, 0x25 }, //數(shù)字鍵 數(shù)字鍵 數(shù)字鍵 向左鍵 { 39。, 39。 sbit KEY_OUT_4 = P2^0。 typedef unsigned int u16。 DS1302_CE = 0。 buf[4] = timemon。 timehour = buf[2]。 i8。 //發(fā)送突發(fā)寫寄存器指令 for (i=0。 DS1302_CE = 1。 } 第 20 頁 DS1302_CK = 1。 DS1302_CK = 1。 //分 unsigned char sec。 extern void LcdSetCursor(unsigned char x, unsigned char y)。同時也感謝我的同學們,對我的幫助以及支持! 第九章 參考文獻 [1]陳朝大 . 李杏彩 . 單片機原理與應用 . 化學工業(yè)出版社 . 2020: 045747 [2] 田立 .田清 .代方震 .51 單片機 C 語言程序設計 .北京 .人民郵電出版社 .2020: 132148. [3] 張儀和 .例說 51 單片機( C 語言版)(第三版) .北京 .人民郵電出版社 .2020: 374392. [4] 譚浩強 .C 程序設計(第 三版) .北京 .清華大學出版社 .2020: 140150. [5] 溫子祺 .劉志峰 .冼安勝 .林秩謙 .李益鴻 .51單片機 C 語言創(chuàng)新教程 .北京 .北京航空航天大學出版社 .2020: 154163. [6] 俞錫存 .曹國華 .單片機原理及接口技術 .西安 .西安電子科技大學出版社 .2020: 8095. 第 19 頁 第十章 附加程序 DS1302 時鐘芯片程序 include typedef unsigned char u8。 第 17 頁 第七章 總結與體會 在用單片機實現(xiàn)萬年歷計算器的設計中使用 到了 STC89C5 LCD160LDS1302 及其 4*4 鍵盤的使用。本次我采用 Proteus 軟件仿真。這樣鍵盤上按鍵的個數(shù)就為 4*4 個。 DS1302 時鐘芯片選用 的晶振,以此保持時間的準確性。 、 DS1302 的特點 時鐘計數(shù)功能,可以對秒、分、時、日、月、年的計數(shù)。 RST 是復位/片選線 ,通過把 RST 輸入驅動置高電平來啟動所有的 數(shù)據傳送 。 DS1302 內部有一個318 的用于臨時性存放數(shù)據的 RAM 寄存器 。 第 5 腳: R/W 為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。第 9 引腳為復位輸入端 ,接上電容 ,電阻及開關后夠上電復位電路 ,20 引腳 為接地端 ,40 引腳為電源端。片上 Flash 允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。本簡易計算器和電子萬年歷以 AT89S52 單片機作為核心,可以顯示簡易的計算和時間,時間可以人為設定;另外還可以顯示當前的日 歷,顯示格式為年(四位),月(兩位),日(兩位)。電子萬年歷采用直觀數(shù)字顯示,可以同時顯示年、月、日、時、分、秒等信息,還具有定時和時間校準等功能。該電路采用 STC89C52RC 單片機作為核心,功耗小,電壓可選用 ~ 電壓供電。設置時間的位切換、設定數(shù)值、啟動定時器、切換日歷通過外部中斷來實現(xiàn)。在單芯片上,擁有靈巧的 8 位 CPU 和在系統(tǒng)可編程 Flash,使STC89C52 為眾多嵌入式控制應用系統(tǒng)提供高靈活、超有效的解決方案。 圖 如下: 單片機 AT89S52 的引腳圖(圖 ) 、 LCD1602 的原理及其應用 、 LCD1602 的介紹 LCD1602 已很普遍了,具體介紹我就不多說了,市面上字符液晶絕大多數(shù)是基于 HD44780 液晶芯片的,控制原理是完全相同的,因此 HD44780 寫的控制程序可以很方便地應用于市面上大部分的字符型液晶。當RS 和 R/W 共同為低電平時可以寫入指令或者顯示地址,當 RS 為低電平 R/W 為高電平時可以讀忙信號,當 RS 為高電平 R/W 為低電平時可以寫入數(shù)據。 DS1302 是 DS1202 的升級產品,與 DS1202 兼容,但增加了主電源 /后備電源雙電源引腳,同時提供了對后備電源進行涓細電流充電的能力。 RST 輸入有兩種功能:首先, RST 接通控制邏輯,允許地址 /命 令序列送入 移位寄存器 ;其次,RST 提供終止單字節(jié)或多字節(jié)數(shù)據傳送的方法。年計數(shù)可達到 2099 年。并在后備電源處提供了后備電源,當沒有外接電源時,后備電源就供電,這樣就可以保持時鐘芯片的不斷電及掉電也可以準確計時。這種行列式鍵盤結構能有效地提高單片機系統(tǒng)中 I/O 口的利用率。 第 16 頁 如圖 所示,電子萬年歷的時間仿真圖。在設計過程中我通過在課本、網上和圖書館查閱資料,收集了關于單片機、液晶屏 LCD1602 顯示和時鐘芯片 LDS1302 方面的資料,通過對這些資料的學習,我了解了單片機的基本結構和單片機在生活和生產中所發(fā)揮的作用以及液晶顯示器 LCD1602 和 時鐘芯片 LDS1302 的原理和使用。 typedef unsigned int u16。 extern void LcdOpenCursor()。 //秒 }。 //然后拉高時鐘 DS1302_CK = 0。 //然后拉高時鐘 DS1302_CK = 0。 //使能片選信號 DS1302ByteWrite((reg1)|0x81)。 i8。 i++) //連續(xù)讀取 8 個字節(jié) { dat[i] = DS1302ByteRead()。 timemin = buf[1]。 buf[3] = timeday。 //初始化 DS1302 通信引腳 DS1302_CK = 0。 sbit KEY_IN_1 = P2^4。 sbit KEY_IN_Point = P3^7。339。739。.39。 extern void Reset(void)。 extern void RightShiftTimeSet()。 if(timext==0) LcdShowStr(15, 1, 0)。))||keycode==39。} // NumKeyAction(39。 } else if(keycode == 0x25) { OprtKeyAction(2)。) amp。 } else if (keycode == 0x0D) //回車鍵,進入設置模式 /啟用當前設置值 { if (setIndex == 0) //不處于設置狀態(tài)時,進入設置狀態(tài) { EnterTimeSet()。 i++) //循環(huán)檢測 4*4 的矩陣按鍵 { for (j=0。 //將一行的 4 個按鍵值移入緩沖區(qū) keybuf1[0] = (keybuf1[0] 1) | KEY_IN_Point。 i++) //每行 4 個按鍵,所以循環(huán) 4 次
點擊復制文檔內容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1