![]()  | 
		
			
  | 	
	
 Tài trợ cho PIC Vietnam  | 
||||||||
| Những câu hỏi thường gặp Những lỗi cơ bản thường gặp khi làm việc với PIC hoặc những vấn đề cơ bản nhất thường được hỏi trong những năm qua | 
![]()  | 
	
	
| 
		 | 
	Ðiều Chỉnh | Xếp Bài | 
| 		
			
			 | 
		#1 | 
| 
			
			
			
			 Nhập môn đệ tử 
			
		
			
			
			Tham gia ngày: Apr 2010 
				
				
				
					Bài gửi: 4
 
				
				
				:  | 
	
	
	
	
		
			
			 
				
				Giúp mình code dễ mà sao cứ có lỗi
			 
			code như này mà sao có lõi các bác, mình đang dùng CCS ver 4.102d 
		
	
		
		
		
		
		
	
	#include <16F877.h> #include <stdio.h> #use delay(clock = 20000000) #fuses HS,NOWDT,NOPROTECT,NOLVP #device PIC16F877*=16 ADC=8 #use rs232(baud=19200, parity=n, xmit=pin_C6, rcv=pin_C7) int8 adc; void main() { setup_ADC(ADC_CLOCK_INTERNAL); setup_ADC_ports(AN0); set_ADC_channel(0); delay_us(10); while(true) { adc=read_ADC(); output_B(adc); printf("gia tri adc la %u",adc); } } khi biên dịch thi được các thông báo lỗi sau: Error 23.. Line 5: can not change device type this far into the code Line 5: Expecting a ( Line 5: Expecting a declaration Line 5: Expecting a ( Line 5: Expecting a declaraton Vì mới tìm hiểu PIC được ít hôm nên mong được các bạn chi thêm.  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#2 | |
| 
			
			
			
			 Đệ tử 4 túi 
			
		
			
				
			
			
			Tham gia ngày: Nov 2008 
				Nơi Cư Ngụ: Hanoi, Vietnam 
				
				
					Bài gửi: 78
 
				
				
				:  | 
	
	
	
	
		
			
			 Trích: 
	
 Theo như thông báo là rõ rồi còn gì! Bạn khai báo ADC sai. Code: 
	#device PIC16F877*=16 ADC=8 Code: 
	#device ADC*=8 
				__________________ 
		
		
		
		
	
	Mechatronics Department University of Engineering and Technology, VNUH.  | 
|
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#3 | 
| 
			
			
			
			 Nhập môn đệ tử 
			
		
			
			
			Tham gia ngày: Apr 2010 
				
				
				
					Bài gửi: 4
 
				
				
				:  | 
	
	
	
	
		
		
		
		 Rất cảm ơn bạn, đúng là mới tìm hiểu nên chưa biết hết.  
		
	
		
		
		
		
		
	
	Bây giờ thì được rồi, mong tiếp tục nhận được sự giúp đỡ của các bạn  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#4 | 
| 
			
			
			
			 Nhập môn đệ tử 
			
		
			
			
			Tham gia ngày: Apr 2010 
				
				
				
					Bài gửi: 4
 
				
				
				:  | 
	
	|
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#5 | 
| 
			
			
			
			 Đệ tử 4 túi 
			
		
			
			
			Tham gia ngày: Aug 2008 
				
				
				
					Bài gửi: 89
 
				
				
				:  | 
	
	
	
	
		
		
		
		 Phải đặt dòng  
		
	
		
		
		
		
			Code: 
	#device PIC16F877*=16 ADC=8 Code: 
	#include <16F877.h> #device PIC16F877*=16 ADC=8 ... 
				__________________ 
		
		
		
		
	
	Quang báo RG/RGB 6/8/12/16 bits màu Phone No: 0905.034.086 Email: lmquyen@gmail.com  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#6 | 
| 
			
			
			
			 Nhập môn đệ tử 
			
		
			
			
			Tham gia ngày: Apr 2010 
				
				
				
					Bài gửi: 4
 
				
				
				:  | 
	
	
	
	
		
		
		
		 dc rồi bạn ah, thks nhe 
		
	
		
		
		
		
		
	
	 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#7 | 
