اتصال eeprom به avr
اتصال eeprom به avr-برای راه اندازی و اتصال eeprom 24cxx دستورات پایین این صفحه که به زبان bascom avr نوشته شده است
را طبق تصویر زیر روی میکروکنترلر ریخته و در این برنامه با هر بار فشار کلید متصل به پایه c0 برنامه به برچسبWriteeepromserial پرش می کند
و یک عدد به متغیر tmp اضافه می کند و آن را در eeprom 24lc255 ذخیره می کند که شما می توانید ازهر eeprom با ظرفیت بیشتر ویا کمتر استفاده کنید
برای فراخوانی مقدار ذخیره شده در eeprom به میکروکنترلر در ابتدا و آغاز راه اندازی مدار و قبل از حلقه do برنامه به برچسب Readeepromserial پرش کرده
و مقدار موجود در eeprom را در میکرو کنترلر بار گذاری می کند
شما می توانید به تعداد دلخواه از این دو برچسب در برنامه استفاده کنید فقط برای هر متغیری باید مقدار متغیر Address را که در اینجا 20 می باشد تغییر دهید
در اینجا ما از میکروکنترلر atmega16 استفاده کرده ایم که شما می توانید از هر میکروکنترلری بسته به حجم برنامه استفاده کنید
(امکانات • عملکرد ولتاژ پایین و ولتاژ استاندارد – 1.8 (VCC = 1.8 تا 5.5 ولت) •
سازماندهی داخلی 4096 x 8، 8192 x 8 • رابط سریال 2 سیم •
Schmitt Trigger، ورودی های فیلتر شده برای سرکوب نویز •
پروتکل انتقال داده دو طرفه • 1 مگاهرتز (5.0 ولت) و 400 کیلوهرتز (سازگار با 1.8 ولت) •
برای حفاظت از داده های سخت افزاری پین حفاظتی را بنویسید • حالت نوشتن صفحه 32 بایت (نوشتن جزئی صفحه مجاز است) •
چرخه نوشتن خودکار (حداکثر 5 میلیثانیه) • قابلیت اطمینان بالا – استقامت: 1 میلیون چرخه نوشتن – نگهداری داده ها: 100 سال •
دستگاه های بدون سرب/بدون هالوژن • 8 لید PDIP، 8 لید JEDEC SOIC، 8 لید Ultra Lead Frame Land Grid Array (ULA)، 8 لید بستههای TSSOP، Mini-MAP بسیار نازک 8 لید (MLP2x3) و بستههای dBGA2 8 گلولهای. •
فروش قالب: فرم ویفر، بسته وافل، و ویفرهای ضربه خورده شرح AT24C32C/64C 32768/65536 بیت سریال قابل پاک کردن الکتریکی و حافظه فقط خواندنی قابل برنامه ریزی (EEPROM) سازماندهی شده به صورت 4096/8192 کلمه 8 بیتی
هر یک. ویژگی Cascadable دستگاه به حداکثر 8 دستگاه اجازه می دهد تا یک 2- مشترک را به اشتراک بگذارند.
اتوبوس سیمی این دستگاه برای استفاده در بسیاری از کاربردهای صنعتی و تجاری بهینه شده است. مواردی که در آنها عملکرد کم و ولتاژ پایین ضروری است.
AT24C32C/64C است موجود در فضای صرفه جویی در PDIP 8 سرب، 8 سرب JEDEC SOIC، 8 سرب Ultra Lead Frame آرایه شبکه زمین (ULA)،
TSSOP 8 لید، Mini-MAP فوق نازک 8 لید (MLP2x3) و، 8- توپ dBGA2 بسته می شود و از طریق یک رابط سریال 2 سیم قابل دسترسی است. علاوه بر این کل خانواده در نسخه 1.8 ولت (1.8 تا 5.5 ولت) موجود است
3 5298A–SEEPR–1/08 AT24C32C/64C 2. پین توضیحات ساعت سریال (SCL): ورودی SCL برای داده های ساعت لبه مثبت در هر EEPROM استفاده می شود.
دستگاه و داده های ساعت لبه منفی از هر دستگاه خارج می شود. SERIAL DATA (SDA): پین SDA برای انتقال داده سریال دو طرفه است.
این پین درن باز است رانده می شود و ممکن است با هر تعداد دیگر از دستگاه های جمع کننده باز یا جمع کننده باز سیمی متصل شود.
DEVICE/ADDRESSES (A2، A1، A0): پینهای A2، A1 و A0 ورودیهای آدرس دستگاه هستند که برای سازگاری سخت افزاری با سایر دستگاه های AT24CXX، سیم سختی یا بدون اتصال رها شده است.
چه زمانی پینها سیمکشی شدهاند، تا هشت دستگاه 32K/64K ممکن است در یک باس آدرس دهی شوند.
سیستم (آدرس دهی دستگاه به تفصیل در بخش آدرس دهی دستگاه مورد بحث قرار گرفته است).
اگر پینها شناور باقی میمانند، پایههای A2، A1 و A0 به صورت داخلی تا GND پایین کشیده میشوند اگر ظرفیت اتصال اتصال به صفحه مدار V CC کمتر از 3pF است.
اگر کوپلینگ بیش از 3pF باشد، Atmel® توصیه می کند اتصال پین های آدرس به GND. WRITE PROTECT (WP): ورودی محافظت از نوشتن، هنگامی که به GND متصل است،
امکان نوشتن عادی را فراهم می کند عملیات وقتی WP بالا به VCC متصل می شود، تمام عملیات نوشتن در حافظه مهار می شود.
اگر پین شناور بماند، پین WP به صورت داخلی تا GND پایین کشیده میشود، در صورتی که خازنی کو- اتصال به صفحه مدار VCC <3pF است. اگر کوپلینگ > 3pF باشد، Atmel اتصال را توصیه می کند پین به GND
‘______________________________www.pc21.ir____________________________
$regfile = “m16def.dat”
$crystal = 8000000
config portb=output
config portd.5=output
$baud = 9600
Config Serialout = Buffered , Size = 254
Config Sda = Portd.6
Config Scl = Portd.7
Config I2cdelay = 1
Const Xeeread = 161
Const Xeewrite = 160
Dim Address As Word , A As Byte , B As Byte , Tmp As Byte
tmp=0
‘______________________________www.pc21.ir____________________________
Gosub Readeepromserial
‘______________________________www.pc21.ir____________________________
do
Debounce Pinc.0 ,0 , Writeeepromserial , Sub
portb=tmp
loop
‘______________________________www.pc21.ir____________________________
Readeepromserial:
Address = 20
A = High(address)
B = Low(address)
portd.5=0
I2cstart
I2cwbyte Xeewrite
I2cwbyte A
I2cwbyte B
I2cstart
I2cwbyte Xeeread
I2crbyte Tmp , Nack
I2cstop
Waitms 5
portd.5=1
Return
‘______________________________www.pc21.ir____________________________
Writeeepromserial:
incr tmp
Address = 20
A = High(address)
B = Low(address)
portd.5=0
I2cstart
I2cwbyte Xeewrite
I2cwbyte A
I2cwbyte B
I2cwbyte Tmp
I2cstop
Waitms 5
portd.5=1
‘ براتست برنامه اين دستور فعال نمايد
Return