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

正文內(nèi)容

基于單片機(jī)的智能溫度傳感器的畢業(yè)設(shè)計(參考版)

2025-06-22 12:55本頁面
  

【正文】 return dd。 dd = DataLine。 E = 1。 DI = 1。 } unsigned char Rddata( void ) { unsigned char dd = 0。 write_dat_R( page1 )。 write_cmd_R( 0x40 + x 64 )。 d = Rddata()。 write_cmd_R( 0xB8 + (y/8) )。 write_cmd_R( 0x40 + x 64 )。 write_dat_L( page1 )。 write_cmd_L( 0x40 + x )。 d = Rddata()。 write_cmd_L( 0xB8 + (y/8) )。 write_cmd_L( 0x40 + x )。 temp = y 8。 unsigned char temp =0。 write_cmd_L( 0x40 )。 page |= 0xb8。 k 8。 } } void Disp_Img(unsigned char code *img) { unsigned char j,k,page = 0。 j 64。write_cmd_R( 0x40 )。 j++ ) write_dat_L( 0 )。 for( j = 0。 write_cmd_L( page )。 i++ ) { page = i。 for( i = 0。 lcd_clr( )。 write_cmd_L( 0x3f )。 write_cmd_L( 0xc0 )。}include include include include void lcd_init( void ) { write_cmd_L( 0x3e )。else = 0。}else = 0xed。}}} = 0。 = key。}}}if( DEFPS2PUSHCOUNT){if (key != ){ = 0。 = 0。key = i 1。if (key == (PS2TAB[i])){ i ){for (i = 0。 else{PS2CLOCK = 0。else{if ((key == 0xaa) (key == 0xfa)) = 0。}else if (key == 0xf0){ } = 0。 else if ( == 10){ }} = 0xec。else{ else if ( == 9){ ACC = 。} 。if (PS2DATA) key = 0x80。key = 。 。} = 0。 = 0。if ( != 0xf0){ !PS2DATA){ if (!PS2CLOCK amp。if ( == 0){0x71//KP.0x66,//Bksp0x76,//Esc0x5a,//Enter0x0b,//F60x03,//F50x0c,//F40x04,//F30x06,//F20x05,//F10x7d,//90x75,//80x6c,//70x74,//60x73,//50x6b,//40x7a,//30x72,//20x69,//1code unsigned char PS2TAB[] = {0x70,//0}}}2.鍵盤接口程序見附錄void int1proc() interrupt IE1_VECTOR using 1a0。init_()。}void main(){uint a。 a=ds_read_byte()。 delay(30)。{uchar a,b。return temp。wendu=temp*。temp=8。b=ds_read_byte()。ds_write_byte(0xbe)。ds_reset()。}uint get_temperature(){float wendu。 //約2msds_write_byte(0xcc)。 delay(1)。nop()。nop()。TempDelay(5)。 {ds=0。dat=dat1。0x01。i=8。 }void ds_write_byte(uchar dat) {uchar i。value=(j7)|(value1)。i++){ j=ds_read_bit()。 for(i=0。}uchar ds_read_byte(void ) {uchar value,i,j。dat=ds。nop()。 nop()。 {bit dat。ds=1。nop()。 TempDelay(20)。else if(ds==0)nop()。 TempDelay(5)。nop()。ds=0。nop_()。delay(1)。wela=1。dula=0。P0=table[ge]。wela=0。 P0=0xfd。dula=0。 dula=1。 wela=0。P0=0xfe。wela=0。 dula=1。ge=temp%100%10。shi=temp%100/10。 bai=temp/100。SM0=0。TL1=0xfd。TH1=0xfd。count。while(count){i=200。void TempDelay (uchar us){ while(us)。uchar code table1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef}。uint temp。sbit wela=P2^7。附錄1.18B20程序include include define uchar unsigned chardefine uint unsigned intsbit ds=P2^2。10PA;靜態(tài)功耗為1μW。其原路圖如 71所示 圖61 CD4051原理圖選通選擇表如下表:表61CD4051真值表INHCBAX接通0000X00001X1...............0111X71XXX全不通CD4051有較寬的數(shù)字和模擬信號電平,數(shù)字信號為3~5V,模擬信號峰峰值為15VPP。片上有二進(jìn)制譯碼器,可以由A、B、C三個二進(jìn)制信號在8個通道中選擇一個,使輸入和輸出接通。這種多路開關(guān)具有切換速度快、噪音小、壽命長、工作可靠等特點,因此在計算機(jī)控制系統(tǒng)中被廣泛采用。在以前的數(shù)控系統(tǒng)中,大多采用干簧(或濕簧)繼電器,由于這類開關(guān)結(jié)構(gòu)簡單,閉合時接觸電阻小,而斷開接點時阻抗高,工作壽命長,且不受外界環(huán)境溫度的影響,所以應(yīng)用的比較廣泛。由于微型機(jī)的工作速度快,而被測參數(shù)的變化比較慢,所以,一臺微型機(jī)可供十幾或幾十個信號使用,但是微型機(jī)在某一時刻只能接收一個通道的信號,因此,必須通過多路開關(guān)進(jìn)行切換,使各路參數(shù)分時進(jìn)入微型機(jī)。 數(shù)據(jù)采集電路的設(shè)計概述多路開關(guān)又稱多路轉(zhuǎn)換器,是用來切換模擬電壓信號的關(guān)鍵元件。 write(0)。}/* 其他函數(shù)可以根據(jù)資料自行組合, 如設(shè)置CGROM相對地址為0000H,用以下語句即可: ctrl(0x5c)。p_e=0。 //把P1置為高電平,只有置為高電平才能正確讀入數(shù)據(jù) p_e=1。 //a0為1代表讀數(shù)據(jù)和光標(biāo)地址,a0為0代表讀狀態(tài)標(biāo)志,由于E1330功能很強(qiáng),一般不用讀狀態(tài)標(biāo)志 p_rw=1。}//數(shù)據(jù)和光標(biāo)地址讀出函數(shù)unsigned char read(void) { unsigned char rd。P1=d。 //a0為0代表寫入數(shù)據(jù)或指令參數(shù) p_rw=0。p_e=0。 p_e=1。//指令寫入函數(shù)void ctrl(unsigned char c) { p_a0=1。sbit p_rw=P3^1。記著把顯示的偏移位置遞增一個字符寬度呀( x 或 y )!否則就重疊看不清了。FontDisplay(5,5, hao0 )。{/* 調(diào)用顯示主程序 */main()} }putpixel(c+8+x,row+y,15)。cmp_w[c])!=0)c8。putpixel(c+x,row+y,15)。cmp_w[c])!=0)c8。row16。}。0x1B,0x58, 0x04,0x46, 0x19,0x80, 0x00,0x000x4F,0xF4, 0x05,0x20, 0x1A,0xC0, 0x04,0xA0,0x07,0xF0, 0x04,0x10, 0x3F,0xFE, 0x20,0x02,0x00,0x00, 0x00,0x80, 0x3F,0xFC, 0x00,0x00,unsigned char hao0[]={ /* 字模數(shù)組 */ // 用于取位}。0x1B,0x58, 0x04,0x46, 0x19,0x80, 0x00,0x000x4F,0xF4, 0x05,0x20, 0x1A,0xC0, 0x04,0xA0,0x07,0xF0, 0x04,0x10, 0x3F,0xFE, 0x20,0x02,0x00,0x00, 0x00,0x80, 0x3F,0xFC, 0x00,0x00,unsigned char hao0[]={光說還是不行的,最好我們親自動手來實驗一下,先假定我們要用行掃描的顯示方式,在計算機(jī)中顯示一個“豪”字,我們可以使用字模軟件來創(chuàng)建一個字模數(shù)據(jù),設(shè)定為行掃描、 16x16 點陣、宋體、 11 號字,創(chuàng)建如下字模數(shù)據(jù): 在計算機(jī)中顯示一個字符方法 在計算機(jī)中是如何把點陣字符顯示出來的呢?其實字符的顯示過程是字模數(shù)據(jù)創(chuàng)建的逆過程。據(jù)此可以描繪出“豪”字的位( bit )信息。那么計算機(jī)是如何來存貯顯示字符的呢?下面我們舉例來說明點陣字符的數(shù)據(jù)存貯及顯示原理(這里我們主要討論的是點陣字符,故有關(guān)計算機(jī)矢量字符的顯示及其原理這里就不作說明,而且單片機(jī)的尋址和計算能力遠(yuǎn)不及 PC ,故顯示矢量的字符還是有一定的困難)。顯示程序如下:輸出兩位顯示,即一字節(jié)的程序如下: include define uchar unsigned char uchar byte=0x59 ;void display ( uchar x ){ SBUF=x ; /* 由串口輸出 */ while ( TI = =0 ); /* 等待8位發(fā)送結(jié)束 * / TI = 0 ;}void main ( void ){ display( byte )}單片機(jī)系統(tǒng)的顯示原理和計算機(jī)是一樣的。圖53 74LS164原理圖入口:把要顯示的數(shù)分別放在顯示緩沖區(qū)60H65H共6個單元中,并且分別對應(yīng)各個數(shù)碼管LED0LED5。所以它的下一片74LS164也相當(dāng)于是在接收數(shù)據(jù)啊。搞清了這一點,下面讓我們來看電路,6片7LS164首尾相串,而時鐘端則接在一起,這樣,當(dāng)輸入8個脈沖時,從單片機(jī)RXD端輸出的數(shù)據(jù)就進(jìn)入到了第一片74LS164中了,而當(dāng)?shù)诙€8個脈沖到來后,這個數(shù)據(jù)就進(jìn)入了第二片74LS164,而新的數(shù)據(jù)則進(jìn)入了第一片74LS164,這樣,當(dāng)?shù)诹鶄€8個脈沖完成后,首次送出的數(shù)據(jù)被送到了最左面的164中,其他數(shù)據(jù)依次出現(xiàn)在第一、二、三、四、五片74LS164中。關(guān)于74LS164還可以作如下的介紹:所謂時鐘脈沖端,其實就是需要高、低、高、低的脈沖,不管這個脈沖是怎么來的,比如,我們用根電線,一端接T,一端用手拿著,分別接高電平、低電平,那也是給出時鐘脈沖,在74LS164獲得時鐘脈沖的瞬間(再講清楚點,是在脈沖的沿),如果數(shù)據(jù)輸入端(第1,2引腳)是高電平,則就會有一個1進(jìn)入到74LS164的內(nèi)部,如果數(shù)據(jù)輸入端是低電平,則就會有一個0進(jìn)入其內(nèi)部。R(第9腳)為復(fù)位端,當(dāng)R=0時,移位寄存器各位復(fù)0,只有當(dāng)R=1時,時鐘脈沖才起作用。T(第8腳)為時鐘輸入端,可連接到串行口的TXD端。74LS164為TTL單向8位移位寄存器,可實現(xiàn)串行輸入,并行輸出
點擊復(fù)制文檔內(nèi)容
電大資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1