PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Các ngôn ngữ lập trình khác (CCS C, HT PIC,...)

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

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 15-06-2006, 07:47 PM   #1
TTL
Đệ tử 3 túi
 
Tham gia ngày: Jun 2006
Bài gửi: 50
:
Mình muốn ngắt bằng cạnh lên phải làm sao

Mình viết 1 đoạn code muốn ngắt bằng cạnh lên mong các bác chỉ giáo

#include "16f877a.h"
#use delay(clock=20000000)
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use rs232(baud=9600,parity=n,xmit=pin_c6,rcv=pin_c7)

#include "lcd.c"
#include "kbd.c"

#byte port_b=6
int dem;
char a1,a2,b1,b2,c1,c2; //khai bao cac bien dai dien cho gio, phut ,giay)


#int_timer0 /*ngat do bo dinh thoi 1 */
ngat_timer0()
{
dem++;
if(dem==1)
{
dem=0;
lcd_putc(a1);
lcd_putc(a2);
lcd_putc(":");
lcd_putc(b1);
lcd_putc(b2);
lcd_putc(":");
lcd_putc(c1);
lcd_putc(c2);
c2=c2+1;
if (c2>=':')
{
c2='0';
c1=c1+1;
}
if (c1>='6')
{
c1='0';
b2=b2+1;
}
if (b2>=':')
{
b2='0';
b1=b1+1;
}
if (b1>='6')
{
b1='0';
a2=a2+1;
}
if (a2>=':')
{
a2='0';
a1=a1+1;
}
if (a1>='2' & a2=='4')
{
a1='0';
a2='0';
}
lcd_putc("\f");
}
}

#int_rb
ngat_rb()
{
if(bit_test(port_b,4)==1)
{
b2=b2+1;
}
if(bit_test(port_b,5)==1)
{
a2=a2+1;
}
}

void main(void)
{

a1=a2=b1=b2=c1=c2='0'; //setup cho dong ho chay thu 00:00:00
enable_interrupts(global);
enable_interrupts(int_timer0);
enable_interrupts(int_rb);
setup_timer_0(rtcc_internal|rtcc_div_2);
lcd_init();
while(1)
{

}
}
TTL vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 16-06-2006, 12:23 PM   #2
nhh
Đệ tử 9 túi
 
nhh's Avatar
 
Tham gia ngày: Feb 2006
Bài gửi: 174
:
Send a message via Yahoo to nhh
Rất đơn giản trong phần khởi tạo ngắt.Ví dụ như ngắt ngoài RB,thì:

Code:
enable_interrupts(INT_RB);
ext_int_edge(L_to_H);        // low to high
                             // nếu muốn ngắt cạnh xuống thì H_to_L
Mà hình như ngắt cạnh lên là mặc định thì phải ....

Không biết bạn có edit lại file 16F877A.h không? PORTB chứ không PORT_B
__________________
Ngày mai bắt đầu từ ngày hôm nay

Bạn có thắc mắc, bạn cần sự hỗ trợ của các thành viên. Hãy đọc luồng này:
http://www.picvietnam.com/forum//showthread.php?t=1263
nhh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-06-2006, 06:22 PM   #3
TTL
Đệ tử 3 túi
 
Tham gia ngày: Jun 2006
Bài gửi: 50
:
Cám ơn bạn bây giờ thì mình đã hiểu
TTL vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 21-07-2006, 11:18 AM   #4
dohoangnam
Đệ tử 1 túi
 
Tham gia ngày: Mar 2006
Bài gửi: 22
:
Cảm ơn các bác!!!
dohoangnam vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


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à 03:06 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