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

正文內(nèi)容

基于51單片機(jī)的萬(wàn)年歷設(shè)計(jì)-資料下載頁(yè)

2025-06-25 16:51本頁(yè)面
  

【正文】 =0x00))。} /*寫(xiě)命令到LCD中*/SendCommandToLCD(unsigned char ){ CheckState()。//狀態(tài)檢查,LCD是否忙 RS=0。 //向LCD發(fā)送命令。RS=0寫(xiě)指令,RS=1寫(xiě)數(shù)據(jù) RW=0。//R/W=“L” ,E=“H→L”數(shù)據(jù)被寫(xiě)到 IR 或 DR DATA=。 // :命令 EN=1。//EN下降源 _nop_()。 _nop_()。 EN=0。} /*設(shè)置頁(yè) 0xb8是頁(yè)的首地址*/void SetLine(unsigned char page) { page=0xb8|page。 //1011 1xxx 0=page=7 設(shè)定頁(yè)地址X 07,8行為一頁(yè)64/8=8,共8頁(yè) SendCommandToLCD(page)。} /*設(shè)定顯示開(kāi)始行,0xc0是行的首地址*/void SetStartLine(unsigned char startline) { startline=0xc0|startline。 //1100 0000 SendCommandToLCD(startline)。 //設(shè)置從哪行開(kāi)始:063,一般從0 行開(kāi)始顯示} /*設(shè)定列地址Y 063 ,0x40是列的首地址*/void SetColumn(unsigned char column) { column=column amp。0x3f。 //column最大值為64,越出 0=column=63 column= 0x40|column。 //01xx xxxx SendCommandToLCD(column)。} /*開(kāi)關(guān)顯示,0x3f是開(kāi)顯示,0x3e是關(guān)顯示*/void SetOnOff(unsigned char onoff) { onoff=0x3e|onoff。 //0011 111x,onoff只能為0或者1 SendCommandToLCD(onoff)。}/*寫(xiě)顯示數(shù)據(jù) */void WriteByte(unsigned char dat) { CheckState()。//狀態(tài)檢查,LCD是否忙 RS=1。 //RS=0寫(xiě)指令,RS=1寫(xiě)數(shù)據(jù) RW=0。////R/W=“L” ,E=“H→L”數(shù)據(jù)被寫(xiě)到 IR 或 DR DATA=dat。//dat:顯示數(shù)據(jù) EN=1。 //EN下降源 _nop_()。 _nop_()。 EN=0。}/*選擇屏幕screen: 0全屏,1左屏,2右屏*/void SelectScreen(unsigned char screen) { switch(screen) { case 0: cs1=0。//全屏 _nop_()。 _nop_()。 _nop_()。 cs2=0。 _nop_()。 _nop_()。 _nop_()。 break。 case 1: cs1=0。//左屏 _nop_()。 _nop_()。 _nop_()。 cs2=1。 _nop_()。 _nop_()。 _nop_()。 break。 case 2: cs1=1。//右屏 _nop_()。 _nop_()。 _nop_()。 cs2=0。 _nop_()。 _nop_()。 _nop_()。 break。 }} /*清屏screen: 0全屏,1左屏,2右*/void ClearScreen(unsigned char screen) { unsigned char i,j。 SelectScreen(screen)。 for(i=0。i8。i++) //控制頁(yè)數(shù)07,共8頁(yè) { SetLine(i)。 SetColumn(0)。 for(j=0。j64。j++) //控制列數(shù)063,共64列 { WriteByte(0x00)。 //寫(xiě)點(diǎn)內(nèi)容,列地址自動(dòng)加1 } } }/*延時(shí)程序*/void delay(unsigned int z) { unsigned int i,j。 for(i=0。 iz。 i++) for(j = 0。 j 110。 j++)。} /*向上滾屏*//*這里用做滾動(dòng)顯示*//*void lcd_rol() { uint i。 for(i = 0。 i 64。 i++) { cs1=0。 // 片選1 SendCommandToLCD(0xc0+i)。 cs1=1。 cs2=0。// 片選2 SendCommandToLCD(0xc0+62i)。 cs2=0。 // 片選2 delay(6)。 }}*/ /*初始化LCD*/void InitLCD() { CheckState()。 SelectScreen(0)。 SetOnOff(0)。 //關(guān)顯示 SelectScreen(0)。 SetOnOff(1)。 //開(kāi)顯示 SelectScreen(0)。 ClearScreen(0)。//清屏 SetStartLine(0)。 //開(kāi)始行:0}/*顯示全角漢字*/void Display(unsigned char ss,unsigned char page,unsigned char column,unsigned char number){ int i。 //選屏參數(shù),pagr選頁(yè)參數(shù),column選列參數(shù),number選第幾漢字輸出 SelectScreen(ss)。 column=columnamp。0x3f。 SetLine(page)。 //寫(xiě)上半頁(yè) SetColumn(column)。 //控制列 for(i=0。i16。i++) //控制16列的數(shù)據(jù)輸出 { WriteByte(logo[i+32*number])。 //i+32*number漢字的前16個(gè)數(shù)據(jù)輸出 } SetLine(page+1)。 //寫(xiě)下半頁(yè) SetColumn(column)。 //控制列 for(i=0。i16。i++) //控制16列的數(shù)據(jù)輸出 { WriteByte(logo[i+32*number+16])。 //i+32*number+16漢字的后16個(gè)數(shù)據(jù)輸出 }} /*顯示半角漢字和數(shù)字和字母*//*將傳來(lái)的對(duì)應(yīng)數(shù)字(1個(gè)字)點(diǎn)陣式在 某行(h)并以某列(l)為開(kāi)始列 的位置 (16行*8列)*//*顯示半角漢字和數(shù)字和字母*/void Displayen(unsigned char ss,unsigned char page,unsigned char column,unsigned char number){ unsigned int i。//選屏參數(shù),pagr選頁(yè)參數(shù),column選列參數(shù),number選第幾漢字輸出 SelectScreen(ss)。 column=columnamp。0x3f。 SetLine(page)。 //寫(xiě)上半頁(yè) SetColumn(column)。 for(i=0。i8。i++) { WriteByte(Ezk[i+16*number])。 } SetLine(page+1)。 //寫(xiě)下半頁(yè) SetColumn(column)。 for(i=0。i8。i++) { WriteByte(Ezk[i+16*number+8])。 }} endif(3).ds18b20模塊/************************************* ds18b20子程序*************************************/ifndef _DS18B20_H_define _DS18B20_H_sbit DQ = P2^7。/******************************************************************************///DS18B20溫度傳感器驅(qū)動(dòng)(顯示0至60度)/******************************************************************************/void DelayDS18B20(int num){//延時(shí)函數(shù) while(num) 。} /******************************************************************************/void Init_DS18B20(void){//初始化ds1820 unsigned char x=0。 DQ = 1。 //DQ復(fù)位 DelayDS18B20(8)。 //稍做延時(shí) DQ = 0。 //單片機(jī)將DQ拉低 DelayDS18B20(80)。 //精確延時(shí) 大于 480us DQ = 1。 //拉高總線 DelayDS18B20(14)。 x=DQ。 //稍做延時(shí)后 如果x=0則初始化成功 x=1則初始化失敗 DelayDS18B20(20)。}/******************************************************************************/unsigned char ReadOneChar(void){//讀一個(gè)字節(jié) unsigned char i=0。 unsigned char dat = 0。 for (i=8。i0。i){ DQ = 0。 // 給脈沖信號(hào) dat=1。 DQ = 1。 // 給脈沖信號(hào) if(DQ) dat|=0x80。 DelayDS18B20(4)。 } return(dat)。}/******************************************************************************/void WriteOneChar(unsigned char dat){//寫(xiě)一個(gè)字節(jié) unsigned char i=0。 for (i=8。 i0。 i){ DQ = 0。 DQ = datamp。0x01。 DelayDS18B20(5)。 DQ = 1。 dat=1。 }}/******************************************************************************/unsigned int ReadTemperature(void){//讀取溫度 unsigned char a=0。 unsigned char b=0。 unsigned int t=0。 float tt=0。 Init_DS18B20()。 WriteOneChar(0xCC)。 // 跳過(guò)讀序號(hào)列號(hào)的操作 WriteOneChar(0x44)。 // 啟動(dòng)溫度轉(zhuǎn)換 Init_DS18B20()。 WriteOneChar(0xCC)。 //跳過(guò)讀序號(hào)列號(hào)的操作 WriteOneChar(0xBE)。 //讀取溫度寄存器 a=ReadOneChar()。 //讀低8位 b=ReadOneChar()。 //讀高8位 t=b。 t=8。 t=t|a。 tt=t*。 t= tt*10+。 //放大10倍輸出并四舍五入 return(t)。}endif(3).ds1302模塊ifndef _REAL_TIMER_DS1302_define _REAL_TIMER_DS1302_//SEL:運(yùn)行環(huán)境選擇define SEL 1 //仿真環(huán)境SEL=0,硬件環(huán)境SEL=1 sbit DS1302_RST = P3^5。 //實(shí)時(shí)時(shí)鐘復(fù)位線引腳 sbit DS1302_IO = P3^6。 //實(shí)時(shí)時(shí)鐘數(shù)據(jù)線引腳 sbit DS1302_CLK = P3^7。 //實(shí)時(shí)時(shí)鐘時(shí)鐘線引腳 sbit ACC0 = ACC^0。sbit ACC7 = ACC^7。typedef struct __SYSTEMTIME__{ unsigned c
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1