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

正文內(nèi)容

單片微型機原理應(yīng)用與實驗-文庫吧

2025-06-11 12:44 本頁面


【正文】 602_write_cmd(0xc0+x) 。}/************************************************************指定位置寫字符*************************************************************/ void LCD1602_write_char(uchar x , uchar y , uchar chardata){ LCD1602_set_postion(x,y) 。 LCD1602_write_data(chardata) 。}/************************************************************指定位置寫字符串*************************************************************/ void LCD1602_write_string(uchar x , uchar y , uchar *string){ LCD1602_set_postion(x,y) 。 while((*string) != 39。\039。) { LCD1602_write_data(*string) 。 string++ 。 }}/*********************************************************** ******************DS1302驅(qū)動程序******************************************************************************/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。 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_init() { if(Read1302(0xc1) != 0xf0) { Write1302(0x8e,0x00) 。//允許寫操作 Write1302(0xc0,0xf0) 。 //寫入初始化標志 ,系統(tǒng)上電后檢測此標志,即此子函數(shù)只會在第一次初始化一次。 /******時間初始值******/ Write1302(0x8c,0x10) 。//年 Write1302(0x8a,0x03) 。//星期 Write1302(0x88,0x05) 。//月 Write1302(0x86,0x26) 。//日 Write1302(0x84,0x22) 。//時 Write1302(0x82,0x59) 。//分 Write1302(0x80,0x55) 。//秒 /////////////////// Write1302(0xd2,0)。 //歌曲選擇初始 Write1302(0xd4,5)。 // 貪睡初始延時時間 5分鐘 Write1302(0xd6,0)。 //貪睡初始值 關(guān)閉 /******鬧鐘初始值******/ Write1302(0xc2,0) 。//十時 Write1302(0xc4,0) 。//時 Write1302(0xc6,0) 。//鬧鐘標志 Write1302(0xc8,0) 。//鬧鐘次數(shù)標志 ////第二個鬧鐘 Write1302(0xca,0) 。//十時 Write1302(0xcc,0) 。//時 Write1302(0xce,0) 。//鬧鐘標志 Write1302(0xd0,0) 。//鬧鐘次數(shù)標志 //////////// Write1302(0xd8,0) 。// 背光控制開關(guān) Write1302(0xda,0x10) 。// 背光延時時間 Write1302(0x90,0xa4) 。//涓流充電 ////////////////// Write1302(0x8e,0x80) 。//禁止寫操作 }}/*********************************************************** ******************DS18B20驅(qū)動程序******************************************************************************/ void delay_18b20(unsigned int i)//延時函數(shù){ while(i)。}/***************************************************************************************///18b20初始化函數(shù)void Init_DS18B20(void){ unsigned char x=0。 DQ = 1。 //DQ復(fù)位 delay_18b20(8)。 //稍做延時 DQ = 0。 //單片機將DQ拉低 delay_18b20(80)。 //精確延時 大于 480us DQ = 1。 //拉高總線 delay_18b20(10)。 x=DQ。 //稍做延時后 如果x=0則初始化成功 x=1則初始化失敗 delay_18b20(5)。}//讀一個字節(jié)unsigned char ReadOneChar(void){unsigned char i=0。unsigned char dat = 0。for (i=8。i0。i) { DQ = 0。 // 給脈沖信號 dat=1。 DQ = 1。 // 給脈沖信號 if(DQ) dat|=0x80。 delay_18b20(5)。 } return(dat)。}//寫一個字節(jié)void WriteOneChar(unsigned char dat){ unsigned char i=0。 for (i=8。 i0。 i) { DQ = 0。 DQ = datamp。0x01。 delay_18b20(5)。 DQ = 1。 dat=1。 }delay_18b20(5)。}//讀取溫度unsigned char ReadTemperature(void){unsigned char a=0。unsigned char b=0。unsigned char t=0。Init_DS18B20()。WriteOneChar(0xCC)。 // 跳過讀序號列號的操作WriteOneChar(0x44)。 // 啟動溫度轉(zhuǎn)換delay_18b20(200)。Init_DS18B20()。WriteOneChar(0xCC)。 //跳過讀序號列號的操作 WriteOneChar(0xBE)。 //讀取溫度寄存器等(共可讀9個寄存器) 前兩個就是溫度a=ReadOneChar()。b=ReadOneChar()。b=4。b+=(aamp。0xf0)4。t=b。return(t)。}/******************************************************************** ************一級主界面顯示函數(shù)***********************************************************************************/void first_interface(){ LCD1602_write_string(0,0,20)。 LCD1602_write_data(Read1302(0x8d)/16+0x30)。 // 十年 LCD1602_write_data(Read1302(0x8d)%16+0x30)。 // 年 LCD1602_write_data(0)。 //顯示自定義字符“年” LCD1602_write_data(Read1302(0x89)/16+0x30)。 // 十月 LCD1602_write_data(Read1302(0x89)%16+0x30)。 // 月 LCD1602_write_data(1)。 //顯示自定義字符“月” LCD1602_write_data(Read1302(0x87)/16+0x30)。 // 十日 LCD1602_write_data(Read1302(0x87)%16+0x30)。 // 日 LCD1602_write_data(2)。 //顯示自定義字符“日” if(Read1302(0xd7)) LCD1602_write_char(9,1,5)。 //顯示自定義字符貪睡標志 else LCD1602_write_char(9,1,39。 39。)。 LCD1602_write_string(12,0,week[Read1302(0x8b)1])。 //顯示星期 if(Read1302(0xc7)||Read1302(0xcf)) LCD1602_write_char(10,1,3)。 //顯示自定義字符鬧鐘標志 else LCD1602_write_char(10,1,39。 39。)。 LCD1602_write_char(0,1,Read1302(0x85)/16+0x30)。 // 十時 LCD1602_write_data(Read1302(0x85)%16+0x30)。 // 時 LCD1602_write_data(39。:39。)。 LCD1602_write_char(3,1,Read1302(0x83)/16+0x30)。 // 十分 LCD1602_write_data(Read1302(0x83)%16+0x30)。 // 分 LCD1602_write_data(39。:39。)。 LCD1602_write_char(6,1,Read1302(0x81)/16+0x30)。 //十秒 LCD1602_write_data(Read1302(0x81)%16+0x30)。 //秒 temp=ReadTemperature()。 LCD1602_write_char(12,1,temp/10+0x30)。 //溫度顯示 LCD1602_write_data(t
點擊復(fù)制文檔內(nèi)容
物理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1