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

正文內(nèi)容

[電子電路]基于at89c52單片機的數(shù)字時鐘系統(tǒng)設(shè)計-資料下載頁

2024-10-14 00:41本頁面

【導(dǎo)讀】人類的生活和工作均離不開時鐘。從古代的滴漏更鼓到近代的機械鐘,從。鐘表的數(shù)字化,大力推動了計時的精確性和可靠性。高,傳統(tǒng)的時鐘已不能滿足人們的要求。多功能數(shù)字鐘不管在性能還是在樣。式上都發(fā)生了質(zhì)的變化,有電子鬧鐘、數(shù)字鬧鐘等等。了極大的方便[1]。構(gòu)成復(fù)雜的工業(yè)過程控制系統(tǒng),完成復(fù)雜的控制功能。制,甚至可以用于兒童電子玩具。對多路電器進(jìn)行控制,同時又可以進(jìn)行時鐘校準(zhǔn)和定點打鈴。在城市的主要營業(yè)場所、車站、碼頭等公共場所使用LCD數(shù)字電子。鐘已經(jīng)成為一種時尚。但目前市場上各式各樣的LCD數(shù)字電子鐘大多數(shù)用全。計數(shù),從而實現(xiàn)24小時制定時。鍵、鬧鐘定時鍵、加1鍵和減1鍵等。K4模塊進(jìn)行復(fù)位,設(shè)置小時和分,輸出整點報時信號和時,分,秒信號。發(fā)展,人們對于時鐘的要求在不斷提高。時鐘已不僅僅被看出一種用來顯示。多功能、小體積、低功耗,是現(xiàn)代時鐘發(fā)展的趨勢。本論文主要研究基于單片機的數(shù)字時鐘設(shè)計。鍵;K4:確定鍵。

  

