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

正文內(nèi)容

基于51單片機的電子器件測試儀的設計-資料下載頁

2024-11-10 04:01本頁面

【導讀】段,在現(xiàn)代高科技應用技術中起著非常重要的作用。伴隨著工業(yè)生產(chǎn)的發(fā)展,對測量提出了更高的要求。快速、實時、精確、自動的。測量已經(jīng)發(fā)展成為現(xiàn)代測量技術的主流。由于大規(guī)模集成電路的大量應用,使得現(xiàn)代電子測量儀器體積更小、功能。更全面、可靠性更高、功耗更低。電子計算機尤其是微型電子計算機與電子測量儀器相結合,構成了一代嶄新的儀。若干傳統(tǒng)測量的概念,更對整個電子技術和其他科學技術產(chǎn)生了巨大的推動作用。接了所有元器件,一運行時系統(tǒng)還是會出現(xiàn)不工作或者與設計不同的運行效果。質(zhì)量問題,致使系統(tǒng)中某些模塊狀態(tài)異常。管等器件進行檢測外,還需要經(jīng)常用到集成電路測試儀,也稱IC測試儀。個“聽診器”,可以在焊裝芯片等器件之前對其進行“體檢”,把故障排除在萌芽階段。究,提高了軍用電子元器件質(zhì)量檢測能力。單片機就是微控制器,它是嵌入式系統(tǒng)中重要且發(fā)展迅速的組成部分。它具有設計靈活,結果和過程的統(tǒng)一的

  

