طراحی کنترلر، مدارت دلخواه، پروژه ها و تمرینات درس میکروکنترلرها
ماشین حساب مهندسی ساده با قابلیت دریافت اعداد اعشاری و محاسبه توابع مثلثاتی به همراه سایر توابع توسط یک صفحه کلید 4*4این پروژه در اصل یک قفل امنیتی است که می توان جلوی درب اصلی منزل (در کنار آیفون) آن را نصب کرد. از امکانات آن می توان به موارد زیر اشاره نمود: نمایش دما از 125 تا 55- درجه سانتیگراد، نمایش ساعت دقیق، نمایش تاریخ شمسی همراه با روز هفته به صورت فارسی، نمایش تعداد فرصت های باقیمانده برای وارد کردن رمز صحیح، و قفل شدن سیستم به مدت 15 دقیقه در صورتی که 4 بار رمز اشتباه وارد شود. امکان تغییر رمز و تنظیم کردن ساعت و تاریج و ...با استفاده از میکروکنترلر Atmega8‌، سنسور دیجیتال دما DS18B20 و LCD‌ متنی شما به راحتی می توانید کولر خانه تان را توسط کنترل تلویزیون و کلید های تعبیه شده، در مد های مختلفی برنامه ریزی کنید، از ویژگی آن می توان به کاهش مصرف انرژی در کولرها آبی اشاره نمود.این پروژه در اصل یک شمارنده می باشد که می توان عبور مرور افراد از یک گیت را شمارش کرد، شمارنده هم می تواند به صورت بالا شمار و هم پایین شمار کار کند. همچنین توسط شدت نور یک عدد LED می‌توان سنسور فرستنده و گیرنده را در یک راستای مستقیم تنظیم کرد. سنسورها ار نوع مادون قرمز با برد تقریبی 120cm می باشد.این پروژه بدون نیاز به دریافت نور می تواند بر اساس تاریخ، ساعت، عرض جغرافیایی و طول جغرافیایی هر استان زمان طول و غروب خورشید را محاسبه کرده و به طور دقیق در این بازه زمانی لامپ های روشنایی را فعال کند. همچنین دارای یک تایمر داخلی می باشد که قابلیت فعال و غیر فعال کردن آن وجود دارد. دستگاه کلا با 3 کلید قابل تنظیم و برنامه ریزی می باشد.
ماشین حساب مهندسی ساده

MCP-28

ماشین حساب مهندسی ساده
پروژه دربازکن الکترونیکی خانه قفل رمز با avr

MCP-5

پروژه دربازکن الکترونیکی خانه قفل رمز با avr
پروژه کنترل اتوماتیک کولرهای آبی با ریموت کنترل و avr

MCP-4

پروژه کنترل اتوماتیک کولرهای آبی با ریموت کنترل و avr
پروژه شمارش افراد با سنسور مادون قرمز و avr

MCP-6

پروژه شمارش افراد با سنسور مادون قرمز و avr
پروژه تایمر-ساعت نجومی (فتوسل بدون نور)

MCP-26

پروژه تایمر-ساعت نجومی (فتوسل بدون نور)

کار با LCD کاراکتری یا متنی به زبان C

به نام خدا

 در این قسمت ما به آموزش LCD های کاراکتری خواهیم پرداخت. و توضیح می دهیم که چگونه LCD را به میکرو کنترلر متصل کنیم و چگونه آن را در زبان C معرفی کنیم و با استفاده از دستورات به صورت نرم افزاری با آن ارتباط برقرار کنیم.

ابتدا پایه های LCD :

 

پایه های LCD
 پایه نام   عملکرد
 1 VSS   زمین
 2  VCC 5V+
 3  VEE  کنترل درخشندگی (می توانید با یک مقاومت 1 کیلو آن را زمین کنید)
 4  RS اگر این پایه 0 باشد اطلاعات روی DB0-DB7 به عنوان فرمان و اگر 1 باشد به عنوان کاراکتر پذیرفته می شود
 5  R/W  اگر این پایه 0 باشد LCD برای نوشتن آماده می شود و اگر 1 باشد برای خواندن آماده می شود
 6  E  فعال سازی LCD که با یک لبه پایین رونده می باشد
 7  DB0  خطوط دیتا
 8  DB1  
 9  DB2  
 10  DB3  
 11  DB4  
 12  DB5  
 13  DB6  
 14  DB7  
 15  A  5V+  از پایه 15 و 16 برای روشن کردن LED پس زمینه استفاده می شود
 16  K  زمین

 

