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

正文內容

基于單片機的多功能電子時鐘設計-資料下載頁

2025-10-13 13:28本頁面

【導讀】單片機軟件來完成。在編寫完軟件并檢測完正確后用仿真硬件檢測運行檢測程序是否正。待這一切工作做好后再利用系統(tǒng)板硬件電路來實踐實現(xiàn)軟件功能與硬件的。液晶顯示驅動電路、輸出控制電路。電源部分是用直流電源經(jīng)變壓來提供的5V,晶體。振蕩器采用的是16MHz的石英晶體振蕩器。進行處理,送入LCD1602液晶顯示屏進行顯示。來調整時分秒日月年,按一下調整秒,連按兩下調整分,按三下調整時,四下調整日,五下調整月,六下調整年,七下退出時間設置。C1、C2對頻率有微調作用,影響振蕩的穩(wěn)定性和起振速度。為了減小寄生電容,更好的保證振蕩器穩(wěn)定、可靠的工作,諧振器。和電容贏盡可能與單片機芯片靠近安裝。源進行涓細電流充電的能力。DS1302由Vcc1或Vcc2兩者中的較大者供。當RST為高電平時,所有的數(shù)據(jù)傳送被初始化,允許對DS1302進行操作。中RST置為低電平,則會終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。之前,RST必須保持低電平。SCLK始終是輸入端。

  

【正文】 ==1) { n2++。 if(n2==13) { n2=0。 } } else {n2。 if((n2+1)==0) { n2=12。 } if(n212) { n2=12。 } } Write_ds1302(rd,(n2/10)4 | (n2%10))。 _asm(nop)。 write_sfm1(fd,n2)。 _asm(nop)。 lcd_w(0x80+fd)。 _asm(nop)。 lcd_w(0x38)。 lcd_w(0x0f)。//顯示功能開,有光標 } // 年的子函數(shù) /輸入 // void njia_key(uchar rd,uchar wd,uchar fd,uchar nian) { n1=Read_ds1302(wd)。 n1=((n1amp。0xF0)4)*10+(n1amp。0x0F)。 if (nian==1) {n1++。 if(n1==100) { n1=0。 } } else {n1。 if((n1+1)==0) { n1=99。 } if(n199) { n1=99。 } } 22 Write_ds1302(rd,(n1/10)4 | (n1%10))。 write_sfm1(fd,n1)。 lcd_w(0x80+fd)。 //顯示 lcd_w(0x38)。 lcd_w(0x0f)。 //顯示功能開,有光標 lcd_w(0x80+fd)。 } //初始化 1302,設置開始時候的時分秒 void Init_DS1302(void) { Write_ds1302(Write_protect,0x00)。 Write_ds1302(Write_year,0x0A)。//年 Write_ds1302(Write_month,0XC)。 //月 Write_ds1302(Write_day,0X22)。 //日 Write_ds1302(Write_hour,0X23)。 //小時 Write_ds1302(Write_minute,0X59)。 //分 Write_ds1302(Write_second,0X00)。 //秒 Write_ds1302(Write_protect,0x80)。 //關閉寄存器操作; } void write_sfm(uchar add,uchar dat) { uchar shi,ge。 shi=dat/10。 ge=dat%10。 lcd_w(0x80+0x40+add)。 lcd_wdat(table2[shi])。 lcd_wdat(table2[ge])。 } void write_sfm1(uchar add,uchar dat) { uchar shi,ge。 shi=dat/10。 ge=dat%10。 lcd_w(0x80+add)。 lcd_wdat(table2[shi])。 lcd_wdat(table2[ge])。 } void write_sfm2(uchar add,uchar dat) { uchar k,ge。 ge=dat%10。 lcd_w(0x80+add)。 for(k=(ge*33)。k(ge*3)。k++) { lcd_wdat(table3[k])。 delay(5)。} } 23 void lcd_init1(void) //顯示 祝福語 { uchar i,k=0。 PD_ODR=0x11。 lcd_w(0x80); for(i=0。i16。i++) { lcd_wdat(table4[i])。 } lcd_w(0x80+0x40)。 for(k=0。k16。k++) { lcd_wdat(table5[k])。 delay(100)。 PD_ODR=0X18。 } } void naozhong(uchar hour1,uchar day1,uchar month1) { if(hour1==00) //判斷是否時相等 { if(day1==23) //判斷日是否相等 { if(month1==12) //判斷月是否相等 { lcd_init1()。 lcd_w(0x01)。 //清屏 lcd_init()。 PD_ODR=0X00。 return。 } } } } void read_shzh(void) { u2=Read_ds1302(Read_second )。 //把讀取的數(shù)據(jù)暫時儲存在 u2 u2=((u2amp。0x70)4)*10+(u2amp。0x0F)。 //轉十進制的 bcd 碼換成十進制 write_sfm(6,u2)。 u1=Read_ds1302(Read_minute )。 //分 u1=((u1amp。0xF0)4)*10+(u1amp。0x0F)。 //轉換成十進制 write_sfm(3,u1)。 //顯示分 u0=Read_ds1302(Read_hour )。 //時 u0=((u0amp。0xF0)4)*10+(u0amp。0x0F)。 //轉換成十進制 write_sfm(0,u0)。 //顯示小時 u3=Read_ds1302(Read_week )。 //周 24 u3=u3amp。0x0F。 //轉換成十進制 write_sfm2(11,u3)。 //顯示星期 n1=Read_ds1302(Read_year )。 n1=((n1amp。0xF0)4)*10+(n1amp。0x0F)。 //轉換成十進制 write_sfm1(2,n1)。 //顯示年 n3=Read_ds1302(Read_day )。 n3=((n3amp。0x30)4)*10+(n3amp。0x0F)。 //轉換成十進制 write_sfm1(8,n3)。 //顯示日 n2=Read_ds1302(Read_month )。 n2=((n2amp。0x10)4)*10+(n2amp。0x0F)。 //轉換成十進制 write_sfm1(5,n2)。 //顯示月 if(u1==0) {naozhong(u0,n3,n2)。 //鬧鐘子函數(shù) } } main() { _asm(sim)。 delay(20)。 //延時 15ms等待電源電壓穩(wěn)定 GPIO_Init()。 //IO 口初始化 _asm(NOP)。 lcd_init()。 _asm(NOP)。 delay(5)。 Init_DS1302()。 while (1) {_asm(rim)。 delay(5)。 read_shzh()。 _asm(NOP)。 } }
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1