Thông tin tài liệu:
CP1600 là một CPU tốt, nhưng lại kém về các hoạt động xuất nhập, và vì vậy PIC 8-bit được phát triển vào khoảng năm 1975 để hỗ trợ hoạt động xuất nhập cho CP1600.
Nội dung trích xuất từ tài liệu:
Giáo trình hoàn chỉnh vi điều khiển PIC 62.12.2.1.2 SPI SLAVE MODEÔÛ cheá ñoä naøy SPI seõ truyeàn vaø nhaän döõ lieäu khi coù xung ñoàng boä xuaát hieän ôû chaân SCK. Khitruyeàn nhaän xong bit döõ lieäu cuoái cuøng, côø ngaét SSPIF seõ ñöôïc set. Slave mode hoaït ñoängngay caû khi vi ñieàu khieån ñang ôû cheá ñoä sleep, vaø ngaét truyeàn nhaän cho pheùp “ñaùnh thöùc” viñieàu khieån. Khi chæ caàn nhaän döõ lieäu, ta coù theå aán ñònh RC5/SDO laø ngoõ vaøo (set bitTRISC).Slave mode cho pheùp söï taùc ñoäng cuûa chaân ñieàu khieån (SSPCON =0100). Khi chaân ôû möùc thaáp, chaân RC5/SDO ñöôïc cho pheùp xuaát döõ lieäu vaøkhi ôû möùc cao, döõ lieäu ra ôû chaân RC5/SDO bò khoùa, ñoàng thôøi SPI ñöôïcreset (boä ñeám bit döõ lieäu ñöôïc gaùn giaù trò 0). Hình 2.22 Giaûn ñoà xung chuaån giao tieáp SPI (Slave mode).Caùc thanh ghi lieân quan ñeán chuaån giao tieáp SPI bao goàm: Thanh ghi INTCON (ñòa chæ 0Bh, 8Bh, 10Bh, 18Bh): chöùa bit cho pheùp toaøn boä caùcngaét (GIE vaø PEIE). Thanh ghi PIR1 (ñòa chæ 0Ch): chöùa ngaét SSPIE. Thanh ghi PIE1 (ñòa chæ 8Ch): chöùa bit cho pheùp ngaét SSPIE. Thanh ghi TRISC (ñòa chæ 87h): ñieàu khieån xuaát nhaäp PORTC. Thanh ghi SSPBUF (ñòa chæ 13h): thanh ghi ñeäm döõ lieäu. Thanh ghi SSPCON (ñòa chæ 14h): ñieàu khieån chuaån giao tieáp SPI. Thanh ghi SSPSTAT (ñòa chæ 94h): chöùa caùc bit chæ thò traïng thaùi chuaån giao tieáp SPI. Thanh ghi TRISA (ñòa chæ 85h):ñieàu khieån xuaát nhaäp chaân .Chi tieát veà caùc thanh ghi seõ ñöôïc trình baøy cuï theå ôû phuï luïc 2.2.12.2.2 I2C Ñaây laø moät daïng khaùc cuûa MSSP.Chuaån giao tieáp I2C cuõng coù hai cheá ñoäMaster, Slave vaø cuõng ñöôïc keát noái vôùi ngaét.I2C seõ söû duïng 2 pin ñeå truyeàn nhaän döõ lieäu: RC3/SCK/SCL: chaân truyeàn daãnxung clock. RC4/SDI/SDA: chaân truyeàn daãn döõlieäu. Caùc khoái cô baûn trong sô ñoà khoái cuûaI2C khoâng coù nhieàu khaùc bieät so vôùi SPI.Tuy nhieân I2C coøn coù theâm khoái phaùt hieänbit Start vaø bit Stop cuûa döõ lieäu (Start andStop bit detect) vaø khoái xaùc ñònh ñòa chæ(Match detect).Caùc thanh ghi lieân quan ñeán I2C bao goàm: Thanh ghi SSPCON vaø SSPCON2: Hình 2.23 Sô ñoà khoái MSSP (I2Cslaveñieàu khieån MSSP. mode). Thanh ghi SSPSTAT: thanh ghi chöùacaùc traïng thaùi hoaït ñoäng cuûa MSSP. Thanh ghi SSPBUF: buffer truyeàn nhaän noái tieáp. Thanh ghi SSPSR: thanh ghi dòch duøng ñeå truyeàn nhaän döõ lieäu. Thanh ghi SSPADD: thanh ghi chöùa ñòa chæ cuûa giao dieän MSSP. Caùc thanh ghi SSPCON, SSPCON2 cho pheùp ñoïc vaø ghi. Thanh ghi SSPSTAT chæ chopheùp ñoïc vaø ghi ôû 2 bit ñaàu, 6 bit coøn laïi chæ cho pheùp ñoïc. Thanh ghi SSPBUF chöùa döõ lieäu seõ ñöôïc truyeàn ñi hoaëc nhaän ñöôïc vaø ñoùng vai troønhö moät thanh ghi ñeäm cho thanh ghi dòch döõ lieäu SSPSR. Thanh ghi SSPADD chöùa ñòa chæ cuûa thieát bò ngoaïi vi caàn truy xuaát döõ lieäu cuûa I2Ckhi hoaït ñoäng ôû Slave mode. Khi hoaït ñoäng ôû Master mode, thanh ghi SSPADD chöùa giaù tròtaïo ra toác ñoä baud cho xung clock duøng ñeå truyeàn nhaän döõ lieäu. Trong quaù trình nhaän döõ lieäu, sau khi nhaän ñöôïc 1 byte döõ lieäu hoaøn chænh, thanh ghiSSPSR seõ chuyeån döõ lieäu vaøo thanh ghi SSPBUF. Thanh ghi SSPSR khoâng ñoïc vaø ghi ñöôïc,quaù trình truy xuaát thanh ghi naøy phaûi thoâng qua thanh ghi SSPBUF. Trong quaù trình truyeàn döõ lieäu, döõ lieäu caàn truyeàn khi ñöôïc ñöa vaøo thanh ghiSSPBUF cuõng seõ ñoàng thôøi ñöa vaøo thanh ghi SSPSR.Chi tieát veà caùc thanh ghi seõ ñöôïc trình baøy cuï theå ôû phuï luïc 2.I2C coù nhieàu cheá ñoä hoaït ñoäng vaø ñöôïc ñieàu khieån bôûi caùc bit SSPCON, bao goàm: I2C Master mode, xung clock = fosc/4*(SSPADD+1). I2C Slave mode, 7 bit ñòa chæ. I2C Slave mode, 10 bit ñòa chæ. I2C Slvae mode, 7 bit ñòa chæ, cho pheùp ngaét khi phaùt hieän bit Start vaø bit Stop. I2C Slave mode, 10 bit ñòa chæ, cho pheùp ngaét khi phaùt hieän bit Start vaø bit Stop. I2C Firmware Control Master mode. Ñòa chæ truyeàn ñi seõ bao goàm caùc bit ñòa chæ vaø moät bit ñeå xaùc ñònh thao taùc (ñoïchay ghi döõ lieäu) vôùi ñoái töôïng caàn truy xuaát döõ lieäu. Khi löïa choïn giao dieän I2C vaø khi set bit SSPEN, caùc pin SCL vaø SDA seõ ôû traïng thaùicöïc thu hôû. Do ñoù trong tröôøng hôïp caàn thieát ta phaûi söû duïng ñieän trôû keùo leân ôû beân ngoaøi viñieàu khieån, beân caïnh ñoù caàn aán ñònh caùc giaù trò phuø hôïp cho caùc bit TRISC (bit ñieàukhieån xuaát nhaäp caùc chaân SCL vaø SDA).2.12.2.2.1 I2C SLAVE MODE. Vieäc tröôùc tieân laø phaûi set caùc pin SCL vaø SDA laø inp ...