| 
			
			
			
			 Nhập môn đệ tử 
			
		
			
			
			Tham gia ngày: Oct 2010 
				
				
				
					Bài gửi: 5
 
				
				
				:  | 
	
	
	
	
		
		
		
		 mình thì bị khác, mình để dòng #device ngay sau #include <16f877a.h> rồi, thì trong thư viện 16f877a.h báo lỗi y như vậy tại dòng #device PIC16F877A (cannot chang device type far into this code) chẳng biết phải làm sao. thư viện 16f877a của mình là 
		
	
		
		
		
		
		
	
	 lỗi tại dòng số 2)//////// Standard Header file for the PIC16F877A device //////////////// #device PIC16F877A #nolist //////// Program memory: 8192x14 Data RAM: 367 Stack: 8 //////// I/O: 33 Analog Pins: 8 //////// Data EEPROM: 256 //////// C Scratch area: 77 ID Location: 2000 //////// Fuses: LP,XT,HS,RC,NOWDT,WDT,NOPUT,PUT,PROTECT,DEBUG,NODE BUG //////// Fuses: NOPROTECT,NOBROWNOUT,BROWNOUT,LVP,NOLVP,CPD,NOCPD, WRT_50% //////// Fuses: NOWRT,WRT_5%,WRT_25% //////// ////////////////////////////////////////////////////////////////// I/O // Discrete I/O Functions: SET_TRIS_x(), OUTPUT_x(), INPUT_x(), // PORT_x_PULLUPS(), INPUT(), // OUTPUT_LOW(), OUTPUT_HIGH(), // OUTPUT_FLOAT(), OUTPUT_BIT() // Constants used to identify pins in the above are:  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#8 | 
| 
			
			
			
			 Nhập môn đệ tử 
			
		
			
			
			Tham gia ngày: Oct 2010 
				
				
				
					Bài gửi: 5
 
				
				
				:  | 
	
	
	
	
		
		
		
		 fixed thanks anyway 
		
	
		
		
		
		
		
	
	 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#9 | 
| 
			
			
			
			 Nhập môn đệ tử 
			
		
			
			
			Tham gia ngày: Apr 2010 
				
				
				
					Bài gửi: 3
 
				
				
				:  | 
	
	
	
	
		
		
		
		 các bạn cho mình xin thư viện  16F877.h . mình tìm mãi không thấy 
		
	
		
		
		
		
		
	
	 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#10 | 
| 
			
			
			
			 Đệ tử 2 túi 
			
		
			
				
			
			
			Tham gia ngày: Jul 2009 
				
				
				
					Bài gửi: 40
 
				
				
				:  | 
	
	
	
	
		
		
		
		 file này thì vào ổ đĩa C/program files/PIC C/Devices/16F877.h 
		
	
		
		
			gửi lun cho bạn file 16F877.h 
				__________________ 
		
		
		
		
	
	Cao Văn Hưởng SĐT: 01672754113 Email: caovanhuong@webdien.com Nhận thiết kế mạch điện tử, PCB (Orcad)  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#11 | 
| 
			
			
			
			 Nhập môn đệ tử 
			
		
			
			
			Tham gia ngày: Oct 2011 
				
				
				
					Bài gửi: 6
 
				
				
				:  | 
	
	
	
	
		
		
		
		 Mình cũng bị lỗi như bạn hoangtuan8911 ah 
		
	
		
		
		
		
		
	
	#device PIC16F876A (cannot change device type far into this code) Tuấn ơi cho mình hỏi bạn đã sữa lỗi như thế nào vậy. Cảm ơn bạn nhiều!  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#12 | 
| 
			
			
			
			 Nhập môn đệ tử 
			
		
			
			
			Tham gia ngày: Oct 2011 
				
				
				
					Bài gửi: 7
 
				
				
				:  | 
	
	
	
	
		
		
		
		 bạn Tuấn post bài cách đây 1 năm rồi! khả năng reply là rất ít 
		
	
		
		
		
		
			
		
		
		
		
	
	 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#13 | 
| 
			
			
			
			 Nhập môn đệ tử 
			
		
			
			
			Tham gia ngày: Sep 2010 
				
				
				
					Bài gửi: 2
 
				
				
				:  | 
	
	
	
	
		
		
		
		 Chào các bạn! 
		
	
		
		
		
		
		
	
	Mình đang tìm hiểu về pic 16f877a, mạch của mình có 1 nút nhấn (on/off) và 1 biến trở để điều khiển 1 led đơn giao tiếp với máy tính. Mình làm mạch rồi mà chưa biết lập trình như thế nào. Mong các bạn chỉ giúp cho mình về giải thuật với.  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#14 | 
| 
			
			
			
			 Nhập môn đệ tử 
			
		
			
			
			Tham gia ngày: Apr 2011 
				
				
				
					Bài gửi: 2
 
				
				
				:  | 
	
	
	
	
		
		
		
		 Em chào các anh,em mới học pic16f877,em có viết 1 code đơn giản nhưng bị lỗi em chưa biết sửa cách nào,mọi người giúp em nha. 
		
	
		
		
		
		
		
	
	Đây là code của em #include "C:\Documents and Settings\Administrator\My Documents\b11\main adc.h" #device *=16 ADC=8 #use delay(clock=10000000) int adc_delay; void hieu_chinh() { adc_delay=read_adc (0); output_B(0); delay_ms(adc_delay); output_B(255); delay_ms(adc_delay); } void main() { setup_ adc_post(AN0_AN1_AN3); setup_ adc(adc_clock_internal); set_ adc_chennel(0); while(1) { hieu_chinh(); if(input(pin_C0)) { output_B(0); break; } } } em dung ccs complie lỗi sảy ra là Error 23.. Line 3(8,9): can not change device type this far into the code  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
![]()  | 
	
	
		
  | 
	
		
  |