ايران ويج

نسخه‌ی کامل: پروگرامر ها
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2 3 4
سلام
نقل قول: فکر کنم میشه از این ایسی بعنوان ایزولاتور مدار از ورودی پورت های میکرو استفاده کرد ؟
پورت lpt در کامپیوتر حفاظت نمیشه و در صورت اعمال ولتاژ غیر مجاز به اون ، کنترل کننده پورت که بر روی مادر برد نصب هست ، معیوب میشه . نقش ایسی های بافر ، جدا کردن (ایزوله ) پورت از بخش های دردسترس هست ، این بافر ها مانند یکدیود عمل میکنن و...........
نقل قول: مهندس سري HC هستش !

يعني سري CMOS پر سرعت !

ولي ولتاژش TTL هستش !
اگه به کتاب دیجتال مدرسان شریف مراجعه کنید ، میتونید مفهوم کلیه این اعداد رو گیر بیاردید ، اگه دسترسی ندارید بگیدتا عکسش رو بزارم
میخاستم علامت ! بزارم اشتباهی ؟ گذاشتم !

ساختار آیسی رو کسی میدونه چه جوریه که هم میشه ازش خوند و هم نوشت
( خدا رو شکر رشتم الکترونیک نیست ! )


خوب عکسشم بزار ممنون
سلام
کسی میتونه کمکم کنه؟؟؟؟
سلام
به انجمن خوش امدین
سوالتون رو بپرسین ما در خدمتیم
(۰۲-بهمن-۱۳۹۶, ۱۸:۲۲:۴۳)hadikh73 نوشته است: [ -> ]سلام
به انجمن خوش امدین
سوالتون رو بپرسین ما در خدمتیم

سلام
ممنون
یه پروژه داریم با کدویژن و پروتئوس

صورت سوال اینه:
برنامه ای بنویسید که با فشردن یک کلید شمارش از ۰۰ الی ۹۹ روی سون سگمنت آند مشترک آغاز شود. با فشردن دوباره همان کلید شمارش متوقف شده؛ با فشردن مجدد آن کلید شمارش دوباره ادامه یابد. با فشردن مجدد کلید، صفر شود.
(۰۲-بهمن-۱۳۹۶, ۱۸:۳۳:۰۳)Only1 نوشته است: [ -> ]
(۰۲-بهمن-۱۳۹۶, ۱۸:۲۲:۴۳)hadikh73 نوشته است: [ -> ]سلام
به انجمن خوش امدین
سوالتون رو بپرسین ما در خدمتیم

سلام
ممنون
یه پروژه داریم با کدویژن و پروتئوس

صورت سوال اینه:
برنامه ای بنویسید که با فشردن یک کلید شمارش از ۰۰ الی ۹۹ روی سون سگمنت آند مشترک آغاز شود. با فشردن دوباره همان کلید شمارش متوقف شده؛ با فشردن مجدد آن کلید شمارش دوباره ادامه یابد. با فشردن مجدد کلید، صفر شود.

کد شمارش رو نوشتیم
شماتیکشم رسم کردیم
درست کار کرد

کد:

کد php:
#include <mega16.h>
#include <delay.h>
flash unsigned char display[]={
0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
unsigned char p1=0,p2=0;
interrupt [TIM1_OVFvoid timer1_ovf_isr(void){
TCCR1B=0x00;
TCNT1H=0x85;
TCNT1L=0xEE;
TCCR1B=0x04;
p1++;
if(
p1==10){
p1=0;
p2++;}
if(
p2==0p2=0;}
void main(){
PORTA=0xFF;
DDRA=0xFF;
PORTB=0x00;
DDRB=0x03;
TCNT1H=0x85;
TCNT1L=0xEE;
TIMSK=0x04;
TCCR1B=0x04;
#asm("sei")
while (1)
    {
    PORTB=0x01;
    PORTA=display[p1];
    delay_ms(10);
    PORTB=0x02;
    PORTA=display[p2];
    delay_ms(10);
    }
}

اما وقتی بهش کلید اضافه کردیم
دیگه کار نکرد

کد
:
#include <mega16.h>
#include <delay.h>
flash unsigned char display[]={
0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
unsigned char p1=0,p2=0;
interrupt [TIM1_OVFvoid timer1_ovf_isr(void){
TCCR1B=0x00;
TCNT1H=0x85;
TCNT1L=0xEE;
TCCR1B=0x04;
p1++;
if(
p1==10){
p1=0;
p2++;}
if(
p2==0p2=0;}
void main(){
PORTA=0xFF;
DDRA=0xFF;
PORTB=0x00;
PORTC=0x03;
DDRC=0x00;
DDRB=0x03;
TCNT1H=0x85;
TCNT1L=0xEE;
TIMSK=0x04;
TCCR1B=0x04;
#asm("sei")
while (1)
    {
    if(PINC.0==0){
    PORTB=0x01;
    PORTA=display[p1];
    delay_ms(10);
    PORTB=0x02;
    PORTA=display[p2];
    delay_ms(10);
    while(PINC.0==0);
    }}



شماتیک:
[تصویر:  p23_5.png]
ممنون میشم کمکم کنین
سلام
من کدویژن روی سیستمم نصب نیود ک کامپایل کنم شما اینو تست بزن احتمال 99 درصد درست شده
کد:
#include <mega16.h>
#include <delay.h>
flash unsigned char display[]={
0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
unsigned char p1=0,p2=0,i=0,i2=0;
interrupt [TIM1_OVF] void timer1_ovf_isr(void)
{
    TCCR1B=0x00;
    TCNT1H=0x85;
    TCNT1L=0xEE;
    TCCR1B=0x04;
    p1++;
    if(p1==10){
    p1=0;
    p2++;}
    if(p2==0) p2=0;
}
void main()
{
    PORTA=0xFF;
    DDRA=0xFF;
    PORTB=0x00;
    DDRB=0x03;
    TCNT1H=0x85;
    TCNT1L=0xEE;
    TIMSK=0x04;
    TCCR1B=0x04;
    #asm("sei")

p1=0;
p2=0;
    PORTB=0x01;
    PORTA=display[p1];
    delay_ms(10);
    PORTB=0x02;
    PORTA=display[p2];
    delay_ms(10);

    while (1)
        {
            if((PINC.0==0)&&(i2==0)
                {
                    i2=1;
                    i++;
                    if(i>2)i=0;
                }
            if((PINC.0==1)&&(i2==1)
                {
                    i2=0;
                }
            if(i==1)
                {
                    PORTB=0x01;
                    PORTA=display[p1];
                    delay_ms(10);
                    PORTB=0x02;
                    PORTA=display[p2];
                    delay_ms(10);
                }
            if(i==2)
                {
                    p1=0;
                    p2=0;
                }
        }
}
صفحه‌ها: 1 2 3 4