ايران ويج

نسخه‌ی کامل: مشکل در ورودی خرودی
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام
آقا من یه کد مینویسم که پین b رو ورودی بگیره و c رو خروجی و مقادیر b رو میریزه روی c
مشکل اینجاست که ورودی ندادم خروجی میگیرم ! مشکل از چیه ؟

با اسمبلی و سی نوشتم حل نشد
سورس رو بزار
(۱۳-آبان-۱۳۹۳, ۱۳:۲۳:۵۱)h.unique نوشته است: [ -> ]سورس رو بزار
سلام دوست عزیز
این اسمبلی :
کد:
.INCLUDE "M16DEF.INC"
    LDI R16,0XFF
    LDI R17,0X00
    OUT DDRB,R17
    OUT DDRC,R16
    L1: LDI R18,0X00
    IN R18,PINB
    OUT PORTC,R18
    JMP L1
و اینم زبا سی :
کد:
#include <mega16.h>
   void main(){
   DDRB=0x00;
   DDRD=0xff;
   while(1){
   PORTB.0=PINB.0;
   .
   .
   .
   PORTB.7=PINB.7;
            
   }
   }
به نظرتون از فیوز بیتا نیست چون من زیاد حرفه ای نیستم بد جورم گیر کردم کمک کنید ممنون میشم
راستی تو پروتئوس درست کار میکنه تو واقعیت نه ؟؟؟؟
سلام
زبان سی که پورت دی رو خروجی تعریف کردین.
متوجه منظورتون و بقیه کدتون نشدم. دارید از bمیگیرید تا بریزید روی b!
اسمبلی مشکلی نداره
اما توی C
شما اینطوری بنویسید دیگه
کد:
while(1)
PORTD=PINB;
البته توجه کنید که یه جا PORTC رو خروجی انتخاب کردید(توی اسمبلی)
توی C پورت D رو که اصلا ازش استفاده نکردید (اصلاحش کنید)
---
اما علت اینکه کار نمی کنه
1- توی کد C که گفتم درست ننوشتید کد رو مثل من بنویسید
2- توی اسمبلی شما از پورت C استفاده کردید این پورت برای JTAG هم استفاده میشه
برای اینکه از این پورت بتونید استفاده کنید باید JTAG رو غیر فعال کنید
برای این کار دو فیوز بیت
JTAGEN
OCDEN
رو غیر فعال کنید
(۱۳-آبان-۱۳۹۳, ۱۸:۵۵:۴۱)Ambassador نوشته است: [ -> ]سلام
زبان سی که پورت دی رو خروجی تعریف کردین.
متوجه منظورتون و بقیه کدتون نشدم. دارید از bمیگیرید تا بریزید روی b!

ببخشید اون یه تیکش چون الان نوشتم حواسم نبوده
آره یه دفعه هم دی رو گرفتم شاید درست شه نشد
(۱۳-آبان-۱۳۹۳, ۱۸:۵۵:۵۳)behzady نوشته است: [ -> ]اسمبلی مشکلی نداره
اما توی C
شما اینطوری بنویسید دیگه
کد:
while(1)
PORTD=PINB;
البته توجه کنید که یه جا PORTC رو خروجی انتخاب کردید(توی اسمبلی)
توی C پورت D رو که اصلا ازش استفاده نکردید (اصلاحش کنید)
---
اما علت اینکه کار نمی کنه
1- توی کد C که گفتم درست ننوشتید کد رو مثل من بنویسید
2- توی اسمبلی شما از پورت C استفاده کردید این پورت برای JTAG هم استفاده میشه
برای اینکه از این پورت بتونید استفاده کنید باید JTAG رو غیر فعال کنید
برای این کار دو فیوز بیت
JTAGEN
OCDEN
رو غیر فعال کنید
یک دنیا ممنون دوست عزیز دقیقا از jtagen بود ولی بازم پایه 7 پورت سی درست کار نمیکنه و ولتاژ 5 ولت داره
تو فیوز بیتا 0 یعنی تنظیم
1 یعنی خاموش درسته ؟؟
و اینکه من به ریست میکرو چیزی وصل نمیکنم مشکل از اون نیست ؟؟
بله 1 نشان از خاموش بودن هست
خود پایه ریست یک پول آپ داخلی داره ولی اگه امکانش هست شما هم جداگانه وصل کنید
دلیلی برای اینکه پایه C.7 کار نکنه نمی بینم مگر اینکه تایمری چیزی رو فعال کرده باشید