Cho t hỏi cách khai báo ADC để có thể khởi tạo Vref + và Vref- có thể đặt điện áp vào để có thể tạo khoảng chênh lệch 1024mV.
Thông báo
Collapse
No announcement yet.
Sao chỉ có thể là 8.
Collapse
X
-
Việc chênh điện áp thì là do bạn hiệu chỉnh ở mạch ngoài ( chiết áp chẳng hạn ) ... còn để khởi tạo ADC với Vref+ , Vref- thì bạn xem thêm thanh ghi ADCON1Nguyên văn bởi phanlamdien Xem bài viếtCho t hỏi cách khai báo ADC để có thể khởi tạo Vref + và Vref- có thể đặt điện áp vào để có thể tạo khoảng chênh lệch 1024mV.
các bit 0 --> 3 ( PCFG0 --> PCFG3 ) có trong datasheet của pic16f877AModule RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com
Comment
-
ẹc cái nì thì bít rùi nhưng không biết khai báo như thế nào trong C á vd như: setup_adc_ports(RA0_RA1_ANALOG_RA3_REF); cái nì chỉ có thể chọn Vref- là Vss thui. Tui muốn hỏi khai báo tương tự như thế này. Lúc trước có cái tài liệu lập trình C tự nhiên bây giờ tìm không thấy nữa chán quá."Hãy nhìn người yêu mình là đẹp
Chứ đừng nhìn người đẹp mà yêu"
Comment
-
Nguyên văn bởi phanlamdien Xem bài viếtẹc cái nì thì bít rùi nhưng không biết khai báo như thế nào trong C á vd như: setup_adc_ports(RA0_RA1_ANALOG_RA3_REF); cái nì chỉ có thể chọn Vref- là Vss thui. Tui muốn hỏi khai báo tương tự như thế này. Lúc trước có cái tài liệu lập trình C tự nhiên bây giờ tìm không thấy nữa chán quá.
cái này thì bạn ghi kết quả trực tiếp vào setup_adc_ports(0x08); chẳng hạn ...
hoặc vào PICC ( trong program flies ) rồi xem cái file 16F877A.h trong thư mục devices ý AN0_AN1_AN4_AN5_AN6_AN7_VREF_VREF
--- Nói chung cái nào không nhớ thanh ghi , define tên ... thì cứ chui vào mà tìm file .h của con tương ứng rồi tra cứu vậy ( kinh nghiệm cho người mới học )
Mà cái thằng CCS này dài dòng vãi cả ra ... viết mỏi hết cả tay ( nên đổi trình dịch khác đi thôi cho nó bám sát với datasheet ) . hoặc nếu không phải nhớ cặn kẽ các thanh ghi
trình dịch khác thì chỉ cần ADCON1=0x08;Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com
Comment
-
Anh quế dương sử dụng nhiều vậy, em cũng chỉ sử dụng Micro C là flow code thôi. anh có có đoạn code nào thì mang lên cho anh em chiêm ngưỡng làm mẫu đi. Thanks anh ( em nghĩ mở một box để chia sẻ code mẫu, mọi người coi đó là tài nguyên nghiên cứu nhé)Nguyên văn bởi queduong Xem bài viếtmình dùng trực tiếp CCS không bị như vậy , mikroC cũng không bị , MPLAB , HTPIC cũng không bị ( mình dùng rất nhiều loại trình dịch ) nhưng chưa gặp hiện tượng .
Phiên bản CCS của bạn là bao nhiêu ? Thử download bản mới nhất xem ( nếu không có thể post lên mình test thử cho )Be quan. Plz contact through email:
Comment
-
Cái này đã có nhiều luồng hỏi , trả lời rồi . Dung lượng trên PC và dung lượng chip chẳng có gì liên quan với nhau cả .Nguyên văn bởi phanlamdien Xem bài viếtSẳn đây cho tôi hỏi mấy huynh là khi build xong thì file hex nó có dung lượng trên 20k vậy điều này có hợp lí không khi bộ nhớ của PIC chỉ có 8k.
-- Trình dịch đã dịch thành công là nạp được . Mỗi loại MCU trong trình dịch đã có giới hạn code từng loại rồi !Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com
Comment
-
Vì bạn code không tối ưu , lại xử lý toàn số thực ... Nó quá bộ nhớ chứ sao nữa . Thay con PIC khác đi ... dùng con nào bộ nhớ to to vào . Lúc ấy Case với code viết thoải mái thôi !Nguyên văn bởi phanlamdien Xem bài viết[ATTACH]29473[/ATTACH]
Bác Dương xem giúp sao case đo công suất nó ko chịu chạy.Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com
Comment
-
Code có rất nhiều đoạn trùng lặp ... các phép tính trùng lặp ... Tại sao không gom nó vào thành 1 chức năng để giảm ROM CODE ... mà chỗ nào cũng thích viết tất ra vậy . ???
ví dụ
Code:void channel_a() { setup_adc(ADC_CLOCK_INTERNAL); setup_adc_ports(ALL_ANALOG); set_adc_channel(0); delay_us(100); ampe0=(float)read_adc()*10.0/2.046; } void channel_b() { setup_adc(ADC_CLOCK_INTERNAL); setup_adc_ports(ALL_ANALOG); set_adc_channel(1); delay_us(100); ampe1=(float)read_adc()*10.0/2.046; }
hoàn toàn có thể viết :
khi gọi thì chỉ cần channel_select(0); hoặc channel_select(1); thôi .Code:void channel_select(unsigned char channel) { setup_adc(ADC_CLOCK_INTERNAL); setup_adc_ports(ALL_ANALOG); set_adc_channel(channel); delay_us(100); ampe1=(float)read_adc()*10.0/2.046; }
Rom code, ram MCU nó có giới hạn chứ có nhiều như ổ đĩa PC đâu nên phải cần phải tối ưu để giảm bớt !Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com
Comment
-
nó vượt quá nó báo Out of ROM ... segment too large gì gì đóNguyên văn bởi phanlamdien Xem bài viếtNhưng nó không báo full load mà.Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com
Comment
Bài viết mới nhất
Collapse
-
bởi Abril9Chào mọi người, động cơ bước có hộp số (https://www.oyostepper.es/category-2...eductores.html) trên thiết bị của tôi đã được sử dụng khoảng sáu tháng. Gần đây, tôi nhận thấy dầu rò rỉ từ trục đầu ra. Mỡ bôi trơn đã bị chảy và nhỏ giọt...
-
Channel: Các hệ thống tự động hóa khác
27-03-2026, 13:26 -
-
bởi AbirChào mọi người, gần đây tôi có một ý tưởng mới.
Tôi muốn nâng cấp thiết bị của mình để tăng tốc độ, vì vậy tôi đã thay đổi nguồn cấp cho mạch điều khiển từ 24V lên 48V. Động cơ vẫn giữ nguyên và dòng điện định...-
Channel: Điện tử công nghiệp
27-03-2026, 09:49 -
-
bởi nguyendinhvanCó một chi tiết sai cơ bản trong kỹ thuật điện tử....
-
Channel: Tâm tình dân kỹ thuật
26-03-2026, 19:31 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Bài hát mới, nhạc Phật: Về Giữa Chiêm Bao, sáng tác: Hoàng Đình Thường.
[Verse 1] Nhân gian bao thay đổi
ĐỜI là giấc CHIÊM BAO
Người mê lầm tranh đấu
KHỔ ĐAU mãi LUÂN HỒI.
VÔ THƯỜNG nào ai thấu
THAM vơ...-
Channel: Tâm tình dân kỹ thuật
25-03-2026, 19:01 -
-
Trả lời cho Giúp mình vẽ sơ đồ và phân tích nguyên lý làm việc của khảo sát các mạch nguồn ổn áp vớibởi davidcopyBạn muốn hỏi nguyên lý làm việc của mạch nào...
-
Channel: Hỗ trợ học tập
24-03-2026, 22:50 -
-
Trả lời cho Giúp mình vẽ sơ đồ và phân tích nguyên lý làm việc của khảo sát các mạch nguồn ổn áp vớibởi N_Tu_Hoc_HoiBạn cần sơ đồ mạch ổn áp bao nhiêu Volt, Nếu giống anh bạn guiwr có khả năng ổn áp dùng iC họ 78XX, 79XX. Những mạch này bạn tim kiếm trên google sẽ thấy!!
-
Channel: Hỗ trợ học tập
23-03-2026, 02:32 -
-
bởi chinhnguyen9
Điến âp vào 24V;Điên áp ra 30V;Dòng điện ra 10A
Trên nền tảng mạch Boost thay đổi như sau: cự âm tụ lọc C không nối mas mà nối vào Vc +24V
Mach phản hồi tao điê áp trên tụ lọc này ổn đinh ở 6V
Kết quả:
· Điện áp ra =24V+ 6V=30V
· Công...-
Channel: Hướng dẫn sử dụng diễn đàn
21-03-2026, 19:33 -
-
bởi chinhnguyen92. Các yếu tố để dòng điện đầu ra không bị "thiếu"
Dòng điện đầu ra bị "thiếu" có thể hiểu là không đủ 10A theo yêu cầu hoặc bị sụt áp khi tải thay đổi. Để đảm bảo điều này, bạn cần xem xét các yếu tố sau:
a. Khả năng chịu dòng của cuộn cảm- Dòng bão hòa (I_sat): Như
-
Channel: Hướng dẫn sử dụng diễn đàn
21-03-2026, 19:06 -
bởi chinhnguyen9
1. Tính toán cuộn cảm (Inductor)
Để tính giá trị cuộn cảm, chúng ta cần thực hiện các bước sau:
a. Xác định chu kỳ nhiệm vụ (Duty Cycle - D)
Với mạch tăng áp lý tưởng, chu kỳ nhiệm vụ được tính theo công thức :
D=1-VinVout=1-24V30V=0.2
Vậy D = 0.2 (20%)
b....-
Channel: Hướng dẫn sử dụng diễn đàn
21-03-2026, 19:03 -

Comment