singbue
|
|
« on: March 15, 2010, 03:23:45 PM » |
|
ผมซื้อคีเพจ ระบบสัมผัสมา แล้วผมเขียนซอสโค๊ต ตามตาราง datasheet ระหัส BCD 8421 ที่เค้าให้มา ผมอยากให้พี่ๆดูหน่อยที่ผมเขียนขึ้นมามันเป็นฟังชันคีเพจที่นำไปใช้งานได้จริงหรือป่าว ถ้าผมต้องการ ตัวเลขบนคีเพจโชว์ใน lcd 16*2 แค่ 4 หลัก ผมต้องใช้คำสั่งอย่างไร ช่วยเขียนเป็นตัวอย่างให้ผมหน่อยคับ ขอบคุณคับ ซอสตัวอย่าง
#include <16f877.h> // Standard Header file for the PIC16F628 device #define CLOCK_SP 20000000 // Clock Speed(Hz) #fuses HS // Oscillator mode HS #fuses NOLVP, NOWDT // No Low Voltage Program, No Watchdog timer #fuses NOPROTECT // Code no protection #use delay (clock=CLOCK_SP) // Use built-in function: delay_ms() & delay_us() #define use_portb_lcd include <lcd.c> char keypre_getc (void){ if (!input(pin_d0)){ delay_ms( 400); if ((!input(pin_d1))&&(!input(pin_d2))&&(!input(pin_d3))&&(input(pin_d4))){ key='1'; printf(lcd_putc,"%c",key); } if ((!input(pin_d1))&&(!input(pin_d2))&&(input(pin_d3))&&(!input(pin_d4))){ key='2'; printf(lcd_putc,"%c",key); } if ((!input(pin_d1))&&(!input(pin_d2))&&(input(pin_d3))&&(input(pin_d4))){ key='3'; printf(lcd_putc,"%c",key); } if ((!input(pin_d1))&&(input(pin_d2))&&(!input(pin_d3))&&(!input(pin_d4))){ key='4'; printf(lcd_putc,"%c",key); } if ((!input(pin_d1))&&(input(pin_d2))&&(!input(pin_d3))&&(input(pin_d4))){ key='5'; printf(lcd_putc,"%c",key); } if ((!input(pin_d1))&&(input(pin_d2))&&(input(pin_d3))&&(!input(pin_d4))){ key='6'; printf(lcd_putc,"%c",key); } if ((!input(pin_d1))&&(input(pin_d2))&&(input(pin_d3))&&(input(pin_d4))){ key='7'; printf(lcd_putc,"%c",key); } if ((input(pin_d1))&&(!input(pin_d2))&&(!input(pin_d3))&&(!input(pin_d4))){ key='8'; printf(lcd_putc,"%c",key); } if ((input(pin_d1))&&(!input(pin_d2))&&(!input(pin_d3))&&(input(pin_d4))){ key='9'; printf(lcd_putc,"%c",key); } if ((!input(pin_d1))&&(!input(pin_d2))&&(!input(pin_d3))&&(!input(pin_d4))){ key='0'; printf(lcd_putc,"%c",key); } if ((input(pin_d1))&&(!input(pin_d2))&&(input(pin_d3))&&(!input(pin_d4))){ key='a'; printf(lcd_putc,key); } if ((input(pin_d1))&&(!input(pin_d2))&&(input(pin_d3))&&(input(pin_d4))){ key='b'; printf(lcd_putc,"%c",key); } if ((input(pin_d1))&&(input(pin_d2))&&(!input(pin_d3))&&(!input(pin_d4))){ key='c'; printf(lcd_putc,"%c",key); } if ((input(pin_d1))&&(input(pin_d2))&&(!input(pin_d3))&&(input(pin_d4))){ key='d'; printf(lcd_putc,"%c",key); } if ((input(pin_d1))&&(input(pin_d2))&&(input(pin_d3))&&(!input(pin_d4))){ key='e'; printf(lcd_putc,"%c",key); } if ((input(pin_d1))&&(input(pin_d2))&&(input(pin_d3))&&(input(pin_d4))){ key='f'; printf(lcd_putc,"%c",key); } }}
|