单片机可以用汇编语言编程,也可以用高级语言C、Basic编程,也可以用图形化语言编程。工业控制中普遍采用可编程控制器,其CPU模块内的微控制器往往是普通的单片机,而可编程控制器可以梯形图编程,或者用流程图编程。现在的智能教育机器人控制器均用单片机,而这些机器人的编程大多支持流程图编程。上海广茂达电子信息有限公司的能力风暴系列机器人采用VJC可视化流程图与C语言编程;中鸣机器人系列采用机器人快车软件编程,该软件也是可视化流程图与C语言编程;西米亚公司的乐高系列、博思威龙机器人、美国的VEX系列机器人、双龙公司的机器人DIY系列均可以采用可视化流程图与C语言编程。而这些机器人的控制系统核心均为单片机。由此可知,普通单片机的开发一定可以采用流程图编程。其实,机器人的流程图编制软件可以反过来作为相应单片机的编程软件。下面用一个实例详细说明单片机如何用图形化编程。
1 问题描述
某机器上,2台电机通过滚珠丝杠驱动工作台做顺序运动,如图1所示。用单片机系统控制2台电机,实现规定的顺序动作。当行程开关KX1压下时,电机D1带动卡紧机构右移,右移到撞块压下KX2时,电机D1停转,并且这种状态延迟一段时间T1。电机D2按以下顺序开始动作:当行程开关KX3压下时,电机D2带动工作台右移,工作台右移到撞块压下KX4时,电机D2停转,并且这种状态延迟一段时间T2;然后电机D2反转,带着工作台向左返回,工作台返回左侧压下KX3时,电机D2停转,同时电机D1反转,松开卡紧机构直到KX1压下,电机D1停转。
图1 卡紧机构和工作台的顺序动作动作
顺序如图2所示。
图2 动作顺序图
2 单片机控制系统组成
实现上述控制功能的方案有多种,如继电器接触器控制系统、可编程序控制器控制系统、单片机控制系统等。本文用单片机控制系统来实现上述控制动作,单片机控制系统的组成如图3所示。
图3 单片机控制系统结构图
单片机采用Motorola公司的MC68HC11E1。为了仿真实验的需要,单片机控制系统采用上海广茂达电子信息有限公司的能力风暴机器人ASUII中的主控制板。行程开关KX1~KX4用机器人上的碰撞开关来模拟,碰撞开关电路如图4(a)所示。电机D1、D2用机器人2轮的驱动电机来模拟,电路如图4(b)所示。其中,电机驱动芯片选用的是TI公司的SN754410。
图4 能力风暴机器人上的碰撞开关电路和驱动电机电路[page]
3 VJC程序流程
图5 双电机启停控制部分流程图
结语
这里单片机系统实现的功能就相当于一个可编程控制器系统,而且编程语言是流程图语言。可见,某些单片机系统略加扩充就可以成为一个可以使用流程图编程、C语言编程和汇编语言编程的功能相当完备的可编程控制器,从而与现有的可编程控制器在工业控制领域并驾齐驱。
关键字:单片机 图形化编程 汇编语言
引用地址:
单片机的图形化编程方法简介
推荐阅读最新更新时间:2024-03-16 13:04
基于AVR单片机LED显示屏的灰度设计与实现
led点阵块具有亮度高、发光均匀、可靠性好、拼装方便等优点,能构成各种尺寸的显示屏。目前,led显示屏已被广泛应用于文字显示并取得了很好的效果,但是大部分仅能显示滚动的文字信息而不能显示图像,并且还存在系统复杂等缺点。本文提出了一种主从式单片机的LED显示屏解决方案,该设计方案利用AVR单片机自身的FLASHROM和RAM,外部无需任何存储电路,电路结构简单。该系统实现了图像的16阶灰度显示,可广泛用于商场、车站等公共场合。 1 AVR单片机简介 AVR单片机是增强型内置FLASH的RISC(ReducedInstructionSetCPU)精简指令集高速8位单片机,硬件采用哈佛(Harward)结构,达到一个时钟周期可
[单片机]
ATMEGA8单片机LED动态显示程序设计
// 电路 里有4个七段 LED ,用此程序,每个LED的刷新 周期 为200/4=50 Hz 。 //程序里实时改变DispResult的值,显示就会相应改变。 #include iom8v.h #include macros.h unsigned char table ={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; unsigned char LEDRefresh=0; unsigned char DispResult=0; unsigned char LedLoop=0;
[单片机]
51单片机学习笔记:写了个led宏,并尝试控制led灯的亮度
经常用led灯来观察现象,甚至调试代码,修改代码时用0和1很不方便,而且阅读性也不好, 故写了个宏,用起来方便些. 今天尝试控制灯的亮度. 先试试for循环控制,占空比调节... C代码 //#include my51.h #include reg52.h typedef unsigned char u8; typedef unsigned short int u16; #ifndef _51LED_ #define _51LED_ #define led P1 //P1总线连8个led灯,灯连573锁存器,P1置低电平点亮 #define LED led
[单片机]
STM32单片机中断详解
中断,在单片机中占有非常重要的地位。代码默认地从上向下执行,遇到条件或者其他语句,会按照指定的地方跳转。而在单片机执行代码的过程中,难免会有一些突发的情况需要处理,这样就会打断当前的代码,待处理完突发情况之后,程序会回到被打断的地方继续执行。 1 EXTI控制器 外部中断/事件控制器(EXTI)管理了控制器的 23 个中断/事件线。每个中断/事件线都对应有一个边沿检测器,可以实现输入信号的上升沿检测和下降沿的检测。EXTI 可以实现对每个中断/事件线进行单独配置,可以单独配置为中断或者事件,以及触发事件的属性。 外部信号进入经过1的边沿检测电路,检测是否符合(有2和3的上升沿和下降沿选择寄存器决定),产生信号,然后和4软件
[单片机]
51单片机电子时钟程序
这是用单片机仿真软件做的一个电子时钟程序 电路图在下面: #include reg52.h #include intrins.h #include stdlib.h #define uint unsigned int #define uchar unsigned char sbit RS=P2^0; sbit RW=P2^1; sbit E=P2^2; sbit BF=P0^7; sbit d=P2^3; unsigned char code string ={ Test Result }; unsigned char code digit ={ 0123456789 }; void delay1ms() { un
[单片机]
基于μC/OS和80C51单片机的固话来电防火墙设计
本文介绍了基于μC/OS—II嵌入式实时操作系统和来电显示技术设计,由铃流检测电路、来电解码电路、DTMF解码电路、模拟挂机电路、号码存储电路等组成。系统利用得到的来电号码,同存储黑名单中的号码进行比较,判断是接通话机振铃线路,还是控制模拟挂机电路挂机。本系统复用电话机键盘控制,并以LCD中文显示,可方便地对黑名单中的号码进行管理。 随着电信业务的发展,骚扰电话问题日益突出,大量用户被骚扰电话所烦扰。为躲避骚扰,多数人采取拔电话线的方法,却因此错过不少重要来电。此外,每个人在生活中都可能遇到一些出于顾虑而不想接听的电话。针对此种现象,本次设计的来电防火墙可屏蔽骚扰电话。来电防火墙通俗地讲就是“不想听”的电话打不进来,它
[单片机]
128*64液晶简单单片机代码
控制芯片是常用的HD61202列驱动,HD61203行驱动 一个汉字由16*16个像素点构成。 扫描顺序上下,然后到第2列再上下,一次类推。 显示结果: 参考文献: 手把手教你学单片机c程序设计 下载地址:http://www.51hei.com/bbs/dpj-22812-1.html 主函数代码: #include reg51.h #define uchar unsigned char #define uint unsigned int #define dataport P0 //数据口 sbit CS1=P2^4; //左显引脚 sbit CS2=P2^3; //右显引脚 sbit R
[单片机]
基于Atmega16单片机的新型智能空调遥控器
1 引言 近年来,计算机技术、现代通信技术和自动控制技术高速发展,智能化家居系统也随着新技术的发展进入了千家万户,家居系统中如空调、电视、照明系统等,都使用遥控器进行控制。红外线遥控器由于具有结构简单、体积小、功耗低、功能强、成本低等特点,已成为使用最广泛的一种遥控方式。然而,由于各种红外设备采用的技术标准与协议大不相同,使得各种设备的遥控器并不能兼容,给用户和消费者带来了诸多不便。 目前,市场上已有的万能遥控器多是内置了多种品牌的红外控制指令,对内置品牌以外的红外设备则无能为力。为此,本文设计了一款针对空调设备的智能学习型红外遥控器,采用记录脉冲宽度的方法,成功实现了对多种红外空调遥控信号的学习与再现,真正实现了"万
[电源管理]