راه اندازه ی دو LCD کاراکتری با یک میکرو!

در اين بخش مي‌توانيد آموزش و مثال‌های مرتبط با میکروکنترلرهای AVR را مشاهده بفرمایید

مدیران انجمن: SAMAN, sinaset, شوراي نظارت

ارسال پست
Colonel II
Colonel II
نمایه کاربر
پست: 7014
تاریخ عضویت: سه شنبه 26 آذر 1387, 4:20 pm
سپاس‌های ارسالی: 9183 بار
سپاس‌های دریافتی: 21046 بار
تماس:

راه اندازه ی دو LCD کاراکتری با یک میکرو!

پست توسط sinaset » دو شنبه 7 تیر 1395, 11:05 am

بنام خدا
باسلام


راه اندازه ی دو LCD کارکتری با یک میکرو!

در این برنامه جالب،توانسته ایم،به کمک دو ایسی شیفت ریجستر 75hc595 ،دو LCD کاراکتری را،فقط با سه پایه میکروکنترولر راه اندازه ایم کنیم.

 تصویر  تصویر   برنامه،داریه یک کتابخانه مجزا می باشد،که کارها را ساده و راحتر کرد ،و در برنامه می توان راحتر،کارها را انجام داد.  [HIGHLIGHT=#f79646]معرفی توابع:    به مانند کتابخانه alcd می باشد،اما با یک سری تغییرات!  (lcd_goto(x,y,x,y   دستوری x , y اول مربوط به موقعیت ستون و سطر LCD اول می باشد و xوy بعدی مربوط به ستون سطر LCD دوم می باشد .   ("lcd_puts("START ","ATMEGA8   lcd_puts ، اول باید متن lcd اول نوشته شود،سپس باید متن LCD دوم نوشته شود .  نکات:  * با علامت , از هم جدا   * متن LCD اول باید، به اندازی متن LCD دوم باشد ،وگرنه متن ها بهم میرزد( برای حل این مشکل فعلا می توانید،با گذاشتن فضایی خالی،اندازه ها را مثل هم کنید)  ( lcd_putch(unsigned char,unsigned char    (lcd_write(unsigned char,unsigned char   دو تابع نیز،باید ابتدا مقدار LCD اول مقدار دهی شود،سپس LCD دوم مقدار دهی شود.  ()lcd_clear   سراسری می باشد، و می توانید به کمک تابع گفته شد،همه متن های دو مانیتور رو حذف کنید.  کدهایی برنامه: 

کد: انتخاب همه

/*******************************************************
Project : 2 lcd by Micro
Version :1.0
Date    : 1395.4.7
edit by sinaset
centralclubs.com

Chip type         : ATmega8A
AVR Core Clock frequency: 8.000000 MHz
*******************************************************/
#include <mega8.h>
#include <delay.h>   
#include <stdio.h>   
#include <string.h>   
#include "lcd_595.h"

void main(void)
{
unsigned char strx[16],strl[16],i,x,i1=16;
DDRD=0b111;
lcd_init();

   lcd_clear();
   lcd_goto(0,0,0,0);
   lcd_puts("THE NAMES OF GOD","THE NAMES OF GOD");
   delay_ms(1500);
   lcd_clear();
   lcd_clear();
   lcd_goto(0,1,0,1);
   lcd_puts("MONITOR 1","MONITOR 2");
   delay_ms(1500);
   lcd_clear();

  while(1)
  { 
   lcd_clear();
   lcd_goto(0,1,1,1);
   lcd_puts("START  ","ATMEGA8");
   delay_ms(1500);
   lcd_clear();

   lcd_clear();
   lcd_goto(0,5,0,1);
   lcd_puts("TEST1","TEST2");
   delay_ms(1500);
   
   lcd_clear();
   lcd_goto(0,0,0,0);
   lcd_puts("TEST3","TEST4");
   delay_ms(1500);
   
   lcd_clear();
   for(i=0;i<250;i++)
   {
   lcd_goto(0,0,0,0);
   sprintf(strx,"%i  ",i);
   sprintf(strl,"%i  ",i*i);
   lcd_puts(strx,strl);
   delay_ms(20);
   }
   for(x=0;x<2;x++){
   i1=16;
   lcd_clear();
   delay_ms(500);
   
     for(i=0;i<16;i++)
     {
      lcd_goto(x,i,x,i1);
      lcd_puts(">","<");
      delay_ms(150);
      lcd_clear();
      i1--;
      }
   }   
   }   
 
}


[لینک خارجی برای کاربران مهمان مخفی است، لطفا برای مشاهده لینک ثبت نام نموده و یا وارد سایت شوید]سورس و شبیه ساز

اگر سوالی بود،بفرمایید.

باتشکر.
"قرآن"(کلام خدا) ...راه سعادت و خوشبختی.

ارسال پست

بازگشت به “آموزش و مثال‌ها AVR”