12.07.2015 Views

MPLAB® C18 C 编译器函数库

MPLAB® C18 C 编译器函数库

MPLAB® C18 C 编译器函数库

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

MPLAB ® <strong>C18</strong> C 编 译 器 函 数 库3.4.2 使 用 示 例下 面 是 一 个 简 单 的 代 码 示 例 , 举 例 说 明 了 与 Microchip 24LC01B I 2 C 电 可 擦 除 存 储 器 进行 I 2 C 通 讯 的 软 件 实 现 。#include #include #include // FUNCTION Prototypevoid main(void);void byte_write(void);void page_write(void);void current_address(void);void random_read(void);void sequential_read(void);void ack_poll(void);unsigned char warr[] = {8,7,6,5,4,3,2,1,0};unsigned char rarr[15];unsigned char far *rdptr = rarr;unsigned char far *wrptr = warr;unsigned char var;#define W_CS PORTA.2//**************************************************void main( void ){byte_write();ack_poll();page_write();ack_poll();Nop();sequential_read();Nop();while (1); // Loop indefinitely}void byte_write( void ){SWStartI2C();var = SWPutcI2C(0xA0); // control byteSWAckI2C();var = SWPutcI2C(0x10); // word addressSWAckI2C();var = SWPutcI2C(0x66); // dataSWAckI2C();SWStopI2C();}void page_write( void ){SWStartI2C();var = SWPutcI2C(0xA0); // control byteSWAckI2C();var = SWPutcI2C(0x20); // word addressSWAckI2C();var = SWPutsI2C(wrptr); // dataSWStopI2C();}DS51297C_CN 第 98 页© 2004 Microchip Technology Inc.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!