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

正文內(nèi)容

個人總結(jié)的89s52單片機(jī)的c語言程序-文庫吧

2024-10-28 08:15 本頁面


【正文】 unsigned char OutData=0xfe。 for(。) { P1=OutData。 OutData=_crol_(OutData,1)。 // 循環(huán)左移 mDelay(1000)。 // 1000 延時 1s } } 匯誠科技 產(chǎn)品有售淘寶店: 匯誠科技 無憂電子購物 13 \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ include /*廣告燈的縮短 */ unsigned char i。 unsigned char temp。 unsigned char a,b。 delay()//延時程序 {unsigned char m,n,s。 for(m=20。m0。m) for(n=20。n0。n) for(s=248。s0。s)。 } main() { while(1) { temp=0xfe。 P1=temp。//直接對 1/0 口 p3 賦值,使批 輸出低電平。 delay()。//延時 for(i=1。i8。i++)//實現(xiàn)廣告燈的從右到左移動 { a=tempi。 b=temp(8i)。 P1=b。 //P1=a|b。 delay()。 } for(i=1。i8。i++)//實現(xiàn)廣告燈的從左到右移動 { a=tempi。 b=temp(8i)。 P1=b。 匯誠科技 產(chǎn)品有售淘寶店: 匯誠科技 無憂電子購物 14 //P1=a|b。 delay()。 } } } 三 . 按鍵識別 [實驗任務(wù) ] 通過按下一次按鍵,使廣告燈向左移動一位,直到最后一位,在向右移動。 [硬件電路 ] (大家注意到這一個電路圖與上一個實驗的電路圖只多了一個按鍵和一個 的電阻。) [實驗原理 ] 從圖中可以看出 在按鍵沒有按下時接的是高電平,按鍵按下時接的就是低電平了。所以我們只要判斷 的電平就可以知道按鍵是否被按下了。而在按鍵按下的過程中,由于抖動,將產(chǎn)生干擾,在按下的過程中,一旦 有干擾過來,可能造成誤觸發(fā)過程,這并不是我們所想要的。因此在按鍵按下的時候,要把我們手上的干擾信號以及按鍵的機(jī)械接觸等干擾信號給濾除掉,一般情況下,我們可以采用軟件濾波的方法去除這些干擾信號,一般情況下,一個按鍵按下的時候,總是在按下的時刻存在著一定的干擾信號,按下之后就基本上進(jìn)入了穩(wěn)定的狀態(tài)。我們在程序設(shè)計時,從按鍵被識別按下之后,延時 5ms 以上,從而避開了干擾信號區(qū)域,我們再來匯誠科技 產(chǎn)品有售淘寶店: 匯誠科技 無憂電子購物 15 檢測一次,看按鍵是否真得已經(jīng)按下,若真得已經(jīng)按下,這時肯定輸出為低電平,若這時檢測到的是高電平,證明剛才是由于干擾信號引起的誤觸 發(fā), CPU就認(rèn)為是誤觸發(fā)信號而舍棄這次的按鍵識別過程。 [C 語言源程序 ] include sbit BY1=P2^1。 //定義按鍵的輸入端 unsigned char count。 //按鍵計數(shù) ,每按一下 ,count 加 1 unsigned char temp。 unsigned char a,b。 void delay10ms(void) //延時程序 { unsigned char i,j。 for(i=20。i0。i) for(j=248。j0。j)。 } key() //按鍵判斷程序 { if(BY1==0) //判斷是否按下鍵盤 { delay10ms()。 //延時 ,軟件去干擾 if(BY1==0) //確認(rèn)按鍵按下 { count++。 //按鍵計數(shù)加 1 if(count==8) //計 8 次重新計數(shù) { count=0。 } //將 count 清零 } while(BY1==0)。//按鍵鎖定 ,每按一次 count 只加 1. } } 四 .數(shù)碼管動態(tài)顯示 [實驗任務(wù) ] P0 端口接動態(tài)數(shù)碼管的字形碼筆段, P2 端口接動態(tài)數(shù)碼管的數(shù)位選擇端, 動態(tài)顯示“ 1234”字樣; [硬件電路 ] 匯誠科技 產(chǎn)品有售淘寶店: 匯誠科技 無憂電子購物 16 注意: a 接 。b 接 。c 接 ?? 注意 :4H 接 。3H 接 。2H 接 。1H 接 [實驗原理 ] 七段 LED顯示器內(nèi)部由七個條形發(fā)光二極管和一個小圓點發(fā)光二極管組成,根據(jù)各管的極管的接線形式,可分成共陰極型和共陽極型。 LED 數(shù)碼管的 adp 七個發(fā)光二極管因以不同亮暗的組合就能形成不同的字形,這種組合稱之為字形碼 。 下面給出共陰極的字形碼 : TKVZ, 0 1 2 3 4 5 6 7 8 9 a b c d e f 0 0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,0x08,0x03,0x46,0x21,0x06,0x0e 1 2 3 4 5 6 7 8 9 a b c d e f [C 語言源程序 ] include code unsigned char seg7code[10]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92, 0x82,0xf8,0x80,0x90}。 //顯示段碼 數(shù)碼管字跟: //0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0x40, // 0 1 2 3 4 5 6 7 8 9 a b c d e f 0 //0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,0x08,0x03,0x46,0x21,0x06,0x0e // 1 2 3 4 5 6 7 8 9 a b c d e f Delay(unsigned int tc) //延時程序 匯誠科技 產(chǎn)品有售淘寶店: 匯誠科技 無憂電子購物 17 { while( tc != 0 ) //如果 tc 為 0 則終止延時 { unsigned int i。 //局部正整數(shù)變量 i for(i=0。 i100。 i++)。 //執(zhí) 行 400 次將耗時 1 毫秒 tc。 //tc 計數(shù)減一 } } void Led(int date) //顯示函數(shù) { P2=P2amp。0x7f。 // 輸出低電平,選通千位數(shù) P0=seg7code[date/1000]。 //取出千位數(shù),查表,輸出。 Delay(8)。 //延時 P2=P2|0xf0。 //銷隱 P2=P2amp。0xbf。 // 輸出低電平,選通百位數(shù) P0=seg7code[date%1000/100]。 //取出百位數(shù),查表,輸出。 Delay(8)。 //延時 P2=P2|0xf0。 //銷隱 P2=P2amp。0xdf。 // 輸出低電平,選通十位數(shù) P0=seg7code[date%100/10]。 //取出十位數(shù),查表,輸出。 Delay(8)。 //延時 P2=P2|0xf0。 //銷隱 P2=P2amp。0xef。 P0=seg7code[date%10]。 //取出個位數(shù),查表,輸出。 Delay(8)。 P2=P2|0xf0。 } main() { int display_date=1234。 //定義并賦值要顯示的數(shù)據(jù) while(1) { Led(display_date)。//調(diào)用顯示函數(shù)顯示數(shù)據(jù) display_date } } 五 .4 4 矩陣式鍵盤識別 [實驗任務(wù) ] 用 AT89S51 的并行口 P3 接 4 4 矩陣鍵盤,以 - 作輸入線,以 - 作輸出線;在每一個數(shù)碼管上顯示每個按鍵的“ 0- F”序號。 [硬件電路 ] 匯誠科技 產(chǎn)品有售淘寶店: 匯誠科技 無憂電子購物 18 [實驗原理 ] 每個按鍵有它的行值和列值 ,行值和列值的組合就是識別這個按鍵的編碼。 矩陣的行線和列線分別通過兩并行接口和 CPU 通信。鍵盤處理程序的任務(wù)是:確 定有無鍵按下,判斷哪一個鍵按下,鍵的功能是什么;還 要消除按鍵在閉合或斷 開時的抖動。兩個并行口中,一個輸出掃描碼,使按鍵逐行動態(tài)接地,另一個并 行口輸入按鍵狀態(tài),由行掃描值和回饋信號共同形成鍵編碼而識別按鍵,通過軟 件查表,查出該鍵的功能。 [C 語言源程序 ] include Unsigned char code seg7code[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e }。 unsigned char k。 void delay10ms(void) //延時程序 { unsigned char i,j。 for(i=20。i0。i) for(j=248。j0。j)。 } void Getch ( ) { unsigned char X,Y,Z。 P3=0xff。 P3=0x0f。 //先對 P3 置數(shù) 行掃描 if(P3!=0x0f) //判斷是否有鍵按下 {delay10ms()。 //延時 ,軟件去干擾 if(P3!=0x0f) //確認(rèn)按鍵按下 X = P3。 { X=P3。 //保存行掃描時有鍵按下 時狀態(tài) P3=0xf0。 //列掃描 Y=P3。 //保存列掃描時有鍵按下時狀態(tài) Z=X|Y。 //取出鍵值 switch ( Z ) //判斷鍵值(那一個鍵按下) { case 0xee: k=0。 break。 //對鍵值賦值 case 0xde: k=1。 break。 匯誠科技 產(chǎn)品有售淘寶店: 匯誠科技 無憂電子購物 19 case 0xbe: k=2。 break。 case 0x7e: k=3。 break。 case 0xed: k=4。 break。 case 0xdd: k=5。 break。 case 0xbd: k=6。 break。 case 0x7d: k=7。 break。 case 0xeb: k=8。 break。 case 0xdb: k=9。 break。 case 0xbb: k=10。break。 case 0x7b: k=11。break。 case 0xe7: k=12。break。 case 0xd7: k=13。break。 case 0xb7: k=14。break。 case 0x77: k=15。break。 } } } } //請注意寫程序時的格式規(guī)范,此處是為了節(jié)省 紙張 void main(void) { while(1) { P3=0xff。 Getch()。 P0=seg7code[k]。 //查表 LED 輸出 P2=0x0f。 //輸出相同的四位數(shù)據(jù)。 } } 六.按鍵中斷識別 [實驗任務(wù) ] 采用中斷技術(shù),每按一下按鍵,計數(shù)器加 1,并用 LED 顯示出來。 [硬件電路 ] 注意:我們只用 4 位數(shù)碼管中的兩位 。 匯誠科技 產(chǎn)品有售淘寶店: 匯誠科技 無憂電子購物 20 注意: a 接 。b 接 。c 接 ?? 注意 : 2H 接 。 1H 接 。 中斷按鍵已經(jīng)接好。 [C 語言源程序 ] include unsigned char code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92, 0x82,0xf8,0x80,0x90}。 unsigned char dispcount=0。 //計數(shù) sbit gewei=P2^0。 //個位選通定義 sbit shiwei=P2^1。 //十位選通定義 void Delay(unsigned int tc) //延時程序 { while( tc != 0 ) { unsigned int i。 for(i=0。 i100。 i++)。 tc。 } } void ExtInt0() interrupt 0 //中
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1