【正文】 ND 0 // Command define LCD_DATA 1 // Data define LCD_CLEAR_SCREEN 0x01 // 清屏 define LCD_HOMING 0x02 // 光標(biāo)返回原點 void LCD_Write(bit style, unsigned char input) { LcdEn=0。 LcdRs=style。 LcdRw=0。 _nop_()。 DBPort=input。 _nop_()。//注意順序 LcdEn=1。 _nop_()。//注意順序 LcdEn=0。 _nop_()。 LCD_Wait()。 } //設(shè)置顯示模式 ************************************************************ define LCD_SHOW 0x04 //顯示開 define LCD_HIDE 0x00 //顯示關(guān) define LCD_CURSOR 0x02 //顯示光標(biāo) define LCD_NO_CURSOR 0x00 //無光標(biāo) define LCD_FLASH 0x01 //光標(biāo)閃動 define LCD_NO_FLASH 0x00 //光標(biāo)不閃動 void LCD_SetDisplay(unsigned char DisplayMode) { LCD_Write(LCD_COMMAND, 0x08|DisplayMode)。 } //設(shè)置輸入模式 ************************************************************ define LCD_AC_UP 0x02 define LCD_AC_DOWN 0x00 // default define LCD_MOVE 0x01 // 畫面可平移 define LCD_NO_MOVE 0x00 //default void LCD_SetInput(unsigned char InputMode) { 淮陰工學(xué)院畢業(yè)設(shè)計說明書 ( 論文 ) 第 35 頁共 50 頁 LCD_Write(LCD_COMMAND, 0x04|InputMode)。 } //初始化 LCD************************************************************ void LCD_Initial() { LcdEn=0。 LCD_Write(LCD_COMMAND,0x38)。 //8 位數(shù)據(jù)端口 ,2 行顯示 ,5*7 點陣 LCD_Write(LCD_COMMAND,0x38)。 LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR)。 //開啟顯示 , 無光標(biāo) LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN)。 //清屏 LCD_SetInput(LCD_AC_UP|LCD_NO_MOVE)。 //AC 遞增 , 畫面不動 } //液晶字符輸入的位置 ************************ void GotoXY(unsigned char x, unsigned char y) { if(y==0) LCD_Write(LCD_COMMAND,0x80|x)。 if(y==1) LCD_Write(LCD_COMMAND,0x80|(x0x40))。 } //將字符輸出到液晶顯示 void Print(unsigned char *str) { while(*str!=39。\039。) { LCD_Write(LCD_DATA,*str)。 str++。 } } /***********DS1302 時鐘部分子程序 ******************/ typedef struct __SYSTEMTIME__ { unsigned char Second。 unsigned char Minute。 unsigned char Hour。 unsigned char Week。 unsigned char Day。 unsigned char Month。 unsigned char Year。 unsigned char DateString[11]。 淮陰工學(xué)院畢業(yè)設(shè)計說明書 ( 論文 ) 第 36 頁共 50 頁 unsigned char TimeString[9]。 }SYSTEMTIME。 //定義的時間類型 SYSTEMTIME CurrentTime。 define AM(X) X define PM(X) (X+12) // 轉(zhuǎn)成 24 小時制 define DS1302_SECOND 0x80 //時鐘芯 片的寄存器位置 ,存放時間 define DS1302_MINUTE 0x82 define DS1302_HOUR 0x84 define DS1302_WEEK 0x8A define DS1302_DAY 0x86 define DS1302_MONTH 0x88 define DS1302_YEAR 0x8C void DS1302InputByte(unsigned char d) //實時時鐘寫入一字節(jié) (內(nèi)部函數(shù) ) { unsigned char i。 ACC = d。 for(i=8。 i0。 i) { DS1302_IO = ACC0。 //相當(dāng)于匯編中的 RRC DS1302_CLK = 1。 DS1302_CLK = 0。 ACC = ACC 1。 } } unsigned char DS1302OutputByte(void) //實時時鐘讀取一字節(jié) (內(nèi)部函數(shù) ) { unsigned char i。 for(i=8。 i0。 i) { ACC = ACC 1。 //相當(dāng)于匯編中的 RRC ACC7 = DS1302_IO。 DS1302_CLK = 1。 DS1302_CLK = 0。 } return(ACC)。 } void Write1302(unsigned char ucAddr, unsigned char ucDa) //ucAddr: DS1302 地址 , ucData: 要寫的數(shù)據(jù) { DS1302_RST = 0。 淮陰工學(xué)院畢業(yè)設(shè)計說明書 ( 論文 ) 第 37 頁共 50 頁 DS1302_CLK = 0。 DS1302_RST = 1。 DS1302InputByte(ucAddr)。 // 地址,命令 DS1302InputByte(ucDa)。 // 寫 1Byte 數(shù)據(jù) DS1302_CLK = 1。 DS1302_RST = 0。 } unsigned char Read1302(unsigned char ucAddr) //讀取 DS1302 某地址的數(shù)據(jù) { unsigned char ucData。 DS1302_RST = 0。 DS1302_CLK = 0。 DS1302_RST = 1。 DS1302InputByte(ucAddr|0x01)。 // 地址,命令 ucData = DS1302OutputByte()。 // 讀 1Byte 數(shù)據(jù) DS1302_CLK = 1。 DS1302_RST = 0。 return(ucData)。 } void DS1302_GetTime(SYSTEMTIME *Time) //獲取時鐘芯片的時鐘數(shù)據(jù)到自定義的結(jié)構(gòu)型數(shù)組 { unsigned char ReadValue。 ReadValue = Read1302(DS1302_SECOND)。 TimeSecond = ((ReadValueamp。0x70)4)*10 + (ReadValueamp。0x0F)。 ReadValue = Read1302(DS1302_MINUTE)。 TimeMinute = ((ReadValueamp。0x70)4)*10 + (ReadValueamp。0x0F)。 ReadValue = Read1302(DS1302_HOUR)。 TimeHour = ((ReadValueamp。0x70)4)*10 + (ReadValueamp。0x0F)。 ReadValue = Read1302(DS1302_DAY)。 TimeDay = ((ReadValueamp。0x70)4)*10 + (ReadValueamp。0x0F)。 ReadValue = Read1302(DS1302_WEEK)。 TimeWeek = ((ReadValueamp。0x70)4)*10 + (ReadValueamp。0x0F)。 ReadValue = Read1302(DS1302_MONTH)。 TimeMonth = ((ReadValueamp。0x70)4)*10 + (ReadValueamp。0x0F)。 ReadValue = Read1302(DS1302_YEAR)。 TimeYear = ((ReadValueamp。0x70)4)*10 + (ReadValueamp。0x0F)。 } void DateToStr(SYSTEMTIME *Time) //將時間年 ,月 ,日 ,星期數(shù)據(jù)轉(zhuǎn)換成液晶顯示字符串 ,放到數(shù)組里 DateString[] { if(hide_year2) //這里的 if,else 語句都是判斷位閃爍 ,2 顯示數(shù)據(jù) ,2淮陰工學(xué)院畢業(yè)設(shè)計說明書 ( 論文 ) 第 38 頁共 50 頁 就不顯示 ,輸出字符串為 2020/07/22 { TimeDateString[0] = 39。239。 TimeDateString[1] = 39。039。 TimeDateString[2] = TimeYear/10 + 39。039。 TimeDateString[3] = TimeYear%10 + 39。039。 } else { TimeDateString[0] = 39。 39。 TimeDateString[1] = 39。 39。 TimeDateString[2] = 39。 39。 TimeDateString[3] = 39。 39。 } TimeDateString[4] = 39。/39。 if(hide_month2) { TimeDateString[5] = TimeMonth/10 + 39。039。 TimeDateString[6] = TimeMonth%10 + 39。039。 } else { TimeDateString[5] = 39。 39。 TimeDateString[6] = 39。 39。 } TimeDateString[7] = 39。/39。 if(hide_day2) { TimeDateString[8] = TimeDay/10 + 39。039。 TimeDateString[9] = TimeDay%10 + 39。039。 } else { TimeDateString[8] = 39。 39。 TimeDateString[9] = 39。 39。 } if(hide_week2) { week_value[0] = TimeWeek%10 + 39。039。 //星期的數(shù)據(jù)另外放到 week_value[]數(shù)組里 ,跟年 ,月 ,日的分開存放 ,因為等一下要在最后顯示 } else { week_value[0] = 39。 39。 淮陰工學(xué)院畢
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1