NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 3541 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 14 از 14

موضوع: جمع اوري پروژها ي PIC

  1. #1
    مدیر باز نشسته aliAVR آواتار ها
    تاریخ عضویت
    Apr 2009
    نام
    علی شریفی نژاد
    نوشته ها
    183
    تشکر
    10
    تشکر شده 520 بار در 75 پست

    پیش فرض جمع اوري پروژها ي PIC

    سلام
    دوستان این بخش رو فقط برای پروژه ها می ذاریم و هیچ پست اضافی می خوایم نباشه
    تمامی پروژه های مطرح شده در انجمن ها و پروژه های در سطح وب در این بخش قرار می گیره
    دوستان فقط در مورد پروژه توضیح بنویسید و یک عکس از شماتیک و.. هم بذارید خیلی بهتره
    لطفا روی سرور ما آپلود کنید اگر هم موفق نشدید لطفا روی سرور www.fileden.com آپلود کنید
    بالاخره از سربازی برگشتم و اومدم...

  2. کاربران : 2 تشکر کرده اند از شما aliAVR برای ارسال این پست سودمند:


  3. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نام
    Advertising world
    نوشته ها
    Many
     

  4. #2
    مدیر باز نشسته aliAVR آواتار ها
    تاریخ عضویت
    Apr 2009
    نام
    علی شریفی نژاد
    نوشته ها
    183
    تشکر
    10
    تشکر شده 520 بار در 75 پست

    پیش فرض

    ترموستات بر روي LCD3310 NOKIA


    سايت اصلي
    بالاخره از سربازی برگشتم و اومدم...

  5. کاربران : 3 تشکر کرده اند از شما aliAVR برای ارسال این پست سودمند:


  6. #3
    کاربر فعال alnz آواتار ها
    تاریخ عضویت
    Oct 2008
    نام
    عادل جون
    نوشته ها
    104
    تشکر
    18
    تشکر شده 69 بار در 34 پست

    پیش فرض

    Wireless controlled lightdimmer :



  7. کاربران : 2 تشکر کرده اند از شما alnz برای ارسال این پست سودمند:


  8. #4
    کاربر فعال alnz آواتار ها
    تاریخ عضویت
    Oct 2008
    نام
    عادل جون
    نوشته ها
    104
    تشکر
    18
    تشکر شده 69 بار در 34 پست

    پیش فرض

    RC5 remote control :



  9. کاربران : 3 تشکر کرده اند از شما alnz برای ارسال این پست سودمند:


  10. #5
    کاربر فعال alnz آواتار ها
    تاریخ عضویت
    Oct 2008
    نام
    عادل جون
    نوشته ها
    104
    تشکر
    18
    تشکر شده 69 بار در 34 پست

    پیش فرض

    اين دو تا رو از سايت زير گرفتم ، به بقيش هم خودتون يه نيگاهي بندازيد


    http://www.picbasic.nl/frameload_uk....rmelder_uk.htm

  11. کاربران : 3 تشکر کرده اند از شما alnz برای ارسال این پست سودمند:


  12. #6
    مدیر باز نشسته arsalan681 آواتار ها
    تاریخ عضویت
    Dec 2009
    نوشته ها
    974
    تشکر
    165
    تشکر شده 1,256 بار در 613 پست

    پیش فرض اتصال e2prom سریال به pic16f877a

    اتصال E2PROM سریال به PIC16F877A
    توضیحات به همراه فایل پروتئوس
    http://www.4shared.com/file/25508208...3b/e2prom.html

  13. کاربران : 4 تشکر کرده اند از شما arsalan681 برای ارسال این پست سودمند:


  14. #7
    کاربر فعال sajjad_AD آواتار ها
    تاریخ عضویت
    Aug 2009
    نام
    سجاد
    نوشته ها
    307
    تشکر
    336
    تشکر شده 471 بار در 181 پست

    پیش فرض بازی Snake بر روی Dot Matrix

    سلام
    هر جند پروژه ی قابلی نیست ولی چون این بخش واقعا متروکه شده گفتم بذازمش شاید نکات آموزشی خوبی واسه تازه کارایی مثه خودم توش داشته باشه.
    این پروژه رو یه استاد گرامی قبل از اینکه به دانشجوهاش چیزی یاد بده ازشون خواسته منم واسه دوستم نوشتم و گفتم اینجا هم بذارمش.
    کامپایلر : MicroC
    میکرو : 18F452
    همراه با تست پروتئوس
    عیدتون هم مبارک
    فايل هاي پيوست شده فايل هاي پيوست شده
    • نوع فایل: rar Snake.rar (89.9 کیلو بایت, 413 نمايش)

  15. کاربران : 3 تشکر کرده اند از شما sajjad_AD برای ارسال این پست سودمند:


  16. #8
    کاربر فعال sajjad_AD آواتار ها
    تاریخ عضویت
    Aug 2009
    نام
    سجاد
    نوشته ها
    307
    تشکر
    336
    تشکر شده 471 بار در 181 پست

    پیش فرض دما سنج با چهار کانال خروجی قابل تنظیم

    سلام

    به طور ساده بگم که تو این پروژه دما با سنسور LM35 اندازه گیری و روی سون سگمنت نمایش داده میشه

    دارای چهار کانال خروجی هست که هرکدام به صورت جداگانه تنظیم میشن که بین چه دما هایی خروجی بدن

    برای تنظیم,کلید Menu رو چند لحظه نگه دارین و بعد از اومدن شماره ی کانال روی سون سگمنت,
    میتونید کانال مورد نظر رو به وسیله ی کلید های Incr و Decr انتخاب کنید
    و بعد از اومدن روی کانال مورد نظر دوباره کلید Menu رو چند لحظه نگه دارید
    تا وارد مرحله ی تنظیم بازه ی روشن بودن کانال مورد نظر بشین
    و مقادیر High و Low رو تنظیم کنید.
    کلا با نگه داشتن کلید Menu به منوی بعدی و با یک لحظه کلید زدن آن به منوی قبلی می روید
    و با کلید های INCR و DECR میتونید مقادیر رو افزایش و کاهش بدید.
    در ضمن مقادیر تنظیم شده در EEPROM ذخیره میشن تا با خاموش شدن دستگاه قرار نباشه
    دوباره تنظیم شه.

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

    یه پروژه ی سادس ولی خوب گفتم چون توش از امکاناتی چون ADC,EEPROM و چگونگی هدر نویسی و استفاده از اونا رو داره شاید واسه تازه کارایی مث خودم مفید باشه

    کامپایلر MikroC
    میکرو 16F873
    تست پروتئوس 7.10
    فايل هاي پيوست شده فايل هاي پيوست شده
    ویرایش توسط sajjad_AD : 29-06-2012 در ساعت 18:11

  17. کاربران : 3 تشکر کرده اند از شما sajjad_AD برای ارسال این پست سودمند:


  18. #9
    کاربر علاقه مند
    تاریخ عضویت
    Oct 2011
    نوشته ها
    71
    تشکر
    69
    تشکر شده 55 بار در 33 پست

    پیش فرض

    با سلام
    در سایت زیر میتوانید یک dvd از بهترین پروژه ها را با توضیحات به زبان فارسی ببابید

    www.elctronic.ir

  19. کاربران : 2 تشکر کرده اند از شما bascom2 برای ارسال این پست سودمند:


  20. #10
    کاربر فعال sajjad_AD آواتار ها
    تاریخ عضویت
    Aug 2009
    نام
    سجاد
    نوشته ها
    307
    تشکر
    336
    تشکر شده 471 بار در 181 پست

    پیش فرض هدر نه چندان کامل برای ks0108 lcd به زبان c

    سلام
    قبل از هر چیز ایام تاسوعا و عاشورای حسینی رو به همه ی کاربران تسلیت میگم...

    خوب,اجبارا (مشق شب,تکلیف مدرسه) یه هدر برای این نوع LCD نوشتم که شامل توابع روبروست:

    کد:
      SetDot(signed char x,signed char y,unsigned char c);
      DrawVerticalLine(unsigned char Y0,unsigned char Y1,unsigned char X,unsigned char Color);
      DrawHorizontalLine(unsigned char X0,unsigned char X1,unsigned char Y,unsigned char Color);
      DrawLine(signed char X0,signed char Y0,signed char X1,signed char Y1,unsigned char Color);
      DrawRectangle(unsigned char X0,unsigned char Y0,unsigned char X1,unsigned char Y1,unsigned char Fill,unsigned char Color);
      DrawCircle(unsigned int X,unsigned int Y,unsigned int R,unsigned char Fill,unsigned char Color);
      ClearGlcd(unsigned char Color);
      ShowPicture(const rom unsigned char *pic);
      PutString(unsigned char line,unsigned char X,unsigned char *text);
      InitGlcd(void);
    برنامه ی هدر:
    کد:
    #define RS  PORTDbits.RD0
    #define RW  PORTDbits.RD1
    #define EN  PORTDbits.RD2
    #define CS1 PORTDbits.RD3
    #define CS2 PORTDbits.RD4
    #define RST PORTDbits.RD5
    
    #define DirRS  TRISDbits.TRISD0
    #define DirRW  TRISDbits.TRISD1
    #define DirEN  TRISDbits.TRISD2
    #define DirCS1 TRISDbits.TRISD3
    #define DirCS2 TRISDbits.TRISD4
    #define DirRST TRISDbits.TRISD5
    
    #define GlcdDataBus    PORTB
    #define DirGlcdDataBus TRISB
    
    const rom unsigned char Bascom8x8Font[760] = {
     0,0,0,0,0,0,0,0
    ,0,0,6,95,6,0,0,0              
    ,0,7,3,0,7,3,0,0         
    ,0,36,126,36,126,36,0,0     
    ,0,36,43,106,18,0,0,0             
    ,0,99,19,8,100,99,0,0         
    ,0,54,73,86,32,80,0,0        
    ,0,0,7,3,0,0,0,0                
    ,0,0,62,65,0,0,0,0            
    ,0,0,65,62,0,0,0,0        
    ,0,8,62,28,62,8,0,0     
    ,0,8,8,62,8,8,0,0     
    ,0,0,224,96,0,0,0,0            
    ,0,8,8,8,8,8,0,0        
    ,0,0,96,96,0,0,0,0     
    ,0,32,16,8,4,2,0,0         
    ,0,62,81,73,69,62,0,0    
    ,0,0,66,127,64,0,0,0              
    ,0,98,81,73,73,70,0,0               
    ,0,34,73,73,73,54,0,0               
    ,0,24,20,18,127,16,0,0              
    ,0,47,73,73,73,49,0,0               
    ,0,60,74,73,73,48,0,0             
    ,0,1,113,9,5,3,0,0                   
    ,0,54,73,73,73,54,0,0              
    ,0,6,73,73,41,30,0,0               
    ,0,0,108,108,0,0,0,0               
    ,0,0,236,108,0,0,0,0               
    ,0,8,20,34,65,0,0,0               
    ,0,36,36,36,36,36,0,0               
    ,0,0,65,34,20,8,0,0              
    ,0,2,1,89,9,6,0,0                   
    ,0,62,65,93,85,30,0,0               
    ,0,126,17,17,17,126,0,0           
    ,0,127,73,73,73,54,0,0               
    ,0,62,65,65,65,34,0,0               
    ,0,127,65,65,65,62,0,0               
    ,0,127,73,73,73,65,0,0               
    ,0,127,9,9,9,1,0,0                   
    ,0,62,65,73,73,122,0,0               
    ,0,127,8,8,8,127,0,0               
    ,0,0,65,127,65,0,0,0               
    ,0,48,64,64,64,63,0,0               
    ,0,127,8,20,34,65,0,0               
    ,0,127,64,64,64,64,0,0               
    ,0,127,2,4,2,127,0,0               
    ,0,127,2,4,8,127,0,0               
    ,0,62,65,65,65,62,0,0               
    ,0,127,9,9,9,6,0,0                   
    ,0,62,65,81,33,94,0,0               
    ,0,127,9,9,25,102,0,0               
    ,0,38,73,73,73,50,0,0               
    ,0,1,1,127,1,1,0,0                   
    ,0,63,64,64,64,63,0,0               
    ,0,31,32,64,32,31,0,0               
    ,0,63,64,60,64,63,0,0               
    ,0,99,20,8,20,99,0,0               
    ,0,7,8,112,8,7,0,0                   
    ,0,113,73,69,67,0,0,0               
    ,0,0,127,65,65,0,0,0               
    ,0,2,4,8,16,32,0,0                    
    ,0,0,65,65,127,0,0,0               
    ,0,4,2,1,2,4,0,0                   
    ,128,128,128,128,128,128,128,128  
    ,0,0,3,7,0,0,0,0                   
    ,0,32,84,84,84,120,0,0               
    ,0,127,68,68,68,56,0,0               
    ,0,56,68,68,68,40,0,0               
    ,0,56,68,68,68,127,0,0               
    ,0,56,84,84,84,8,0,0               
    ,0,8,126,9,9,0,0,0                   
    ,0,24,164,164,164,124,0,0           
    ,0,127,4,4,120,0,0,0               
    ,0,0,0,125,64,0,0,0               
    ,0,64,128,132,125,0,0,0           
    ,0,127,16,40,68,0,0,0               
    ,0,0,0,127,64,0,0,0               
    ,0,124,4,24,4,120,0,0               
    ,0,124,4,4,120,0,0,0               
    ,0,56,68,68,68,56,0,0               
    ,0,252,68,68,68,56,0,0               
    ,0,56,68,68,68,252,0,0               
    ,0,68,120,68,4,8,0,0               
    ,0,8,84,84,84,32,0,0               
    ,0,4,62,68,36,0,0,0               
    ,0,60,64,32,124,0,0,0               
    ,0,28,32,64,32,28,0,0               
    ,0,60,96,48,96,60,0,0               
    ,0,108,16,16,108,0,0,0               
    ,0,156,160,96,60,0,0,0               
    ,0,100,84,84,76,0,0,0               
    ,0,8,62,65,65,0,0,0               
    ,0,0,0,119,0,0,0,0                   
    ,0,0,65,65,62,8,0,0              
    ,0,2,1,2,1,0,0,0                   
    };
    
    const rom unsigned char MikroE_Logo_BMP[1024] = {
       0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
       0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
       0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
       0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
       0,  0,  0,  0,  0,192,224,112,176,176,176,176,176,176,176,176, 
     176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176, 
     176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176, 
     176,176,176,176,176,176,176,176,176, 96,224,128,  0,  0,  0,  0, 
       0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
       0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
       0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
       0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
       0,  0,  0,  0,  0,255,255,  0,255,255,255,  3, 35, 49, 49, 49, 
      49, 49, 49, 49, 51,  3,199,255,127, 31, 31, 15,  7,  7,  3,  3, 
       3,  1,  1,  1,  1,  1,  1,  1,  1,  1,  3,  3,  3,  7,  7, 15, 
      15, 31,127,255,255,255,255,255,255,  0,255,255,  0,  0,  0,  0, 
       0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
       0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
       0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
       0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
       0,  0,  0,  0,  0,255,255,  0,255,255,255,  7,  6,  6, 14, 30, 
      30, 30, 30, 30,254,255,255,  1,  0,  0,  0,  0,  0,  0,  0,  0, 
       0,  0,  0,252,255,255,255,254,  0,  0,  0,  0,  0,  0,  0,  0, 
       0,  0,  0,  0,  7,255,255,255,255,  0,255,255,  0,  0,  0,  0, 
       0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
       0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
       0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
       0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
       0,  0,  0,  0,  0,255,255,  0,255,255,255, 17, 51,  3,  3, 15, 
       7,  3,  3, 17,255,255,255,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
       0,  0,  0,  0,129,129,129,129,128,128,128,128,128,128,128,128, 
     128,128,128,128,128,255,255,255,255,  0,255,255,  0,  0,  0,  0, 
       0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
       0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
       0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
       0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
       0,  0,  0,  0,  0,255,255,  0,255,255,255, 98,127,111, 99, 99, 
      99, 99, 99, 99,255,255,255,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
       0,  0,  0,255,255,255,255,255,255,  3,  3,  3,  3,  3,  3,  3, 
       3,  3,  3,  3,  3,255,255,255,255,  0,255,255,  0,  0,  0,  0, 
       0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
       0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
       0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
       0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
       0,  0,  0,  0,  0,255,255,  0,255,255,255,  8,140,140,140,140, 
     140,140,140,140,141,159,255,240,192,  0,  0,  0,  0,  0,  0,  0, 
       0,  0,  0,  7, 31, 63, 31, 31,  7,  0,  0,  0,  0,  0,  0,  0, 
       0,  0,128,192,248,255,255,255,255,  0,255,255,  0,  0,  0,  0, 
       0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
       0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
       0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
       0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
       0,  0,  0,  0,  0,127,255,128,127,127,127,112,113,113,113,113, 
     113,113,113,113,113,113,113,113,115,119,126,124,124,120,120,112, 
     112,112,112,112,112,112,112,112,112,112,112,112,112,120,120,124, 
     126,127,127,127,127,127,127,127, 63,192,255,127,  0,  0,  0,  0, 
       0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
       0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
       0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
       0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
       0,  0,  0,  0,  0,  0,  1,  1,  3,  3,  3,  3,  3,  3,  3,  3, 
       3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3, 
       3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3, 
       3,  3,  3,  3,  3,  3,  3,  3,  3,  1,  0,  0,  0,  0,  0,  0 
    };
    
    float sqrt( float x );
    char *strcpypgm2ram(char *dest,const rom char *src);
    
    //ResetGlcd -------------------------------------------------------------------------------------------------------------------------------------------
    void ResetGlcd(void){
    
      RST = 0;
      RST = 1;
    }
    
    //LatchData -------------------------------------------------------------------------------------------------------------------------------------------
    void LatchData(void){
    
      EN = 1;
      EN = 0;
      Delay10TCYx(5);
    }
    
    //WriteCmdGlcd ----------------------------------------------------------------------------------------------------------------------------------------
    void WriteCmdGlcd(unsigned char cmd){
    
      RS = 0;
      RW = 0;
      GlcdDataBus = cmd;
      LatchData();
    }
    
    //WriteDataGlcd ---------------------------------------------------------------------------------------------------------------------------------------
    void WriteDataGlcd(unsigned char data){
    
      RS = 1;
      RW = 0;
      GlcdDataBus = data;
      LatchData();
    }
    
    //ReadDataGlcd ----------------------------------------------------------------------------------------------------------------------------------------
    unsigned char ReadDataGlcd(void){
    
        unsigned char data;
    
      RS = 1;
      RW = 1;
    
      DirGlcdDataBus = 0xFF;
    
      EN = 1;
      EN = 0;
    
      EN = 1;
      Delay10TCYx(1);
      data = GlcdDataBus;
      EN = 0; 
      DirGlcdDataBus = 0x00;
    
      return(data);
    }
    
    //LeftSelect ------------------------------------------------------------------------------------------------------------------------------------------
    void LeftSelect(void){
     
      CS1 = 0;
      CS2 = 1;
    }
    
    //RightSelect -----------------------------------------------------------------------------------------------------------------------------------------
    void RightSelect(void){
     
      CS1 = 1;
      CS2 = 0;
    }
    
    //SetDot -------------------------------------------------------------------------------------------------------------------------------------------Ex
    void SetDot(signed char x,signed char y,unsigned char c){
    
        unsigned char data;
    
      if(x<64) {
        LeftSelect();
        x = x|0x40;
      }else {
        RightSelect();
        x = (x-64)|0x40;
      }
      WriteCmdGlcd(x);
    
      WriteCmdGlcd((y/8)|0xB8);
    
      data = ReadDataGlcd();
    
      WriteCmdGlcd(x);
    
      WriteDataGlcd(c ? ((1<<(y-((y/8)*8)))|data) : ((~(1<<(y-((y/8)*8))))&data));
    }
    
    //DrawVerticalLine ----------------------------------------------------------------------------------------------------------------------------------Ex
    void DrawVerticalLine(unsigned char Y0,unsigned char Y1,unsigned char X,unsigned char Color) {
        
      for(Y0;Y0<=Y1;Y0++) SetDot(X,Y0,Color);
    }
    
    //DrawHorizontalLine -------------------------------------------------------------------------------------------------------------------------------Ex
    void DrawHorizontalLine(unsigned char X0,unsigned char X1,unsigned char Y,unsigned char Color) {
        
      for(X0;X0<=X1;X0++) SetDot(X0,Y,Color);
    }
    
    //DrawLine -----------------------------------------------------------------------------------------------------------------------------------------Ex
    void DrawLine(signed char X0,signed char Y0,signed char X1,signed char Y1,unsigned char Color) {
        
        signed int Dy,Dx,Fraction;
        signed char StepX,StepY;
        
      Dy=Y1-Y0;
      Dx=X1-X0;
        
      if(Dy<0) {Dy=-Dy;StepY=-1;} else {StepY=1;}
      if(Dx<0) {Dx=-Dx;StepX=-1;} else {StepX=1;}
        
      Dy<<=1;
      Dx<<=1;
    
      SetDot(X0,Y0,Color);
    
      if(Dx>Dy) {
    
        Fraction=Dy-(Dx>>1);
    
        while(X0!=X1) {
    
          if(Fraction>=0) {
    
            Y0+=StepY;
            Fraction-=Dx;
          }
          X0+=StepX;
          Fraction+=Dy;
          SetDot(X0,Y0,Color);
        }
      }else {
      
        Fraction=Dx-(Dy>>1);
        
        while (Y0!=Y1) {
        
          if(Fraction>=0) {
         
            X0+=StepX;
            Fraction-=Dy;
          }
          Y0+=StepY;
          Fraction+=Dx;
          SetDot(X0,Y0,Color);
        }
      }
    }
    
    //DrawRectangle -------------------------------------------------------------------------------------------------------------------------------------Ex
    void DrawRectangle(unsigned char X0,unsigned char Y0,unsigned char X1,unsigned char Y1,unsigned char Fill,unsigned char Color) {
    
      if(Fill) {
    
        for(Y0;Y0<=Y1;Y0++)
          DrawHorizontalLine(X0,X1,Y0,Color);
    
      }else {
    
        DrawHorizontalLine(X0,X1,Y0,Color);
        DrawVerticalLine(Y0,Y1,X0,Color);
        DrawHorizontalLine(X0,X1,Y1,Color);
        DrawVerticalLine(Y0,Y1,X1,Color);
      }
    }
    
    //DrawCircle ----------------------------------------------------------------------------------------------------------------------------------------Ex
    void DrawCircle(unsigned int X,unsigned int Y,unsigned int R,unsigned char Fill,unsigned char Color) {
    
        unsigned int Rx,Ry;
      
      if(Fill) {
      
        for(Rx=0;Rx<=R;Rx++) {
    
          Ry = sqrt((R*R)-(Rx*Rx));
    
          DrawHorizontalLine(X-Ry,X+Ry,Y+Rx,Color);
          DrawHorizontalLine(X-Ry,X+Ry,Y-Rx,Color);
        }
      }else {
        
        for(Rx=0;Rx<=R;Rx++) {
    
          Ry = sqrt((R*R)-(Rx*Rx));
        
          SetDot(Rx+X,Ry+Y,Color);
          SetDot(Ry+X,Rx+Y,Color);
          SetDot((Rx*-1)+X,Ry+Y,Color);
          SetDot(Ry+X,(Rx*-1)+Y,Color);
          SetDot(Rx+X,(Ry*-1)+Y,Color);
          SetDot((Ry*-1)+X,Rx+Y,Color);
          SetDot((Rx*-1)+X,(Ry*-1)+Y,Color);
          SetDot((Ry*-1)+X,(Rx*-1)+Y,Color);
        }
      }
    }
    
    //ClsGlcd -------------------------------------------------------------------------------------------------------------------------------------------Ex
    void ClearGlcd(unsigned char Color){
    
        unsigned char Page,X,R;
    
      Color *= 255;
    
      for(R=0;R<2;R++) {
    
        if(R == 0) LeftSelect();
        else RightSelect();
    
        for(Page=0;Page<8;Page++){
    
          WriteCmdGlcd(Page|0xB8);
          WriteCmdGlcd(0x40);
    
          for(X=0;X<64;X++) WriteDataGlcd(Color);
        }
      }
    }
    
    //ShowPicture ---------------------------------------------------------------------------------------------------------------------------------------Ex
    void ShowPicture(const rom unsigned char *pic){
    
        unsigned char Page,X,R;
        unsigned int P;
    
      for(R=0;R<2;R++) {
    
        if(R == 0) {
          P = 0;
          LeftSelect();
        }else {
          P = 64;
          RightSelect();
        }
    
        for(Page=0;Page<8;Page++){
    
          WriteCmdGlcd(Page|0xB8);
          WriteCmdGlcd(0x40);
    
          for(X=0;X<64;X++) {
    
            WriteDataGlcd(pic[P]);
            P++;
          }
          P += 64;
        }
      }
    }
    
    //PutString -----------------------------------------------------------------------------------------------------------------------------------------Ex
    void PutString(unsigned char line,unsigned char X,unsigned char *text){
    
        unsigned int R,P=0;
    
      while(text[P] != 0) {
    
        for(R=0;R<8;R++) {
    
          if(X<64) {
            LeftSelect();
            WriteCmdGlcd(X|0x40);
          }else {
            RightSelect();
            WriteCmdGlcd((X-64)|0x40);
          }
    
          WriteCmdGlcd(line|0xB8);
    
          WriteDataGlcd(Bascom8x8Font[(((unsigned int)text[P]-32)*8)+R]);
          X++;
        }
        P++;
      }
    }
    
    //InitGlcd ------------------------------------------------------------------------------------------------------------------------------------------Ex
    void InitGlcd(void){
    
      DirRS = 0;
      DirRW = 0;
      DirEN = 0;
      DirCS1 = 0;
      DirCS2 = 0;
      DirRST = 0;
      DirGlcdDataBus = 0x00;
    
      RS = 0;
      RW = 0;
      EN = 0;
      CS1 = 0;
      CS2 = 0;
      RST = 0;
      GlcdDataBus = 0x00;
    
      ResetGlcd();
      ClearGlcd(0); 
    }
    هدر برای کامپایلر PIC MPLAB C18 نوشته شده
    به همراه یه مثال و شبیه سازی با پروتئوس
    PDF توضیحات و آموزش هدر
    دیتاشیت چیپ KS0108
    و نرم افزار GLCD BMP Editor شرکت MikroEleKtroniKa ضمیمه شده اند.
    فايل هاي پيوست شده فايل هاي پيوست شده
    ویرایش توسط sajjad_AD : 06-12-2012 در ساعت 23:54

  21. کاربران : 6 تشکر کرده اند از شما sajjad_AD برای ارسال این پست سودمند:


  22. #11
    تازه وارد
    تاریخ عضویت
    Nov 2011
    نوشته ها
    3
    تشکر
    1
    تشکر شده 1 بار در 1 پست

    پیش فرض

    سلام منم يه پروژه طراحي كردك يه ساعته با ال سي دي كاراكتري(2*16) كه ميشه به جاي ساعت پرايد نسبش كرد
    از مزايايش اينه كه تاريخ داره هم ميلادي هم شمسي تاريخ رو اگه به ميلادي يا شمسي واردش كردي خودش به اون يكي(ميلادي يا شمسي)تبديلش ميكنه با در نظر گرفتن سالهاي كبيسه هم براي تاريخ شمسي هم تاريخ ميلادي بدونه كوچكترين خطايي.مثلا من سال 2050/3/24رو بهش دادم دقيقا سال شمسي مطابق با اون رو بهم نشون داد(دستي محاسبه كردم كه جواب همون بود كه ساعت نشون داد).ساعت هردو تاريخ رو پشت(مثل تابلوي روان)سر هم نشون ميده.واز اي سي ds1307 براي دخيره و محاسبه زمان در اون استفاده شده.ازديگر مزاياي اين ساعت اينه كه دما رو ميخونه ونشون ميده
    من الان رشتم(دانشجوام)به محض اينكه رفتم خونه(خوزستان)اونو تو سايت برادانلود قرار ميدم. خدايشش خيلي براش زحمت كشيدم مخصوصا تو تبديل تاريخش از شمسي به ميلادي و ميلادي به شمسي

  23. تشکرها از این نوشته :


  24. #12
    تازه وارد
    تاریخ عضویت
    Nov 2011
    نوشته ها
    3
    تشکر
    1
    تشکر شده 1 بار در 1 پست

    پیش فرض

    نقل قول نوشته اصلی توسط aliAVR نمایش پست ها
    ترموستات بر روي LCD3310 NOKIA


    سايت اصلي
    s/سلام مرسي از لطفت داداش ولي تو لينكي كه دادي نه خبري از ال سي دي نوكيا بود نه ترموستات.البته يه ساعت بود كه بازم نكات مفيدي داره
    مرسي از لطفت

  25. #13
    تازه وارد
    تاریخ عضویت
    Apr 2013
    نوشته ها
    1
    تشکر
    0
    تشکر شده 0 بار در 0 پست

    پیش فرض

    با سلام
    من نیاز فوری به پروژه ساعت و تقویم با pic دارم
    میتونید کمکم کنید؟

  26. #14
    کاربر فعال sajjad_AD آواتار ها
    تاریخ عضویت
    Aug 2009
    نام
    سجاد
    نوشته ها
    307
    تشکر
    336
    تشکر شده 471 بار در 181 پست

    پیش فرض دستگاه هشدار افزایش دما و گاز های آلاینده

    سلام بعد عمری ی پروژه ساده دیگه میذارم

    از اسمش که معلومه یه مداره که اگر دما یا گاز آلاینده از حد مجاز بیشتر شد (قابل تنظیمه و تنظیمات اعمال شده در EEPROM ذخیره میشه ) رله ی مربوط به آن وصل میشه(دما و گاز هر کدام رله جداگانه دارن) و تا کلیدش رو نزدیم قطع نمی کنه.

    کامپایلر : MikroC
    میکرو : PIC16F873
    همراه با فایل پروتئوس ورژن 8.1 (پی سی بی , شماتیک و شبیه سازی)
    به همراه ی PDF آموزش کار با سنسور های گاز
    و فایل Word توضیح مختصری در مورد عملکرد مدار

    موفق باشید
    فايل هاي پيوست شده فايل هاي پيوست شده
    ویرایش توسط sajjad_AD : 19-07-2014 در ساعت 15:29

  27. کاربران : 2 تشکر کرده اند از شما sajjad_AD برای ارسال این پست سودمند:


مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •