![]() |
|
Tài trợ cho PIC Vietnam |
Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC |
|
Ðiều Chỉnh | Xếp Bài |
![]() |
#1 |
Nhập môn đệ tử
Tham gia ngày: Apr 2012
Bài gửi: 2
: |
code vi dieu khien
em có cái code vdk viết bằng codevision theo kiểu chương trình con em k hiểu lắm mong các pro giảng giải dum..em cảm on pro nhieu nhieu!!!!!!!!1
#include <mega16.h> #include <delay.h> #define dulieu1 PORTD #define dulieu2 PORTA #define SER PORTC.0 #define SCLK PORTC.1 #define LCLK PORTC.2 #define G PORTC.3 unsigned char i,j,n; int t; unsigned char maled[]= { 0x00,0x00,0x00,0x00,0x1C,0x04,0x04,0x04,0x04,0xFC, 0xFC,0xFC,0x04,0x04,0x04,0x04, 0x1C,0x04,0x04,0xFC,0xFC,0xFC,0x04,0x04,0x04,0x04, 0x0C,0xFC,0xF8,0xF0,0x00,0x00, 0x04,0x04,0xFC,0xFC,0xFC,0x04,0x04,0x00,0x00,0x00, 0x04,0x05,0xFD,0x07,0x05,0x00, 0xC0,0xF1,0xF9,0x3A,0x0C,0x04,0x05,0x05,0x07,0x0D, 0x38,0xF8,0xF0,0xC0,0x00,0x00, 0x04,0xFC,0x0C,0x1C,0x7C,0xF0,0xE0,0x80,0x00,0x04, 0x04,0xFC,0x04,0x04,0x00,0xC0, 0xF0,0xF8,0x38,0x0C,0x04,0x04,0x04,0x04,0x0C,0x08, 0x38,0x7C,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0xC0,0xF0,0xF8,0x38,0x0C,0x0C, 0x04,0x04,0x04,0x04,0x08,0x38, 0x7C,0x00,0x04,0x84,0xFC,0xFC,0xFC,0x84,0x04,0x04, 0x0C,0x0C,0x38,0xF8,0xF0,0xC0, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xF0,0xF8, 0x38,0x0C,0x0C,0x04,0x04,0x04, 0x04,0x08,0x38,0x7C,0x00,0x00,0xC0,0xF0,0xF8,0x38, 0x0E,0x05,0x05,0x05,0x05,0x0E, 0x38,0xF8,0xF0,0xC0,0x00,0x00,0x04,0xFC,0x0C,0x1C, 0x7C,0xF0,0xE0,0x80,0x00,0x04, 0x04,0xFC,0x04,0x04,0x00,0xC0,0xF0,0xF8,0x38,0x0C, 0x04,0x04,0x04,0x04,0x0C,0x08, 0x38,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C, 0x04,0x04,0x04,0x04,0xFC,0xFC, 0xFC,0x04,0x04,0x04,0x04,0x1C,0x04,0x04,0xFC,0xFC, 0xFC,0x04,0x04,0x00,0x00,0x04, 0x04,0xFC,0xFC,0xFC,0x04,0x04,0x04,0x04,0xFC,0xFC, 0xFC,0x04,0x04,0x00,0x00,0x00, 0x04,0x05,0xFD,0x07,0x05,0x00,0xC0,0xF0,0xF8,0x38, 0x0C,0x04,0x05,0x05,0x07,0x0D, 0x38,0xF8,0xF0,0xC0,0x00,0x00,0x04,0xFC,0x0C,0x1C, 0x7C,0xF0,0xE0,0x80,0x00,0x04, 0x04,0xFC,0x04,0x04,0x00,0xC0,0xF0,0xF8,0x38,0x0C, 0x04,0x04,0x04,0x04,0x0C,0x08, 0x38,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C, 0x04,0x04,0x04,0x04,0xFC,0xFC, 0xFC,0x04,0x04,0x04,0x04,0x1C,0x04,0x04,0xFC,0xFC, 0xFC,0x04,0x04,0x04,0x04,0x0C, 0xF8,0xF8,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x04, 0x04,0xFC,0xFC,0xFC,0x04,0x04, 0x00,0x00,0x04,0x04,0xFC,0xFC,0xFC,0x04,0x04,0x00, 0xC0,0xF0,0xF8,0x38,0x0C,0x0C, 0x04,0x04,0x04,0x04,0x08,0x38,0x7C,0x00,0x04,0x04, 0xFC,0x1C,0xFC,0xFC,0xE0,0x80, 0x00,0x00,0x00,0x80,0x60,0x1C,0xFC,0xFC,0xFC,0x04, 0x04,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x04,0x04,0xFC,0xFC,0xFC,0x04,0x04,0x80, 0x40,0x20,0x14,0x0C,0x0C,0x04, 0x04,0x00,0x04,0x04,0xFC,0xFC,0xFC,0x04,0x04,0x00, 0x00,0x04,0x04,0xFC,0xFC,0xFC, 0x04,0x04,0x00,0xC0,0xF0,0xF8,0x38,0x0C,0x04,0x04, 0x04,0x04,0x0C,0x38,0xF8,0xF0, 0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x30,0x7C, 0xFC,0xE0,0x80,0x00,0x00,0x00, 0x00,0x00,0x00,0xC0,0xC0,0xC0,0x00,0x00,0x04,0x84, 0xFC,0xFC,0xFC,0x84,0x04,0x04, 0x0C,0x0C,0x38,0xF8,0xF0,0xC0,0x00,0x04,0x84,0xFC, 0xFC,0xFC,0x84,0x04,0x04,0x0C, 0x0C,0x38,0xF8,0xF0,0xC0,0x00,0x1C,0x04,0x04,0x04, 0x04,0xFC,0xFC,0xFC,0x04,0x04, 0x04,0x04,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x04,0x04,0xFC,0xFC,0xFC, 0x04,0x04,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0xC0,0xF0,0xF8,0x38,0x0C,0x04,0x05, 0x05,0x07,0x0D,0x3A,0xF9,0xF1, 0xC0,0x00,0x04,0x04,0xFC,0xFC,0xFC,0x04,0x04,0x04, 0x04,0x0C,0xF8,0xF8,0xF0,0x00, 0x00,0x00,0xC0,0xC0,0xC0,0x00,0x00,0x04,0x84,0xFC, 0xFC,0xFC,0x84,0x04,0x04,0x0C, 0x0C,0x38,0xF8,0xF0,0xC0,0x00,0x1C,0x04,0x04,0x04, 0x04,0xFC,0xFC,0xFC,0x04,0x04, 0x04,0x04,0x1C,0x00,0xC0,0xF0,0xF8,0x04,0x04,0x04, 0xF8,0xF0,0xE0,0x00,0x00,0xF0, 0xF8,0xFC,0x04,0x04,0x0C,0xF8,0xF8,0xE0,0x00,0x00, 0x04,0x04,0xFC,0xFC,0xFC,0x04, 0x04,0x04,0x8C,0xFC,0xF8,0x70,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,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,0x00,0x00, }; unsigned char maled1[]= { 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x80,0x80,0xFF,0xFF,0xFF,0x80,0x80, 0x00,0x00,0x00,0x80,0x80,0xFF, 0xFF,0xFF,0x82,0x82,0x06,0x1E,0x3F,0x7B,0xE1,0xC0, 0x80,0x80,0x00,0x00,0x1F,0x7F, 0x7F,0xC0,0x80,0x80,0x80,0x80,0x40,0x60,0x1F,0x00, 0x00,0x00,0x0F,0x3F,0x7F,0x70, 0xC0,0x80,0x80,0x80,0x80,0xC0,0x70,0x7F,0x3F,0x0F, 0x00,0x80,0x80,0xFF,0x80,0x80, 0x00,0x00,0x01,0x07,0x0F,0x1E,0x78,0xFF,0x00,0x00, 0x00,0x0F,0x3F,0x7F,0x70,0xC0, 0x80,0x80,0x80,0x84,0x84,0xFC,0x7C,0x7C,0x04,0x04, 0x00,0x00,0x00,0x00,0x00,0x00, 0x0F,0x3F,0x7F,0x70,0xC0,0xC0,0x80,0x80,0x80,0x80, 0x40,0x40,0x20,0x00,0x80,0x80, 0xFF,0xFF,0xFF,0x80,0x80,0x80,0x80,0xC0,0x70,0x7F, 0x3F,0x0F,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x0F,0x3F,0x7F,0x70,0xC0,0xC0,0x80, 0x80,0x80,0x80,0x40,0x40,0x20, 0x00,0x00,0x0F,0x3F,0x7F,0x70,0xC0,0x80,0x80,0x80, 0x80,0xC0,0x70,0x7F,0x3F,0x0F, 0x00,0x80,0x80,0xFF,0x80,0x80,0x00,0x00,0x01,0x07, 0x0F,0x1E,0x78,0xFF,0x00,0x00, 0x00,0x0F,0x3F,0x7F,0x70,0xC0,0x80,0x80,0x80,0x84, 0x84,0xFC,0x7C,0x7C,0x04,0x04, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80, 0xFF,0xFF,0xFF,0x80,0x80,0x00, 0x00,0x00,0x80,0x80,0xFF,0xFF,0xFF,0x81,0x81,0x01, 0x01,0x81,0x81,0xFF,0xFF,0xFF, 0x80,0x80,0x00,0x00,0x1F,0x7F,0x7F,0xC0,0x80,0x80, 0x80,0x80,0x40,0x60,0x1F,0x00, 0x00,0x00,0x0F,0x3F,0x7F,0x70,0xC0,0x80,0x80,0x80, 0x80,0xC0,0x70,0x7F,0x3F,0x0F, 0x00,0x80,0x80,0xFF,0x80,0x80,0x00,0x00,0x01,0x07, 0x0F,0x1E,0x78,0xFF,0x00,0x00, 0x00,0x0F,0x3F,0x7F,0x70,0xC0,0x80,0x80,0x80,0x84, 0x84,0xFC,0x7C,0x7C,0x04,0x04, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80, 0xFF,0xFF,0xFF,0x80,0x80,0x00, 0x00,0x00,0x80,0x80,0xFF,0xFF,0xFF,0x82,0x82,0x02, 0x02,0x03,0x01,0x01,0x00,0x00, 0x00,0xE0,0xE0,0xE0,0x00,0x80,0x80,0xFF,0xFF,0xFF, 0x81,0x81,0x01,0x01,0x81,0x81, 0xFF,0xFF,0xFF,0x80,0x80,0x00,0x0F,0x3F,0x7F,0x70, 0xC0,0xC0,0x80,0x80,0x80,0x80, 0x40,0x40,0x20,0x00,0x80,0x80,0xFF,0x80,0x80,0x03, 0x1F,0x7F,0xFC,0x30,0x0E,0x03, 0x80,0x80,0xFF,0xFF,0xFF,0x80,0x80,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x08,0x08,0x08,0x08,0x08,0x08,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x80,0x80, 0xFF,0xFF,0xFF,0x81,0x87,0x0F,0x1E,0xBC,0xF0,0xE0, 0xC0,0x80,0x80,0x00,0x80,0x80, 0xFF,0xFF,0xFF,0x81,0x81,0x01,0x01,0x81,0x81,0xFF, 0xFF,0xFF,0x80,0x80,0x00,0x0F, 0x3F,0x7F,0x70,0xC0,0x80,0x80,0x80,0x80,0xC0,0x70, 0x7F,0x3F,0x0F,0x00,0x80,0xC0, 0xE0,0x98,0x8F,0x08,0x08,0x08,0x0B,0x8F,0xFF,0xFC, 0xF0,0xC0,0x80,0x00,0x00,0xE1, 0xE1,0xE1,0x00,0x00,0x80,0x80,0xFF,0xFF,0xFF,0x80, 0x80,0x80,0x80,0xC0,0x70,0x7F, 0x3F,0x0F,0x00,0x80,0x80,0xFF,0xFF,0xFF,0x80,0x80, 0x80,0x80,0xC0,0x70,0x7F,0x3F, 0x0F,0x00,0x00,0x00,0x00,0x80,0x80,0xFF,0xFF,0xFF, 0x80,0x80,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x08,0x08,0x08,0x08,0x08,0x08, 0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x80,0x80,0xFF,0xFF,0xFF,0x80,0x80,0x80,0x80, 0x80,0xC0,0xF0,0x38,0x00,0x0F, 0x3F,0x7F,0x70,0xC0,0x80,0x80,0x80,0x80,0xC0,0x70, 0x7F,0x3F,0x0F,0x00,0x80,0x80, 0xFF,0xFF,0xFF,0x82,0x82,0x02,0x02,0x03,0x01,0x01, 0x00,0x00,0x00,0x00,0xE1,0xE1, 0xE1,0x00,0x00,0x80,0x80,0xFF,0xFF,0xFF,0x80,0x80, 0x80,0x80,0xC0,0x70,0x7F,0x3F, 0x0F,0x00,0x00,0x00,0x00,0x80,0x80,0xFF,0xFF,0xFF, 0x80,0x80,0x00,0x00,0x00,0x00, 0x0F,0x3F,0x7F,0x80,0x80,0x80,0x7F,0x3F,0x0F,0x00, 0x00,0x81,0x83,0xC7,0x46,0x64, 0x3C,0x3F,0x0F,0x03,0x00,0x00,0x80,0x80,0xFF,0xFF, 0xFF,0x81,0x81,0x81,0x83,0xC7, 0xFE,0x7E,0x3C,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,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00, }; void shift_left1(void) //DICH TU TRAI QUA PHAI { for(t=0;t<=648;t++)//TONG SO DU LIEU BANG DB { for(n=0;n<100;n++)// THOI GIAN DICH 1 O { for(i=0;i<=64;i++)// TONBG SO CIT HIEN CO { dulieu1=0xFF; dulieu2=0xff; SCLK=0; if(i==0) {SER=0;} else {SER=1;} SCLK=1; LCLK=0; LCLK=1; dulieu1=~maled[i+t]; dulieu2=~maled1[i+t]; delay_us(10); }; }; }; }; void shift_right(void)//CHAY TU PHAI QUA TRAI { for(t=648;t>=0;t--) //GIAM T { for(n=0;n<100;n++) //TANG N { for(i=0;i<=64;i++)// TANG I { dulieu1=0xff; dulieu2=0xff; SCLK =0; if(i==0) {SER=0;} else {SER=1;} SCLK=1; LCLK=0; LCLK=1; dulieu1=~maled[i+t]; dulieu2=~maled1[i+t]; delay_us(10); // thoi gian delay }; }; }; }; void main(void) { PORTC=0x00; DDRC=0x7F; PORTD=0x00; DDRD=0xFF; PORTB=0x00; DDRB=0xFF; DDRA=0XFF; PORTA=0XFF; while (1) { for(j=0;j<=64;j++){ dulieu1=0xff; SER=0; SCLK=1; LCLK=1; SCLK=0; LCLK=0; }; SER=0; SCLK=0; delay_us(50); shift_left1(); shift_right(); } } |
![]() |
![]() |
|
|