วันอาทิตย์ที่ 21 กุมภาพันธ์ พ.ศ. 2553

LED DOT MATRIX (SIM)















เนื่องจากได้ยินชื่อเสียงของไอซี 74HC595 มานานแล้วแต่ไม่มีโอกาศได้ลอง สั่งซื้อจาก ES มาดองใว้ 6 ตัว ไม่มีเวลาเล่น LED DOT MATRIX ก็มีแล้ว 6 อัน แต่มันดันเป็นแบบสองสี 74HC595 ก็เลยไม่พอต้องใช้อีก 2-4 ตัวมั้ง ก็เลยเอาซะหน่อยเดี๋ยวเสียของ แต่ว่าลองซิมเอา ทำเป็นไฟวิ่งจากขวามาซ้าย ส่่วนข้อความที่วิ่งก็เป็นชื่อสถาบันของข้าพเจ้า มหาวิทยาลัยเทคโนโลยีราชมงคลอิสาน อิอิ...แอบโฆษณานิดนึง เป็นภาษาไทยนะครับ ก็ทำอยู่สามสี่วันอ่ะครับ และไม่ค่อยว่างด้วยเลยไม่มีโอกาศนำมาลงให้ได้ดูกัน การใช้ไอซีขยายพอร์ตก็ดีนะครับประหยัดดี เพราะตัวนึงก็ตก 3-4 บาทเอง ได้ตั้ง 8 พอร์ต แต่ก็เขียนโปรแกรมยากขึ้นนิดนึง
เอ้าแจกโค๊ดเลยครับ

อ้อ ผมเอาฟังก์ชัน load_reg มาจากในเน็ตนะครับ จำไม่ได้เหมือนกันเอามาจากไหน ขออภัยท่านเจ้าของฟังก์ชันด้วยครับ
/**
#include <16f877a.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000)

#define SDATA_PIN PIN_D0 // SER (pin 14 of first 74HC595)
#define SCLK_PIN PIN_D2 // SRCLK (pin 11 of all 74HC595)
#define RCLK_PIN PIN_D1 // RCLK (pin 12 of all 74HC595)

int8 data[5]={0b00000001,0b00000000,0b00000000,0b00000000,0b00000000};
int8 chack_bit=0;
int8 s=0;


const int rmuti1[] = {//rmuti 29*7
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x04,0x02,0x00,0x7E,0x02,0x02,
0x7C,0x02,0x02,0x7C,0x00,0x3E,0x40,0x40,0x40,0x7E,0x00,0x3F,0x42,0x42,0x00,0x7E,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};

const int rmuti[] = {//rmuti 192*7
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x64,0x7C,0x20,0x7C,0x00,0x04,0x7C,0x20,
0x14,0x7C,0x00,0x04,0x04,0x78,0x01,0x05,0x45,0x7D,0x00,0x04,0x7C,0x20,0x18,0x04,
0x7C,0x00,0x6C,0x54,0x40,0x7C,0x00,0x04,0x04,0x78,0x00,0x00,0x74,0x54,0x24,0x7B,
0x02,0x6D,0x54,0x40,0x7C,0x00,0x00,0x7C,0x40,0x04,0x7C,0x20,0x18,0x04,0x7C,0x00,
0x78,0x14,0x14,0x04,0x78,0x00,0x06,0x05,0x79,0x41,0x04,0x7C,0x40,0x20,0x7C,0x00,
0x06,0x05,0x79,0x41,0x00,0x74,0x54,0x24,0x78,0x00,0x6D,0x55,0x41,0x7D,0x00,0x18,
0x54,0x74,0x00,0x04,0x04,0x78,0x00,0x0C,0x74,0x4C,0x40,0x7C,0x02,0x64,0x7C,0x20,
0x7C,0x00,0x30,0x44,0x7C,0x00,0x78,0x14,0x14,0x04,0x78,0x00,0x00,0x74,0x54,0x24,
0x78,0x00,0x75,0x55,0x45,0x79,0x00,0x00,0x74,0x54,0x2C,0x7E,0x00,0x04,0x04,0x78,
0x00,0x04,0x7C,0x40,0x20,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
};

void send_byte(char data);
void load_reg(void);
void ship_bit(int s);
void show();
//================================

void main()
{
while(true)
{
s++;

if(s==1)
{
output_low(PIN_C0);
output_high(PIN_C1);
}
if(s==2)
{
output_high(PIN_C0);
output_low(PIN_C1);
}
if(s==3)
{
output_low(PIN_C0);
output_low(PIN_C1);
s=0;
}

output_low(SDATA_PIN);
output_low(SCLK_PIN);
output_low(RCLK_PIN);
show();

}
}

void show()
{
int8 count=0,count1=0,step=0,C=0;
for(count=0;count<200;count++) count1="0;count1<1;count1++)" c="0;C<=" i =" 0;" chack_bit="=" chack_bit="1;" chack_bit="=1)">
**/

เหนื่อยจัง!! โปรเจคจะสอบ 24 นี้

บทความนี้ไม่มีสาระนะครับ ผ่านเลย แค่มาระบายเท่านั้น
อ่านหนังสือไม่ค่อยจะเข้าหัวเลย ยิ่งอ่านยิ่งมึน ทำไมมานยากจังเรียนหนังสือ คนอื่นเค้าจะเรียนง่ายๆรึเปล่า รึว่าเราโง่ คิดแล้วเศร้า เรียนไปตั้งนานสุดท้ายบางคนก็ไปทำงานที่ไม่เกี่ยวอะไรกับการเรียนเลย คิดแล้วน่าจะมีโรงเรียนที่สอนเฉพาะวิชาที่ต้องใช้เท่านั้นเนาะ เลือกๆไปเลยว่าจบแล้วจะทำงานอะไร จะได้เรียนแต่วิชาที่เกี่ยวข้อง บ่นมานาน(นิดนึง)