![]() |
|
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 |
Đệ tử 2 túi
Tham gia ngày: Jul 2009
Bài gửi: 40
: |
đây là file Def_877A
__________________
Cao Văn Hưởng SĐT: 01672754113 Email: caovanhuong@webdien.com Nhận thiết kế mạch điện tử, PCB (Orcad) |
![]() |
![]() |
![]() |
#2 |
Đệ tử 4 túi
Tham gia ngày: Apr 2008
Nơi Cư Ngụ: Hanoi
Bài gửi: 78
: |
Lâu không dùng CCS nên ko nhớ rõ lắm. Hình như file Def_877a.h là do mình định nghĩa hay qui ước một số thứ ở trong đó. Thế thì bạn để file này ở chỗ nào...
|
![]() |
![]() |
![]() |
#3 |
Nhập môn đệ tử
Tham gia ngày: Sep 2010
Bài gửi: 8
: |
su dung port nào thi khai báo ,
|
![]() |
![]() |
![]() |
#4 |
Đệ tử 4 túi
|
Mình đã hiểu rồi khi có khai báo
#use fast_io(b) thì không dùng :#include <def_877a.h> được mà buộc phải khai báo địa chỉ của portB cu thể là #byte portb=0x06 // phải khai báo địa chỉ port B nếu dùng fast_io(b) |
![]() |
![]() |
![]() |
#5 |
Đệ tử 2 túi
Tham gia ngày: Jul 2009
Bài gửi: 40
: |
không đúng, nếu mà không khai báo file def_877a.h thì mới phải định nghĩa các chân và các thanh ghi và vẫn có thể sử dụng #use fast_io(portx). còn khi khái báo file trên thì vẫn khai báo được #use fast_io(portx). trong chương trình không khai báo #use fast_io(portx) thì chương trình vẫn chạy tốt nhưng trong 1 vài trường hợp thì khai báo nó thì chương trình sẽ chạy nhanh hơn.
__________________
Cao Văn Hưởng SĐT: 01672754113 Email: caovanhuong@webdien.com Nhận thiết kế mạch điện tử, PCB (Orcad) |
![]() |
![]() |
![]() |
#6 |
Nhập môn đệ tử
Tham gia ngày: Jan 2010
Bài gửi: 6
: |
để xuất ra từng bit trong CCS thì dùng lênh output_low(), output_high(), tuy nhien trong wa trình viêt em không muốn ghi tên các bit ( vi dụ output_high(pin_b0)) mà em muốn dạt ten nó thì phải làm sao???
|
![]() |
![]() |
![]() |
#7 |
Đệ tử 1 túi
Tham gia ngày: Mar 2009
Bài gửi: 13
: |
khai báo ở đầu chương trình #bit id = x.y id là tên biến, x là vị trí byte, y là vị trí bit => xuất giá trị = giá trị cho biến
|
![]() |
![]() |
![]() |
#8 | |
Đệ tử 2 túi
Tham gia ngày: Jul 2009
Bài gửi: 40
: |
Trích:
và các chân khác cũng tương tự như RB0 đến RB7, RA0-RA7 và các port C, D và E. còn nếu không sử dụng file def_xxx thì bạn phải định nghĩa chân cho nó bằng hàm #bit tenbien=port.x (x này là vị trí chân) chẳng hạn là #bit RB3=portb.3 thì có nghĩa là bạn định nghĩa chân RB3 là portb3
__________________
Cao Văn Hưởng SĐT: 01672754113 Email: caovanhuong@webdien.com Nhận thiết kế mạch điện tử, PCB (Orcad) |
|
![]() |
![]() |
![]() |
#9 |
Đệ tử 2 túi
Tham gia ngày: Nov 2010
Bài gửi: 26
: |
#include <16F877A.h>
#include <def_16f877a.h> #fuses NOWDT,HS,NOPUT,NOPROTECT,NODEBUG,NOBROWNOUT,NOLVP, NOCPD,NOWRT #use delay(clock=12000000) #USE FAST_IO(A) #USE FAST_IO(B) #byte portb=0x05 #byte portb=0x06 unsigned char macot[]={255, 255, 255, 255, 255, 255, 254, 224, 254, 255, 255, 224, 251, 251, 224, 255, 224, 255, 255, 255, 255, 255, 255, 224, 234, 238, 255, 224, 252, 251, 247, 224, 255, 255, 255, 255, 255, 255, 255, 255, }; int8 i,m,k,j; //**************************chuong trinh chinh********************************** void main() { //ADC_OFF; set_tris_b(0); set_tris_a(0); delay_ms(100); enable_interrupts(int_timer0); setup_timer_0(RTCC_INTERNAL|RTCC_DIV_2); enable_interrupts(global); set_timer0(6);// T_dinhthi = 2*(256 - 6)*1us = 500us j=0x01; while(true) { //********************************PHUT************** ***************** for(m=0;m<35;m++) { for(k=0;k<90;k++) { j=0x01; for(i=0;i<5;i++) { portb=macot[i+m]; delay_ms(1); porta=(j&(0x3f)); //porta=01 0000 0011 1111 j=j<1; } porta=0; } } } } code của em như thế này mà nó cứ báo là chưa khai bào porta là sao các bác? mong các bác chỉ giúp. |
![]() |
![]() |
![]() |
#10 |
Nhập môn đệ tử
Tham gia ngày: May 2012
Bài gửi: 3
: |
#byte portb=0x05
#byte portb=0x06 kiểu này mà ko lỗi mới lạ |
![]() |
![]() |
![]() |
|
|