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

Ðề tài đã khoá
 
Ðiều Chỉnh Xếp Bài
Old 28-06-2007, 11:53 PM   #1
anh_gioi
Đệ tử 6 túi
 
Tham gia ngày: Oct 2006
Bài gửi: 147
:
mình đánh lại chương trình trên ,CCS thông báo không có lỗi gì nhưng khi mô phỏng không chạy được.
mong mọi người tìm ra chỗ sai hộ mình!
thank!

Code:
#include "C:\Documents and Settings\Administrator\Desktop\thu\giai ma ban phim\giai ma ban phim.h"

#fuses NOWDT,PUT,HS,NOPROTECT
#use delay(clock=4000000)
//giai ma ban phim
#use fast_io(b)
#use fast_io(c)
#byte portb = 0x06
#byte portc = 0x07
#byte intcon = 0x000B
#bit RB0 = portB.0
#bit RB1 = portB.1
#bit RB2 = portB.2
#bit RB3 = portB.3
#bit RB4 = portB.4
#bit RB5 = portB.5
#bit RB6 = portB.6
#bit RB7 = portB.7
#bit RBIF = intcon.0 //dinh nghia ham ngat cong RB
#bit RBIE = intcon.3 //dinh nghia bit ngat RB
int a;
const unsigned char digital[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f\
                                 0x77,0x7c,0x39,0x5e,0x79,0x71};
      
//tao ham ngat
#int_ext
void ngat_RB(){
                     IF((RBIF)&&(RBIE)){
                                            if(RB4&&RB0)
                                            { a = digital[0];}
                                             
                                             if(RB5&&RB0)  
                                             {a = digital[1];}
                                             
                                            if(RB6&&RB0) 
                                            { a = digital[2];}
                                             
                                             if(RB7&&RB0) 
                                             {a = digital[3];}
                                             ////
                                             if(RB4&&RB1)
                                             { a = digital[4];} 
                                              
                                             if(RB5&&RB1)  
                                             {a = digital[5];}
                                             
                                             if(RB6&&RB1)  
                                             {a = digital[6];}
                                             
                                             if(RB7&&RB1) 
                                             {a = digital[7];}
                                             ////
                                             if(RB4&&RB2)
                                             {a = digital[8];} 
                                             
                                             if(RB5&&RB2)  
                                             {a = digital[9];}
                                             
                                             if(RB6&&RB2) 
                                             {a = digital[10];}
                                             
                                             if(RB7&&RB2) 
                                             {a = digital[11];}
                                             RBIF =0; //xoa co ngat                                          
} 
}
                                                                       
                     
                     
   //tao ham chinh
   void main(){
                    set_tris_b(0xf0);
                    set_tris_c(0x00);
                    portb = 0;
                    portc = 0;
                    enable_interrupts(int_ext); //ngat toan bo
                    ext_int_edge(H_to_L);
                    enable_interrupts(global);
                    while(true){
                              portb = 1;
                              portb = 2;
                              portb = 4;
                              portb = 8;
                              portc = a;
                    }
                        }

thay đổi nội dung bởi: falleaf, 29-06-2007 lúc 03:20 PM.
anh_gioi vẫn chưa có mặt trong diễn đàn  
Old 29-06-2007, 11:55 AM   #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
Trích:
Nguyên văn bởi anh_gioi View Post
mình đánh lại chương trình trên ,CCS thông báo không có lỗi gì nhưng khi mô phỏng không chạy được.
mong mọi người tìm ra chỗ sai hộ mình!
thank!

#include "C:\Documents and Settings\Administrator\Desktop\thu\giai ma ban phim\giai ma ban phim.h"

#fuses NOWDT,PUT,HS,NOPROTECT
#use delay(clock=4000000)
...
Ở đây có cả giải thuật và code, đã test trên mạch thật. Bạn tham khảo thêm:
http://www.picvietnam.com/forum/showthread.php?t=839
nhh vẫn chưa có mặt trong diễn đàn  
Old 29-06-2007, 12:43 PM   #3
anh_gioi
Đệ tử 6 túi
 
Tham gia ngày: Oct 2006
Bài gửi: 147
:
cam on anh rất nhiều !
anh_gioi vẫn chưa có mặt trong diễn đàn  
Ðề tài đã khoá


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

Similar Threads
Ðề tài Người gửi Chuyên mục Trả lời Bài mới
TUT về USART trong PIC16F877A mafd_47a MPASM 16 19-02-2025 05:32 AM
TUT ve I2C ( pic16f877a ) mafd_47a MPASM 28 28-01-2025 10:45 PM
Lập nhóm PIC16F877A nhh Cơ bản về vi điều khiển và PIC 285 08-03-2017 11:08 PM
Bộ so sánh và PWM cho PIC16F877A anhquangngai Cơ bản về vi điều khiển và PIC 24 08-09-2012 09:00 AM
Pic16f877a TỪ DỄ TỚi KhÓ ntc Cơ bản về vi điều khiển và PIC 373 23-05-2009 10:24 PM


Múi giờ GMT. Hiện tại là 02:10 AM.


Đượ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