ايران ويج

نسخه‌ی کامل: کتاب خانه های نرم افزار codevision
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2 3
کتابخانه ی مربوط به آی سی ds1307

برای استفاده از این کتابخانه باید آن را با دستور زیر فراخوانی کنید
کد:
#include<ds1307.h>
کد:
void rtc_init(unsigned char rs, unsigned char sqwe, unsigned char out)
این تابع آی سی را بررسی می کند
قبل از استفاده از این تابع ارتباط I2C را با دستور i2c_init بررسی کنید
rs فرکانس خروجی از پایه ی SQW/OUT را مشخص می کند
0 برای 1Hz
1 برای 4096Hz
2 برای 8192Hz
3 برای 32768Hz
پارامتر sqwe وضعیت پایه ی SQW/OUT را مشخص می کند در صورت یک بودن پایه فعال می شود و در صورت صفر بودن پایه غیرفعال می شود
پارامتر out وضعیت منطقی پایه ی SQW/OUT را زمانی که فرکانس تولید نمی کند مشخص می کند در صورتی که یک باشد پایه یک می شود و در صورتی که صفر باشد پایه صفر می شود
کد:
void rtc_get_time(unsigned char *hour, unsigned char *min, unsigned char *sec)
این تابع زمان را از آی سی دریافت می کند و ساعت را در hour دقیقه را در min و ثانیه را در sec قرار می دهد
کد:
void rtc_set_time(unsigned char hour, unsigned char min, unsigned char sec)
این تابع زمان را در آی سی ذخیره می کند
کد:
void rtc_get_date(unsigned char *date, unsigned char *month, unsigned char *year)
این تابع تاریخ را از آی سی دریافت می کند روز در date ماه را در month و سال را در year قرار می دهد
کد:
void rtc_set_date(unsigned char date, unsigned char month, unsigned char year)
این تابع تاریخ را در آی سی ذخیره می کند
برنامه ی نمونه
کد:
#include <mega8.h>
#asm
.equ __i2c_port=0x18 ;PORTB
.equ __sda_bit=0
.equ __scl_bit=1
#endasm
#include <i2c.h>
#include <ds1307.h>
#asm
.equ __lcd_port=0x12 ;PORTD
#endasm
#include <lcd.h>
#include <stdio.h>
void main(void)
{
unsigned char h,m,s;
char nama[20];
i2c_init();
rtc_init(0,0,0);
lcd_init(16);
while (1)
{
rtc_get_time(&h,&m,&s);
sprintf(nama,"%u:%u:%u ",h,m,s);
lcd_gotoxy(0,0);
lcd_puts(nama);

};
}
سلام مهندس دستت درد نکه عالی بود
فقط یه سوال اگه یک تابعی را که ساختم و بصورت فایل هدر بخوام ذخیره کنم
چطوری باید این کار را بکنم و کجا ایا دستور خواصی داره یا نه باید با نرم افزار انجام بشه ؟؟؟؟؟؟؟؟؟؟؟؟
نقل قول: سلام مهندس دستت درد نکه عالی بود
فقط یه سوال اگه یک تابعی را که ساختم و بصورت فایل هدر بخوام ذخیره کنم
چطوری باید این کار را بکنم و کجا ایا دستور خواصی داره یا نه باید با نرم افزار انجام بشه ؟؟؟؟؟؟؟؟؟؟؟؟
برای ایجاد هدر باید فایل را با پسوند h. ذخیره کنید
(۰۱-فروردین-۱۳۹۲, ۲۲:۴۰:۴۹)r0b0 نوشته است: [ -> ]برای ایجاد هدر باید فایل را با پسوند h. ذخیره کنید
همین طور که امید جان گفت فایلتون رو توی notepad یا کدویژن بنویسید و با فرمت h. ذخیره کنید
(۰۱-فروردین-۱۳۹۲, ۲۳:۴۴:۳۹)h.unique نوشته است: [ -> ]اسپم:
عمو هادی کجایی؟
چرا دیگه اینو ادامه نمیدی؟
ایشالا به زودی ادامش می دم تازگیا یکم مشکلاتم زیاد شدنWink
نقل قول: برای ایجاد هدر باید فایل را با پسوند h. ذخیره کنید
فکر کنم نتونستم منظورمو برسونم
اینطوری بگم که الان من یه برنامه نوشتم . و میخوام هر وقت که اونو صدا زدم بره و فایل هدر منو بخونه و دستورات را انجام بده منظور این که حالا اون فایل را من چطوری ذخیره کنم.. نه این که با چه پسوندی ذخیره کنم
خود فایل برنامه را کجا و چطوری ذخیره کنم
یه توضیح دیگه بدم که خوب متوجه بشین
مثلا .. همین فایل سراینده خودمون که برای شناسوندن میکرو ونوعش بکار میره اینم یک فایل کتابخونه ای هست دیگه که فایل هدرش را جایی ذخیر شده مثل همین من یه برنامه نوشتم و بصورت تابع کتابخونه ای در اوردم واون برنامه را میخوام ذخیره کنم که هر وقت صداش زدم دستورات را انجام بدهد ....
(۰۲-فروردین-۱۳۹۲, ۰۰:۱۹:۵۱)cinapa نوشته است: [ -> ]فکر کنم نتونستم منظورمو برسونم
اینطوری بگم که الان من یه برنامه نوشتم . و میخوام هر وقت که اونو صدا زدم بره و فایل هدر منو بخونه و دستورات را انجام بده منظور این که حالا اون فایل را من چطوری ذخیره کنم.. نه این که با چه پسوندی ذخیره کنم
خود فایل برنامه را کجا و چطوری ذخیره کنم
یه توضیح دیگه بدم که خوب متوجه بشین
مثلا .. همین فایل سراینده خودمون که برای شناسوندن میکرو ونوعش بکار میره اینم یک فایل کتابخونه ای هست دیگه که فایل هدرش را جایی ذخیر شده مثل همین من یه برنامه نوشتم و بصورت تابع کتابخونه ای در اوردم واون برنامه را میخوام ذخیره کنم که هر وقت صداش زدم دستورات را انجام بدهد ....
فکر کنم آدرس روی کامپیوتر رو می خواهی برو اینجا و فایل هدر رو بریز
C:\cvavr\inc
(من توی درایو c نصب کردم ورژن 1.5.8)
شما دوتا فایل می سازید یه هدر (.h) که معرفی توابع و متغییر ها و ... رو به عهده داره یه فایل C. که دستورات رو توش نوشتید سپس فایل .H رو در C:\cvavr\inc ذخیره می کنید و فایل .c را در منوی بالا files روی گزینه ی convert to lib کلیک کنید خودش اون رو در C:\cvavr\lib ذخیره می کنه حالا می تونید مثل بقیه ی کتابخونه ها از اون استفاده کنید
( هم نام بودن این دو فایل مهم هست)
-
چه پست جالبیBiggrin
از مرجع میکرو کنترلر ها هم می تونی تقلب بگیری آخرش کلی توابع رو توضیح داده دیگه ندیدم همش هست یا نهBiggrin
(۰۲-فروردین-۱۳۹۲, ۰۹:۳۳:۲۸)behzady نوشته است: [ -> ]شما دوتا فایل می سازید یه هدر (.h) که معرفی توابع و متغییر ها و ... رو به عهده داره یه فایل C. که دستورات رو توش نوشتید سپس فایل .H رو در C:\cvavr\inc ذخیره می کنید و فایل .c را در منوی بالا files روی گزینه ی convert to lib کلیک کنید خودش اون رو در C:\cvavr\lib ذخیره می کنه حالا می تونید مثل بقیه ی کتابخونه ها از اون استفاده کنید
( هم نام بودن این دو فایل مهم هست)
-
چه پست جالبیBiggrin
از مرجع میکرو کنترلر ها هم می تونی تقلب بگیری آخرش کلی توابع رو توضیح داده دیگه ندیدم همش هست یا نهBiggrin
سلام مجدد بازم نشدAngryAngryAngryAngry
نگاه کنید یه نفر برام یه فایل هدر فرستاد و گفت که باید دوتا فایل تواین فایل هدر و با پسوندهایی که مشخص شده باشه تا بتونی استفاده و فراخوانی کنی . این دوتا اینا بودن
keypad_advance.h~ و keypad_advance.hci
حالا همونطوری که شما فرموده بودین انجام دادم نشد لطفا بگید که من چطوری میتونم برنامم را مثل این دوتا فایل ذخیره کنم
تشکر
این روشی هست که من استفاده می کنم از فایل HELP خود کدویژن هم هست اگه غیر از این میخواید عمل کنید من نظری ندارم.Exclamation
سلام.
آقا من یه مشکل دارم.
کتابخونه :
نقل قول:
کد:
int rand (void)
یک عدد تصادقی بین 0 و 32768 انتخاب می کند
اعداد تصادفی تولید نمیکنه :|
مثلا اگه 3 مرحله اعداد 1و2و3 رو تولید کنیه اگه میکرو رو ریست کنی و بازم این تابع رو فراخوانی کنی بازم همون 1و2و3 رو تولید میکنه :|
چرا اینطوریه این لامصب ؟ :|
(۳۰-خرداد-۱۳۹۳, ۱۵:۱۴:۱۹)h.unique نوشته است: [ -> ]سلام.
آقا من یه مشکل دارم.
کتابخونه :
نقل قول:
کد:
int rand (void)
یک عدد تصادقی بین 0 و 32768 انتخاب می کند
اعداد تصادفی تولید نمیکنه :|
مثلا اگه 3 مرحله اعداد 1و2و3 رو تولید کنیه اگه میکرو رو ریست کنی و بازم این تابع رو فراخوانی کنی بازم همون 1و2و3 رو تولید میکنه :|
چرا اینطوریه این لامصب ؟ :|
یه تعدادی عدد تو حافظه ی میکرو ذخیره شده و یکی یکی پشت سر هم اعداد رو میده
باید با توجه به برنامه اونه تصادفی کنی
مثلا من تو یه برنامه می بایست هر یک ثانیه یک عدد تصادفی داشته باشم
یه متغیر تعریف کردم هر بار که برنامه اجرا میشد یه متغیر تصادفی درست میکرد
از اون طرف هم تایمر هر 1 ثانیه یک بار یک عدد تصادفی میگرفت که یه عدد واقعا تصادفی درست میشد
یعنی یه متغیر دائم در حال عدد گرفتن بود
حالا با توجه به برنامه خودت درستش کن
صفحه‌ها: 1 2 3