از بخش سفارش طراحی هم اکنون درخواست خود را ثبت کنید
حل و تشریح کلیه تمرینات درس میکروکنترلر AVR
طراحی و ساخت مدارات دلخواه شما با میکروکنترلر AVR


کد های فرمان LCD:

 کد HEX عملکرد فرمان 
0X01  پاک کردن صفحه نمایش
0X02  بازگشت مکان نما به سطر و ستون 0و0  HOME
0X04 انتقال مکان نما به چپ 
0X05  جابجایی صفحه نمایش به راست
0X06  انتقال مکان نما به راست
0X07 جابجایی صفحه نمایش به چپ
0X08  صفحه نمایش و مکان نما خاموش
0X0A  صفحه نمایش خاموش و مکان نما روشن
0X0C  صفحه نمایش روشن و مکان نما خاموش
0X0E  صفحه نمایش روشن و مکان نما روشن
0X0F صفحه نمایش روشن و مکان نما در حالت چشمک زن 
0X10 جابجایی مکان نما به چپ
0X14  جابجایی مکان نما به راست
0X18  حرکت کل صفحه نمایش به چپ
0X38 سازمان دهی 8 بیتی و ماتریس 5×7
0X28  سازمان دهی 4 بیتی و ماتریس 5×7
0X10  حرکت کل صفحه نمایش به راست
0XC0 مکان نما به آغاز خط دوم انتقال می یابد

 

//www.picpars.com 
#include <mega8.h> // معرفي ميکر 
#include <stdio.h> //فراخواني دستورات استاندارد ورودي خروجي 
#include <delay.h> // فراخواني تابع تاخيري 
#include <lcd.h> // فراخواني دستورات ال سي دي 
#define xtal 8000000 
#asm // شروع دستورات اسمبلي 
.equ __lcd_port=0x18; PORTB //معرفي پورت ال سي دي 
#endasm // پايان دستورات اسمبلي 
unsigned char i; 
/*********www.picpars.com**********/ 
void main(void){ // تابع اصلي 
char buffer[10]; // در اين متغيير اطلاعات به صورت رشته قرار ميگيرند 
lcd_init(16); // ال سي دي با 16 ستون 

while(1){ 
i++; // 
lcd_clear(); // پاک کردن ال سي دي 
sprintf(buffer,"PICPARS.COM %d",i); //آماده کردن اطلاعات به صورت رشته 
lcd_puts (buffer); // ارسال اطلاعات به ال سي دي 
delay_ms(200); // تاخير 200 ميلي ثانيه 
} 
} 

 

 این برنامه یک نمونه ساده از برنامه هایی است که با ال سی دی کاراکتری ارتباط دارد. در این برنامه یک متغییر با اسم i تعریف شده که این متغیر در حلقه while قرار دارد و با یک تاخیر 200 میلی ثانیه یک واحد به این متغییر اضافه می شود و روی LCD نمایش داده می شود. توضیح دستوارت را در اینجا می دهیم و تا آخر هر جا از LCD استفاده کردیم اصول کلی آن به صورت زیر می باشد.

 از دستور asm# برای نوشتن دستورات به زبان اسمبلی استفاده می شود که در اینجا ما از یک دستور اسمبلی برای معرفی کردن پورت B برای LCD به صورت بالا استفاده می کنیم که اگر شما از codewizard استفاده کنید این قسمت برای شما ایجاد خواهد شد و endasm# هم برای خاتمه دادن به دستورات اسمبلی می نویسیم.

lcd_init(16); از این دستور برای تعیین کردن تعداد ستون های LCD استفاده می شود. که در اینجا LCD را برای 16 ستون سازماندهی می کند.

char buffer: این متغییر که به صورت یک آرایه 10 تایی تعریف شده و حتما نوع آن باید از char باشد، برای ذخیره سازی موقت اطلاعات به صورت رشته می باشد به این صورت که ما اگر بخواهیم نوشته ای را همراه با یک متغییر روی LCD نمایش بدهیم چون محتوای متغییر ما (در اینجا عدد می باشد) عدد است باید این عدد را به صورت رشته درآوریم و همراه با آن text مان برای LCD بفرستیم که این تبدیل عدد به رشته را دستور sprintf انجام می دهد و بعد این رشته را در متغیر buffer قرار می دهد.

sprintf: فرم نوشتن این دستور به این صورت می باشد که ابتدا یک متغیر برای ذخیره سازی و بعد رشته (همان نوشته یا پیغام) و بعد هم متغیر i که حاوی یک عدد است. "PICPARS.COM %d" در اینجا d% یعنی اینکه متغیر i در مبنای دسیمال نمایش داده شود که در جدول زیر تمام این علایم را توضیح داده ایم. پس این دستور این رشته را در متغیر buffer به این صورت PICPARS.COM 1 ذخیره می کند.

lcd_puts(buffer): این دستور محتوای متغییر buffer را برای LCD ارسال می نماید.

lcd_clear(); این دستور کل صفحه نمایش را پاک می کنید و نویسه را در مختصات 0و0 قرار می دهد.

 فرمت کاراکتر های ارسالی:

کاراکتر  نوع اطلاعات ارسالی 
 c%  یک تک کاراکتر
 d%  عدد صحیح علامت دار در مبنای 10
 i%  عدد صحیح علامت دار در مبنای 10
 e%  نمایش عدد ممیز شناور به صورت علمی
 E%  نمایش عدد ممیز شناور به صورت علمی
 f%  عدد اعشاری
 s%  عبارت رشته ای واقع در حافظه SRAM
 u%  عدد صحیح بدون علامت در مبنای 10
X% به فرم هگزا دسیمال با حروف بزرگ
 x%   به فرم هگزا دسیمال با حروف کوچک
 P%  عبارت رشته ای واقع در حافظه FLASH
 %%  نمایش علامت ٪

 

 دستورات استفاده شده در LCD:

_lcd_ready()

این دستور منتظر می ماند تا LCD آماده دریافت اطلاعات شود. این دستور باید حتما قبل از دستور زیر اجرا شود.

_lcd_write_data()

به کمک این دستور می توان در رجیستر دستور العمل LCD فرمان هایی نوشت که در جدول کد های فرمان LCD این فرمان ها توضیح داده شده اند.

مثال:

//www.picpars.com
#include <mega8.h>
#include <stdio.h>
#include <delay.h>
#include <lcd.h>
#define xtal 8000000
#asm .equ __lcd_port=0x18; PORTB
#endasm
unsigned char i=20; /*********www.picpars.com**********/
void main(void){
char buffer[10];
lcd_init(16);
sprintf(buffer,"PICPARS.COM %d",i);
lcd_puts (buffer);
while(1){ delay_ms(200);
_lcd_ready(); //آماده دريافت دستور
_lcd_write_data(0x1c); // کل صفحه نمايش به چپ انتقال داده شود
}
 }

در این مثال ابتدا عبارت PICPARS.COM 20 روی LCD نمایش داده می شود و سپس کل صفحه نمایش با تاخیر 200 میلی ثانیه به سمت چپ منتقل می شود.(مانند تابلو روان)

 اصول کار LCD های ماتریسی به صورت می باشد و طرز استفاده از دستورات به همین صورت می باشد. امیدوارم که این توضیحات کافی باشد. در صورتی که سوالی در مورد این قسمت دارید می توانید در همین صفحه در قسمت نظرات آن را مطرح نماید.

  منبع: www.picpars.com

  لطفا مقالات، آموزش‌ها و پروژه های خود را به آدرس ایمیل ارتباطی ایمیل نمائید تا آن را با نام خودتان در سایت منتشر کنیم.




به این مطلب امتیاز دهید

برچسب ها:
تاریخ ارسال پنجشنبه، 16 ارديبهشت ماه، 1389    نویسندهنویسنده: مدیریت    نظرات 41 نظر    بازدید بازدید [ 80878 ]   پرینتنسخه چاپی
فایل پی دی اف فایل پی دی اف   ارسال به دوستان ارسال به دوستان   

