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

正文內容

基于單片機的多功能數(shù)字鐘的設計(編輯修改稿)

2024-07-17 12:36 本頁面
 

【文章內容簡介】 r Octachord,uint Speed)。//延時void delay(uchar x){ uchar y,z。 for(z=x。z0。z) for(y=110。y0。y)。}void delay1(){ _nop_()。 _nop_()。 }ds18b20_delay(uchar xus) //延時xus{ while(xus)。 }/**********************ds18b20***********************/void ds18b20_init() //DS18B20初始化{ uchar x=0。 DQ=1。 ds18b20_delay(8)。 DQ=0。 ds18b20_delay(80)。 DQ=1。 ds18b20_delay(14)。 x=DQ。 ds18b20_delay(20)。 }void write_onechar(uchar dat) //寫一字節(jié){ uchar i。 for(i=8。i0。i) { DQ=0。 if(datamp。0x01==0x01) DQ=1。 else DQ=0。 ds18b20_delay(5)。 DQ=1。 ds18b20_delay(1)。 dat=1。 }}uchar read_onechar() //讀一字節(jié){ uchar value=0,i。 for(i=8。i0。i) { value=1。 DQ=0。 ds18b20_delay(1)。 DQ=1。 if(DQ==1) value|=0x80。 else valueamp。=0x7f。 ds18b20_delay(4)。 } return value。}uint read_wendu() //DS18B20讀溫度 { uchar a=0,b=0。 uint wen=0x0000。 ds18b20_init()。 //初始化 write_onechar(0xcc)。 // 跳過讀序號列號的操作 write_onechar(0x44)。 // 啟動溫度轉換 ds18b20_delay(150)。 ds18b20_init()。 //初始化 write_onechar(0xcc)。 //跳過讀序號列號的操作 write_onechar(0xbe)。 //讀取溫度寄存器等(共可讀9個寄存器) 前兩個就是溫度 ds18b20_delay(150)。 b=read_onechar()。 //讀取溫度值低位 a=read_onechar()。 //讀取溫度值高位 wen=a。 wen=(wen8)|b。 return wen。}/**********************ds1302***************************/void write_byte(uchar dat) //寫一字節(jié){ uchar k。 ACC=dat。 for(k=8。k0。k) { ds1302_io=ACC0。 ds1302_sclk=0。 //拉低sclk ds1302_sclk=1。 //拉高sclk ACC=1。 } }uchar read_byte() { uchar k。 for(k=8。k0。k) { ACC7=ds1302_io。 ds1302_sclk=1。 //拉高sclk ds1302_sclk=0。 //拉低sclk ACC=1。 } return ACC。 } void ds1302_write(uchar add,uchar date){ ds1302_rst=0。 ds1302_sclk=0。 //在rst沒拉高之前先把sclk置0 ds1302_rst=1。 write_byte(add)。 write_byte(date)。 ds1302_sclk=1。 ds1302_rst=0。 } uchar ds1302_read(uchar add){ uchar temp。 ds1302_rst=0。 ds1302_sclk=0。 //在rst沒拉高之前先把sclk置0 ds1302_rst=1。 write_byte(add)。 temp=read_byte()。 ds1302_sclk=1。 ds1302_rst=0。 return temp。 }void ds1302_init() //ds1302初始化 { ds1302_rst=0。 ds1302_sclk=1。 ds1302_write(0x8e,0x00)。 //寫允許 ds1302_write(0x80,0x58)。 ds1302_write(0x82,0x56)。 ds1302_write(0x84,0x23)。 ds1302_write(0x86,0x27)。 ds1302_write(0x88,0x03)。 ds1302_write(0x8a,0x03)。 ds1302_write(0x8c,0x13)。 ds1302_write(0x8e,0x80)。 //寫保護 }/***************************lcd1602***************************/void lcd_write_(uchar ) //命令字寫入lcd單元中{ lcd1602_rw=0。 delay1()。 lcd1602_rs=0。 // RW=1,RS=0,寫LCD命令字 delay1()。 P0=。 //將中的命令字寫入LCD數(shù)據(jù)口 delay1()。 lcd1602_e=1。 //E端時序 delay1()。 lcd1602_e=0。 delay1()。 lcd1602_rw=1。 delay(5)。}void lcd_write_date(uchar date) //數(shù)據(jù)寫入lcd單元中 { lcd1602_rw=0。 delay1()。 lcd1602_rs=1。 // RW=0,RS=1,寫LCD命令字 delay1()。 lcd1602_e=1。 // E端時序 delay1()。 P0=date。 // 將dat中的顯示數(shù)據(jù)寫入LCD數(shù)據(jù)口 delay1()。 lcd1602_e=0。 delay1()。 lcd1602_rw=1。 delay(5)。}void lcd1602_init() //LCD初始化函數(shù) { uchar lcdnum。 P3=0xdf。 lcd_write_(0x38)。 lcd_write_(0x0c)。 lcd_write_(0x06)。 lcd_write_(0x01)。 lcd_write_(0x80)。 for(lcdnum=0。lcdnum8。lcdnum++) //寫第一行數(shù)據(jù) { lcd_write_date(tabe1[lcdnum])。 delay(2)。 } lcd_write_(0x80+0x40)。 //寫入第二行數(shù)據(jù) for(lcdnum=0。lcdnum13。lcdnum++) { lcd_write_date(tabe2[lcdnum])。 delay(2)。 }}/****************************顯示部分*****************************/void write_time1(uchar add,uchar date) //日期送顯示{ uchar shi,ge。 shi=date/10。 ge=date%10。 lcd_write_(0x80+add)。 lcd_write_date(0x30+shi)。 lcd_write_date(0x30+ge)。}void write_time2(uchar add,uchar date) //時間送顯示{ uchar shi,ge。 shi=date/10。 ge=date%10。 lcd_write_(0x80+0x40+add)。 lcd_write_date(0x30+shi)。 lcd_write_date(0x30+ge)。}uchar bcd_decimal(uchar bcd) //bcd轉換十進制{ uchar decimal。 decimal=bcd4。 decimal=decimal*10+(bcdamp。=0x0f)。 return decimal。 }void wendu_decimal(uint dat) //溫度轉換后送顯示{ float temp。 if (dat0x07D0)//負溫度 { dat=(~dat)+1。 wd_flag=3。 temp=dat*。 } else { temp=dat*。 //dat**10 wd_flag=30。 } wendu_shi=temp/100。 //取十位 temp除不用定義類型 wendu_ge =((uint)temp)%100/10。 //取個位 temp求模要定義類型,為16位,故定義uint wendu_shu=((uint)temp)%100%10。 //取小數(shù) lcd_write_(0x80+0x40+10)。 //送顯示 lcd_write_date(0x30+wd_flag)。 lcd_write_date(0x30+wendu_shi)。 lcd_write_date(0x30+wendu_ge)。 lcd_write_date(0x2e)。 lcd_write_date(0x30+wendu_shu)。 lcd_write_date(0xdf)。 //溫度符號 lcd_write_date(0x43)。 }void write_week(uchar we) //星期送顯示{ lcd_write_(0x80+0x0d)。 switch(we) { case 1: lcd_write_date(39。M39。)。 lcd_write_date(39。039。)。 lcd_write_date(39。N39。)。 break。 case 2: lcd_write_date(39。T39。)。 lcd_write_date(39。U39。)。 lcd_write_date(39。E39。)。 break。 case 3: lcd_write_date(39。W39。)。 lcd_write_date(39。E39。)。 lcd_write_date(39。D39。)。 break。 case 4: lcd_write_date(39。T39。)。 lcd_write_date(39。H39。)。 lcd_write_date(39。U39。)。 break。 case 5: lcd_write_date(39。F39。)。 lcd_write_date(39。R39。)。 lcd_write_date(39。T39。)。 break。 case 6: lcd_write_date(39。S39。)。 lcd_write_date(39。A39。)。 lcd_write_date(39。T39。)。 break。 case 7: lcd_write_date(39。S39。)。 lcd_write_date(39。U39。)。 lcd_write_date(39。N39。)。 break。 } }/***********************按鍵處理***************************/uchar key_bcd(uch
點擊復制文檔內容
高考資料相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1