สร้างเว็บEngine by iGetWeb.com
Cart รายการสินค้า (0)

ขอคำแนะนำหน่อยครับ

(อ่าน 3579/ ตอบ 2)

ธนพัทธ์ ถันทอง

ก็อื่น สวัสดีครับ ผมเป็นนักศึกษา มทร.พระนครเหนือ ครับ พอดีว่าอย่าศึกษาการเขียนโปรแกรมภาษาซี เลยไปหาซื้อบอร์ด ไมโครคอนโทรลเลอร์มา (อันนี้ไม่ทราบจริงๆว่ามีร้านพี่ เว็บไซต์นี้อะ ขาย ถ้าผมรู้ก็มาซื้อที่นี้อะครับ ใกล้บ้านนี้ครับ ผมอยู่ บางโพนี้เอง) ต่อครับ ได้ บอร์ด MCS-51 รุ่น MEB-2000 มา แต่ผมใช้ ไมโครเบอร์ P89V51RD2 ที่ใช้ตัวนี้เพราะว่า ผมมีแต่ Notebook พอร์ตที่ใช้ได้ก็แค่ เป็น พอร์ตอนุกรม ต่อ RS232 จึงต้องใช้เบอร์นี้ครับ คืออย่างนี้ ผมใช้ โปรแกรม Keil uVision 3 ในการComplier ที่สงสัยอะครับ คือ แล้วผมเขียนโปรแกรมเสร็จมัน Complier ไม่ผ่านผมลองตรวจดูหลายครั้งแล้วครับเป็นแค่โปรแกรมเล็กๆ สั้นๆ เองไม่ได้เขียนผิดหรือตกใด แต่ผมลองเอาต้นฉบับที่มีอยู่ คัดลอกแล้วมาวางลง เหมือนกานทุกอย่าง มันComplier ผ่านอะครับ งงๆๆ มากๆๆ และ มีการแจ้งว่าไม่สามารถเปิดไฟล์ได้ (#include <P89V51RD2.H>ที่ใช้)  แต่เขียนเป็น #include <studio.h> สามารถเปิดได้ และมันหา P0 ที่ผมใช้อ้างอิงพอร์ต 0 ไม่เจออะครับ ดูตามที่ภาพนะครับ ช่วยหน่อยนะครับ ขอบคุณครับ


เว็บมาสเตอร์

อย่างแรกนะครับเราไปดูก่อนนะครับว่าโปรแกรมที่ เราลงมีตัว P89V51RD2ไปดู library ของโปรแกรมนะครับว่ามีMCU เบอร์นี้หรือป่าวครับ


อย่างที่สองนะครับบอร์ดที่น้องซื้อมานั้นมีโปรแกรมตัวอย่างแถมมาให้ด้วยใช่ไหมครับ ถ้าเป้นของ ETT หรือ  MRT INEX จะให้มาครับ


เราสามารถเอาตัวอย่างมา Complier ได้เลยไม่ต้องเขียนใหม่แต่ถ้าอยากเริ่มเขียนไหมก้ได้เพียงแต่เลือกเบอร MCU ให้ตรงตั้งค่าของ KEIL ให้ตรง  บางทีน้องก็ไม่ต้อง #include P89XXXXX


 ใช้ #include <reg52.h> // Standard 8052 SFR : File


แล้วมาเซ็ตคุณสมบัติของเบอร์MCUอีกทีก้ได้ครับ


/* AT89C51AC3 SFR */


sfr  CKCON = 0x8F; // Clock Control


sfr  P4    = 0xC0; // Port P4


หรือ // #include <REGLV51RD2.h>          // Header file register for P89V51RD2BN 














ตัวอย่าง



/*******************************************/



/*******************************************/


// LED Blink Test 




/* Include  Section */


#include <reg52.h> // Standard 8052 SFR : File




/* AT89C51AC3 SFR */


sfr  CKCON = 0x8F; // Clock Control


sfr  P4    = 0xC0; // Port P4


sbit led   = P1^0; // P1.0 = lED ON/OFF




/* User Define Function */


void delay(unsigned long); // Delay Time Function(1..4294967295)



void main()


{


  CKCON = 0x01; // Initial X2 Mode (BUS Clock = 58.9824 MHz) 


 


  while (1) // Loop Continue 


  {       


led = ~led; // Tiggle LED


delay(50000); // Delay Blink


  }


}




/*******************************************/


/* Long Delay Time Function(1..4294967295) */


/*******************************************/


void delay(unsigned long i)


{


  while(i > 0) {i--;} // Loop Decrease Counter


  return;


}





    


             


   




ธนพัทธ์ ถันทอง

ขอบคุณครับผม

Page : 1
Webboardแสดงความคิดเห็น
เยี่ยม   แย่   แย่   แย่   เขิน   หยอกล้อ  ตกใจ  ร้องไห้   สงสัย   ขอโทษ   หดหู่   อย่าน่ะ   ต่อว่า   โอเค
รูปภาพ
(นามสกุลไฟล์ควรเป็น [ jpg , jpeg , gif ] และไฟล์ไม่เกิน 3 MB.)
*ชื่อ
*สถานะ  
*อีเมล
ลิงค์ที่เกี่ยวข้อง
*รหัสยืนยัน

หมายเหตุ : : กรุณากรอกข้อมูลที่มี * ทุกช่อง

view