Trong project Mikroc Pic 16f887 điều khiển bơm nước tự động hiển thị trên lcd và led đơn báo đầy và cạn thùng nước. Project gồm code mikroc và proteus mô phỏng, cuối bài có video hướng dẫn và link tải code.
- MIKROC LẬP TRÌNH VI ĐIỀU KHIỂN PIC12F675 ON-OFF LED
- MIKROC LẬP TRÌNH VI ĐIỀU KHIỂN PIC HÀM SWITCH…CASE, FOR(), WHILE(), LẬP TRÌNH LED
- Lập trình LCD và I2C với pic 12f1840
- Pic16f877A hiệu ứng LedBlinking với hàm Switch đơn giản
- Mikroc Pic 16f887 điều khiển bơm nước tự động Lcd display
- Control dc motor speed with pwm by microcontroller 16f877A
- Hệ thống khóa cửa bằng mật khẩu sử dụng pic 16f887
- INT-Interrupt trên vi điều khiển
- Tổng hợp 21 bài thực hành lập trình vi điều khiển pic với mikroc
- Write-Read internal EEPROM PIC16F877A
/*Header******************************************************
Project: auto pump water
author: Minh Trung
Site: http://giaoan.link */
// LCD module connections
sbit LCD_RS at RD4_bit;
sbit LCD_EN at RD5_bit;
sbit LCD_D4 at RD0_bit;
sbit LCD_D5 at RD1_bit;
sbit LCD_D6 at RD2_bit;
sbit LCD_D7 at RD3_bit;
sbit LCD_RS_Direction at TRISD4_bit;
sbit LCD_EN_Direction at TRISD5_bit;
sbit LCD_D4_Direction at TRISD0_bit;
sbit LCD_D5_Direction at TRISD1_bit;
sbit LCD_D6_Direction at TRISD2_bit;
sbit LCD_D7_Direction at TRISD3_bit;
// End LCD module connections
char *text; //
void main() {
ANSEL = 0; // All I/O pins are digital
ANSELH = 0;
TRISB=0XFF;
TRISD=0X00;
TRISE=0X00;
PORTD=0;
PORTB=0;
PORTE=0;
Lcd_Init(); // LCD display initialization
Lcd_Cmd(_LCD_CURSOR_OFF); // LCD command (cursor off)
Lcd_Cmd(_LCD_CLEAR); // LCD command (clear LCD)
text = "dientudieukhien"; // Define the first message
Lcd_Out(1,1,text); // Write the first message in the first line
text = "Level warter"; // Define the second message
Lcd_Out(2,1,text); // Define the first message
Delay_ms(2000);
for(;;){
if(portb.f2){
Lcd_Cmd(_LCD_CURSOR_OFF); // LCD command (cursor off)
Lcd_Cmd(_LCD_CLEAR); // LCD command (clear LCD)
text = "dientudieukhien"; // Define the first message
Lcd_Out(1,1,text); // Write the first message in the first line
text = "Empty"; // Define the second message
Lcd_Out(2,1,text); // Define the first message
porte.f2=1;
portd.f7=1;}
else{
porte.f2=0;}
if(portb.f0){
porte.f0=0; }
else{
Lcd_Cmd(_LCD_CURSOR_OFF); // LCD command (cursor off)
Lcd_Cmd(_LCD_CLEAR); // LCD command (clear LCD)
text = "dientudieukhien"; // Define the first message
Lcd_Out(1,1,text); // Write the first message in the first line
text = "Full"; // Define the second message
Lcd_Out(2,1,text); // Define the first message
porte.f0=1;porte.f1=0;porte.f2=0;portd.f7=0;}
}
}