Trích:
Thân, |
Các bác giúp em với!!!
EM đã cài MPLAB 7.42 và HT PIC 9.50,các bác bảo HT PIC tự nhúng vào MPLAB khi cài nó phải ko? Bây giờ em soạn file .C trong MPLAB,em muốn biên dịch nó sang file .HẼ cũng trong môi trường MPLAB(sử dụng HT PIC để biên dịch ) thì phải làm cách nào? Mong các bác trả lời sớm nha EM cảm ơn nhiều!!!!!!!! |
Bạn muốn biên dịch file .c của bạn thì bạn phải gắn nó vào trong một Project nhé.
Đầu tiên bạn tạo một Project rùi Add file đó vào rùi biên dịch, thế là xong. Mình cài bản HT PIC 9.50 nhưng không biên dịch được và báo lỗi ở file PICC.exe nên đành quay lại dùng bản 8.05PL2. Bạn chỉ cần cài bản 8.05 dùng ngon lành. http://www.picvietnam.com/forum//showthread.php?t=31 Chúc bạn thành công. |
Quét led7 thanh.
Sau đây mình copy một số bài bên dientuvietnam.net sang đây và trả lời từng câu hỏi mà các bạn hỏi nhé.
Rảnh rỗi ngồi viết chương trình hiển thị led7 thanh chơi chơi. Ở đây em chỉ dùng 1 led thôi cho đơn giản. Còn việc quét led đã viết ở các bài trước rùi :D. Đây là sơ đồ nguyên lý: Tiếp theo là chương trình bằng HTPIC: Code:
#include<pic.h> Code:
if (T0IF & T0IE){ Code:
if (T0IF) Nếu lúc đó ta đã disable ngắt timer0 mà giờ nó lại thực hiện chương trình trong timer0 thì chương trình chạy quá sai rùi. Đây là chú ý của anh BA :D. Nếu không nhận ra thì có khi sai nhiều đó :D. Khi chúng ta viết chương trình ngắt trong ngắt thì sẽ thấy điều này :D. Chúc các bạn thành công. |
Chuyển đổi ADC.
Bài tiếp theo tôi đã làm, đã test rồi nhưng hôm này con PIC nó bị "ốm" nên không test được.
Đã vậy 3 ngày không được vào diễn đàn vì bọn hack DDOS thấy nhớ quá. Nên vào một cái là up ngay chương trình về ADC cho bà con xem :D. Bạn nào test luôn lại cái và báo lại kết quả cho mình luôn nha. Phần cứng: Biến trở 10k mắc vào AN0. Đo áp biến đổi ADC hiển thị lên 4 con led7 Đây là schematic: http://i36.photobucket.com/albums/e4.../PVN_00017.gif Loại PIC: 16F877Ahttp://i36.photobucket.com/albums/e4.../PVN_00018.gif Hình 3: Chuyển đổi ADC, hiển thị LED7 segment. Thuật giải là cứ sau mỗi thời gian trích mẫu thì lại bắt đầu chuyển đổi ADC luôn. Khi có ngắt AD thì lưu giá trị vào số number. Còn quét led thì liên tục quét. Ở đây mình tạo ra một timer0 1ms. Thời gian trích mẫu AD = 4ms x counter2. Mình edit lại đây :D Source code: Code:
#include<pic.h> Chúc mọi người thành công. Mai viết tiếp :D |
Điều chế PWM.
http://dientuvietnam.net/forums/show...?t=1406&page=4
Bài viết số 39. Theo datasheet PIC687XA tại trang 67,68 về PWM, chúng ta dễ dàng có thể viết được chương trình điều chế độ rộng xung (Pulse Width Modulation). Chương trình dưới đây điều chế một xung với tần số 15KHz và có độ rộng xung tăng dần từ 0-> 100% theo bước tăng là 10% sau mỗi khoảng thời gian 1s. Code:
PWM Period = [ PR2 +1 ] x 4 x Tosc x (TMR2 Prescaler Value) Code:
/*;======================================================== Ngẫu hứng đêm khuya viết tí. Sáng mai dạy viết tiếp. Chúc anh em ngủ ngon :D. |
Tối ưu các chương trình,chương trình giao tiếp USART
http://dientuvietnam.net/forums/show...?t=1406&page=5
Bài số 45. Giờ mình xin đưa ra các chương trình mà mình tối ưu dần dần và cảm thấy nó dễ hiểu. Mình xin đưa ra cho các bạn xem và cho ý kiến. Mình sẽ tối ưu từng chương trình một. Đầu tiên là chương trình dùng giao tiếp USART, trong chương trình này mình dùng thư viện stdio.h có hàm printf(). Tuy nhiên bạn phải định nghĩa hàm putch(..) thì mới sử dụng được hàm này. Hàm printf( ) sẽ truyền xâu dữ liệu theo định dạng C ra cổng nối tiếp USART. Code:
/*======================================================== Chúc các bạn thành công. Ngủ cái đã. Mai còn phải ôn thi :D. |
Lấy đặc tính h(t) của động cơ.
http://dientuvietnam.net/forums/show...?t=1406&page=5
bài 46. Chào các bạn. Tôi đã làm xong bài tập lớn môn lý thuyết điều khiển tự động là thiết kế bộ điều khiển PID trên nền PIC.Bây giờ tôi xin đưa các đoạn code của bài tập lớn của tôi. Đầu tiên là công việc là lấy đặc tính đáp ứng h(t) của động cơ để từ đó tính toán các tham số Kp, Ki, Kd. Đây là bước tính toán thô các giá trị của bộ PID sau đó mình mới tinh chỉnh lại sau ở một chương trình khác. Vi điều khiển ứng dụng: PIC6F877A Ngôn ngữ lập trình: HTPIC Trong bài này tôi mục đích làm như sau: khi ấn "P" trên giao diện trên PC hay nói cách khác truyền kí tự P xuống chip thì nó nhận lệnh và cho động cơ hoạt động. Tôi điều chế một xung 15KHZ, ở đây cho độ rộng 100% luôn. Và từ đó liên tục đọc 500 giá trị và truyền lên PC. Thời gian trích mẫu của hệ thống là 10ms. Tôi truyền số xung đo được lên PC, từ số liệu này sẽ tính toán ra tốc độ thực và vẽ được hàm h(t) của đối tượng. Tôi dùng chương trình Terminal (do lười nên không viết chương trình trên PC riêng) và lấy dữ liệu và cho vào Matlab để nội suy ra hàm quá độ h(t) . Tôi định viết một chương trình bằng Matlab nhận giao tiếp RS232 tính toán và đưa ra đồ thị luôn. Nhưng phải chờ tí đã, dạo này ôn thi nên hơi lười làm. Chương trình Terminal và giao tiếp RS232 các bạn có thể xem tại http://www.picvietnam.com/forum/show...p?t=274&page=2 Code chương trình trên Matlab: dùng nội suy Cubic Code:
hold off; Code:
#include<pic.h> Hình bị mất, mình tìm lại upload sau:D. Chúc các bạn thành công. |
Trích:
Tiếp, mô phỏng bằng Poteus, quét led hiển thị không chính xác bạn ạ. Nên thử bằng Board thật nhé, xem có vấn đề gì không. Trong hàm delay của bạn, là kiểu |
Chào các bạn.
Để có thể viết được chương trình bằng HTPIC cho hợp lý và tuân theo đúng trình dịch HTPIC, các bạn nên download manual của nó PICC Manual Tài liệu này rất hay (của www.htsoft.com). Chúc các bạn thành công. |
Chào các bạn.
Mình thấy quyển manual complier của bọn HTsoft cũng khá hay và đầy đủ chú ý. Do đó, thấy cái gì hay hay mình viết rùi các bạn góp ý kiến nhá. Có lẽ mình cũng nên lập thư viện cho HTPIC chứ nhỉ?? Thấy anh em dùng CCS hoạt động kinh quá :D. Đầu tiên là cách khai báo một biến đặt tại một địa chỉ nhất định trong RAM. Ví dụ, muốn Portvar là biến đặt tại địa chỉ 0x06 thì trong ASM ta dùng lệnh sau: Code:
_Portvar EQU 06h Trong HTPIC các bạn khai báo như sau: Code:
volatile unsigned char Portvar @ 0x06; Chúc các bạn thành công. |
Thư viện LCD 16x2 8bit mode.
Mình xin upload thư viện viết cho LCD, ở đây mình dùng 8 bit mode cho LCD 2 line x 16 colum.
Code:
// LCD.h Các bước thực hiện: - Khởi tạo LCD dùng lệnh: LCD_Init(); - Thao tác ghi đọc bình thường, chú ý nhất là các hàm: LCD_gotoXY, LCD_PrString, LCD_PrChar, LCD_Command. Tiếp theo là file LCD.c là file thực hiện: Code:
//LCD.c Các bạn có thể mô phỏng bằng Proteus chạy rất ok. Lúc nào gửi tiếp mấy cái đã test. Chúc các bạn thành công. |
chào các anh! em mới học pic hà! khi em cài MPlab 7.52 roi ccs c, thêm pluginmp6 nữa nhưng khi khởi động chương trình Mplab lên thì báo lổi
Project Manager's initialization failed: At least the MPASM toolsuite plugin or AMS30 toosuite plugin must be installeed.(MPLAB may be to be reintalled) em không biết lổi trên và cách khắc phục như thế nào nhờ các anh chỉ bảo, em muốn viết 1 chương trình cho pic bằng c ma cả tháng rồi mò cài chương trình chưa được MPLAB em có 3 bản 7.20,7.50,7.52 còn ccs c thi chưa có anh nào có ccsc ma xài được cho em với, các link bên picvietnam chết hết rồi . thân chào!!! |
em muốn xài HTPIC anh hướng dẫn em nghe anh ngohaibac
em hy vọng anh ngohaibac sẽ làm cho HTPIC mình rôm rả lên so với mấy anh bên ccs c bây giờ em mới bắt đầu nhưng hy vọng 2 tháng sau em viết được chương trình bự bự pots lên khoe với anh em (quang báo chẳng hạn!hi hi) hit hit nhưng bay giờ ko biết máy em có lổi ko mà MPLAB hết chạy được rùi http://www.picvietnam.com/forum//forumdisplay.php?f=34 @ngohaibac: Lần sau không được spam nhé em. |
Trích:
Em cài lại chú ý chọn Custom Option khi nó cho lựa chọn khi cài nhé, rùi chọn hết mà cài cho chắc chắn. Cái này giống cài nhiều phần mềm mà em. Chúc em thành công. |
Múi giờ GMT. Hiện tại là 07:46 PM. |
Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam