dernière mise à jour le 13/03/16

Présentation


Le montage électronique présenté ci-dessous, est une amélioration de l’afficheur Afficheur UsbHid 001 qui celui-ci utilise un clavier virtuelle, alors que l’afficheur UsbHid 002 utilise le clavier uniquement. Oui! plus besoin de cliquer sur le clavier virtuelle avec la souris puisque si vous utilisé un clavier c’est encore mieux et plus rapide.

Schéma


Afficheur UsbHid 002

Programmation de l’interface


Driver UsbHid

Programme du PIC


  program Afficheur_UsbHid_002;
  var
  ReadBuff: array[64] of byte; absolute 0x500;
  WriteBuff: array[64] of byte; absolute 0x500;
  i:byte;
  iValueColomnLcd:byte;
  ConverCharByte:byte;
  LCD_RS : sbit at RB0_bit;
  LCD_EN : sbit at RB1_bit;
  LCD_D4 : sbit at RB2_bit;
  LCD_D5 : sbit at RB3_bit;
  LCD_D6 : sbit at RB4_bit;
  LCD_D7 : sbit at RB5_bit;
  LCD_RS_Direction : sbit at TRISB0_bit;
  LCD_EN_Direction : sbit at TRISB1_bit;
  LCD_D4_Direction : sbit at TRISB2_bit;
  LCD_D5_Direction : sbit at TRISB3_bit;
  LCD_D6_Direction : sbit at TRISB4_bit;
  LCD_D7_Direction : sbit at TRISB5_bit;

  procedure Main_Init;
   begin
    TRISB:=%00000000;
    LATB:=$00;
    Lcd_Init;
    Lcd_Cmd(_LCD_CURSOR_OFF)
   end;

  procedure Interrupt;
    begin
     USB_Interrupt_Proc;
    end;

  procedure Write_LCD;
     begin
       if (HID_Read()<>0) then
        begin
         for i:=0 to 63 do
          begin
           if (ReadBuff[i]<>0) then
            begin
             ConverCharByte:=Chr(ReadBuff[i]);
             Lcd_Chr(1,i,ConverCharByte);
             ReadBuff[i]:=0;
            end;
            begin
              if (ReadBuff[i]=1) then
               begin
                iValueColomnLcd:=0;
                Lcd_Cmd(_LCD_CLEAR) ;
               end;
            end;
          end;
        end;
     end;

  Begin
   Main_Init;
   HID_Enable(@Readbuff,@WriteBuff);
   While true do
     begin
      Write_LCd;
     end;
   end.

prototype


Aucun mais le fichier Afficheur UsbHid 002
Non testé sur platine EasyPic mais les résultats donne déjà un bon aperçu.

Proto_1

Historiques


13/03/16
– Première mise à disposition.