R232串口检测电压的软件

taiful307 2011-01-15 02:20:50
哪位有没有做过,我想实时检测通过R232口接到电脑中的电压值是多少,有没有软件或源代码
...全文
108 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
STC-ISP Ver6.67D (2014-4-1) 1. 更新选型表,调整部分芯片价格 2. 修正发布项目文件不能支持485下载的问题 3. 更新重要说明,主要包括如下内容: . MOVC指令读取EEPROM的说明 . 程序区的最后一个字节运行代码的说明 . 看门狗复位的说明 4. 脱机下载板(U7、U7-S1)固件更新为v1.15 (解决脱机下载完成后用户系统不能断电的问题) STC-ISP Ver6.67C (2014-3-29) 1. 对U7脱机下载界面中的按钮进行调整 2. 提高U7脱机下载时的最高波特率,加快脱机下载速度 3. 对STC15F104W芯片下载时的最高波特率进行限制 4. 支持将EEPROM缓冲区的数据复制为16进制文本(可直接将数据粘贴到串口助手) 5. 更新"程序加密后传输"的文本提示信息 6. 对于选择较低的低压复位门槛电压进行口令确认 7. 增加"通过BandGap电压精确测量外部输入电压值"的示例代码 STC-ISP Ver6.67B (2014-3-17) 1. 对"使用主芯片对从芯片(限STC15系列)进行ISP下载"的示例代码添加注解和说明 2. 对界面进行修改和调整 3. 脱机下载板(U7、U7-S1)固件更新为v1.14 STC-ISP Ver6.67 (2014-3-13) 1. 修正STC15W408AS系列的低压检测电压和Cpu-Core内核工作电压参数 2. 增加STC15F207A/STC15L207A型号,固件版本: 7.1.4R 3. 增加STC608AD-5/STC608AD-3型号,固件版本: 6.6G 4. 添加型号到Keil中失败时,给出错误提示 5. 发布项目时,支持自定义图标 6. 不限制发布项目中自动增量的长度 7. 发布项目的界面可任意放大缩小 8. 增加示例代码(使用主芯片对从芯片(限STC15系列)进行ISP下载) STC-ISP Ver6.66B (2014-3-5) 1. 增加STC15W408AS系列的型号 2. 脱机下载板(U7、U7-S1)固件更新为v1.13 (增强U7脱机下载的可靠性) STC-ISP Ver6.66 (2014-2-24) 1. 修正STC15W408S系列的低压检测电压和Cpu-Core内核工作电压参数 2. 开放STC15F104W/STC15L104W系列的低压检测电压较低电压值 3. 增加读取掉电唤醒定时器频率和内部BandGap电压值的范例代码
STM32单片机读写2通道带PGA16位ADC-AD7705软件例程源码,可以做为你的学习设计参考。 int main(void) { uint16_t adc1, adc2; /* 由于ST固件库的启动文件已经执行了CPU系统时钟的初始化,所以不必再次重复配置系统时钟。 启动文件配置了CPU主时钟频率、内部Flash访问速度和可选的外部SRAM FSMC初始化。 系统时钟缺省配置为72MHz,如果需要更改,可以修改: \Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\system_stm32f10x.c 中配置系统时钟的宏。 */ bsp_Init(); PrintfLogo(); /* 打印例程Logo到串口1 */ bsp_InitTM7705(); /* 初始化配置TM7705 */ if (g_TM7705_OK == 0) { printf("未检测到 AD7705\r\n"); } else { printf("已检测到 AD7705\r\n"); TM7705_CalibSelf(1); /* 自校准。执行时间较长,约180ms */ adc1 = TM7705_ReadAdc(1); TM7705_CalibSelf(2); /* 自校准。执行时间较长,约180ms */ adc2 = TM7705_ReadAdc(2); } while (1) { bsp_Idle(); /* 空闲时执行的函数,比如喂狗. 在bsp.c中 */ TM7705_Scan2(); /* 扫描两个个ADC通道, 无等待的 */ { /* 读取扫描结果 (结果定时读取即可) */ adc1 = TM7705_GetAdc1(); adc2 = TM7705_GetAdc2(); /* 打印采集数据 */ { int volt1, volt2; /* 计算实际电压值(近似估算的),如需准确,请进行校准 */ volt1 = (adc1 * 5000) / 65535; volt2 = (adc2 * 5000) / 65535; printf("CH1=%5d (%5dmV) CH2=%5d (%5dmV)\r", adc1, volt1, adc2, volt2); } } } }
以下文档格式全部为word格式,下载后您可以任意修改编辑。 多路数据采集系统设计 序言 随着计算机技术、电磁兼容技术、传感器技术和信息技术的飞速发展和普及,数据采 集与处理系统得到了广泛的应用。例如:在生产过程中,应用这一系统可对生产现场的 工艺参数进行采集、监视和记录,为提高产品质量、降低生产成本提供信息和手段;在 科学研究中,应用这一系统可获得大量的动态信号,是研究瞬间物理过程的有力工具, 也是获得科学奥秘的重要手段之一。总之,不论在哪个应用领域,数据采集与处理越及 时,工作效率、性能价格比就越高,取得的经济效益就越好。总之,数据采集是工、农 业控制系统中至关重要的一环[1]。 数据采集是工、农业控制系统中至关重要的一环,在医药、化工、食品、等领域的生 产过程中,往往需要随时检测各生产环节的温度、湿度、流量及压力等参数。同时,还 要对某一检测点任意参数能够进行随机查寻,将其在某一时间段内检测得到的数据经过 转换提取出来,以便进行比较,做出决策,调整控制方案,提高产品的合格率,产生良 好的经济效益。 本毕业设计对一种多路数据采集系统进行了初步的研究,该多路数据采集系统能对多 路模拟信号进行采集和处理。系统以89C51为控制单元核心,利用模数转换器AD0809完成 模数转换功能,结合单片机RS232串口功能,实现八路信号的采集、存储、显示及与PC机 通信等功能,形成了良好的人机界面。 第1章 绪 论 1.1 多路数据采集系统介绍 随着工、农业的发展,多路数据采集势必将得到越来越多的应用,为适应这一趋势 ,作这方面的研究就显得十分重要。在科学研究中,运用数据采集系统可获得大量的动 态信息,也是获取科学数据和生成知识的重要手段之一。总之,不论在哪个应用领域中 ,数据采集与处理将直接影响工作效率和所取得的经济效益。 此外,计算机的发展对通信起了巨大的推动作用。算机和通信紧密结合构成了灵活多样 的通信控制系统,也可以构成强有力的信息处理系统,这样对社会的发展产生了深远的影 响。数据通信是计算机广泛应用的必然产物[2]。 数据采集系统,从严格的意义上来说,应该是用计算机控制的多路数据自动检测或巡回 检测,并且能够对数据实行存储、处理、分析计算以及从检测的数据中提取可用的信息 ,供显示、记录、打印或描绘的系统。 数据采集系统一般由数据输入通道,数据存储与管理,数据处理,数据输出及显示这五 个部分组成。输入通道要实现对被测对象的检测,采样和信号转换等工作。数据存储与 管理要用存储器把采集到的数据存储起来,建立相应的数据库,并进行管理和调用。数 据处理就是从采集到的原始数据中,删除有关干扰噪声,无关信息和必要的信息,提取 出反映被测对象特征的重要信息。另外,就是对数据进行统计分析,以便于检索;或者 把数据恢复成原来物理量的形式,以可输出的形态在输出设备上输出,例如打印,显示 ,绘图等。数据输出及显示就是把数据以适当的形式进行输出和显示。 由于RS- 232在微机通信接口中广泛采用,技术已相当成熟。在近端与远端通信过程中,采用串行 RS- 232标准,实现PC机与单片机间的数据传输。在本毕业设计中对多路数据采集系统作了初 步的研究。本系统主要解决的是怎样进行数据采集以及怎样进行多路的数据采集,并将 数据上传至计算机[2]。 1.2 设计思路 多路数据采集系统采用ADC0809模数转换器作为数据采集单元和AT89C51单片机来对它 们进行控制,不仅具有控制方便、简单和灵活性大等优点,而且可以大幅度提高采集数据 的灵敏度及指标。通过MAX232电平转换芯片实现单片机与PC机的异步串行通信,设计中 的HD7279实现了键盘控制与LED显示显示功能。本文设计了一种以AT89C51和ADC0809及R S232为核心的多路数据采集系统。 多路数据采集系统就是通过键盘控制选择通路,将采集到的电压模拟两转换成数字量 实时的送到单片机里处理从而显示出采集电压和地址值,最终控制执行单片机与PC机的 异步串行通信。 连接好硬件后,给ADC0809的三条输入通路通入直流电压。4-F键为功能键,4- E键为复位键,F键为确认键。1-3键为通道选择键,分别采集三个通道的数据值并实时 显示出数值和地址值。结合单片机RS232串口功能还实现了与PC机的异步串行通信功能。 1.2.1电路的基本构成 多路数据采集系统硬件电路由AT89C51单片机最小系统、ADC0809模数转换电路、HD7 279键盘控制与LED显示电路、RS232串行通信电路四部分组成。 该电路采用AT89C51单片机最小化应用设计,ADC0809接成的是总线方式电路,P0口是 作为系统扩展的地址总线口,其端口总线地址为7FFFH。 图1-1 系统硬件方框图1.2.2 各硬件模块的功能 1.单片机:把ADC0
w25x16 SPI FLASH读写 串口监测输出STC8A8K单片机KEIL工程文件源码 FLASH w25x16 2M外部flash测试 W25X16芯片,就是16Mbit 一byte等于8bit 也就是2M字节的存储空间。 256bytes为一页 4Kbytes为一个Sector (扇区) 16个扇区为1个Block (块) W25X16 容量为2M字节,共有32个Block,512个Sector 而且W25X16最小擦除量是一个扇区 即4k字节空间 W25X16擦写周期多达 10W次,具有 20年的数据保存期限, 支持电压为 2.7~3.6V ,最大SPI 时钟可以到80Mhz。 程序上是将一个字符串存到了flash地址100开始的位置,然后去读取存入的数据到数组中,在将读到的 数组数据其显示出来 整个过程由串口检测 主频为11.0592MHz 串口波特率为9600 */ #include "stc8.h" //STC15头文件 #include "def.h" //宏定义 常用函数 #include "delay.h" //延时函数 #include "spi.h" #include "flash.h" #include "uart.h" u8 scan[]={"STC8 FLASH test"}; //测试字符串 u8 buffer[19]; //接收数组 void main() { SP=0X80; //调整堆栈指向 手册286页 详解 Init_SPI(); //SPI初始化 UartInit(); //串口初始化 if(SPI_Flash_ReadID()==0xef14) UartSendStr("外部FLASH初始化成功!\r\n"); else { UartSendStr("外部FLASH初始化失败!\r\n"); while(1); } SPI_Flash_Erase_Sector(0); //擦除地址为0扇区 4k字节 SPI_Flash_Write_NoCheck(scan,100,15); //在地址100位置写入字符串 SPI_Flash_Read(buffer,100,16); //在地址100位置处读取字符串并存入buffer数组中 UartSendStr("地址100数据:\r\n"); UartSend(buffer,15); while(1); }

566

社区成员

发帖
与我相关
我的任务
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
  • 英特尔技术社区
  • shere_lin
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