No.105898 作者:哈佛 邮件:jola2002@163.com ID:29699 登陆:81次 QQ:5822022 -- MSN:jola2005912@hotmail.com 文章数:185篇 最后登陆IP:218.17.158.164 最后登陆:2014/12/16 13:54:00 注册:2005/1/6 19:18:03 财富:1280 发帖时间:2007/5/15 22:22:40 发贴者IP:59.40.116.45 标题:哈佛:fm的参考读写程序 FM驱动程序,5767系列 摘要:No.105898fm的参考读写程序 FM驱动程序,5767系列 // ****************************************************************// //------------- 虚拟 i2c软件包头文件 iic.h -----------------------// //****************************************************************// sbit SDA=P1^7; //定义IIC数据线// sbit SCL=P1^6; //定义IIC时钟线// #define uchar unsigned char #define uint unsigned int extern void delay(uint x); //延时子程序// extern void sta(); //启动IIC总线// extern void stop(); //停止IIC总线// extern void mack(); //发送应答位// extern void mnack(); //发送非应答位// extern void cack(); //应答位检查// extern void wrbyt(uchar shu); //发送 1 个字节// extern viod wrbyt0(); extern void wrbyt1(); extern uchar rdbyt(); //读取 1 个字节// extern void wrnbyt(uchar slaw,uchar number,uchar ff[]); //发送N个字节// extern void rdnbyt(uchar slar,uchar number,uchar qq[]); //读N个字节// //************************************************************// //--------- 虚拟i2c软件包,12MHz晶振 ----------------------// //***********************************************************// #pragma db cd #include <intrins.h> #include <reg51.h> #include <iic.h> void sta() //启动iic总线// { SDA=1; SCL=1; while(SCL==0) {;} _nop_(); _nop_(); SDA=0; _nop_(); _nop_(); _nop_(); _nop_(); SCL=0; } void stop() { SDA=0; SCL=1; while(SCL==0) {;} _nop_(); _nop_(); SDA=1; _nop_(); _nop_(); _nop_(); _nop_(); SCL=0; } void mack() { SDA=0; SCL=1; _nop_(); _nop_(); _nop_(); _nop_(); SCL=0; SDA=1; } void mnack() { SDA=1; SCL=1; _nop_(); _nop_(); _nop_(); _nop_(); SCL=0; SDA=0; } void cack() { SDA=1; SCL=1; F0=0; if(SDA==0) { SCL=0; _nop_(); _nop_(); _nop_(); ......
>>返回讨论的主题
|