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

正文內(nèi)容

天狼星51avr課上程序代碼-閱讀頁

2024-09-05 10:45本頁面
  

【正文】 0xbf,0x7f}。void delay(uint a){ while(a)。 DDRA=0xff。 DDRB=0xff。 DDRC=0xff。 DDRD=0xff。 en1_set。 en2_set。 rs_clr。 while(1) { for(i=0。i++) { PORTA=table1[i]。 delay(100)。與此相比,在PC系統(tǒng)中廣泛使用PS/2鍵盤具有價(jià)格低、通用可靠,且使用連接線少(僅使用2根信號(hào)線)的特點(diǎn),并可滿足多種系統(tǒng)的要求。本文結(jié)合PS/2協(xié)議和原理,讀取和識(shí)別了PS/2鍵盤第一類鍵盤的鍵值。其引腳如圖1所示?,F(xiàn)在廣泛使用的PS/2鍵盤鼠標(biāo)均工作在從設(shè)備方式下。一般上拉電阻設(shè)置在主設(shè)備中。(1)從設(shè)備到主設(shè)備的通信 當(dāng)從設(shè)備向主設(shè)備發(fā)送數(shù)據(jù)時(shí),首先會(huì)檢查時(shí)鐘線,以確認(rèn)時(shí)鐘線是否是高電平。否則,從設(shè)備要等待獲得總線的控制權(quán),才能開始傳輸數(shù)據(jù)。 每一幀數(shù)據(jù)中開始位總是為0,數(shù)據(jù)校驗(yàn)采用奇校驗(yàn)方式,停止位始終為1。(2)主設(shè)備到從設(shè)備的通信 主設(shè)備與從設(shè)備進(jìn)行通信時(shí),主設(shè)備首先會(huì)把時(shí)鐘線和數(shù)據(jù)線設(shè)置為“請(qǐng)求發(fā)送”狀態(tài)。在此過程中,從設(shè)備在不超過 10us的間隔內(nèi)就要檢查這個(gè)狀態(tài)。 此時(shí)數(shù)據(jù)傳輸?shù)拿恳粠?2位構(gòu)成,其時(shí)序和每一位含義如圖3所示。這是從設(shè)備應(yīng)答接收到的字節(jié)的應(yīng)答位,由從設(shè)備通過拉低數(shù)據(jù)線產(chǎn)生,應(yīng)答位ACK總是為。 /* 名稱:PS/2鍵盤驅(qū)動(dòng) 公司:天狼星電子 網(wǎng)站: 編寫:霖鋒 日期: 修改:無 內(nèi)容:識(shí)別PS/2鍵盤的第一類按鍵,用數(shù)碼管顯示*/includedefine uchar unsigned char define uint unsigned int sbit psdata=P3^0。 uchar numbit。uchar key[3]。uchar m,n。unsigned char code smg_we[]={0x08,0x18,0x28,0x38,0x48,0x58,0x68,0x78}。 for(。t) for(j=19。j)。 for(。t) for(j=6245。j)。 //外部中斷下降沿觸發(fā) EX0=1。 //打開總中斷 while(1) { if(keynum==4) { EA=0。 //0x1c n=key[1]/16。 EA=1。 P2=smg_we[0]。 P1=smg_du[n]。 delay_50us(20)。amp。 if(psdata) keyv=keyv | 0x80。 if(numbit10) { numbit=0。 keynum++。 for(a=0。a++) for(b=0。b++)。 PORTB|=BIT(6)。 PORTA=0xff。 GICR|=BIT(6)。=~BIT(2)。 SREG|=BIT(7)。 while(1) { PORTA|=BIT(0)。 PORTAamp。 delay()。 delay()。 delay()。} lesson 71include define uchar unsigned char define uint unsigned intunsigned char table[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}。 uchar c。c12。a200。b200。}void main(){ uchar i。 PORTB=0xff。 PORTA=0xff。i8。//11111110 delay()。//11111101}} lesson 72include include define uchar unsigned char define uint unsigned intdefine smgen_set PORTC |=BIT(3) define smgen_clr PORTC amp。=~BIT(6) //sbit smgen=P2^3。 //unsigned char table1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c}。 void delay(unsigned int a){ uchar b。b10。 }}void main(){ unsigned char i。 DDRB=0xff。 DDRC=0xff。 DDRD=0xff。 rs_clr。i8。 //smgen=1。 PORTB=table1[i]。 } } } lesson 73include include define uchar unsigned chardefine uint unsigned intdefine en1_set PORTC |=BIT(3)define en1_clr PORTC amp。=~BIT(0)define rs_set PORTD |=BIT(6)define rs_clr PORTD amp。 ////sbit en2=P2^0。 //uchar table1[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}。void delay(uint a){ while(a)。 DDRA=0xff。 DDRB=0xff。 DDRC=0xff。 DDRD=0xff。 en1_set。 en2_set。 rs_clr。 while(1) { for(i=0。i++) { PORTA=table1[i]。 delay(100)。由于紅外線遙控裝置具有體積小、功耗低、功能強(qiáng)、成本低等特點(diǎn),因而,繼彩電、錄像機(jī)之后,在錄音機(jī)、音響設(shè)備、空凋機(jī)以及玩具等其它小型電器裝置上也紛紛采用紅外線遙控。 紅外遙控系統(tǒng) 通用紅外遙控系統(tǒng)由發(fā)射和接收兩大部分組成。發(fā)射部分包括鍵盤矩陣、編碼調(diào)制、LED紅外發(fā)送器;接收部分包括光、電轉(zhuǎn)換放大器、解調(diào)、解碼電路。當(dāng)發(fā)射器按鍵按下后,即有遙控碼發(fā)出,所按的鍵不同遙控編碼也不同。 圖2 遙控碼的“0”和“1” (注:所有波形為接收端的與發(fā)射相反) 上述“0”和“1”組成的32位二進(jìn)制碼經(jīng)38kHz的載頻進(jìn)行二次調(diào)制以提高發(fā)射效率,達(dá)到降低電源功耗的目的。 圖3 遙控信號(hào)編碼波形圖遙控解碼程序如下:/* 名稱:PS/2鍵盤驅(qū)動(dòng) 公司:天狼星電子 網(wǎng)站: 編寫:霖鋒 日期: 修改:無 內(nèi)容:識(shí)別PS/2鍵盤的第一類按鍵*/includedefine uchar unsigned chardefine uint unsigned int unsigned char code smg_du[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00}。 uchar irtime。uchar irdata[33]。uchar irreceok。uchar irprosok。//************************************************//延時(shí)函數(shù),在12MHz的晶振頻率下//大約50us的延時(shí)//************************************************void delay_50us(uint t){ uchar j。t0。j0。} //************************************************//延時(shí)函數(shù),在12MHz的晶振頻率下//大約50ms的延時(shí)//************************************************void delay_50ms(uint t){ uint j。t0。j0。} void timer0init(void){ TMOD=0x02。 TL0=0x00。 EA=1。 } void int0init(void){ IT0=1。 EA=1。 disp[1]=ircode[0]%16。 disp[3]=ircode[1]%16。 disp[5]=ircode[2]%16。 disp[7]=ircode[3]%16。 for(i=0。i++) { P1=smg_du[disp[i]]。 delay_50us(20)。 uchar value。 for(j=0。j++) { for(i=0。i++) { value=value1。 } k++。 } irprosok=1。 int0init()。 irreceok=0。 irprosok=0。 } } void timer0 () interrupt 1{ irtime++。 } irdata[bitnum]=irtime。 bitnum++。 irreceok=1。 irtime=
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1