摘要:流程图编码(简称流码)是为单片机量身定制的图形化程序语言,它目前支持四个系列的微控制器(PIC、AVR、DSPIC和ARM),并支持中文菜单。
关键词:流码技术;机器人;传感器;
它的特点如下:
(1)直接画流图仿真,仿真成功后可以编译成C语言和汇编语言代码,并生成hex文件,可直接烧写到芯片里。真正的一键搞定!
(2)几乎不用考虑初始化,你要输出它就自动把端口设置为输出,你要输入它就自动把端口设置为输入。
(3)芯片移植非常简单,直接更换芯片就可以了,流图几乎不用改动。
(4)可以导入、导出流图,这样同一个流图就可以在不同的微控制器上运行。
(5)强大的仿真模块
(6)还支持嵌入C语言和汇编语言代码。
应用流码技术就可以快速而且可靠地为机器人增加更多的传感器,例如:
一、DS18B20与数码管设计温度报警器应用实例
本实例采用DS18B20传感器设计一温度报警器实例,MAX6951驱动数码管显示温度,当温度低于或高于设置的温度阈值时报警灯闪烁,蜂鸣器发出报警音。
1.流码解析
本实例自建Write_Max6951、Init_Max6951、Display和Alarm宏;Write_Max6951宏向MAX6951写入1字节数据;Init_MAX6951宏用于初始化MAX6951驱动;Display宏调用阈值时使报警灯闪烁,使蜂鸣器发出报警音;主程序调用OneWire组件的DS1820_start_ conversion()、DS1820_read_scratchpad()和DS1820_get_temp()函数获取DS18B20的温度数据,然后调用Display和Alarm宏显示温度数据和报警。
2.Proteus仿真验证
流码程序生成的hex文件分别加载到Proteus仿真电路,单击“仿真”按钮,调整温度,观察数码管显示和报警灯,电路如图10.9-6所示。
3.设计结论
将流码发送和接收设计生成的hex文件分别加载到Proteus仿真电路ATMEGA328P芯片中,结果表明仿真结果正确,满足设计要求。
二、DS18B20与LCD1602设计一温度报警器实例
本实例采用DS18B20设计一温度报警器实例,LCD显示温度数据,按键控制温度和报警阈值显示,当高于或低于报警阈值时报警灯闪烁,蜂鸣器发出报警音。
1.流码解析
本实例自建Display和Alarm宏,Display宏调用LCD组件PrintString()函数显示温度数据;Alarm宏参考实例9;主持序首先调用PrintString()函数显示字符串,然后通过循环检测按键,并根据按键情况调用OneWire组件的DS1820_start_conversion()、DS1820_read_scratchpad()和DS1820_get_temp()函数获取DS18B20的温度数据或显示报警温度数据,最后调用Display和Alarm宏显示温度数据和报警。
2.Proteus仿真验证
流码程序生成的hex文件分别加载到Proteus仿真电路,单击“仿真”按钮,改变温度观察LCD显示和报警灯,电路如图10.10-4所示。
3.设计结论
将流码发送和接收设计生成的hex文件分别加载到Proteus仿真电路ATMEGA328P芯片中,结果表明仿真结果正确,满足设计要求。
4.实例扩展
修改程序和仿真电路,增加多个DS18B20传感器多点检测温度数据。
三、NOKIA液晶显示两路A/D转换结果曲线应用实例
本实例设计一通过NOKIA液晶显示两路A/D转换结果曲线的应用实例。
1.NOKIA液晶显示两路A/D转换结果曲线应用实例流码设计流图
显示A/D转换结果曲线应用实例流码主设计流图如图10.13-1所示。
A/D转换结果曲线显示宏Display 流码设计流图如图10.13-2所示。
2.流码仿真
单击“仿真”按钮,在仿真面板调整两路A/D转换组件观察gLCD显示。
3.流码解析
本实例主程序调用A/D组件的ReadAsVoltage()函数获取A/D转换电压数据,Display宏调用gLCD组件的SetForceColor()、Print()和Plot()函数A/D检测电压并绘制A/D转换曲线。
4.Proteus仿真验证
流码程序生成的hex文件分别加载到Proteus仿真电路,单击“仿真”按钮,改变A/D输入电压,观察显示屏显示,电路如图10.13-3所示。
5.设计结论
将流码发送和接收设计生成的hex文件分别加载到Proteus仿真电路ATMEGA328P芯片中,结果表明仿真结果正确,满足设计要求。
6.实例扩展
修改程序和仿真电路,曲线显示DS18B20温度变化。
论文作者:朱庆
论文发表刊物:《电力设备》2018年第8期
论文发表时间:2018/8/13
标签:温度论文; 实例论文; 电路论文; 数据论文; 曲线论文; 阈值论文; 如图论文; 《电力设备》2018年第8期论文;