cpubbs论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

LabVIEW+单片机学习套件全套教程资料下载[免费]LabVIEW论坛精华列表贴USB0816数据采集卡《LabVIEW宝典》
LabWindows/CVI论坛精华贴NET0816以太网数据采集卡RC0210远程设备授权系统 关闭关停锁定打开设备 户外分布式数据采集
NET1624低速高精度以太网数据采集卡WIFI0824SD无线WIFI网络数据采集卡脱机运行 SD存储 小尺寸微型 串口采集远程采集 安卓 手持移动采集 纪录仪
查看: 6600|回复: 26

我学习cpuview的历程

[复制链接]
发表于 2008-8-22 15:03:05 | 显示全部楼层 |阅读模式
我觉得老在计算机里面转悠不行,还是要出来,买了个第三版51工控学习板,与个人电脑结合起来,既深入学51单片机,又学labview,还学版主的符合时代潮流的图形化单片机编程语言。而且促销价相当便宜,乐疯了!
今天2008年8月22日,开始了我的cpuview的历程。
一定要从电脑仿真中走出来,走出来实践,才有发展,否则始终原地踏步。
不说了,我要马上按照版主提供的详细的帮助文档,做个例子,联机玩!
发表于 2008-8-23 11:46:19 | 显示全部楼层
谢谢支持!
 楼主| 发表于 2008-8-24 15:29:56 | 显示全部楼层

版主的帮助很详细,照着做,很快上手

不到1个小时,从看帮助例子,到联机实验,做了数码管显示数字,LCD液晶板显示汉字和数字,以及显示AD转换的电压值,都成功了!
版主51学习套件上的单片机是STC 89LE54AD,在键盘板上做了个分压电路,对3.3V分压,8个键。按一个,产生一个分压值,哈哈,显示在了液晶屏上,后面我跟了汉字“伏特”。看了版主的原理图和程序,这个过程思想很清晰,不需要编什么单片机汇编语言或C51,几个控件图素根据相互之间的逻辑关系,连连线即可。
版主的帮助有些意识,语言活泼,不太“教科书”。
 楼主| 发表于 2008-9-1 21:21:26 | 显示全部楼层

今天,搞了一天51套件,有些收获

在51学习套件里P1口,由于没接光耦,可以设置P1口的值,再读到PC机Labview里。这样就不用外接发光二极管,用LV软件仿真发光二极管,已经成功。
接着我小改动了版主的CPUview和LV的程序,在LV里把读串口的按钮,改成开关,让LV不断循环读串口,而在CPUview里,在把P1值发送到串口的循环结构前,把p1值预设为0x55,0x55就是十六进制55H,然后,在该循环结构里,我把p1值设置为取反(~p1),即单片机每次循环发送p1值到串口,p1的八位都会被取反,这样运行LV时,仿真的8个灯,就出现间隔闪烁的现象。蛮有意思。
这意味着我可以按逻辑动动这两个图形化编程软件了。
对了在运行LV时,高亮调试功能很有用,版主告诉我的,以前我没太注意这项功能,即把LV的前面板工具栏中的灯泡按下,再按运行,就可以看到LV各节点实时运行的情况,这样万一运行有问题,可以马上知道原因。
 楼主| 发表于 2008-9-2 10:08:34 | 显示全部楼层

今天,9月2日早,实现了Labview里8盏仿真灯的循环走马灯,有意思!

昨天说,LV里的高亮调试功能,能看清LV的VISA串行通讯的流程,它是为了调试程序用的,为了让你看清,所以运行起来较慢,如果要让程序按实际速度运行,还是要关掉后面板工具栏中的灯泡指示(对不起上贴说错了,高亮调试像灯泡样的指示在后面板上,不在前面板)。
CPU view软件的控件中有逻辑运算控件,双击控件,对话框里选择左移命令,没有循环左移命令,我是怎样让Labview里仿真灯的循环走马灯的呢?
我动用了if else控件,if (P1为0x80),则把P1置为0x01,else(P1左移),大家看明白了吗?0x80意味着P1的哪位为1,0x01又意味着P1的哪位为1,想想。
什么是走马灯,就是把单片机的P1口的8位,开始第0位为1,然后第1位为1,其它为0,再然后第2位为1,直到第7位为1,这时再转到第0位为1。
对了,LV里仿真灯移动太快了,为了使人眼能看清移动的景象,我在CPU view里加了延时控件,很方便的,双击对话框,输入2000,由于单位是ms,所以意味着每盏灯亮2秒,再左移。
 楼主| 发表于 2008-9-5 19:34:40 | 显示全部楼层

今天2008年9月5日晚,该写日记了