ماشین حساب مهندسی ساده
کد پروژه: MCP-28
عنوان: ماشین حساب مهندسی ساده
میکروکنترلر: AVR ==> زبان سی C (کدویژن)
قیمت: به جزئیات پروژه مراجعه نمایید
جزئیات سفارش خرید
ماشین حساب مهندسی ساده با قابلیت دریافت اعداد اعشاری و محاسبه توابع مثلثاتی به همراه سایر توابع توسط یک صفحه کلید 4*4
پروژه کنترل 20 کاناله-به همراه کنترل سرعت موتور با avr
کد پروژه: MCP-10
عنوان: پروژه کنترل 20 کاناله-به همراه کنترل سرعت موتور با avr
میکروکنترلر: AVR ==> زبان سی C (کدویژن)
قیمت: به جزئیات پروژه مراجعه نمایید
جزئیات سفارش خرید
این پروژه یک فرستنده گیرنده رادیویی با برد 100 تا 200 می باشد، که قابلیت کنترل 20 کانال مجزا به همراه کنترل سرعت موتور DC را دارد. از ماژول HMT و HMR و 20 عدد دیپ سوئیچ و درایور L298N برای موتور استفاده شده است.

مرتبط باموضوع :          مطالب بیشتر در این موضوع

 اتصال کیبورد 4*4 به میکروکنترلر AVR  [ پنجشنبه، 16 ارديبهشت ماه، 1389 ] 97367 مشاهده
 دستورات break و switch و goto و continue و ... قسمت 4  [ يكشنبه، 8 فروردين ماه، 1389 ] 54365 مشاهده
 کار با تایمر کانتر صفر AVR در حالت ساده به زبان سی کدویژن CodeVision  [ پنجشنبه، 29 مهر ماه، 1389 ] 66530 مشاهده
 اتصال کیبورد 4*4 به میکروکنترلر AVR و نمایش روی سون سگمنت  [ سه شنبه، 19 ارديبهشت ماه، 1391 ] 33827 مشاهده
 کار با تایمر کانتر صفر AVR در حالت CTC به زبان سی کدویژن CodeVision  [ يكشنبه، 9 آبان ماه، 1389 ] 22434 مشاهده
نام شما:
ایمیل شما:
در مورخه : پنجشنبه، 30 ارديبهشت ماه، 1389
خیلی استفاده کردم. ممنون که زکات علمتون رو می دین و خیرش رو به ما می رسونین. از اینکه مجبور نشدم از کسی بپرسم و همینجا یاد گرفتم خیلی عالی بود. شاد باشید
ارسال جوابیه

نام شما:
ایمیل شما:
در مورخه : شنبه، 22 خرداد ماه، 1389توسط
(مشخصات کاربر rsaboor | ارسال پیغام شخصی)
سلام، از اینکه این چنین با حوصله آموزش می دهید واقعا از شما ممنونم، من تا به حال با LCD کار نکردم به خاطر همین متوجه نشدم که در دستور .equ __lcd_port=0x18; PORTB 0X18 را چرادر پورت LCD ریختید آیا رجیستر خاصی را با این کار مقدار دهی می کنید؟ ممنون می شوم اگر جوابم را بدهید.
جوابیه ها

نام شما:
ایمیل شما:
در مورخه : شنبه، 12 تير ماه، 1389توسط
(مشخصات کاربر SMGH-admin | ارسال پیغام شخصی)
سلام ببخشید که اینقدر دیر جواب شما رو دارم میدم."درگیر امتحانات بودم" ای وی ار برای هر پورتیش یه آدرسی توی رم خودش داره که در اینجا چون ما به زبان اسمبلی نوشتیم پس باید آدرس پورت هم به صورت اسمبلی بدیم. 0x18 آدرس پورت B هستش این آدرس ها ثابت هستند مثلا توی mega16 ما 4 تا پورت داریم که هر کدومشون آدرس مربوط به خودش رو داره.
ارسال جوابیه

ارسال جوابیه

نام شما:
ایمیل شما:
در مورخه : چهارشنبه، 22 دي ماه، 1389
سلام ممنون از اطلاعات خوبتون اگه ممکنه توضیح بدهید آیا میشود مثلا کاراکترهای ارسالی را که lcd چاپ کرده یکی یکی پاک کرد و به عقب برگشت ؟ آیا دستوری هست ؟
ارسال جوابیه

