




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于串口通讯的LED控制前言:LABVIEW的宣言”Software is instrument!” 如果我们使用LABVIEW只停留在软件设计上,那就不能完全符合这个宣言的含义!其实NI为LABVIEW提供了一个强大的标准接口驱动应用NI-VISA。(/nisearch/app/main/p/bot/no/ap/tech/lang/zhs/pg/1/sn/catnav:du,n8:640,ssnav:sup/)只要你在LABVIEW的基础上再安装这个驱动,那你就可以设计一些连接硬件的实用型VI了! 1.功能说明:前面板上有8个圆形指示灯与8个LED按键一一对应同时与单片机模块上的8个LED灯也是一一对应的关系。A.VISA资源名称通过下拉箭头选择LABVIEW需要连接的接口,本设计选择COM1即串口1。B.当按下其中一个LED按键,对应的圆形指示灯亮三秒自动熄灭,同时单片机模块上对应的LED灯也是亮三秒自动熄灭。C.当按下“流水灯”确定按钮,单片机上的8个LED灯按流水灯形式亮一次。D.当按下“全灯闪烁”确定按钮,单片机上8个LED灯一齐闪烁三次。E.当按下停止按钮,程序退出。 2.硬件连接本设计通过“PL2303的USB转串口线”把“STC89C52RC单片机小系统模块”(附带8个LED灯)的串口与笔记本电脑的“USB口”相连!3.软件设计A.C51程序部分设计使用KEIL软件编写下位机程序,即写入到单片机的程序。程序代码如下:#include typedef unsigned char uchar;typedef unsigned int uint;/*IO端口定义*sbit LED1=P20;sbit LED2=P21;sbit LED3=P22;sbit LED4=P23;sbit LED5=P24;sbit LED6=P25;sbit LED7=P26;sbit LED8=P27;uchar RX_Byte=0;/*串口初始化*void StartUART( void ) /波特率4800 SCON = 0x50; TMOD = 0x20; TH1 = 0xFA; TL1 = 0xFA; PCON = 0x00; TR1 = 1;/*通过串口将数据发送给PC端*void TX_S_Byte(uchar TX_Byte) SBUF = TX_Byte; while( TI = 0 );/查询法 TI = 0; /*通过串口接收PC端的数据*void RX_S_Byte(void) while( RI = 0 );/查询法 RX_Byte = SBUF ; RI = 0; /*ms延时函数*void Delay(uint x)uint i,j;for(i=0;ix;i+)for(j=0;j110;j+);/*跑马灯函数*void loop_led(void)uchar i,j;for(i=0;i1;i+)P2=0xfe;Delay(500);for(j=0;j7;j+)P2=1;P2|=0x01;Delay(500);/*全灯闪烁*void shan(void)uchar i;for(i=0;i3;i+)P2=0;Delay(500);P2=0xff;Delay(500);/*主函数*void main(void) uchar TX_data=0x0f;/定义发送数据StartUART();/串口初始化P2=0xff;/8个LED灯初始化,全灭Delay(100);/延时100mswhile(1)/主循环RX_S_Byte();/接收串口数据switch(RX_Byte)/匹配数据,执行对应分支操作case 0x01: LED1=0;Delay(3000);LED1=1;break;/LED1灯亮3S熄灭case 0x02: LED2=0;Delay(3000);LED2=1;break; /LED2灯亮3S熄灭case 0x03: LED3=0;Delay(3000);LED3=1;break; /LED3灯亮3S熄灭case 0x04: LED4=0;Delay(3000);LED4=1;break; /LED4灯亮3S熄灭case 0x05: LED5=0;Delay(3000);LED5=1;break; /LED5灯亮3S熄灭case 0x06: LED6=0;Delay(3000);LED6=1;break; /LED6灯亮3S熄灭case 0x07: LED7=0;Delay(3000);LED7=1;break; /LED7灯亮3S熄灭case 0x08: LED8=0;Delay(3000);LED8=1;break; /LED8灯亮3S熄灭case 0x09: loop_led();P2=0xff;break;/8个LED灯执行流水灯一次后全灭case 0x0a: shan();break;/8个LED灯闪烁3次default: break;/乱码跳出B.LABVIEW程序部分设计1.在前面板添加以下几个控件:8个圆形指示灯、10个确定按钮(8个为LED按钮,2个为功能启动按钮)、VISA资源名称(新式I/OVISA资源名称)、停止按钮2.切换到程序框图窗口,先在上面添加以下两个函数:串口配置函数和串口关闭函数。其中串口配置函数中有几个配置端,分别需要配置串口的波特率、数据位数、奇偶校验位数、停止位数。注:需在函数连线端子右键菜单创建常量,此方法比自己创建常量方便且可靠性更强。然后按下图连接,那么,你的VI串口配置就完成了。注:“串口关闭函数”作用是退出主循环后关闭串口!3.添加一个While循环结构,作为主循环。把停止按钮连接到循环停止端,为真则退出循环。4.在循环结构内添加一个条件结构,在内添加一些函数(如下图),作为事件1即前面板上按下对应一个LED的按键,前面板和单片机模块上的LED灯亮3S自动熄灭。 其中涉及到一个“串口写入”函数(仪器IO串口VISA配置串口串口写入)。5.其它9个事件与事件1并列(无先后顺序,故不用事件结构,但用着也无妨)且类同,不再具体赘述,整
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 12横撇教学设计-2025-2026学年小学书法苏少版三年级下册-苏少版
- 27.2.1 第1课时 平行线分线段成比例2024-2025学年九年级下册数学同步说课稿(人教版)
- 4.3 基于物联网的项目开发教学设计-2025-2026学年高中信息技术浙教版2019选修6 开源硬件项目设计-浙教版2019
- 2025年中考数学试题分类汇编:二次函数的性质及应用(13大考点48题) (第1期)原卷版
- 2025年全国中级养老护理员职业技能考试A证题库(含答案)
- 小学升学考试卷及答案
- 蒸馏设备基础知识培训内容课件
- 蒲松龄课件教学课件
- 消防考试网络题目及答案
- 测井工实际操作考试题及答案
- JG/T 231-2018建筑玻璃采光顶技术要求
- JG/T 155-2014电动平开、推拉围墙大门
- 2025消瘦诊治与管理专家共识解读课件
- GB/T 18867-2025电子气体六氟化硫
- (高清版)DG∕TJ 08-15-2020 绿地设计标准 附条文说明
- 小学金融知识小课堂课件
- 病历质量定期检查评估与反馈制度
- 乐天地产(成都)有限公司乐天广场四期项目环评报告
- 初中生叛逆期教育主题班会
- 小学国家领土与主权教育
- 工程造价协议合同
评论
0/150
提交评论