ใช่ tools ชื่อ keil หรือป่าวคับ
ลองดูตัวอย่างนะ
#include <REG51F.H>
void delay(unsigned int value)
{
unsigned int count;
for (count = 1; count < value; count++);
}
void main()
{
while(1)
{
P1=0x55;
delay(200);
P1=0xAA;
delay(200);
}
}
อันนี้คือให้ port1 ออก 1 สลับกับ 0
แต่ถ้าจะทำรถเดิมตามเส้น ต้องมีเซนเซอร์ อย่างน้อยก็ 2 ตัว ข้างหน้า
ซ้ายกับขวา ถ้าใช่ MCS51 ก็ใช่ port1 อย่างเดี่ยวก็พอ
เอามา 2 บิตรับเซนเซอร์ อีก 2 บิตควบคุมล้อทั้ง 2 ข้าง
เวลารับ input เข้ามาต้อง out 1 ออกไปก่อน(ถ้าเรียนโครงสร้างของ MCS51 มาแล้วจะรู้นะ) อันนี้้ถ้ายังไม่รู้คงงงๆ เดี่ยวเขียนให้ดูละกัน
เอาง่ายๆนะ ไปต่อยอดเอา
bit x; // ถ้าไม่ได้ก็ int x;
P1 = 0x03; // 0000 0011 เอา 1 ไปที่ P1.0 กับ P1.1
// ทำแค่ครั้งแรกครั้งเดี่ยว สำหรับบิตที่จะ input
while(1)
{
x = P1^0 // หรือ P1.0 สักอย่างจำไม่ได้ละ ลองหาดู
if(x == 1)
{
P1^2 = 1;
}
else
{
P1^2 = 0;
}
}
อันนี้ไม่มีอะไรมากแค่ input ค่าเข้ามา แล้วก็ output ออกไป
ต้องเอาไปประยุกค์อีกนะ