امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
چرا AVRدر این برنامه نمیتواند EPROMاش رابخواند؟
نویسنده پیام
samand آفلاین
تازه وارد

ارسال‌ها: 3
موضوع‌ها: 1
تاریخ عضویت: فروردین ۱۳۸۶

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #1
چرا AVRدر این برنامه نمیتواند EPROMاش رابخواند؟
چرا AVRدر این برنامه نمیتواند EPROMاش رابخواند؟

--------------------------------------------------------------------------------

به نظر شما چرا در برنامه آزمایشی زیر میکروی ATMEGA16 نمیتواند محتویات جدول lookup ذخیره شده در EEPROM اش را فراخونی وبازیابی نماید.چنانچه برنامه را روی AVR studioاجرا وrunکنیم بجای آنکه مقدار خواسته شده در مراحل برنامه بدست بیاید مرتب عدد 0xff بدست داده میشود.
کد:
.include "m16def.inc"

rjmp RESET ;reset handle

;* Register variables

.def T1 = r1
.def T2 = r2
.def temp = r16

;* Code


;* Count display upwards repeatingly (0 -> 9 ->)

;* Register variables

.def bitCount = r17
.def data = r18
.def eset = r19

;* Code

RESET: ser eset
out DDRB, eset
out PORTB, eset ;all 7 segments ON (lamp test)

;for a second
clr eset
out PORTB, eset ;first all segments OFF
next_Count:
ldi bitCount, 0 ;reset up-counter
count_Up:
out EEARL, bitCount ;bitCount sets eeprom address
sbi EECR, 0 ;set eeprom read strobe
in data, EEDR ;get segments data from eeprom
out PORTB, data ;display the data for a sec

clr eset ;blank display
out PORTB, eset
inc bitCount
cpi bitCount, 10 ;if 10 then again, else continue
breq next_Count
rjmp count_Up ;keep counting up

;* Segments data table

.ESEG
table:
.db 0b00111111 ;data 0
.db 0b00000110 ;data 1
.db 0b01011011 ;data 2
.db 0b01001111 ;data 3
.db 0b01100110 ;data 4
.db 0b01101101 ;data 5
.db 0b01111100 ;data 6
.db 0b00000111 ;data 7
.db 0b01111111 ;data 8
.db 0b01100111 ;data 9

ازپاسخ راهگشای شما متشکر خواهم شد.
۰۲-فروردین-۱۳۸۶, ۰۲:۱۴:۵۶
ارسال‌ها
پاسخ
ha_60 آفلاین
بنيانگذار سايت
******

ارسال‌ها: 4,637
موضوع‌ها: 216
تاریخ عضویت: آبان ۱۳۸۳

تشکرها : 560
( 6556 تشکر در 2385 ارسال )
ارسال: #2
 
چرا کار رو اینقدر سخت کردی؟ چرا اسمبلی؟
تا اونجا که یادمه یه read enable داشت باید یک می کردی صبر می کردی تا صفر بشه بعد data رو بخونی برای write که مکافات بیشتری داشت

هادی امین زاده
دیدن چیزی که همه می بینند هنر نیست
بانک اطلاعات صنایع ایران.
۰۲-فروردین-۱۳۸۶, ۰۹:۵۷:۵۲
وب سایت ارسال‌ها
پاسخ
samand آفلاین
تازه وارد

ارسال‌ها: 3
موضوع‌ها: 1
تاریخ عضویت: فروردین ۱۳۸۶

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #3
 
از توجه شما متشکرم. این برنامه آموزشی است ونکته ای که گفتید یک کردن بیت EERE از رجیستر eecr است که در برنامه انجام شده ولی جالب اینجاست که برخلاف کلیه آن چیزهایی که گفته میشود اصلآ محتویات آدرس داده شده را نمی خواند و فقط 0xffرا ارائه میکند.اگر امتحان کنید متوجه میشوید.
۰۲-فروردین-۱۳۸۶, ۱۳:۲۱:۰۵
ارسال‌ها
پاسخ
ha_60 آفلاین
بنيانگذار سايت
******

ارسال‌ها: 4,637
موضوع‌ها: 216
تاریخ عضویت: آبان ۱۳۸۳

تشکرها : 560
( 6556 تشکر در 2385 ارسال )
ارسال: #4
 
یک کردن درست ولی باید صبر کنی صفر بشه دقیقا توی دستور بعدی نمی تونی بخونی می خوای یه چند تا nop بعدش قرار بده
اگه با سیمولاتور چک می کنی ببین داده ها لود شده یا نه

هادی امین زاده
دیدن چیزی که همه می بینند هنر نیست
بانک اطلاعات صنایع ایران.
۰۲-فروردین-۱۳۸۶, ۲۳:۰۴:۳۵
وب سایت ارسال‌ها
پاسخ
samand آفلاین
تازه وارد

ارسال‌ها: 3
موضوع‌ها: 1
تاریخ عضویت: فروردین ۱۳۸۶

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #5
 
اینکارو کردم ولی نتیجه فرقی نداشت.جالب اینجاست که این برنامه قسمتی از یک برنامه بزرگتره که مربوط به قسمت دیزپلیهای اونه که از سایت آتمل دانلود کردم که نه رو سیمیلاتور ونه رو خود میکرو جواب میده.نظرت چیه دوست عزیز
۰۳-فروردین-۱۳۸۶, ۱۶:۴۰:۴۳
ارسال‌ها
پاسخ
ha_60 آفلاین
بنيانگذار سايت
******

ارسال‌ها: 4,637
موضوع‌ها: 216
تاریخ عضویت: آبان ۱۳۸۳

تشکرها : 560
( 6556 تشکر در 2385 ارسال )
ارسال: #6
 
شما یه کار جالب بکن بیا همین رو با c بنویس (یا ساده ترشو) کد های اسمبلی تولید شده رو ببین (زیاد نیست قابل فهم هم هست البته فایل اسمبلی که خودش تولیید می کنه نه دیس اسمبل شدش) ببین چه جوری خونده راحت تره

هادی امین زاده
دیدن چیزی که همه می بینند هنر نیست
بانک اطلاعات صنایع ایران.
۰۴-فروردین-۱۳۸۶, ۱۱:۴۱:۴۸
وب سایت ارسال‌ها
پاسخ
eng_hamedani آفلاین
كاربر تک ستاره
*

ارسال‌ها: 25
موضوع‌ها: 6
تاریخ عضویت: اسفند ۱۳۸۵

تشکرها : 0
( 15 تشکر در 4 ارسال )
ارسال: #7
 
موافقمAmaze
۰۶-فروردین-۱۳۸۶, ۰۳:۲۶:۰۱
ارسال‌ها
پاسخ


پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS