PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > PIC - Thiết kế và Ứng dụng

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

PIC - Thiết kế và Ứng dụng Ý tưởng cho các sản phẩm sử dụng PIC/dsPIC và các sản phẩm của Microchip

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 09-05-2007, 11:09 AM   #5
HSIC
Nhập môn đệ tử
 
Tham gia ngày: May 2006
Bài gửi: 3
:
Quang bao

Cảm ơn các bạn đã đóng gốp ý kiến. nhưng H sẽ gởi nguyên đoạn chương trình của H nhờ các bạn xem và sửa lại giúp H.
Ở đây H muốn cho nó chạy từ cột thứ nhất đến cột thứ 16 và lặp lại.
hoặc là cho nó chạy một chử nào đó.
H chua làm được .

H dùng xuất dữ liệu ra cột và quét hàng.
về phần cứng H dùng 1 con 74hc595 quét hàng.
2 con 74hc595 xuất dữ liệu ra cột.
mong được sự giúp đở của các bạn.
Cảm ơn nhiều.

//#################################################
#include <C:\Program Files\PICC\Devices\16F876A.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000)
#use rs232(baud=4800, xmit=PIN_C6,rcv=PIN_C7) //chan17, 18

#use fast_io(A)
#use fast_io(B)

#define col_stb PIN_A1 //chan 2
#define col_clk PIN_A0 // chan 3
#define col_data PIN_A2 // chan 4
#define row_data PIN_B2 //chan 23
#define row_clk PIN_B4 //chan 25
#define row_stb PIN_B3 //chan 24
#define row_en PIN_B1 // chan22

int8 row=0;
int8 cot_dich=0;
int16 begin_of_read=0;
int8 buffer[16]=
{
0b01111111,0b11111111, // 0 là led sang, 1 led tắt.
0b01111111,0b11111111,// vị trí 0 là cột thứ nhất
0b01111111,0b11111111,
0b01111111,0b11111111,
0b01111111,0b11111111,
0b01111111,0b11111111,
0b01111111,0b11111111,
0b01111111,0b11111111,
};

void display_mot_byte(int8 d)
{
output_low(col_clk);
output_bit(col_data,shift_right(&d,1,0));
output_high(col_clk);
output_low(col_clk);
output_bit(col_data,shift_right(&d,1,0));
output_high(col_clk);
output_low(col_clk);
output_bit(col_data,shift_right(&d,1,0));
output_high(col_clk);
output_low(col_clk);
output_bit(col_data,shift_right(&d,1,0));
output_high(col_clk);
output_low(col_clk);
output_bit(col_data,shift_right(&d,1,0));
output_high(col_clk);
output_low(col_clk);
output_bit(col_data,shift_right(&d,1,0));
output_high(col_clk);
output_low(col_clk);
output_bit(col_data,shift_right(&d,1,0));
output_high(col_clk);
output_low(col_clk);
output_bit(col_data,shift_right(&d,1,0));
output_high(col_clk);
}

//##################################################
#INT_TIMER0
void timer0_isr()
{
output_low(Pin_A2);
set_timer0(250);
output_low(col_stb);
display_mot_byte(buffer[begin_of_read+row+0]);
display_mot_byte(buffer[begin_of_read+row+1]);
output_high(row_en);
if(row==0)
{
output_low(row_stb);
output_low(row_clk);
output_low(row_data);
output_high(row_clk);
output_high(row_stb);
}
else
{
output_low(row_stb);
output_low(row_clk);
output_high(row_data);
output_high(row_clk);
output_high(row_stb);
}
output_high(col_stb);
output_low(row_en);
row++;
begin_of_read=begin_of_read+1;
if(row==8)
{
row=0;
begin_of_read=cot_dich*1;
}

output_high(Pin_A2);
}

//#################################################
void reset_row()
{
int8 i;
output_high(row_data);
output_low(row_stb);
for(i=0;i<8;i++)
{
output_low(row_clk);
output_high(row_clk);
}
output_high(row_stb);

row=0;
}
//##################################################
void thay_doi()
{
int8 i;
for(i=0;i<8;i++)
{
shift_right(buffer[i*2],1,0);
shift_right(buffer[i*2+1],1,0);
}
delay_ms(100);
}
//shift_rignt(address,byte,value)

//##################################################
void main()
{
set_tris_A(0);
set_tris_b(0);
reset_row();
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_2);
enable_interrupts(int_timer0);
// set_timer0(250);
enable_interrupts(global); // cho phep ngat toan cuc
while(1)
{
thay_doi();
delay_ms(100);
}
}[/QUOTE]
HSIC vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 04:30 PM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam