عضویت     ورود  چنان باش که بتوانی به هر کس بگوئی مثل من رفتار کن. کانت يكشنبه، 2 ارديبهشت ماه ، 1397

کانال تلگرام


تبلیغات متنی


منوی سایت


جست و جو در بانك مقالات




مقالات جدید
تعداد شاخه ها: 30 عدد
تعداد مقالات: 758 عدد 1: آزمايشگاه الكترونيك - استاد محرري 
[دفعات مشاهده : 4257 بار]
 2: جزوه درس مخابرات 1 - دانشگاه فردوسي مشهد 
[دفعات مشاهده : 4169 بار]
 3: كتاب مهندسي تاسيسات / دكتر كلهر 
[دفعات مشاهده : 4243 بار]
 4: مجموع اعوجاج هارمونیک T.H.D 
[دفعات مشاهده : 4183 بار]
 5: كتاب "روش طراحي و تحليل مدارهاي الكترونيك" 
[دفعات مشاهده : 10574 بار]
 6: ادوات نوري 
[دفعات مشاهده : 4371 بار]
 7: كتاب اصول تلويزيون رنگي 
[دفعات مشاهده : 5804 بار]
 8: پروژه دزد گیر با سنسور تشخیص حرکت pir با قفل رمز الکترونیکی 
[دفعات مشاهده : 5496 بار]
 9: جزوه اندازه گیری الکتریکی 
[دفعات مشاهده : 4591 بار]
 10: سوالات کنکور کارشناسی ارشد 90 / گروه مهندسی برق 
[دفعات مشاهده : 6594 بار]
 11: آرشيو پروژه هاي 8051 
[دفعات مشاهده : 5249 بار]
 12: آرشيو پروژه هاي AVR‌ (ـ‌ 126 پروژه ) 
[دفعات مشاهده : 13023 بار]
 13: آموزش برنامه نويسي و كار با ماژول Sim300CZ با ميكروكنترلر AVR 
[دفعات مشاهده : 9312 بار]
 14: سوالات كنكور كارشناسي ناپيوسته 89 - گروه برق 
[دفعات مشاهده : 6708 بار]
 15: ارتباط میکروهای PIC با کمک پروتکل سریال I2C و نکات تکمیلی ماژول MSSP 
[دفعات مشاهده : 4867 بار]
 16: ساعت تقویم با کمک میکروکنترلر PIC و DS1307 
[دفعات مشاهده : 5449 بار]
 17: تایمرهای چند زمانه ( ساعت مرکزی ) با میکرو PIC 
[دفعات مشاهده : 4931 بار]
 18: ساعت تقویم شمسی مجهز به آلارم روزانه و هفتگی 
[دفعات مشاهده : 5851 بار]
 19: صفحه کلید وقفه ای با میکروکنترلر PIC 
[دفعات مشاهده : 4584 بار]
 20: کرنومتر دیجیتال با میکروکنترلر PIC با قابلیت ثبت 3 زمان 
[دفعات مشاهده : 4726 بار]
 21: طراحی و ساخت مدارات انتقال دیتا به وسیله ماژول های HMTR + پروژه چت متنی بیسیم 
[دفعات مشاهده : 7483 بار]
 22: سنسورهای حرارت 
[دفعات مشاهده : 6872 بار]
 23: کنترل وسایل برقی از طریق خط تلفن با میکروکنترلر PIC 
[دفعات مشاهده : 6789 بار]
 24: ارتباط سریال UART بین دو میکروکنترلر PIC 
[دفعات مشاهده : 5091 بار]
 25: گزارش کار آموزی : ماشین های ابزار کنترل عددی CNC 
[دفعات مشاهده : 5317 بار]
 26: کنترل وسایل به کمک ماژول HM-TR و میکرو AVR 
[دفعات مشاهده : 7762 بار]
 27: طراحی و ساخت کنترل از راه دور 1 کانال با کمک ماژول های ASK و آی سی های سری PT 
[دفعات مشاهده : 6407 بار]
 28: مجموعه رفرنس های آموزشی میکروکنترلرهای سری dsPIC 
[دفعات مشاهده : 5861 بار]
 29: مجموعه پروژه های میکروکنترلر AVR با کامپایلر بسکام 
[دفعات مشاهده : 10982 بار]
 30: طراحی و ساخت مدارات انتقال دیتا به وسیله ماژول های HM-T و HM-R با میکرو AVR 
[دفعات مشاهده : 8947 بار]


آخرين مطالب ارسال شده
· روش طراحي و تحليل مدارهاي الكترونيك[ 1 نظر شما چيه؟ - 38208 مشاهده ]
· اصول تلويزيون رنگي[ 0 نظر شما چيه؟ - 16995 مشاهده ]
· نرم افزار DigSilent[ 2 نظر شما چيه؟ - 20428 مشاهده ]
· AVR Tech Lib 2011[ 1 نظر شما چيه؟ - 23917 مشاهده ]
· مجموعه كنفرانس هاي سالينه ميكروچيپ / سال 2009 /[ 2 نظر شما چيه؟ - 21555 مشاهده ]
· آموزش كار با ماژول SIM300CZ با ميكرو AVR[ 4 نظر شما چيه؟ - 23930 مشاهده ]
· مجموعه فيلم هاي آموزشي نرم افزار Altium Designer[ 0 نظر شما چيه؟ - 36583 مشاهده ]
·  سوالات كنكور كارشناسي ناپيوسته 89 - گروه برق[ 0 نظر شما چيه؟ - 18855 مشاهده ]
· لينك دانلود مجله October 2010 / SERVO[ 0 نظر شما چيه؟ - 16126 مشاهده ]
· Catalog CA 01 (10/2009) / International version[ 0 نظر شما چيه؟ - 19823 مشاهده ]

[ موارد بیشتر در بخش اخبار و تازه ها ]


زبان
انتخاب زبان نمایش :



مطالب جديد
· 1: پیاده سازی فیلترهای آنالوگ مد جریانی با استفاده از CDTA
· 2: مدلسازي فازي سلول عقده اي آشكارساز جهتي شبكيه چشم انسان
· 3: يك روش جديد براي پيمايش سريع وب با استفاده از تكنيك يادگيري تقويتي
· 4: روش جديد ادغام تصميم مبتني بر رفتار سنجنده هاي چندگانه وكاربرد آن در آشكار سازي و شناسايي توزيع شده
· 5: RF MEMS Integrated Frequency Reconfigurable Annular Slot Antenna
· 6: A Tutorial on Particle Filters for Online Nonlinear/Non-Gaussian Bayesian Tracking
· 7: طراحي، بهينهسازي و ساخت مبدل موجبر به ميكرواستريپ براي استفاده در يك تقويت كننده كم نويز 28GHz
· 8: آشنائى با گواهينامه هاى وب سايت
· 9: نحوه پياده سازي پروتكل CANopen در MasterRTU
· 10: GPS Community Map Generation for Enhanced Routing Methods based on Trace-Collection by Mobile Phones
· 11: تحقق روشي جديد در كنترل موتورهاي القايي
· 12: بررسی تطبیقی استانداردهای جهانی و ملی برای اصلاح سیستم ارت پست های زمینی
· 13: IMPROVEMENT OF SEGMENT-BASED DEPTH ESTIMATION USING A NOVEL SEGMENT EXTRACTION
· 14: Scintillation Counting in Experiments on Parity Conservation
· 15: تهيه برنامه زمان بندي آزمايشگاه روغن با استفاده از الگوريتم ژنتيك
· 16: Basic Analysis on Transmitted Force of Magnetic Gear Using Permanent Magnet
· 17: Astronomical Cybersketching
· 18: IEEE Std 1378-1997
· 19: PushYPull ClassYAB Transformerless Power Amplifiers
· 20: بهينه سازي اندازه سازه هاي خرپايي با استفاده از روش EAS

[ آخرين مقالات ]


ارسال مقاله به سايت

 



...::: Ir-Micro.Com :::... :: View topic - درست کردن هدر فایل LCD (حل شد)


درست کردن هدر فایل LCD (حل شد)

 
Post new topic   Reply to topic    ...::: Ir-Micro.Com :::... Forum Index -> برنامه نویسی و مباحث مربوط به PIC Printable Version
View previous topic :: View next topic  
Author Message
mhs22
کاربر تازه وارد
کاربر تازه وارد

Joined: Sep 06, 2011
Posts: 3





18564.00 امتیاز

Items

Status: Offline

PostPosted: دوشنبه، 21 دي ماه ، 1394 11:38:02 Reply with quote Scroll Down to Next postGo to last Post of Page

سلام به همه دوستان
یک هدر فایل LCD برای کامپایلر XC8 نوشتم اما متاسفانه کار نمیکنه! دقیقا نمیدونم مشکل از کجاست، کسی میتونی راهتمایی بکنه؟

lcd.h
PHP:
<?php #ifndef XC_HEADER_TEMPLATE_H
 
#define XC_HEADER_TEMPLATE_H
#include <xc.h> // include processor files - each processor file is guarded. 
#define _XTAL_FREQ 4000000
// TODO Insert appropriate #include <>
 
// TODO Insert C++ class definitions if appropriate
 
// TODO Insert declarations
 
// TODO Insert declarations or function prototypes (right here) to leverage 
// live documentation
 
#ifdef  __cplusplus
extern &quot;C&quot; {
#endif /* __cplusplus */
 
    // TODO If C++ is being used, regular C code needs function names to have C 
    // linkage so the functions can be used by the c code.
#define LCD_RS RA3
#define LCD_EN RA4
#define LCD_DATA4 RB0
#define LCD_DATA5 RB1
#define LCD_DATA6 RB2
#define LCD_DATA7 RB3
#define LCD_RS_Direction TRISA3
#define LCD_EN_Direction TRISA4
#define LCD_DATA4_Direction TRISB0
#define LCD_DATA5_Direction TRISB1
#define LCD_DATA6_Direction TRISB2
#define LCD_DATA7_Direction TRISB3
void LCD_STROBE(void){
    
LCD_EN 1;
    
__delay_ms(1);
    
LCD_EN 0;
    
__delay_ms(50);
}
void LCD_write(unsigned char data){
        if(
data 1)
                
LCD_DATA4 1;
         else
                
LCD_DATA4 0;
        if(
data 2)
                 
LCD_DATA5 1;
        else
                
LCD_DATA5 0;
         if(
data 4)
                
LCD_DATA6 1;
        else
                 
LCD_DATA6 0;
        if(
data 8)
                
LCD_DATA7 1;
        else
                
LCD_DATA7 0;       
    
//return;
}
void LCD_cmd(unsigned char cmd){
    
//unsigned char cmd_entry = cmd;
    /*LCD_DATA4 = (cmd >> 0) & 0x01;
    LCD_DATA5 = (cmd > > 1) & 0x01;
    LCD_DATA6 = (cmd >> 2) & 0x01;
    LCD_DATA7 = (cmd > > 3) & 0x01;*/
    
LCD_RS 0;
    
LCD_write(cmd);
    
LCD_STROBE();
     
//return;
}
void LCD_char(char c){
    
char temp,y;
    
temp c&0x0F;
    
=  c&0xF0;
    
LCD_RS 1;
    
LCD_write(y>>4);
    
LCD_STROBE();
    
LC D_write(temp);
    
LCD_STROBE();        
}
void LCD_string(char *s){
    
//LCD_RS = 1;
    
for (int i 0s[i] != '\0'i++) {
            
LCD_char(s[i]);
        }
}
void LCD_clear(void){
    
LCD_cmd(0x01); //clear    
}
void LCD_goto(v oid){
    
LCD_cmd(0x80); //cursor(0,0)
}
void LCD_init(void){
    
LCD_RS_Direction 0;
    
LCD_EN_Direction 0;
    
LCD_DATA4_Direction 0;
    
LCD_DATA5_Direction 0;
    
LCD_DATA6_Direction 0;
    
LCD_DATA7_Direction 0;
    
LCD_cmd(0x28); //4-bit
    
__delay_ms(1);
    
LCD_cmd(0x01);  //clear
    
__delay_ms(1);
    
LCD_cmd(0x0E); //cursor on
    
__delay_ms(1);
    
LCD_cmd(0x80); //cursor(0,0)
    
__delay_ms(1) ;
    
//return;    
}
#ifdef  __cplusplus
}
#endif /* __cplusplus */
#endif  /* XC_HEADER_TEMPLATE_H */ 
?>



main.c

PHP:
<?php #define _XTAL_FREQ 4000000
#include <pic16f88.h>
#include <stdio.h>
#include <stdlib.h>
#include <xc.h>
#include &quot;lcd.h&quot;
#pragma config FOSC = XT        // Oscillator Selection bits (XT oscillator)
#pragma config WDTE = OFF       // Watchdog Timer Enable bit (WDT disabled)
#pragma config PWRTE = OFF      // Power-up Timer Enable bit (PWRT disabled)
#pragma config BOREN = OFF      // Brown-out Reset Enable bit (BOR disabled)
#pragma config LVP = OFF        // Low-Voltage Programming Enable bit (RB3 is digital I/O, HV on MCLR must be used for programming)
#pragma config CPD = OFF        // Data EE Memory Code Protection bit (Code protection off)
#pragma config CP = OFF
//TRISB
void main(void){
    
//TRISB6 = 0;
    
LCD_init();
    
LCD_goto();
    while (
1) {
        
//LED();
        
LCD_str ing(&quot;Hello World&quot;);
    }
?>



Last edited by mhs22 on سه شنبه، 22 دي ماه ، 1394 23:02:53; edited 1 time in total
Back to top
View user's profile Send private message
mhs22
کاربر تازه وارد
کاربر تازه وارد

Joined: Sep 06, 2011
Posts: 3





18564.00 امتیاز

Items

Status: Offline

PostPosted: سه شنبه، 22 دي ماه ، 1394 23:02:19 Reply with quote Go to Top of PageScroll Up to Previous post

بالاخره تونستم حلش کنم!!!
مشکل از این بود که من از پورت A برای EN و RS استفاده میکردم، پورت A آنالوگ است باید مقدار بیت های دو پین EN و RS را صفر در نظر میگرفتم تا پورت دیجیتال ست بشه!

وقتی که بیت ها دیجیتال ست نشده!



کد رو هم کمی تغییر دادم

lcd.h
Code:

#ifndef XC_HEADER_TEMPLATE_H

#define XC_HEADER_TEMPLATE_H
#include <xc.h> // include processor files - each processor file is guarded.
#define _XTAL_FREQ 4000000
#include <pic16f88.h>
// TODO Insert appropriate #include <>

// TODO Insert C++ class definitions if appropriate

// TODO Insert declarations

// Comment a function and leverage automatic documentation with slash star star
/**
*/
// TODO Insert declarations or function prototypes (right here) to leverage
// live documentation

#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */

// TODO If C++ is being used, regular C code needs function names to have C
// linkage so the functions can be used by the c code.
#define LCD_RS RA3
#define LCD_EN RA4
#define LCD_DATA4 RB0
#define LCD_DATA5 RB1
#define LCD_DATA6 RB2
#define LCD_DATA7 RB3
#define LCD_PORT PORTB

void LCD_STROBE(void){
LCD_EN = 1;
__delay_us(1);
LCD_EN = 0;
}
void write(unsigned char value){
LCD_DATA4 = (value >> 0) & 0x01;
LCD_DATA5 = (value >> 1) & 0x01;
LCD_DATA6 = (value >> 2) & 0x01;
LCD_DATA7 = (value >> 3) & 0x01;
LCD_EN = 1;
__delay_us(1);
LCD_EN = 0;
}
void LCD_cmd(unsigned char data){
LCD_RS = 0;
__delay_us(50);
LCD_PORT = (data >> 4);
LCD_STROBE();
LCD_PORT = (data);
LCD_STROBE();
}
void LCD_goto(void){
LCD_cmd(0x80);
__delay_ms(2);
}
void LCD_clear(void){
LCD_cmd(0x01);
__delay_ms(2);
}
void LCD_char(unsigned char data){
LCD_RS = 1;
__delay_us(50);
write(data >> 4);
write(data);
}
void LCD_putc(unsigned char data){
LCD_RS = 1;
__delay_us(50);
LCD_PORT = (data >> 4);
LCD_STROBE();
LCD_PORT = (data);
LCD_STROBE();
}
void LCD_putcs(const char *data){
while (*data) {
LCD_putc(*data++);
}
}
void LCD_init(void){
TRISA3 = 0;
TRISA4 = 0;
TRISB = 0b11110000;

LCD_cmd(0x20); //4-bit 1 line, 2 line= 0x28
__delay_ms(1);
LCD_cmd(0x0c);
__delay_ms(1);
LCD_cmd(0x06 ); //cursor on
__delay_ms(2);
LCD_cmd(0x80); //cursor(0,0)
__delay_ms(2);
LCD_cmd(0x01); //clear
__delay_ms(2);
}
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* XC_HEADER_TEMPLATE_H */


main.c
Code:

#define _XTAL_FREQ 4000000
#include <pic16f88.h>
#include <stdio.h>
#include <stdlib.h>
#include <xc.h>
#include "lcd.h"
#pragma config FOSC = XT // Oscillator Selection bits (XT oscillator)
#pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled)
#pragma config PWRTE = OFF // Power-up Timer Enable bit (PWRT disabled)
#pragma config BOREN = OFF // Brown-out Reset Enable bit (BOR disabled)
#pragma config LVP = OFF // Low-Voltage Programming Enable bit (RB3 is digital I/O, HV on MCLR must be used for programming)
#pragma config CPD = OFF // Data EE Memory Code Protection bit (Code protection off)
#pragma config CP = OFF
//TRISB
void main(void){
//TRISB6 = 0;
ANS3 = 0; //set RA3 to digital I/O
ANS4 = 0; //set RA4 to digital I/O
LCD_init();
LCD_goto();
LCD_putc('2');
__delay_ms(1000);
while (1) {
LCD_clear();
LCD_goto();
LCD_char('P');
__delay_ms(5000);
LCD_clear();
LCD_putcs("HELLO WORLD");
__delay_ms(5000);
LCD_clear();
}
}

Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    ...::: Ir-Micro.Com :::... Forum Index -> برنامه نویسی و مباحث مربوط به PIC All times are GMT + 3.5 Hours
Page 1 of 1
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum

 
 Jump to:   

Related topics
 Topics   Replies   Author   Views   Last Post 
No new posts Sticky: دانلود نرم افزار multisim ورژن 9 و 10 5 Hamed 17857 شنبه، 4 دي ماه ، 1389 13:37:42
MultisimExpert View latest post
No new posts Sticky: امنيت با Kaspersky Internet Security v8.0.0.33 7 Arash_em 9197 شنبه، 18 اسفند ماه ، 1386 02:18:53
brainbaran View latest post
No new posts Sticky: دانلود مرورگر قدرتمند Mozilla Firefox 2.0.0.7 Final 2 Arash_em 8157 يكشنبه، 8 مهر ماه ، 1386 04:46:20
Mehrdad001 View latest post
No new posts Micro Code Studio 3.0.0.5 0 Hamed 8014 جمعه، 20 ارديبهشت ماه ، 1387 09:35:35
Hamed View latest post
No new posts کرک 100% آخرین نسخه Bascom 8051 2.0.14.0 1 Pejmands 8919 يكشنبه، 29 مهر ماه ، 1386 13:48:38
Arash_em View latest post
 


Powered by phpBB © 2001, 2008 phpBB Group

Ported to Platinum 7.6.b.4 V2 by sadeghkhafan

فروشگاه تخصصی برق و الکترونیک ایران میکرو
www.iran-micro.com
PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL.
Powered by Platinum 7.6.b.4 v2
Powered by Platinum 7.6.b.4 v2 Persian

مدت زمان ایجاد صفحه : 0.89 ثانیه