سلام
به نظر من برای ساختن تابع بهتره از چند تا تابع ساده شروع کنیم توابعی از جمله اسکن سون سگمنت یا اسکن کیبرد و......
یک تابع کاربردی وساده:
تابعی که روی یک پایه دلخواه به تعداد دفعات دلخواه که انتخاب میکنیم یک ال ای دی چشمک میزند
بعد از نوشتن تابع کافیست دستور
#include<flasher.h>
را به ابتدای برنامه اضافه کنیم ودستور
Blink(5);
را در داخل برنامه بنویسیم. عدد 5 تعداد چشمک زدن است و می تواند هر عددی باشد
نکته : ال ای دی میبایست از مسیر زیر معرفی شود
Project|Configure|C Compiler|#Globally define
و در صفحه باز شده بنویسیم
LED PORTB.2
یا هر پورت دیگر میکرو
چگونگی نوشتن تابع:
یک فایل سورس باز کرده و دستورات زیر را در ان مینویسیم
File/new/sourse/ok
#include <delay.h>
#pragma glbdef+
void blink(unsigned char n);
#pragma library Flasher.lib
سپس ان را در پوشه
ink
مسیر نصب برنامه
Save as* h با پسوند
میکنیم
یک فایل سورس دیگر باز کرده و دستورات زیر را در ان مینویسیم
#ifndef LED
#error LED must be defined
#endif
void blink(unsigned char n)
{
unsigned char i;
for(i=0;i<n;i++)
{
LED=1;
delay_ms(300);
LED=0;
delay_ms(300);
}
}
سپس ان را در پوشه
lib
مسیر نصب برنامه
Save as *c با پسوند
میکنیم
و سپس
در این صفحه از منوی
File / convert to library
را انتخاب کرده و ان را ذخیره می کنیم
اگر مراحل بالا را درست انجام داده باشید شما یک تابع ساخته اید و با نوشتن برنامه زیر از ان لذت ببرید
نمونه برنامه تست شده :
************************************************** *****
//Chip type : ATmega16
//Program type : Application
//Clock frequency : 1.000000 MHz
//Author : mahmood
//Company : avr
#include<mega16.h>
#include<flasher.h>
void main(void)
{
DDRB=255;
blink(5);
while(1);
}
به نظر من برای ساختن تابع بهتره از چند تا تابع ساده شروع کنیم توابعی از جمله اسکن سون سگمنت یا اسکن کیبرد و......
یک تابع کاربردی وساده:
تابعی که روی یک پایه دلخواه به تعداد دفعات دلخواه که انتخاب میکنیم یک ال ای دی چشمک میزند
بعد از نوشتن تابع کافیست دستور
#include<flasher.h>
را به ابتدای برنامه اضافه کنیم ودستور
Blink(5);
را در داخل برنامه بنویسیم. عدد 5 تعداد چشمک زدن است و می تواند هر عددی باشد
نکته : ال ای دی میبایست از مسیر زیر معرفی شود
Project|Configure|C Compiler|#Globally define
و در صفحه باز شده بنویسیم
LED PORTB.2
یا هر پورت دیگر میکرو
چگونگی نوشتن تابع:
یک فایل سورس باز کرده و دستورات زیر را در ان مینویسیم
File/new/sourse/ok
#include <delay.h>
#pragma glbdef+
void blink(unsigned char n);
#pragma library Flasher.lib
سپس ان را در پوشه
ink
مسیر نصب برنامه
Save as* h با پسوند
میکنیم
یک فایل سورس دیگر باز کرده و دستورات زیر را در ان مینویسیم
#ifndef LED
#error LED must be defined
#endif
void blink(unsigned char n)
{
unsigned char i;
for(i=0;i<n;i++)
{
LED=1;
delay_ms(300);
LED=0;
delay_ms(300);
}
}
سپس ان را در پوشه
lib
مسیر نصب برنامه
Save as *c با پسوند
میکنیم
و سپس
در این صفحه از منوی
File / convert to library
را انتخاب کرده و ان را ذخیره می کنیم
اگر مراحل بالا را درست انجام داده باشید شما یک تابع ساخته اید و با نوشتن برنامه زیر از ان لذت ببرید
نمونه برنامه تست شده :
************************************************** *****
//Chip type : ATmega16
//Program type : Application
//Clock frequency : 1.000000 MHz
//Author : mahmood
//Company : avr
#include<mega16.h>
#include<flasher.h>
void main(void)
{
DDRB=255;
blink(5);
while(1);
}