PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Trao đổi ngoài luồng (http://www.picvietnam.com/forum/forumdisplay.php?f=22)
-   -   Philip p89v51rx2.h (http://www.picvietnam.com/forum/showthread.php?t=3965)

quocchinh 19-04-2009 05:03 PM

Philip p89v51rx2.h
 
Em có một đoạn chương trình viết cho con p89v51rd2 của philip nhưng khi biên dịch bị lỗi không biết vì sao nữa.
nó báo là không mở được file <p89v51rx2.h> trong khi em đã copy file p89v51rx2.h vào thư mục INC rồi (//keilC/Phillip/INC//trong file cài đặt ấy).
ai co thể giup em với.
thanks trước nha.

kidcdt 19-04-2009 07:07 PM

mình cũng đang dùng p89v51rd2 đây, lỗi này mình đã gặp rồi. bác định nghĩa trực tiếp trong chương trình luôn là được thôi.
mìn có định nghĩa sẵn rồi đây. đang dùng ok!
/*--------------------------------------------------------------------------
thuvien.H
thu vien dung cho Philips
--------------------------------------------------------------------------*/

#ifndef __thuvien_H__
#define __thuvien_H__

/* Dinh ngia cac thanh ghi */
sfr P0 = 0x80;
sfr P1 = 0x90;
sfr P2 = 0xA0;
sfr P3 = 0xB0;
sfr PSW = 0xD0;
sfr ACC = 0xE0;
sfr B = 0xF0;
sfr SP = 0x81;
sfr DPL = 0x82;
sfr DPH = 0x83;
sfr PCON = 0x87;
sfr TCON = 0x88;
sfr TMOD = 0x89;
sfr TL0 = 0x8A;
sfr TL1 = 0x8B;
sfr TH0 = 0x8C;
sfr TH1 = 0x8D;
sfr IE = 0xA8;
sfr IP = 0xB8;
sfr SCON = 0x98;
sfr SBUF = 0x99;

/* Cac thanh ghi mo rong cua Philips */
sfr AUXR = 0x8E;
sfr AUXR1 = 0xA2;
sfr SADDR = 0xA9;
sfr IPH = 0xB7;
sfr SADEN = 0xB9;
sfr T2CON = 0xC8;
sfr T2MOD = 0xC9;
sfr RCAP2L = 0xCA;
sfr RCAP2H = 0xCB;
sfr TL2 = 0xCC;
sfr TH2 = 0xCD;
sfr CCON = 0xD8;
sfr CMOD = 0xD9;
sfr CCAPM0 = 0xDA;
sfr CCAPM1 = 0xDB;
sfr CCAPM2 = 0xDC;
sfr CCAPM3 = 0xDD;
sfr CCAPM4 = 0xDE;
sfr CL = 0xE9;
sfr CCAP0L = 0xEA;
sfr CCAP1L = 0xEB;
sfr CCAP2L = 0xEC;
sfr CCAP3L = 0xED;
sfr CCAP4L = 0xEE;
sfr CH = 0xF9;
sfr CCAP0H = 0xFA;
sfr CCAP1H = 0xFB;
sfr CCAP2H = 0xFC;
sfr CCAP3H = 0xFD;
sfr CCAP4H = 0xFE;


/* Dinh ngia bit */
/* Cac bit trong thanh ghi trang thai PSW */
sbit CY = PSW^7;
sbit AC = PSW^6;
sbit F0 = PSW^5;
sbit RS1 = PSW^4;
sbit RS0 = PSW^3;
sbit OV = PSW^2;
sbit P = PSW^0;

/* Cac bit trong thanh ghi ngat TCON */
sbit TF1 = TCON^7;
sbit TR1 = TCON^6;
sbit TF0 = TCON^5;
sbit TR0 = TCON^4;
sbit IE1 = TCON^3;
sbit IT1 = TCON^2;
sbit IE0 = TCON^1;
sbit IT0 = TCON^0;

/* Cac bit trong thanh ghi cho phep ngat IE */
sbit EA = IE^7;
sbit EC = IE^6;
sbit ET2 = IE^5;
sbit ES = IE^4;
sbit ET1 = IE^3;
sbit EX1 = IE^2;
sbit ET0 = IE^1;
sbit EX0 = IE^0;

/* Cac bit trong thanh ghi thit lap uu tien ngat IP */
sbit PPC = IP^6;
sbit PT2 = IP^5;
sbit PS = IP^4;
sbit PT1 = IP^3;
sbit PX1 = IP^2;
sbit PT0 = IP^1;
sbit PX0 = IP^0;

/* Cac chuc nang khac trong Port P3 */
sbit RD = P3^7;
sbit WR = P3^6;
sbit T1 = P3^5;
sbit T0 = P3^4;
sbit INT1 = P3^3;
sbit INT0 = P3^2;
sbit TXD = P3^1;
sbit RXD = P3^0;

/* Cac bit trong thanh ghi dieu khien noi tiep SCON */
sbit SM0 = SCON^7; // alternatively "FE"
sbit FE = SCON^7;
sbit SM1 = SCON^6;
sbit SM2 = SCON^5;
sbit REN = SCON^4;
sbit TB8 = SCON^3;
sbit RB8 = SCON^2;
sbit TI = SCON^1;
sbit RI = SCON^0;

/* Cac chuc nang mo rong cua P1 */
sbit CEX4 = P1^7;
sbit CEX3 = P1^6;
sbit CEX2 = P1^5;
sbit CEX1 = P1^4;
sbit CEX0 = P1^3;
sbit ECI = P1^2;
sbit T2EX = P1^1;
sbit T2 = P1^0;

/* Cac bit trong thanh ghi dieu khien T2 T2CON */
sbit TF2 = T2CON^7;
sbit EXF2 = T2CON^6;
sbit RCLK = T2CON^5;
sbit TCLK = T2CON^4;
sbit EXEN2 = T2CON^3;
sbit TR2 = T2CON^2;
sbit C_T2 = T2CON^1;
sbit CP_RL2= T2CON^0;

/* CCON */
sbit CF = CCON^7;
sbit CR = CCON^6;

sbit CCF4 = CCON^4;
sbit CCF3 = CCON^3;
sbit CCF2 = CCON^2;
sbit CCF1 = CCON^1;
sbit CCF0 = CCON^0;

#endif

nmhai 19-04-2009 08:18 PM

Thư viện cho họ Philip P89x51Rxx bạn dùng <reg51f.h>

kidcdt 19-04-2009 10:06 PM

vẫn có thể bị lỗi do không đọc được file thư viện đó. chắc ăn nhất là định nghĩa trực tiếp vô trong chương trình.

thienthanhomenh 20-04-2009 09:33 AM

lon chuồn rui các bác ơi
đây là PICVIETNAM mà

quocchinh 20-04-2009 06:19 PM

Thanks.để mình thử đã.
có j thì nhờ các bác jup thêm nha

avocadoduria 04-06-2009 11:58 AM

bạn gì đó ơi, lỗi chính là do bạn chọn con vi điều khiển sai đó, rất dễ chọn nhầm giữa P89V51RB2 và P89LV51RB2, còn trong code bạn add vào thư viện include<reg51f.h> là ok

bạn vào Flash -> Conigure Flash tool -> device -> chọn lại 89V51RB2 nhé là ok

fulloflove 20-08-2009 11:32 AM

dùng reg51f.h nó ko đủ các thanh ghi của P89v51RB2 đâu. phải dùng chính file P89V51Rx2.H hoặc định nghĩa như bạn kidcdt ở trên. ko thì dùng các file header của 8052


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

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam