Học lập trình vi điều khiển pic với Mikroc qua các projects
Mikroc là một chương trình lập trình, biên dịch rất hây, dể sử dụng và hổ trợ nhiều thư viện bổ ích. Tuy nhiên, ở Việt Nam, Mikroc chưa được phổ biến, các projects tham khảo còn hạn chế, mình lập ra topic này nhằm chia sẽ với các bạn các projects để các bạn học và nghiên cứu.
http://www.mikroe.com/img/logo.gif || Tải chương trình mikroC Pro for Pic ver 6.6.1) || Tải Mikroc for 8051 || Tải Mikroc for AVR SÁCH HỌC MIKROC TIẾNG VIỆT http://cdn.mikroe.com/ebooks/sites/3...-in-c-opt1.jpg DANH MỤC SÁCH * GIỚI THIỆU * THẾ GIỚI VI ĐIỀU KHIỂN * LẬP TRÌNH VI ĐIỀU KHIỂN * VI ĐIỀU KHIỂN PIC 16F887 * CÁC VÍ DỤ PS: Sách được dịch hoàn thiện dần. 1/ Projects đơn giản đầu tiên: Project Hiển thị Led 7 Seg và chạy 8 led đơn kết hợp dùng ngắt ngoài dùng Pic 16f877A Nội dung project này chủ yếu để ôn lại cách viết hiển thị hai Led 7 đoạn đếm từ 00->99, viết cho 8 Led đơn chạy qua trái<->phải. Đặt biệt ở project này có dùng ngắt ngoài PORTB để chọn giữa hai mode (7SEG hay 8 led đoen chạy). MẠCH MÔ PHỎNG BẰNG PROTEUS 5.1 Mạch khi chạy nhưng chưa chọn mode http://vd5plq.blu.livefilestore.com/...%20don_off.bmp Mạch khi chon mode Led 7 SEG http://vd5plq.blu.livefilestore.com/...DEN%207SEG.bmp Khi chọn mode 8 led đơn thì 7SEG tự động tắt http://vd5plq.blu.livefilestore.com/...ATDEN%20an.bmp || Tải soure code MikroC và mạch mô phỏng Proteus |
Lập trình hiển thị dữ liệu lên LCD
LCD là một module rất được ưa chuộng trong việc hiển thị thông tin, lập trình các trang màn hình rất dễ dàng, lượng thông tin truyền tải được nhiều hơn. Một trong các bài học đầu tiên trong việc lập trình vi điều khiển là làm thế nào để chúng ta có thể xuất dữ liệu cần hiển thị ra màn hình LCD. mikroC Pro for Pic đã hổ trợ cho chúng ta thư viện hàm để làm điều đó.
https://dl.dropboxusercontent.com/u/...PTRINH-LCD.jpg Tiếp theo là project Traffic light, có thể set thời gian cho các led qua hệ thống các nút ấn. || Tải code C và file mô phỏng proteus |
Project đếm sản phẩm và hiển thị lên Lcd 16x2
Mô tả: Project sử dụng cmu 16f877a, lcd 16x2, mạch mô phỏng đếm sản phẩm. Mỗi khi có một sản phẩm đi qua cảm biến (có thể sử dụng cảm biến hồng ngoại) thì giá trị số đếm sẽ tăng thêm 1 đơn vị. Khi nhấn Reset thì bộ đếm trở về 0.
http://3.bp.blogspot.com/-VW8jNNSye9...demsanpham.gif Sau đây là hình ảnh mô phỏng bằng protues: https://dl.dropboxusercontent.com/u/...%2016f877a.jpg || Tải code C và file mô phỏng bằng proteus |
Thank anh rat nhieu, tai lieu nay o Viet Nam h dung la hiem that
|
Hẹn giờ tắt mở thiết bị dùng Pic16f84
Sau đây là hình ảnh của project:
http://www.dientudieukhien.net/wp-co...-bi-16f84a.jpg Các bạn nhìn vào ảnh sẽ thấy sơ đồ gồm các khối: CMU: 16f84, nút bấm chọn mode (Reset, Enter, Timeup), hiển thị 7seg, đóng mở rờle. Các bạn ấn Timeup để tăng một đơn vị thời gian (ở đây là phút), xong các bạn nhấn Enter hệ thống sẽ hoạt động, khi thời gian xuống tới 0--> rờ le đóng. Việc đóng hây mở rờ le khi đến mức thời gian ta set là do ta qui định khi viết phần mềm. || Các bạn tải toàn bộ project tại đây (code mikroC Pro for Pic và file proteus) |
Button and led 7segments
Mô tả: khi nhấn button increase thì giá trị tăng một đơn vị, khi nhấn button decrease thì giá trị giảm một đơn vị, kết quả hiển thị lên 2 led 7segment. Khi giảm đến 0 thì dù có nhấn button decrease thì vẫn không giảm nữa. Ngôn ngữ lập trình mikroc pro, có file mô phỏng isis.
http://3.bp.blogspot.com/-z4yX8T6OEL...ON+VA+7SEG.jpg || Link tải code và file mô phỏng protues |
mình gặp lỗi này lúc dùng không biết là lỗi gì? 1041002 có thể giúp mình cái
http://ns5.upanh.com/b6.s11.d1/117ce...85.capture.png |
Mình chưa gặp lỗi này lần nào, mình chạy mikroc pro trên winxp. Bạn sử dụng win vista hả gì? bạn xem bản này có hổ trợ không, lỗi này là lỗi phần mềm, chú không phải lỗi biên dịch!
|
Đo nhiệt độ bằng cảm biến nhiệt Lm35, hiển thị lên 7 seg có phần thập phân
CMU: 16f877A
Ngôn ngữ: Mikroc pro Mô phỏng: ISIS Đã test trên thực tế: http://4.bp.blogspot.com/-GZ6iDCH5TS...7seg+comma.jpg Có video hôm nào post || Tải code isis tại đây |
Cái folder program của bạn có "(x86)" có thể xảy ra lỗi, bạn thử cài ở ngoài folder đó xem sao! Chúc bạn thành công!
|
Link phần mềm bi die rồi bạn
|
bạn ơi cho mình hỏi bị bị lỗi này mà không biết sữa sao:
char *text = "Wellcome"; char *text1 = "Bonjour"; int i,j; void main() { TRISB = 0; Lcd_Init(&PORTB); Lcd_Cmd(LCD_CURSOR_OFF); Lcd_Cmd(LCD_CLEAR); Lcd_Out(1,1,text); Delay_ms(3000); Lcd_Out(2,2,text1); Delay_ms(3000); Lcd_Cmd(Lcd_CLEAR); Lcd_Cmd(LCD_CURSOR_OFF); Delay_ms(2000); Lcd_Cmd(LCD_SHIFT_RIGHT); Delay_ms(1000); Lcd_Cmd(LCD_SHIFT_LEFT); } Nó báo lỗi : routine LCD_Out is not defined. |
vào đây lấy ví dụ về tham khảo http://www.mikroe.com/ ,từng modun có giải thích rất rõ ràng
|
Trích:
|
download duoc con khi .
Trích:
|
Múi giờ GMT. Hiện tại là 10:10 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