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

正文內(nèi)容

can中繼器的顯示和存儲設(shè)計(jì)畢業(yè)論文(已改無錯字)

2023-07-20 14:00:47 本頁面
  

【正文】 cu//說明:CPU初始化子程序//入口:無//返回:無///////////////////////////////////////////////void init_mcu( void ){ int k。 SCON = 0x50。 //串口工作于方式1 PCON = 0x80。 //設(shè)置串口波特率加速 TMOD = 0x21。 //定時器T0工作在方式1,T1工作在方式2 TH1=0xFA。 //定時器T1重裝數(shù)值 TL1=0xFA。 //串口波特率為9600bps TR1 = 1。 //開定時器T1 TI = 0。 //串口發(fā)送中斷標(biāo)志清零 RI = 0。 //串口接收中斷標(biāo)志清零 PS = 1。 //設(shè)定串口中斷的優(yōu)先級為最高 SJAA_RST = 1。 //A接口CAN總線復(fù)位管腳復(fù)位無效 SJAB_RST = 1。 //B接口CAN總線復(fù)位管腳復(fù)位無效 SJAA_RST = 0。 //A接口CAN總線復(fù)位管腳復(fù)位無效 SJAB_RST = 0。 //B接口CAN總線復(fù)位管腳復(fù)位無效 for(k=0。k10000。k++)。 SJAA_RST = 1。 //A接口CAN總線復(fù)位管腳復(fù)位無效 SJAB_RST = 1。 //B接口CAN總線復(fù)位管腳復(fù)位無效 SJAA_CS = 0。 //A接口CAN總線片選有效 SJAB_CS = 0。 //B接口CAN總線片選有效 //配置定時器0 TR0=0。 //定時器0停止 TH0=0X3c。 //定時器0初值設(shè)置 TL0=0Xaf。 TF0=0。 //定時器0溢出標(biāo)志 ET0=1。 // 開定時器0中斷 TR0=1。 //定時器0開始計(jì)數(shù) EX0 = 1。 //開MCU外部中斷INT0 IT0 = 0。 //MCU外部中斷INT0設(shè)置為電平觸發(fā),該中斷口連接A接口CAN總線接收中斷口 EX1 = 1。 //開MCU外部中斷INT1 IT1 = 0。 //MCU外部中斷INT1設(shè)置為電平觸發(fā),該中斷口連接B接口CAN總線接收中斷口 ES = 1。 //打開串口中斷 EA = 1。 //開MCU總中斷 SJAA_CS = 1。 //A接口CAN總線片選無效,使得對數(shù)據(jù)總線的操作不會影響SJA1000。 SJAB_CS = 1。 //B接口CAN總線片選無效,使得對數(shù)據(jù)總線的操作不會影響SJA1000。} /**************************************** 名稱: Delay(unsigned int t)* 說明: * 功能: 延時* 參數(shù): t:延時長度* 返回值: 無****************************************/void Delay(uint t){ uint i。 for(i=0。it。i++) {。。}}/**************************************** 名稱: Clear()* 說明: * 功能: 清除全屏顯示* 參數(shù): 無* 返回值: 無****************************************/void Lcd_Clr(){ Write_(0x01)。 Write_(0x34)。 Write_(0x30)。}/**************************************** 名稱: Lcd_system()* 說明: * 功能: LCD初始化* 參數(shù): 無* 返回值: 無****************************************/void Lcd_sys(void){ Delay(600)。 LCD_E = 0。 Write_(0x34)。 Delay(10000)。 Write_(0x30)。 Delay(10000)。 Write_(0x01)。 Delay(10000)。 Write_(0x06)。 Delay(10000)。 Write_(0x0c)。 Delay(10000)。 } /**************************************** 名稱: Write_(uchar d)* 說明: * 功能: 寫LCD命令字* 參數(shù): d:命令代碼* 返回值: 無****************************************/void Write_(uchar d){ LCD_RS = 0。 LCD_E = 0。 LCD_WR = 0。 P1 = d。 LCD_E = 1。 Delay(40)。 LCD_E = 0。 LCD_WR = 1。 Delay(100)。}/**************************************** 名稱: Write_data(uchar d)* 說明: * 功能: 寫LCD數(shù)據(jù)* 參數(shù): d:需要寫入的數(shù)據(jù)* 返回值: 無****************************************/void Write_data(uchar d){ LCD_E = 0。 LCD_RS = 1。 LCD_WR = 0。 P1 = d。 LCD_E = 1。 Delay(40)。 LCD_E = 0。 LCD_WR = 1。 Delay(100)。} /**************************************** 名稱: uchar Read_data(void)* 說明: * 功能: 讀LCD數(shù)據(jù)* 參數(shù): 無* 返回值: d:讀出數(shù)據(jù)****************************************/uchar Read_data(void){ unsigned char d = 0。 LCD_E = 0。 LCD_RS = 1。 LCD_WR = 1。 LCD_E = 1。 Delay(50)。 d = P1。 LCD_E = 0。 LCD_WR = 0。 Delay(100)。 return(d)。}/**************************************** 名稱: Disp_word0(uchar posx,uchar *p,uchar n)* 說明: * 功能: LCD顯示一串漢字* 參數(shù): pos:顯示位置(第一行:06,第二行:713), p:漢字碼的地址指針, n:顯示字的個數(shù),* 返回值: 無****************************************/void Disp_word0(uchar posx,uchar *p,uchar n){ uchar i=0。 uchar pos。 for(i=0。in。i++) { pos=posx。 if((pos8)||((pos15)amp。amp。(pos24))) { if(pos15)pos=pos8。 Write_(0x80|pos)。 Write_data(p[0])。 Write_data(p[1])。 } else { if(pos16) { pos =pos8。 } else { pos =pos16。 } Write_(0x90|pos)。 Write_data(p[0])。 Write_data(p[1])。 } posx++。 p=p+2。 }}/**************************************** 名稱: Disp_row(uchar row,uchar pos,uchar dat)* 說明: * 功能: LCD顯示一個字母或數(shù)字* 參數(shù): row:行選擇,pos:顯示位置(015),dat:數(shù)字碼* 返回值: 無****************************************/void Disp_row(uchar row,uchar pos,uchar dat){ uchar dat0。 uchar pos0。 row = row%2。 row = row4。 pos0 = pos/2。 if((pos+1)/2==pos0) { Write_((0x80+row)|pos0)。 Write_data(dat)。 } else { Write_((0x80+row)|pos0)。 dat0 = Read_data()。 Write_data(dat)。 }}/**************************************** 名稱: Disp_char(uchar pos,uchar dat)* 說明: * 功能: LCD顯示一個字母或數(shù)字* 參數(shù): pos:顯示位置(第一行:015,第二行:1631,第一行:3247,第二行:4863),dat:數(shù)字碼* 返回值: 無****************************************/void Disp_char(uchar pos,uchar dat){ if(pos16) { Disp_row(0,pos,dat)。 } if((pos32)amp。amp。(pos15)) { Disp_row(1,pos16,dat)。 } if((pos48)amp。amp。(pos31)) { Disp_row(2,pos16,dat)。 } if((pos64)amp。amp。(pos47)) { Disp_row(3,pos32,dat)。 }}/**************************************** 名稱: void Disp_number(uchar pos,unsigned long dat)* 說明: * 功能: LCD顯示一個數(shù)(065536)* 參數(shù): pos:顯示位置,dat:顯示數(shù)據(jù)* 返回值: 無****************************************/void Disp_number(uchar pos,uint dat){ uint d。 uchar i=0。 uchar addr。 uchar tab[5]={0}。 d =dat。 while(d) { tab[i] = d%10。 d=d/10。 i++。 } for(addr=0。addri。addr++) { Disp_char(addr+pos,tab[iaddr1]+48)。 } if(0==i)Disp_char(pos,48)。 }/**************************************** 名稱: void Disp_all(void)* 說明: * 功能: 第一行顯示分站編號(分站編號:XX),* 第二行顯示(識別器編號)漢字,第三行顯示4個* 識別器號碼,第四行顯示4個識別器號碼* 參數(shù): 無* 返回值: 無****************************************/void Disp_all(void){ uchar *q。 Lcd_Clr()。 //LCD清屏 q=table0。 Disp_word0(0,q,5)。 //顯示漢字分站編號: Delay(200)。 station=IRcvStr(0xa0,0x00,0x01)。 //讀取分站號// TXD_data=station。// RS232_TXD()。 Disp_number(12,station)。 //顯示分站號碼 Delay(200)。 q=table1。 Disp_word0(8,q,6)。 Delay(200)。 Disp_number(32,RD_Num[0])。 Delay(200)。 Disp_number(36,RD_Num[1])。 Delay(200)。 Disp_number(40,RD_Num[2])。 Delay(200)。 Disp_number(44,RD_Num[3])。 Delay(200)。 Disp_number(48,RD_Num[4])。 Delay(200
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1