เขียน C ใน CCS for PIC เพื่อเอามารันในโปรแกรม Proeus ไปไม่เป็นเลย (มีรูป+Code)

Started by fentofind, February 16, 2013, 09:38:11 PM

Previous topic - Next topic

fentofind

คือผมเขียนโปรแกรมไม่ค่อยเก่งอะครับ แล้วที่นี้ต้องมาเขียน C ลงโปรแกรม CCS C เพื่้อให้มันคอมไพล์ไฟล์เป็นไฟล์ .hex เอามารันในโปรแกรม Proteus

คือเขียน C ธรรมดา ผมพอมีพื้นฐานอยู่บ้าง แต่มาเขียนเพื่อให้มันคอมไพล์ผ่านไปยัดใน Proteus นี่ผมไปไม่เป็นจริงๆครับ

วงจรที่ผมทำก็คือรูปครับ http://image.ohozaa.com/view2/wEqwZws2677U1RPg





นี่โค้ดที่ผมเขียนในโปรแกรม CCS C Compiler

#include <16F877A.h>
#fuses HS,NOLVP,NOWDT,NOPROTECT
#use delay (clock = 20000000) // Crytal = 10MHz
#define use_portb_kbd
#include<kbd.c>
#define Time_Delay 1
#include <lcd.c>

void kbd_pullup_init()
{
port_b_pullups(true);
}

void main(){
int k;
kbd_pullup_init();
set_tris_d(0);
output_d(0);



while(1) // ผมติดปัญหาตั้งแต่บรรทัดนี้ครับ ว่าจะทำอย่างไรให้กดคีย์แพดแล้วได้เลขที่เรากดอะครับ เช่น เรากด 1 Segment ก็จะออก 1 ประมานนี่้ครับ
{
k=kbd_getc();
if(k==0){

output_d(k);
delay_ms(100);
}
}
}

http://www.upload-thai.com/download.php?id=f6b8316bda04ae6a6575c058b076f4b1


เพื่อดูรูปไม่ชัด ผมมีไฟล์โปรแกรมให้เลยครับ

JENG

ดูแล้วอาการหนัก ต้องศึกษาเยอะๆครับ เรื่องที่ถามมามันเป็นเรื่องพื้นฐานเลยนะ
แนะให้หน่อยนึงก็ได้ ข้อมูลที่ได้จากการกดkeyมีค่าขนาดเท่าไร,ฐานอะไร
แล้วจะส่งไปแสดงผลที่ไหนอย่างไร ถ้าจะไปแสดงที่จอ C-LCD จอมันรับข้อมูลแบบไหน
ยังไงไปศึกษาเอา

อย่าเพิ่งไปถึง Proteus เลยเอาโจทย์แค่นี้ให้ได้ก่อน sim ใน Proteus มันจิ๊บๆและไม่ใช่ปัญหาในตอนนี้...
สามารถติดตาม electoday ได้ที่

Facebook
www.facebook.com/groups/coopmicro

Google+
https://plus.google.com/communities/103482067769375459277

☺☺☺ความรู้ และความฉลาด ไม่ใช่สิ่งเดียวกัน จะมีประโยชน์อะไร ถ้าฉลาดแต่อยู่ในกะลา☺☺☺

fentofind

คือผมไม่มีพื้ยฐานเท่าไหร่เลยอะครับ พึ่งเริ่มศึกษา


JENG

เอายังไงแน่ หัวกระทู้บอก
Quote from: fentofind on February 16, 2013, 09:38:11 PM
คือผมเขียนโปรแกรมไม่ค่อยเก่งอะครับ แล้วที่นี้ต้องมาเขียน C ลงโปรแกรม CCS C เพื่้อให้มันคอมไพล์ไฟล์เป็นไฟล์ .hex เอามารันในโปรแกรม Proteus

คือเขียน C ธรรมดา ผมพอมีพื้นฐานอยู่บ้าง แต่มาเขียนเพื่อให้มันคอมไพล์ผ่านไปยัดใน Proteus นี่ผมไปไม่เป็นจริงๆครับ

วงจรที่ผมทำก็คือรูปครับ http://image.ohozaa.com/view2/wEqwZws2677U1RPg





นี่โค้ดที่ผมเขียนในโปรแกรม CCS C Compiler

#include <16F877A.h>
#fuses HS,NOLVP,NOWDT,NOPROTECT
#use delay (clock = 20000000) // Crytal = 10MHz
#define use_portb_kbd
#include<kbd.c>
#define Time_Delay 1
#include <lcd.c>

void kbd_pullup_init()
{
port_b_pullups(true);
}

void main(){
int k;
kbd_pullup_init();
set_tris_d(0);
output_d(0);



while(1) // ผมติดปัญหาตั้งแต่บรรทัดนี้ครับ ว่าจะทำอย่างไรให้กดคีย์แพดแล้วได้เลขที่เรากดอะครับ เช่น เรากด 1 Segment ก็จะออก 1 ประมานนี่้ครับ
{
k=kbd_getc();
if(k==0){

output_d(k);
delay_ms(100);
}
}
}

http://www.upload-thai.com/download....75c058b076f4b1


เพื่อดูรูปไม่ชัด ผมมีไฟล์โปรแกรมให้เลยครับ
สามารถติดตาม electoday ได้ที่

Facebook
www.facebook.com/groups/coopmicro

Google+
https://plus.google.com/communities/103482067769375459277

☺☺☺ความรู้ และความฉลาด ไม่ใช่สิ่งเดียวกัน จะมีประโยชน์อะไร ถ้าฉลาดแต่อยู่ในกะลา☺☺☺

fentofind

คือพิ้นฐานเคยเขียน C เชิงโครงสร้างใน windows ทั่วๆ ไปแต่เอามาประยุกต์ใช้กับ Controler ผมงง

JENG

เอามาปรับใช้กันได้ครับ มีต่างกันนิดเดียว ส่วนเรื่องเชิงโครงสร้างของฟังชั่นเหมือนกันเด๊ะๆ
เดี่ยว code ตัวอย่างให้ดู เป็น Hitech C แล้วกัน ง่ายดี  ;D
สามารถติดตาม electoday ได้ที่

Facebook
www.facebook.com/groups/coopmicro

Google+
https://plus.google.com/communities/103482067769375459277

☺☺☺ความรู้ และความฉลาด ไม่ใช่สิ่งเดียวกัน จะมีประโยชน์อะไร ถ้าฉลาดแต่อยู่ในกะลา☺☺☺

fentofind

ครับ ถ้าไกด์มาได้ผมก็จะเข้าใจมากขึ้นผมไม่แม่นเรื่องอิเล็กทรอนิกส์เท่าไหร่ด้วยครับ ว่าขานี้ออกนี่มานี่ พึ่งเริ่มจริงๆครับมือใหม่มาก ขอบคุณครับ

fentofind