📄 main.c
字号:
/* I2C模块例程
HCS908_QG8 单片机开发板
实验介绍:
本程序是I2C模块的例程,所用资源为单片机内部集成总线I2C模块,
所接器件为24C04
确定你开发板上拨码开关JP2(图片上的6)的3、4位处于on,
而其他位处于远离on!
实验现象:
在仿真界面的DATA1窗口中观察变量DATA的值是否为所写入的值
author:QGL
any question mail me:
libing.qu@free-tech.com.cn
*/
/*****************头文件*****************************************/
#include <hidef.h> /* for EnableInterrupts macro */
#include "derivative.h" /* include peripheral declarations */
/*********************变量和函数定义****************************/
char DATA,temp;
void delay(int i);
void init(void);
void STARTT(uchar ADR);
void STARTR(uchar ADR);
void SEND(uchar DATA);
void READ(void);
void END (void);
/*********************主函数************************************/
void main(void){
EnableInterrupts; /* enable interrupts */
/* include your code here */
init(); //初始化模块
STARTT(0x00);//开始写通讯
SEND(0x80);//发送数据,一个字节
delay(5000);
END() ; //结束通讯
delay(10000);
init();//初始化模块
STARTR(0x00);//STARTR();//开始读通讯
READ();//开始接收
END();//结束通讯
for(;;) {
__RESET_WATCHDOG(); /* feeds the dog */
} /* loop forever */
/* please make sure that you never leave main */
}
/*******************延时函数************************************/
void delay(int i) {
int j;
for(j=i;j>0;j--) {
;}
}
/******************I2C初始化函数************************************/
void init(void){
IICA=0X00;
IICF=0X4B; //RATE=100K BPS
IICC=0XA0; //使能I2C,主模式
IICS_IICIF=0;
temp=IICD;
}
/********************使能写函数************************************/
void STARTT(uchar ADR) {
IICC_TX=1; //使能发送
IICC_MST=1; //使能主模式
IICD=ADR; //写数据的地址
}
/********************使能读函数************************************/
void STARTR(uchar ADR) {
IICC_TX=0; //使能接收
IICC_MST=1; //使能主模式
IICD=ADR; //读数据的地址
}
/********************写函数************************************/
void SEND(uchar DATA){
while(IICS_IICIF==0);
IICS_IICIF=0;
IICD=DATA;
}
/********************读函数************************************/
void READ(void){
while(IICS_IICIF==0);
IICS_IICIF=0;
DATA=IICD;
}
/********************结束函数************************************/
void END (void) {
while(IICS_IICIF==0);
IICS_IICIF=0;
IICC_MST=0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -