با سلام خدمت بچه های تالار pic
من تازه از avr به pic مهاجرت کرده ام وکار خودم را با کامپایلر ccs شروع کردم.اما هر کاری که می کنم یک چشمک زن ساده که با یک button کنترل کنم نمی شه :angry: :angry: اصلا گیج شده ام.
1-من قبلا با سی avr کار میکردم وکمی با سی اشنا هستم .در این چندروز مهاجرت من به pic فهمیدم که 0در یعنی خروجی و 1 یعنی ورودی اما وقتی بادستور;(set_tris_a(0x00 پورت a را برای خروجی پیکره بندی میکنم led ها روشن میشود بدون اینکه از دستور ;(output-high(PIN_a0 استفاده کنم .
2-بزرگترین مشکل دیگر در کلید است(در avr پورتی که ورودی تعریف میشد وان را pullups میکردیم نیاز بود باgnd تحریک شود)که اصلا نتوانستم کلید را راه بندازم اصلا می خواهم بدونم input در pic چطوری ؟؟در ضمن من برای کلید از دستور;(if(input(PIN_B0)==0 استفاده کردم.
3-دستورات پرکاربرد i/0 در pic چیست؟
برنامه:
#include <16f84.h> //micro name
#use delay(Clock=20000000) // oscillator frequency
void main()
{
set_tris_a(0x00); //set port b as outputs
set_tris_b(0xfdf);
port_b_pullups(TRUE);
if(input(PIN_B0)==0){
while(true)
{
delay_ms(10); //wait 1
output_high(PIN_A0); //set portb.0 ( turn on led)
delay_ms(10); //wait 1
output_low(PIN_A0) ; //reset portb.0 ( turn off led)
}
}
}
من تازه از avr به pic مهاجرت کرده ام وکار خودم را با کامپایلر ccs شروع کردم.اما هر کاری که می کنم یک چشمک زن ساده که با یک button کنترل کنم نمی شه :angry: :angry: اصلا گیج شده ام.
1-من قبلا با سی avr کار میکردم وکمی با سی اشنا هستم .در این چندروز مهاجرت من به pic فهمیدم که 0در یعنی خروجی و 1 یعنی ورودی اما وقتی بادستور;(set_tris_a(0x00 پورت a را برای خروجی پیکره بندی میکنم led ها روشن میشود بدون اینکه از دستور ;(output-high(PIN_a0 استفاده کنم .
2-بزرگترین مشکل دیگر در کلید است(در avr پورتی که ورودی تعریف میشد وان را pullups میکردیم نیاز بود باgnd تحریک شود)که اصلا نتوانستم کلید را راه بندازم اصلا می خواهم بدونم input در pic چطوری ؟؟در ضمن من برای کلید از دستور;(if(input(PIN_B0)==0 استفاده کردم.
3-دستورات پرکاربرد i/0 در pic چیست؟
برنامه:
#include <16f84.h> //micro name
#use delay(Clock=20000000) // oscillator frequency
void main()
{
set_tris_a(0x00); //set port b as outputs
set_tris_b(0xfdf);
port_b_pullups(TRUE);
if(input(PIN_B0)==0){
while(true)
{
delay_ms(10); //wait 1
output_high(PIN_A0); //set portb.0 ( turn on led)
delay_ms(10); //wait 1
output_low(PIN_A0) ; //reset portb.0 ( turn off led)
}
}
}
دیدگاه