今天早上我在PC的Labview软件设置8个开关,再把开关状态通过串口送到版主的51学习套件的STC单片机的p0口,版主其实已经把这个实验的LV和CPUview的程序都提供了,我只是验证了以下,没问题。只是我是用“数字万用表”的直流电压档测量P0口对应的各接线端子的电压才验证是正确的,万用表的黑测电笔触在外部电源的地,另一红色测电笔触在接线端子上,测的电压高电平为5.23V,低电平为0.08V。
     告诉大家一个秘密,我测得的接线柱的电平,正好与LV里设置的开关状态相反,哈哈,这是由于在版主的学习板上,STC单片机的p0口与对应的各接线端子中间有光电耦,而光电耦有反相器的作用,所以才.......
     对了,光电耦是用来抗干扰的,通过光来传送信号,输入输出用两套电源,干扰不会从电源系统引入单片机处理系统,所以版主的学习套件的抗干扰能力强,可以直接用在工业现场。
      我想问一下版主,你的光电耦啥型号,厂家?它输入输出的上拉排阻的阻值是多少?它里面是不是输入是发光二极管,输出是光敏三极管?是不是所有光电耦外部电路的参数是一样的?
发表于 2008-9-6 09:35:09 | 显示全部楼层
板上面的光耦是PC817,您可以看一下它的数据手册:
http://pdf1.alldatasheet.com/dat ... 71/SHARP/PC817.html

这个里面有它的内部的结构图,输入这边是发光,然后另一边接收到光会像三极管一样工作,只是它用光起到了隔离作用!这些输入输入一般的参数跟负载有些关系的!
 楼主| 发表于 2008-9-6 10:08:20 | 显示全部楼层

光耦的资料,根据版主提供,我再贴个图

pc817是常用的线性光藕,在各种要求比较精密的功能电路中常常被当作耦合器件,具有上下级电路完全隔离的作用,相互不产生影响。
    当输入端加电信号时,发光器发出光线,照射在受光器上,受光器接受光线后导通,产生光电流从输出端输出,从而实现了“电-光-电”的转换。
     普通光电耦合器只能传输数字信号(开关信号),不适合传输模拟信号。线性光电耦合器是一种新型的光电隔离器件,能够传输连续变化的模拟电压或电流信号,这样随着输入信号的强弱变化会产生相应的光信号,从而使光敏晶体管的导通程度也不同,输出的电压或电流也随之不同。


[ 本帖最后由 zhang0309 于 2008-9-8 15:03 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2008-9-6 20:11:07 | 显示全部楼层

第一次用LV测到了模拟电压的波形

还是用版主提供的LV和CPUview的程序,不过我程序是完全看懂了。我只是在LV里选了通道8,才测得波形的。为什么不外接模拟信号,只有用通道8才能快捷地得到波形,我是看了第三版51学习套件教程,才得到启发的。
我想问问版主是p0口还是P1口是模拟通道,为什么在你的原理图上两个口都有AD标志?板上STC单片机的中文说明有吗?
发表于 2008-9-6 22:01:45 | 显示全部楼层
STC89LE54AD芯片资料

这个是它的芯片资料,从第83页开始是这款芯片的资料!
发表于 2008-9-6 22:04:51 | 显示全部楼层
最后一个通道上面接有键盘,如果将LED模块插上的话,它就能显示出来上面的电压值!如果是其他通道的话,应该有点杂波干扰在上面,如果接上真实的信号才是真实的信号的,否则应该是干扰,另外P1.0和P1.1接有跳线帽,如果要作电压采集,可以取下来,不然它们会为0伏的,因为有接地!真正的AD在P1口
发表于 2008-9-6 22:06:01 | 显示全部楼层
在原理图中,ADC是指模数转换,在P1口;P0口上面写的是AD是ADDRESS的省写,估计写得太简单了点,呵呵,因为P0口可以作为地址线用的!
 楼主| 发表于 2008-9-7 19:52:40 | 显示全部楼层

版主的STC中文资料看到了,今天9月7日

今天只是把电压示波器的LV改改玩,去掉了电压显示的波形图表控制,换上了仪表和水平填充滑动杆控制来指示电压。
还有用工具面板的着色工具把版主的前面板改头换面。

[ 本帖最后由 zhang0309 于 2008-9-8 15:02 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2008-9-16 18:53:39 | 显示全部楼层

最近,想用CPUview的程序在proteus里仿真,可以

今天是2008年9月16日星期二
用CPUview程序在proteus里仿真,可以运行,没有问题。
按下P3.0连接的开关,可以控制P1口连接的8个灯交替亮灭。
把proteus软件仿真功能与CPUview软件编程相结合,我想可以提高用户学习CPUview的效率。
附带的压缩文件RAR里有完成任务的CPUview的源程序和HEX文件。

[ 本帖最后由 zhang0309 于 2008-9-16 21:25 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2008-9-16 21:28:20 | 显示全部楼层

上图的汇编语言程序简单。

ORG 0000H
START:JB P3.0,Z1
Z2:   MOV P1,#55H
      SJMP START
Z1:   MOV P1,#0AAH
      SJMP START
      END
C51程序我会马上编出,三种编程方法对照一下。

[ 本帖最后由 zhang0309 于 2008-9-16 21:30 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|cpubbs论坛. ( 粤ICP备09171248号 )

GMT+8, 2024-5-19 00:05 , Processed in 0.610660 second(s), 7 queries , Gzip On, File On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表