Hid Usb Pic18f4550

  • Upload
    nth-nht

  • View
    462

  • Download
    6

Embed Size (px)

Citation preview

,. I. i. .. i. .i ..:o 1 HNG DAN GIAO TIEP USB-HID VI PIC18F4550 Cho cc bn, hm ny Ch Nht ngy 25/09/2011, li l 1 ngy bun chn ko c vic g lm c, ngi nhm nghi chn tr c v bn vi iu thuc cuc i sng nht l nhng lc nh th ny Ngoi tr v thuc ra th cng tranh th lt Keyboard tng cc bn 1 TUT v giao tip USB HID Class ca Microchip PIC18F4550. -Nhchngtabit,conPIC18F4550nytngithngdng,cc Member trn cc 4rum nh : www.dientuvietnan.net , www.picvietnam.com www.bkit4u.com ... thng dng. Cc ti, n c lin quan n USB th PIC18F4550scchn.PIC18F4550htrUSB2.0FullSpeed 480Mbps-NivUSBthchngtathngquantmn2lpthngdng,l: USBHIDvlpUSBMassStorage.Vycngthngdng2kiu truynlBulkviUSBMassStoragevInterruptsvilpHID.Th cng ni lun l chi vi Bulk th mi c th t c Full Speed , cn HID thchngtathngchl64KB/shoc512KB/s.Sovirs232thMax rs232 == 128000bps~ 16KB/s), nhng y n tc ny ko phi thit b no cng h tr, PIC th chc chn l ko n n tc ny ri. -Tuy tc HID khng cao nhng n c ng dng cho cc thit n gin nh Keyboard, Mouse, cc thit b ko yu cu v Driver -HID truyn c c 2 chiut Device ln Host v ngc li. Vic trao i d liu gia Host vi Device c thc hin qua giao thc usb, qun l bng cc endpoint(im u cui) v pipe (ng truyn). -nycbnlchngcthsnsngvolm1thitUSBlpHID vi chc nng Plug and Play (PnP) hay ni cch khc l cm l chy, ko cn Driver. ,. I. i. .. i. .i ..:o 2 1.Gii thiu v phn mm Complier ca PIC ca MikroC ChngtasphnmmMikroCProForPICv5.01bnminhtcanm 2011cbnvigil249USD,tnhtheotgitithiimny (25/09/2011)thchngtacn:249x20.834= 5187.666~tnhkhong5 c 2 cho n d. - Thi th sinhvinngho, ko c tin ch cn cchlln thng trang ch load phin bn mi v v search googleC.x.x.k Registeredn. 2.Code vi MikroC -To 1 Project mi. File / New / New Project ,. I. i. .. i. .i ..:o 3 V c Next m thi, ci ny th d qu ri, ko phi ni nhiu. ,. I. i. .. i. .i ..:o 4 ,. I. i. .. i. .i ..:o 5 ,. I. i. .. i. .i ..:o 6 -S hin 1 ca s Edit Project, chng ta cn phi chn cc thng s y. ,. I. i. .. i. .i ..:o 7 - y c 2 cch chn tn s hot ng cho CPU, hnh v chng ta nhn thy c 2 Optionl uvoxungnhp cho CPU. Vi Option 1l:HSPLL v Option 2 l: XT, HS.,. I. i. .. i. .i ..:o 8 - cho n gin th chng ta s s dng HSPLL, tc l Option 1. Thch anh thtl20Mhz,quabchiaPLLDIVc4Mhzvaquab96Mhz PLL,uranhnctnsl96Mhz,cinyscchia2(nhhnh v) 96 / 2 = 48 Mhz, vy l USB hot ng vi xung nhp l 48Mhz. -Khi khai bo s dngHSPLL th XT,HS b v hiu, chnh v th chng ta s lyxungnhptbHSPLLcpchoCPU,nhhnhtrnxungnhps caquabchiaCPUDIVnhnhtl2,tcl96/2=48Mhz.iu ny c ngh l CPU s hot ng vi xung nhp cao nht 48Mhz, mc d u vo thch anh ch c 20Mhz.V lc ny iu quan trng cn ch l chng ta phi sa li l gi tr thch anh t cho Project l 20Mhz thnh 48Mhz mc d thch anh tht bn ngoi l 20Mhz. (y chnh l im cn lu .) Ngoi ra chng ta cn phi Enable cho pin 18 ly in p 3.3V ti chn ny. ,. I. i. .. i. .i ..:o 9 -n y coi nh Project c bn l chun ri, by gi l vit code -Cc bn c th Copy & Paste m ny Demo mch ca mnh nh chnh thch anh cho ph hp. Chn ci ny ,. I. i. .. i. .i ..:o 10 -Coi nh xong phn code, by gi l n phnDescription cho thit b./* Coder : HIENCLUBVN Lab : Hc Vin Hi Qun Description : USB HID PIC18F4450 Complier : MikroC Pro For PIC 2011 Date : 25 / 09 / 2011 ------------------ Vd : Xtal = 20Mhz Chn HSPLL (PLL DIV 5) Xung nhp ca USB l 48Mhz Chn CPUDIV 2 , xung nhp ca CPU l 48Mhz */ unsigned char readbuff[64] absolute 0x500; // Buffers should be in USB RAM, please consult datasheet unsigned char writebuff[64] absolute 0x540; char cnt; char kk; void interrupt(){ USB_Interrupt_Proc(); // Hm phc v ngt} void main(void) { ADCON1 |= 0x0F; // Set li cc PIN Analog thnh Digital CMCON|= 7;// Disable chuc nang Comparators HID_Enable(&readbuff,&writebuff); // Cho php kt ni lp HID while(1){ while(!HID_Read()); // Tr v s byte c nhn t HOST, False nu ko nhn c. // Ch y, cho n khi c data nhn th thc hin cng vic ghi data nhn vo writebuff v truyn li. for(cnt=0;cnt