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

正文內(nèi)容

畢業(yè)論文-基于mcs-51單片機(jī)的數(shù)字電子鐘設(shè)計(jì)(編輯修改稿)

2025-02-08 12:07 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 DS_DAT P0 define DS_SEC 0x00 define DS_MIN 0x02 define DS_HOR 0x04 define DS_WEK 0x06 define DS_DAY 0x07 define DS_MON 0x08 define DS_YER 0x09 define DS_R_A 0x0A define DS_R_B 0x0B define DS_R_C 0x0C define DS_R_D 0x0D define DS_Y_S 0x0E //年千百位 define CNT_M 30 //控制閃爍速度 ,為偶數(shù) define BCD_DEC(X) (((X amp。 0xF0) 4) * 10 + (X amp。 0x0F)) define DEC_BCD(X) (((X / 10) 4) | (X % 10)) sbit DS_DS = P3^0。 sbit DS_RW = P3^1。 sbit DS_AS = P3^2。 sbit DS_CS = P3^3。 sbit KEY1 = P1^0。 sbit KEY2 = P1^1。 sbit KEY3 = P1^2。 sbit KEY4 = P1^3。 unsigned char dispMode = 0。 //顯示模式 九江學(xué)院 XX unsigned char modify = 0。 //修改模式 unsigned char count = 0。 //修改模 式下閃爍計(jì)數(shù) unsigned char DIS[6]。 unsigned char code C_DAT[]= { 0xC0,/*0*/ 0xF9,/*1*/ 0xA4,/*2*/ 0xB0,/*3*/ 0x99,/*4*/ 0x92,/*5*/ 0x82,/*6*/ 0xF8,/*7*/ 0x80,/*8*/ 0x90,/*9*/ 0xBF,/**/ }。 unsigned char code C_BIT[]={0xDF,0xEF,0xF7,0xFB,0xFD,0xFE}。 void Delay(unsigned int t) { unsigned int a,b。 for (a=0。 at。 a++) for (b=0。 b123。 b++)。 } void DS12887_Write(unsigned char addres,unsigned char dat) { DS_AS = 1。 DS_DS = 1。 DS_RW = 1。 九江學(xué)院 XXI DS_CS = 0。 DS_DAT = addres。 DS_AS = 0。 //add will be write when AS full down DS_RW = 0。 DS_DAT = dat。 DS_RW = 1。 DS_AS = 1。 DS_CS = 1。 } unsigned char DS12887_Read(unsigned char addres) { unsigned char d。 DS_AS = 1。 DS_DS = 1。 DS_RW = 1。 DS_CS = 0。 DS_DAT = addres。 DS_AS = 0。 DS_DS = 0。 DS_DAT = 0xFF。 d = DS_DAT。 DS_DS = 1。 DS_AS = 1。 DS_CS = 1。 return d。 } void DS12887_Init(void) { if (DS12887_Read(DS_Y_S) == 0) 九江學(xué)院 XXII { DS12887_Write(DS_Y_S, 0x20)。 DS12887_Write(DS_HOR, 0x12)。 DS12887_Write(DS_R_A, 0x20)。 DS12887_Write(DS_R_B, 0x02)。 //BCD } } void Display(void) { unsigned char i。 if (dispMode == 0) //顯示模式 0,時(shí)分秒 { i = DS12887_Read(DS_HOR) amp。 0x7F。 DIS[0] = C_DAT[i 4]。 DIS[1] = C_DAT[i amp。 0x0F] amp。 0x7F。 i = DS12887_Read(DS_MIN)。 DIS[2] = C_DAT[i 4]。 DIS[3] = C_DAT[i amp。 0x0F] amp。 0x7F。 i = DS12887_Read(DS_SEC)。 DIS[4] = C_DAT[i 4]。 DIS[5] = C_DAT[i amp。 0x0F] amp。 0x7F。 if (modify != 0 amp。amp。 count CNT_M) //修改模式 123下閃爍 { DIS[2 * (modify 1)] = 0xFF。 DIS[2 * (modify 1) + 1] = 0xFF。 } } else if (dispMode == 1) //顯示模式 1 年 { 九江學(xué)院 XXIII DIS[0] = 0xFF。 i = DS12887_Read(DS_Y_S)。 //年高兩位,在 RAM里 0x0E DIS[1] = C_DAT[i 4]。 DIS[2] = C_DAT[i amp。 0x0F]。 i = DS12887_Read(DS_YER)。 //年低兩位 DIS[3] = C_DAT[i 4]。 DIS[4] = C_DAT[i amp。 0x0F]。 DIS[5] = 0xFF。 if (modify != 0 amp。amp。 count CNT_M) //修改模式 45下閃爍 { DIS[2 * (modify 4) + 1] = 0xFF。 DIS[2 * (modify 4) + 2] = 0xFF。 } } else if (dispMode == 2) //顯示模式 2,月日 星期 { i = DS12887_Read(DS_MON)。 //月 if (i 10) DIS[0] = 0xFF。 else DIS[0] = C_DAT[i 4]。 DIS[1] = C_DAT[i amp。 0x0F] amp。 0x7F。 //顯示小數(shù)點(diǎn) i = DS12887_Read(DS_DAY)。 //日 DIS[2] = C_DAT[i 4]。 DIS[3] = C_DAT[i amp。 0x0F]。 i = DS12887_Read(DS_WEK)。 //星期 DIS[4] = C_DAT[10]。 //用 39。39。隔開(kāi) DIS[5] = C_DAT[(i 1) amp。 0x0F]。 //1~ 7,第一天是星九江學(xué)院 XXIV 期天 if (modify != 0 amp。amp。 count CNT_M) //修改模式 789下閃爍 { if (modify != 9) //星期修改時(shí),‘ ’不閃爍 DIS[2 * (modify 7)] = 0xFF。 DIS[2 * (modify 7) + 1] = 0xFF。 } } for (i=0。 i6。 i++) { SEG_DAT = DIS[i]。 SEG_BIT = C_BIT[i]。 Delay(1)。 SEG_BIT = 0xFF。 } count++。 //用于修改模式下閃爍 if (count 2 * CNT_M) count = 0。 } /*計(jì)算當(dāng)月的天 數(shù) */ unsigned char getDay(void) { unsigned char tYear,tMonth。 tYear = BCD_DEC(DS12887_Read(DS_YER))。 //當(dāng)前年 tMonth = BCD_DEC(DS12887_Read(DS_MON))。//當(dāng)前月 switch (tMonth) { 九江學(xué)院 XXV case 1: case 3: case 5: case 7: case 8: case 10: case 12:return 31。 // 12 月均為 31天 case 4: case 6: case 9: case 11:return 30。 // 11 月均為 30天 case 2: if (tYear%4==0) //2 月閏年為 29天 return 29。 else return 28。 //平年為 28 天 default: return 0。 } } void Key(void) { unsigned char i。 P1 = 0xFF。 if (KEY1 == 0) //顯示模式更改 { Delay(10)。 if (KEY1 == 0) 九江學(xué)院 XXVI { if (modify) //修改模式下用于退出修改 modify = 0。 else { DS12887_Write(DS_R_B, 0x62)。 dispMode++。 if (dispMode 2) dispMode = 0。 } } while (KEY1 == 0) Display()。 } if (KEY2 == 0) //修改模式 { Delay(10)。 if (KEY2 == 0) { if (modify == 0) //時(shí)分秒 123,年 45,月日星期 789 { modify = 3 * dispMode + 1。 DS12887_Write(DS_R_B, 0xE2)。 } else { modify++。 switch (dispMode) //根據(jù)顯示模式確定 modify初值 { ca
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1