|
是基于stm32f4的工程代码,用的是ad7195传感器,参考手册连接好电路后,直接可以下载使用。
本实验将实现如下功能:通过KEY1按键来控制24C02的写入,通过另外一个按键KEY0来控制24C02的读取。并在LCD模块上面显示相关信息。
单片机源程序如下:
- #include "sys.h"
- #include "delay.h"
- #include "usart.h"
- #include "led.h"
- #include "lcd.h"
- #include "24cxx.h"
- #include "key.h"
-
- int main(void)
- {
- //u8 key;
- u16 i=0;
- //u8 value=0;
- unsigned int value;
-
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2
- delay_init(168); //初始化延时函数
- uart_init(115200); //初始化串口波特率为115200
-
- LED_Init(); //初始化LED
- LCD_Init(); //LCD初始化
- KEY_Init(); //按键初始化
-
- AT24CXX_Init(); //IIC初始化
-
- PS_INIT();
- delay_ms(100);
- ALS_INIT();
- delay_ms(100);
- while(1)
- {
- delay_ms(10);
- i++;
- printf("%d ",i);
- //delay_ms(20);
-
- // value=AT24CXX_ReadOneByte(ID_addr);
- // printf("%X ", value);
- // delay_ms(30);
-
- value=AT24CXX_ReadOneByte(C0DATAH_addr);
- printf("%X", value);
- delay_ms(10);
-
- value=AT24CXX_ReadOneByte(C0DATA_addr);
- printf("%X ", value);
- delay_ms(10);
-
- value=AT24CXX_ReadOneByte(C1DATAH_addr);
- printf("%X", value);
- delay_ms(10);
-
- value=AT24CXX_ReadOneByte(C1DATA_addr);
- printf("%X ", value);
- delay_ms(10);
-
- value=AT24CXX_ReadOneByte(PDATAH_addr);
- printf("%X", value);
- delay_ms(10);
-
- value=AT24CXX_ReadOneByte(PDATA_addr);
- printf("%X\n", value);
- delay_ms(10);
-
- }
- }
复制代码
以上代码下载,资料不完整,目前还在调试中,错误很多,请大家多多指教:
IIC_散射光测量.rar
(502.88 KB, 下载次数: 23)
|
|