STC15F2K60S2单片机读写ADS1256并LCD1602显示驱动程序源码,可以做为你的学习设计参考。 void main() { signed long Adc; float Volts; DelayMs(50); ADS1256_Init(); //ADS1256 参数初始化 LCD_Init(); while(1) { Adc = ADS1256ReadData( ADS1256_MUXP_AIN0|ADS1256_MUXN_AINCOM); Volts = Adc*0.00059453; // 0.00000059453 为系数,ADC生产出后都有一定的偏差,在此校准。 display_num4(LINE1_COLUMN(1),Volts); delay_ms(100); Adc = ADS1256ReadData( ADS1256_MUXP_AIN1|ADS1256_MUXN_AINCOM); Volts = Adc*0.00059453; // 0.00000059453 为系数,ADC生产出后都有一定的偏差,
2022-02-03 14:04:52 59KB 单片机 嵌入式硬件 ADS1256 LCD1602
C8051F120用SPI口读写铁电,铁电芯片为FM24CL04,可兼容FM25CL64,绝对好使。
2022-02-03 10:41:10 3KB C8051F120
1
Excel读写库 LibXL3.94 最新修改版易语言源码
2022-01-30 19:03:14 1.33MB Excel读写库LibXL3
采用BIN模式TCP方式,MELSOFT上位机链接,最大特点是速度超快; 附加中是VB.NET和C#代码,已经在项目中使用过了,很稳定; 支持浮点、双整数、16进制字符等数据类型; 兼容所有Windows的x86、x64系统,支持多线程;
2022-01-28 23:28:34 938KB C# PLC 三菱 Q系列
1
stm32f103的开发板,usb通过spi方式读取sd卡,在电脑端显示sd卡内容,官方的历程spi方式有问题,程序里做了修改。主要修改在SPI_MSD0_Driver.c中。
2022-01-28 16:11:17 273KB stm32 usb sd卡 spi
1
STM32F407单片机读写 MH-Z14A二氧化碳传感器模块并串口输出软件DEMO例程源码,可做为你的学习设计参考。 int main(void) { uint32_t strL; /* 复位所有外设,初始化Flash接口和系统滴答定时器 */ HAL_Init(); /* 配置系统时钟 */ SystemClock_Config(); /* 初始化串口并配置串口中断优先级 */ MX_DEBUG_USART_Init(); MX_USARTx_Init(); HMI_USARTx_Init(); /* 无限循环 */ while (1) { /* 发送读取数值指令 */ if(HAL_UART_Transmit(&husartx,&aTxBuffer[0],9,0xFFFF)==HAL_OK) /* 读取返回值 */ HAL_UART_Receive(&husartx,&aRxBuffer[0],9,0xFFFF); /* 计算气体浓度值 */ strL=aRxBuffer[2]*256+aRxBuffer[3]; HMI_value_setting("page1.t1.txt",aRxBuffer[0]); HMI_value_setting("page1.t7.txt",aRxBuffer[1]); HMI_value_setting("page1.t9.txt",aRxBuffer[2]); HMI_value_setting("page1.t11.txt",aRxBuffer[3]); HMI_value_setting("page1.t13.txt",aRxBuffer[4]); HMI_value_setting("page1.t15.txt",aRxBuffer[5]); HMI_value_setting("page1.t17.txt",aRxBuffer[6]); HMI_value_setting("page1.t19.txt",aRxBuffer[7]); HMI_value_setting("page1.t21.txt",aRxBuffer[8]); HMI_string_setting("page1.t3.txt",strL); printf("二氧化碳浓度为:%d ppm\n",strL); HAL_Delay(5000); } } /** * 函数功能: 向串口屏发送数据 * 输入参数: 无 * 返 回 值: 无 * 说 明: 无 */ void HMI_value_setting(const char *val_str,uint32_t value) { uint8_t tmp_str[30]={0}; uint8_t i; sprintf((char *)tmp_str,"%s=\"%x\"",val_str,value); for(i=0;iDR=tmp_str[i]; while(__HAL_UART_GET_FLAG(&husartx_HMI, UART_FLAG_TXE) == RESET); } HMI_USARTx->DR=0xFF; while(__HAL_UART_GET_FLAG(&husartx_HMI, UART_FLAG_TXE) == RESET); HMI_USARTx->DR=0xFF; while(__HAL_UART_GET_FLAG(&husartx_HMI, UART_FLAG_TXE) == RESET); HMI_USARTx->DR=0xFF; while(__HAL_UART_GET_FLAG(&husartx_HMI, UART_FLAG_TXE) == RESET); } /** * 函数功能: 向串口屏发送数据 * 输入参数: 无 * 返 回 值: 无 * 说 明: 无 */ void HMI_string_setting(const char *val_str,int32_t value) { uint8_t tmp_str[50]={0}; uint8_t i; sprintf((char *)tmp_
STM32单片机读写24位ADC_AD7190称重模块带液晶显示例程DEMO源码文件,可做为你的学习设计参考。 int main(void) { uint32_t lcdid; float data_temp; int32_t weight_count; uint8_t cali_flag=0; char str[50]; /* 复位所有外设,初始化Flash接口和系统滴答定时器 */ HAL_Init(); /* 配置系统时钟 */ SystemClock_Config(); /* 初始化串口并配置串口中断优先级 */ MX_DEBUG_USART_Init(); KEY_GPIO_Init(); /* 初始化3.5寸TFT液晶模组,一般优先于调试串口初始化 */ lcdid=BSP_LCD_Init(); /* 调用格式化输出函数打印输出数据 */ printf("LCD ID=0x%08X\n",lcdid); LCD_Clear(0,0,LCD_DEFAULT_WIDTH,LCD_DEFAULT_HEIGTH,BLACK); HAL_Delay(1000); /* 开背光 */ LCD_BK_ON(); if(AD7190_Init()==0) { printf("获取不到 AD7190 !\n"); while(1) { HAL_Delay(1000); if(AD7190_Init()) break; } } printf("检测到 AD7190 !\n"); weight_ad7190_conf(); HAL_Delay(500); weight_Zero_Data = weight_ad7190_ReadAvg(6); printf("zero:%d\n",weight_Zero_Data); /* 无限循环 */ while (1) { weight_count=weight_ad7190_ReadAvg(6); data_temp=weight_count-weight_Zero_Data; weight=data_temp*1000/weight_proportion; printf("重量:0x%5X->%f\n",weight_count,weight); sprintf(str,"0x%5X",weight_count); LCD_DispString_EN(190,80,str,BLACK,RED,USE_FONT_24); sprintf(str,"%0.2fg",weight); LCD_Clear(140,100,300,64,BLACK); LCD_DispString_EN(140,100,str,BLACK,YELLOW,USE_FONT_64); HAL_Delay(100); if(KEY1_StateRead()==KEY_DOWN) // 清零 { weight_Zero_Data = weight_ad7190_ReadAvg(6); printf("zero:%d\n",weight_Zero_Data); cali_flag=1; } if(KEY2_StateRead()==KEY_DOWN) // 校准:必须先按“清零”键,然后把20g砝码放在称上,按下校准键 { if(cali_flag) { weight_count = weight_ad7190_ReadAvg(6); weight_proportion=(weight_count-weight_Zero_Data)*1000/100; printf("weight_proportion:%d\n",weight_proportion); } cali_flag=0; } }
#include #include #define uchar unsigned char #define uint unsigned int //********************2402读写指令********************** #define c2402wdat 0xa0 #define c2402rdat 0xa1 //**************************end****************** //**************2402IO***dinyi****************** sbit sda=P1^0; sbit scl=P1^1; sbit P13=P1^3; //********************************************** void dins(uchar a) { uchar b; for(;a>0;a--) for(b=100;b>0;b--) ; } //**************************12MHz**************如为24MHz则所有延时需加陪********************** void start() //**********开始********************** { sda=1; scl=1; _nop_(); _nop_();
2022-01-28 14:01:50 3KB 2402 2401 24c02 24c01
1
【程序老媛出品,必属精品,亲测校正,质量保证】 资源名:C#和西门子OPC UA通信进行读写数据程序源码.zip 资源类型:程序源代码 源码说明: C#编写的和西门子OPCUA服务器进行通信的程序源码 包含读写数据,多个读写,多个注册node,多个订阅等功能 包含完整代码和注释 非常适合借鉴学习 适合人群:新手及有一定经验的开发人员
2022-01-28 13:02:47 5.05MB C# 西门子 OPCUA 读写数据程序源码
【程序老媛出品,必属精品,亲测校正,质量保证】 资源名:C#通过OPC连接PLC读写数据程序源码.zip 资源类型:程序源代码 源码说明: 基于C#写的通过OPC和PLC进行数据交互的程序源码 代码完整注释详细 很适合借鉴学习 适合人群:新手及有一定经验的开发人员
2022-01-28 13:02:02 1.75MB C# OPC 连接PLC读写数据 程序源码