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

正文內(nèi)容

基于單片機的電子時鐘數(shù)字鐘電子萬年歷的(編輯修改稿)

2025-01-09 00:56 本頁面
 

【文章內(nèi)容簡介】 0,P3= //內(nèi)部等待函數(shù) ************************************************************************** unsigned char LCD_Wait(void) {LcdRs=0。LcdRw=1。 _nop_()。LcdEn=1。 _nop_()。 LcdEn=0。return DBPort。} //向 LCD 寫入命令或數(shù)據(jù) ************************************************************ define LCD_COMMAND 0 // Command define LCD_DATA 1 // Data define LCD_CLEAR_SCREEN 0x01 // 清屏 define LCD_HOMING 0x02 // 光標返回原點 void LCD_Write(bit style, unsigned char input) 河南理工大學萬方科技學院單片機課程設(shè)計報告 19 {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 //顯示光標 define LCD_NO_CURSOR 0x00 //無光標 define LCD_FLASH 0x01 //光標閃動 define LCD_NO_FLASH 0x00 //光標不閃動 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) {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)。 //開啟顯示 , 無光標 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__ 河南理工大學萬方科技學院單片機課程設(shè)計報告 20 { 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]。 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。 //相當于匯編中的 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。 //相當于匯編中的 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。 DS1302_CLK = 0。 DS1302_RST = 1。 DS1302InputByte(ucAddr)。 // 地址,命令 DS1302InputByte(ucDa)。 // 寫 1Byte 數(shù)據(jù) DS1302_CLK = 1。 河南理工大學萬方科技學院單片機課程設(shè)計報告 21 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就不顯示 ,輸出字符串為 2021/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。} 河南理工大學萬方科技學院單片機課程設(shè)計報告 22 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。03
點擊復制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1