【正文】 *********** 函數(shù)功能:判斷液晶模塊的忙碌狀態(tài) 返回值: result。 result=1,忙碌 。result=0,不忙 ***************************************************/ unsigned char BusyTest(void) { bit result。 RS=0。//根據(jù)規(guī)定, RS 為低電平, RW為高電平時,可以讀狀態(tài) RW=1。 E=1。//E=1,才允許讀寫 _nop_()。//空操作 _nop_()。 _nop_()。 _nop_()。//空操作四個機器周期,給硬件反應時間 result=BF。//將忙碌標志電平賦給 result E=0。 return result。 } /***************************************************** 函數(shù)功能:將模式設置指令或顯示地址寫入液晶模塊 入口參數(shù): dictate ***************************************************/ void WriteInstruction (unsigned char dictate) { while(BusyTest()==1)。//如果忙就等待 RS=0。//根據(jù)規(guī)定, RS 和 R/W同時為低電平時,可以寫入指令 RW=0。 本科畢業(yè)設計說明書(論文) 第 35 頁 共 41 頁 E=0。//E置低電平 (根據(jù)表 86,寫指令時, E為高脈沖, // 就是讓 E從 0到 1發(fā)生正跳變,所以應先置 0 _nop_()。 _nop_()。//空操作兩個機器周期,給硬件反應時間 P0=dictate。//將數(shù)據(jù)送入 P0 口,即寫入指令或地址 _nop_()。 _nop_()。 _nop_()。 _nop_()。//空操作四個機器周期 ,給硬件反應時間 E=1。//E置高電平 _nop_()。 _nop_()。 _nop_()。 _nop_()。//空操作四個機器周期,給硬件反應時間 E=0。//當 E由高電平跳變成低電平時,液晶模塊開始執(zhí)行命令 } /***************************************************** 函數(shù)功能:指定字符顯示的實際地址 入口參數(shù): x ***************************************************/ void WriteAddress(unsigned char x) { WriteInstruction(x|0x80)。 //顯示位置的確定方法規(guī)定為 80H+地址碼 x } /***************************************************** 函數(shù)功能:將數(shù)據(jù) (字符的標準 ASCII碼 )寫入液晶模塊 入口參數(shù): y(為字符常量 ) ***************************************************/ void WriteData(unsigned char y) { while(BusyTest()==1)。 RS=1。 //RS為高電平, RW為低電平時,可以寫入數(shù)據(jù) RW=0。 E=0。//E置低電平 (根據(jù)表 86,寫指令時, E為高脈沖, // 就是讓 E從 0到 1發(fā)生正跳變,所以應先置 0 P0=y。 //將數(shù)據(jù)送入 P0口,即將數(shù)據(jù)寫入液晶模塊 _nop_()。 _nop_()。 _nop_()。 _nop_()。//空操作四個機器周期,給硬件反應時間 E=1。//E置高電平 _nop_()。 _nop_()。 _nop_()。 _nop_()。//空操作四個機器周期,給硬件反應時間 本科畢業(yè)設計說明書(論文) 第 36 頁 共 41 頁 E=0。//當 E由高電平跳變成低電平時,液晶模塊開始執(zhí)行命令 } /***************************************************** 函數(shù)功能:對 LCD的顯示模式進行初始化設置 ***************************************************/ void LcdInitiate(void) { delay(15)。//延時 15ms,首次寫指令時應給 LCD一段較長的反應時間 WriteInstruction(0x38)。//顯示模式設置: 16 2顯示, 5 7點陣, 8位數(shù)據(jù)接口 delay(5)。 //延時 5ms WriteInstruction(0x38)。 delay(5)。 WriteInstruction(0x38)。 delay(5)。 WriteInstruction(0x0f)。//顯示模式設置:顯示開,有光標,光標閃爍 delay(5)。 WriteInstruction(0x06)。//顯示模式設置:光標右移,字符不移 delay(5)。 WriteInstruction(0x01)。//清屏幕指令,將以前的顯示內(nèi)容清除 delay(5)。 } void display(unsigned char string1[ ]) { unsigned char i。 WriteInstruction(0x01)。//清顯示:清屏幕指令 WriteAddress(0x00)。// 設置顯示位置為第一行的第 5個字 i = 0。 while(string1[i] != 39。\039。) { // 顯示字符 WriteData(string1[i])。 i++。 //delay(150)。 } } void delay5(void) { delay(200)。 delay(200)。 delay(200)。 delay(200)。 delay(200)。 delay(200)。 本科畢業(yè)設計說明書(論文) 第 37 頁 共 41 頁 delay(200)。 delay(200)。 delay(200)。 delay(200)。 delay(200)。 delay(200)。 } void main(void)//主函數(shù) { LcdInitiate()。//調(diào)用 LCD初始化函數(shù) delay(10)。 display( string)。 TMOD=0x01。//T0,工作方式 1 T1為 16位計數(shù)工作方式 1 TH0=0xb1。//20ms定時 TL0=0xe0。 TR0=1。//開啟 T0定時器 IT1=1。 IT0=1。 EX1=0。 EX0=0。 ET0=1。//允許 T0定時器中斷 EA=1。//開啟總中斷允許 while(1) { while(key1) { delay(200)。 delay(200)。 delay(200)。 delay(200)。 delay(200)。 delay(200)。 if (Diode_or2) display( N )。 else display( P )。 本科畢業(yè)設計說明書(論文) 第 38 頁 共 41 頁 delay(200)。 delay(200)。 delay(200)。 delay(200)。 delay(200)。 delay(200)。 } while(key2) { ua741_out_x=1。 ua741_out_y=0。 delay(200)。 if (ua741_in==0) { ua741_out_x=0。 ua741_out_y=1。 delay(200)。 if ( ua741_in==1) display(ua741 can use)。 else display(ua741 can39。t use)。 } else { display(ua741 can39。t use)。 } delay5()。 } while(key3) { NPN_PNP_OUT=1。 delay(200)。 if (NPN_PNP_IN==1) { NPN_PNP_OUT=0。 delay(200)。 display(NPN )。 本科畢業(yè)設計說明書(論文) 第 39 頁 共 41 頁 } else { NPN_PNP_OUT=0。 delay(200)。 if ( NPN_PNP_IN==1) display(PNP )。 } delay5()。 } while(key4) { EX1=1。 EX0=0。 } EX1=0。 EX0=0。 while(key5==1) { EX1=0。 EX0=1。 } EX1=0。 EX0=0。 display( string)。 delay5()。 } } void timer0() interrupt 1 { unsigned long t_ne555。 本科畢業(yè)設計說明書(論文) 第 40 頁 共 41 頁 unsigned long t_cap。 unsigned long temp 。 TH0=0xb1。 //20ms定時 TL0=0xe0。 TR0=0。 nCounter++。 if(nCounter==50) { t_ne555=ne555_t。 t_cap=cap_t。 temp =1000000/t_cap/106。 EX1=0。 EX0=0。 nCounter=0。 if (flag==0) flag=1。 else { if (key4==1) { if (t_ne555==0) display(555 can39。t use)。 else display(555 can use)。 } if (key5==1) { str[3]=temp/1000+0x30。 str[4]=temp%1000/100+0x30。 str[5]=temp%100/10+0x30。 str[6]=temp%10+0x30。 display(str)。 } flag=0。 } count=0。 } TR0=1。 本科畢業(yè)設計說明書(論文) 第 41 頁 共 41 頁 } void int1(void ) interrupt 2 { if (flag==1) ne555_t++。 else ne555_t=0。 } void int0(void ) interrupt 0 { if (flag==1) cap_t++。 else cap_t=0。 }
點擊復制文檔內(nèi)容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1