نام شما:
ایمیل شما:
در مورخه : يكشنبه، 4 ارديبهشت ماه، 1390

سلام . فوري فوري فوري

ممنون از مطالب آموزنده و مفيدي كه در سايت گذاشتيد.خواستم بدونم كه ورژن پروتيوس شما چنده؟ نتونستم با برنامه خودم بازش كنم.خطاي ورژن ميداد.

ارسال جوابیه

نام شما:
ایمیل شما:
در مورخه : يكشنبه، 25 ارديبهشت ماه، 1390

خیلی ممنون از مطالب بسیار مفیدی که برای استفاده عموم قرار دادید

اجرکم عند الله ان شاءالله

ارسال جوابیه

نام شما:
ایمیل شما:
در مورخه : شنبه، 14 خرداد ماه، 1390

خیلی استفاده کردم. ممنون از لطفتون

ارسال جوابیه

نام شما: صابر
ایمیل شما: saber.m_70@yahoo.com
در مورخه : دوشنبه، 7 آذر ماه، 1390

سلام  از دستور sprintf فقط برای کاراکتر ها استفاده می شود

 

جوابیه ها

نام شما: مدیریت
ایمیل شما:
در مورخه : دوشنبه، 7 آذر ماه، 1390توسط
(مشخصات کاربر SMGH-admin | ارسال پیغام شخصی)

sprintf کلا برای شما یک رشته با فرمت دلخواه شما آماده می کند و آن را در یک متغیر آرایه ای از نوع char قرار می دهد.

ارسال جوابیه

ارسال جوابیه

نام شما: مسعود
ایمیل شما:
در مورخه : جمعه، 9 دي ماه، 1390

خدا بهت عجر بده

جوابیه ها

نام شما: mohammad
ایمیل شما:
در مورخه : يكشنبه، 14 دي ماه، 1393

عجر عصبانی

اجر شست

ارسال جوابیه

ارسال جوابیه

نام شما: امیررضا
ایمیل شما:
در مورخه : دوشنبه، 19 دي ماه، 1390توسط
(مشخصات کاربر amirrezaez | ارسال پیغام شخصی)

عالی بود

ارسال جوابیه

نام شما: سعید
ایمیل شما: hamidinezhad@gmail.com
در مورخه : پنجشنبه، 29 دي ماه، 1390توسط
(مشخصات کاربر saeidhp | ارسال پیغام شخصی)

سلام 

آیا میشه با میکروکنترلرهای AVR یه LCD رو بدون درایورش (برد زیر LCD) راه اندازی کرد ؟

میکروی خاصی باید باشه یا با تمامی میکروهایی که قابلیت راه اندازی lcd رو دارند میشه این کارو کرد ؟

با تشکر

جوابیه ها

نام شما: سید محسن قاسمیان
ایمیل شما:
در مورخه : پنجشنبه، 29 دي ماه، 1390توسط
(مشخصات کاربر SMGH-admin | ارسال پیغام شخصی)

سلام

کار نشد نداره! ولی چنین کاری بسیار پیچیده و خسته کننده هست. اگر توجه کرده باشید تعداد پین های خیلی زیادی به lcd وصل میشه و به عنوان مثال برای یک LCD 2*16 دو عدد چیپ برای راه اندازی اون استفاده شده. اگر همه ابن موارد را نادیده بگیرم باید تعداد توابع خیلی زیادی براش تعریف کنیم، یعنی برای هر کد فرمان توابع خاص خودشو بنویسید و از هم مهمتر باید به پروتکل دریافت اطلاعات و همچنین پروتکلی که با آن پیکسل های یک خانه  از یک کاراکتر را بدانیم و ...

به نظرم وقت خودتو صرف چین کاری نکنی بهتر...

ارسال جوابیه

ارسال جوابیه

نام شما: سعید
ایمیل شما: hamidinezhad@gmail.com
در مورخه : شنبه، 1 بهمن ماه، 1390توسط
(مشخصات کاربر saeidhp | ارسال پیغام شخصی)

من شنیدم Atmega168 قابلیت درایو lcd رو داره که ظاهرا میشه این کارو انجام داد ولی یکی از دوستان میگفت با تمام میکروها میشه این کارو انجام داد که ظاهرا طبق دستورالعمل شما باید انجام بشه 

شما در مورد کدنویسی Atmega168 یا میکروکنترلرهای دیگه ای که قیمت ارزان تری دارند و قابلیت درایو lcd دارند اطلاعاتی دارید ؟

 

ارسال جوابیه

نام شما: سعید
ایمیل شما: saeed.nayyeri@yahoo.com
در مورخه : سه شنبه، 8 فروردين ماه، 1391

سلام ممنون از مطالب خوبتون میشه در مورد ال سی دی گرافیکی هم توضیح بدین و چه طور در کدویژن تعریفش کنیم و دستوراتی که داره و چطور استفاده کنیم ممنون خیلی لازم دارم هیچی هم پیدا نکردم

 

ارسال جوابیه

نام شما: sh.j
ایمیل شما: sh.j1383@yahoo.com
در مورخه : جمعه، 25 فروردين ماه، 1391

سلام

مطالب این سایت کلا خوبه. ممنون

میشه راهنماییم کنید که چه طور میشه lcd رو فارسی کرد؟یعنی چه طور  میشه تمامی نوشته های روی اون فارسی بشه؟

 

ارسال جوابیه

نام شما: nazanin
ایمیل شما: nazanin_yady_67@yahoo.com
در مورخه : دوشنبه، 28 فروردين ماه، 1391

salam

khaste nabashid

etelaatetun kheili mofide

ama man daneshjoye sakhtafzar hastam va dar uni kheili bahamun in mabahes kar nashode

hala man baraye poroje nahaeim ke lcd ravan hast be moshkel bar khordam

ba ketabe aghaye kahe shoro kardam ke zaban beisic hast va kheili sakht

ghatat ham tahie kardam

micro ham atmega16 gereftam

mikhasatam bebinam kasy mitone komakam kone barnamash va namaye sakhtafzarisho behem bege

man zamane ziady nadaram

lotfan komakam konid

agar be emeil ham javab bedid mamnon misham

montazeream

ارسال جوابیه

نام شما: EHSAN
ایمیل شما: EABOLGHASEMI@YAHOO.COM
در مورخه : شنبه، 30 ارديبهشت ماه، 1391

سلام حواهش می کنم در صورت امکان توضیحاتی در مورد برنامه مورد استفاده در اسلوسکوپ ای وی ار برام بفرستید . من از این پروژه به عنوان پایان نامه کارشناسی استفاده کردم و استاد ازم توضیح در مورد برنامه نوشته شده میکرو خواسته .شوکه

ارسال جوابیه

نام شما: فولادوند
ایمیل شما: sh68_ag@yahoo.com
در مورخه : دوشنبه، 1 خرداد ماه، 1391

سلام

من برنامه می خوام به زبان c در رابطه با صفحه نمایش و ‍بورت های کامبیوتری

ارسال جوابیه

نام شما: khalil
ایمیل شما: khalil.mr65@gmail.com
در مورخه : چهارشنبه، 8 شهريور ماه، 1391

سلام

اگه کسی برنامه ترازوی دیجیتال داره برام بفرسته

ارسال جوابیه

نام شما: کامران
ایمیل شما:
در مورخه : دوشنبه، 7 اسفند ماه، 1391

سلام من وقتی دستور sprintf اجرا میکنم این خطا رو میده

Error: H:CODEVISIONLcd.c(19): too many arguments in function call

درحال که همین برنامه شمارو اجرا میکنم

sprintf(buffer,"PICPARS.COM %d",i);

باید از تنظیمات باشه لطفا راهنمایی کنید

باتشکر

ارسال جوابیه

نام شما: احمد
ایمیل شما: electroniciran@rocketmail.com
در مورخه : سه شنبه، 6 فروردين ماه، 1392توسط
(مشخصات کاربر cinapa | ارسال پیغام شخصی)

سلام سید 

باز هم عالی بود  خسته نباشید 

خواهشن نحوه فارسی نویسی با کدویژن هم روی این نوع ال سی دی ها را  توضیح بدین من با lcd char  کد ها را درست کردم ولی تو برنامه از تابع اون خطا میگیره  . لطفا توضیح بدین 

خدا اجرت بده ///

ارسال جوابیه

نام شما: احمد
ایمیل شما: electroniciran@rocketmail.com
در مورخه : سه شنبه، 6 فروردين ماه، 1392توسط
(مشخصات کاربر cinapa | ارسال پیغام شخصی)

سلام سید 

فکر کنم برنامت یه چیز کم داره و اون هم تابعی برای این دستورات 

_lcd_ready(); //آماده دريافت دستور
_lcd_write_data(0x1c); // کل صفحه نمايش به چپ انتقال 

چون از برنامت خطا میگیره و ارور میده  . واحساس میکنم که نیاز به تابع داره تا مشکل برطرف بشه  میشه لطف کنین و بگید که مشکل کجاست 

تشکر 

ارسال جوابیه

نام شما: علی
ایمیل شما: infobaranfun@yahoo.com
در مورخه : جمعه، 23 فروردين ماه، 1392

سلام ممنون از راهنمایی که قرار دادین خیلی بدردم خورد

ارسال جوابیه

نام شما: مسعود
ایمیل شما:
در مورخه : چهارشنبه، 29 خرداد ماه، 1392

داداش خیلی مردی

ارسال جوابیه

نام شما: llll
ایمیل شما:
در مورخه : يكشنبه، 6 مرداد ماه، 1392

ممنون

ارسال جوابیه

نام شما: Zahra
ایمیل شما:
در مورخه : سه شنبه، 2 ارديبهشت ماه، 1393

با سلام. میشه توضیح بدهید چطور میشه LCD کاراکتری رو بدون استفاده از توابع کتابخانه ای راه اندازی کرد؟ خیلی واجبه 

ممنون میشم از راهنمایی شما.

ارسال جوابیه

نام شما: سحر
ایمیل شما:
در مورخه : پنجشنبه، 4 ارديبهشت ماه، 1393

تمام مطالب شما واقعا عالیست من درس آزمایشگاه ریز پردازنده را با کمک سایت شما یاد گرفتم

ارسال جوابیه

نام شما: حمید رضا
ایمیل شما:
در مورخه : جمعه، 2 خرداد ماه، 1393

خوب بود

ارسال جوابیه

نام شما: esi
ایمیل شما: esi.elec90@gmail.com
در مورخه : يكشنبه، 22 تير ماه، 1393

سلام بخشید آدرس پورت هارو که گفتین ثابت هست از کجا گیر بیارم مث آدرس پورت b  که اینجا گفتین؟

جوابیه ها

نام شما: تنها
ایمیل شما: rezamohamadi4731@gmail.com
در مورخه : يكشنبه، 5 مرداد ماه، 1393

دوست عزیز بفرمایین

 

 portb  0x18
0x15 PORTC
0x12 PORTD
ارسال جوابیه

ارسال جوابیه

نام شما: shah
ایمیل شما: shahramshirouei@yahoo.com
در مورخه : شنبه، 4 مرداد ماه، 1393

سلام متشکر از راهنمای های فراوان جناب عالی ببخشید چطور میشه یه متن بیشتر از 16 کاراکتر رو روی lcd 2*16  بصورت روان نمایش داد؟

ارسال جوابیه

نام شما: تنها
ایمیل شما:
در مورخه : يكشنبه، 5 مرداد ماه، 1393

اینم پورت a

 0x1b   PORTA

ارسال جوابیه

نام شما: محمد
ایمیل شما:
در مورخه : پنجشنبه، 16 مرداد ماه، 1393توسط
(مشخصات کاربر mgalaxi2010 | ارسال پیغام شخصی)

سلام یه سوال داشتم میخواستم ببینم میشه بافر lcd رو int تعریف کرد؟

آخه واسه عددای بزرگتر از 32767 عددا علامت دار میشن چه راه کاری وجود داره؟

با تشکر

ارسال جوابیه

نام شما: zahra
ایمیل شما: zahra9631@yahoo.com
در مورخه : سه شنبه، 30 دي ماه، 1393توسط
(مشخصات کاربر zahraza | ارسال پیغام شخصی)

برنامه ای که کاراکتر* به صورت چشمک زن دور تا دور صفحه lcd نمایش داده شود.

توضیحات بیشتر:

برنامه ای که ابتدا بر روی سطر اول رشته ثابت “lcd test” را نمایش داده و سپس بر روی سطر دوم رشته ثابت “At mega16″ را نمایش دهد و انتهای سطر اول رفته و کاراکتر* را نمایشدهد و فرمان چشمک زدن مکان نما را ارسال کنیم و این کاراکتر بعد از نمایش هیچی نشون نده و فقط کاراکتر ستاره را از سطر اول و ابتدا تا پایان سطر اول و سطر دوم یعنی * چشمک زن دور صفحه Lcd نمایش داده شود.با زبان cو پروتیوس.برنامه مثال صفحه 109 کتاب میکروکنترلرهای AVR شما فقط با این تغییر اضافه که کاراکتر* چشمک زن دور تا دور کادر lcd نمایش داده شود.
وهمچنین برنامه ای که با فشردن کلید اول اعداد زوج 0و2و4و6 و با فشردن کلید دوم اعداد فرد 1و3و5و7 را روی 7segment نمایش دهد را
.با میکرو
کنترلAtmega16 و زبان c.
ممنون میشم بنده را راهنمایی بفرمایید یا اگر کسی برنامه شو نوشته یا میتونه بنویسه ایمیل کنید.

ممنون

ایمیل:zahra9631@yahoo.com

ارسال جوابیه

نام شما: abdol
ایمیل شما: abdoltaker@yahoo.com
در مورخه : شنبه، 9 اسفند ماه، 1393

با سلام و خسته نباشید و تشکر از سایت خوبتون. خواستم ببینم بین پایه های  میکرو و lcd  باید مقاومت بذارم یا نه؟ و پایه های VEE و VSS باید با مقاومت به زمین بزنم یا اگر مستقیم بزنم مشکلی نداره. با تشکر کمک

ارسال جوابیه

نام شما: رضا
ایمیل شما: reza.d7476@yahoo.com
در مورخه : دوشنبه، 12 مرداد ماه، 1394

سالم من مقاله قفل الکترونیکی رو از  سایت گرفتم و سعی کردم اونو با زبان سی بنویسم که تو تابع اصلی به مشکل رسیدم

1-تابع i2c_init()

2-تابعrtc_init(0,0,0j

تو تابع دریافت تاریخ و ساعت

1-rtc_set_time(12,0,0)

2-trc_set_date(2,29,11,11)

این تو تابع رو نتونستم بنویسم اگه امکانش هست کمکم کنید.

ارسال جوابیه

نام شما: رضا
ایمیل شما: reza.d7476@yahoo.com
در مورخه : سه شنبه، 13 مرداد ماه، 1394

سلام من برنامه قفلالکترونیکی رو از سایت گرفتم و سعی کردم بنویسم که به مشکل رسیدم

1-تو تابع اصلی تابع i2c_init()

2- trc_init(0,0,0)

توتابع دریافت ساعت و تاریخ

1-rtc_set_time()

2-rtc_init _deta()

میشه کمکم کنید.

ارسال جوابیه

نام شما: amir
ایمیل شما: a.saket1050@gmail.com
در مورخه : يكشنبه، 22 فروردين ماه، 1395

سلام،

دستور ()lcd_ready_ در برنامه من شناخته نمیشه، من از کتابخانه alcd.h استفاده میکنم در codevision 3.12. لازم به ذکره که از کتابخانه lcd.h هم استفاده کردم که کدویژن در کامپایل کردن کد با این کتابخانه مشکل داره.

دو سه ورژن دیگه codevision هم نصب کردم ولی نمیدونم چرا باز مشکل داره.

اگه شما ورژن مطمئنی دارید که کامل تمام دستورات lcd را ساپورت میکنه لطفا برای من بفرستید و یا لینک دانلودشو بگذارید.

ارسال جوابیه

نام شما: مرضیه
ایمیل شما: marziehzare234@gmail.com
در مورخه : پنجشنبه، 2 آذر ماه، 1396

سلام خسته نباشید لطف کنید نمایش عکس روی ال سی دی گرافیکی رو هم اموزش بدین ممنون

 

ارسال جوابیه

 
نام شما: [ کاربر جدید ]

نام شما (ضروری): 
ایمیل شما : 
نظر:
کد امنیتی
کد امنیتی

  [ بازگشت ]