怎么用labview编写单片机烧写程序

已举报 回答 关注
怎么用labview编写单片机烧写程序
问在线客服
扫码问在线客服
  • 回答数

    9

  • 浏览数

    3,039

9个回答 默认排序
  • 默认排序
  • 按时间排序

已采纳
吴鉴鹰单片机实战精讲中有相关问题的解释。
在单片机开发过程中,从硬件设计到软件设计几乎是开发者针对本系统特点亲自完成的。这样虽然可以降低系统成本,提高系统的适应性,但是每个系统的调试占去了总开发时间的2/3,可见调试的工作量比较大。单片机系统的硬件调试和软件调试是不能分开的,许多硬件错误是在软件调试中被发现和纠正的。但通常是先排除明显的硬件故障以后,再和软件结合起来调试以进一步排除故障。可见硬件的调试是基础,如果硬件调试不通过,软件设计则是无从做起。本文结合作者在单片机开发过程中体会,讨论硬件调试的技巧。
  当硬件设计从布线到焊接安装完成之后,就开始进入硬件调试阶段,调试大体分为以下几步。
  1 硬件静态的调试
  1.1排除逻辑故障
  这类故障往往由于设计和加工制板过程中工艺性错误所造成的。主要包括错线、开路、短路。排除的方法是首先将加工的印制板认真对照原理图,看两者是否一致。应特别注意电源系统检查,以防止电源短路和极性错误,并重点检查系统总线(地址总线、数据总线和控制总线)是否存在相互之间短路或与其它信号线路短路。必要时利用数字万用表的短路测试功能,可以缩短排错时间。
  1.2排除元器件失效
  造成这类错误的原因有两个:一个是元器件买来时就已坏了;另一个是由于安装错误,造成器件烧坏。可以采取检查元器件与设计要求的型号、规格和安装是否一致。在保证安装无误后,用替换方法排除错误。
  1.3排除电源故障
  在通电前,一定要检查电源电压的幅值和极性,否则很容易造成集成块损坏。加电后检查各插件上引脚的电位,一般先检查VCC与GND之间电位,若在5V~4.8V之间属正常。若有高压,联机仿真器调试时,将会损坏仿真器等,有时会使应用系统中的集成块发热损坏。
  2 联机仿真调试
  联机仿真必须借助仿真开发装置、示波器、万用表等工具。这些工具是单片机开发的最基本工具。
  信号线是联络8031和外部器件的纽带,如果信号线连结错误或时序不对,那么都会造成对外围电路读写错误。51系列单片机的信号线大体分为读、写信号线、片选信号线、时钟信号线、外部程序存贮器读选通信号(PSEN)、地址锁存信号(ALE)、复位信号等几大类。这些信号大多属于脉冲信号,对于脉冲信号借助示波器(这里指通用示波器)用常规方法很难观测到,必须采取一定措施才能观测到。应该利用软件编程的方法来实现。例如对片选信号,运行下面的小程序就可以检测出译码片选信号是否正常。
  MAIN:MOVDPTR,#DPTR
  ;将地址送入DPTR
  MOVXA,@DPTR
  ;将译码地址外RAM中的内容送入ACC
  NOP;适当延时
  SJMPMAIN;循环
  执行程序后,就可以利用示波器观察芯片的片选信号引出脚(用示波器扫描时间为1μs/每格档),这时应看到周期为数微秒的负脉冲波形,若看不到则说明译码信号有错误。
  对于电平类信号,观测起来就比较容易。例如对复位信号观测就可以直接利用示波器,当按下复位键时,可以看到8031的复位引脚将变为高电平;一旦松开,电平将变低。
  总而言之,对于脉冲触发类的信号我们要用软件来配合,并要把程序编为死循环,再利用示波器观察;对于电平类触发信号,可以直接用示波器观察。
  下面结合在自动配料控制系统中键盘、显示部分的调试过程来加以说明。本系统中的键盘、显示部分都是由并行口芯片8155扩展而成的。8155属于可编程器件,因而很难划分硬件和软件,往往在调试中即使电路安装正确没有一定的指令去指挥它工作,也是无法发现硬件的故障。因此要使用一些简单的调试程序来确定硬件的组装是否正确、功能是否完整。在本系统中采取了先对显示器调试,再对键盘调试。
取消 评论
搜:
基于51单片机的4×4矩阵键盘电子琴

百度一下。
取消 评论
用STC_ISP.exe
取消 评论
估计烧写软件有问题!不知道你用stc还是at系列的?两个是不同的烧写软件……
取消 评论
拷之前看就OK啊,都拷进去了,要看比较麻烦的
取消 评论
//P1外接8个LED,低电平发光.
//下列程序在PROTEUS中仿真成功
#include<reg52.h>
//-----------------------------
void delay_ms(unsigned int s)
{
unsigned int x;
for(s; s > 0; s--) {
x = 98; while(x--);
} }
//-----------------------------
void main()
{
char i, j;
while(1) {
for(j = 0; j < 8; j++) {
P1 = 255; //全灭, P1外接LED, 是低电平发光.
delay_ms(500); //稍等片刻.
for(i = 0; i < 8; i++) {
P1 <<= 1;
delay_ms(900 - 100 * j); //延时渐短
} } } }
//-----------------------------
取消 评论
单片机、测试温度芯片以及其他外围器件等。
取消 评论
1.怎么看程序写了多少行:点击Edit-configuration...,选择Editor标签,在该标签的左下角,选中Show Line Number,这样在编辑界面就会有行数了.若果你想看汇编有多少行,只需要反汇编一下.
2.怎么看程序占了多大的内存:程序编译成功后,在编译器界面下方的build窗口中,会给出程序占用的存储大小,比如:Program Size: data=13.0 xdata=0 code=298 ,说明ROM被占用了298字节.也可以查看你工程文件夹下的.map文件,在该文件的最后给出了ROM和RAM的详细使用情况,比如:
=====================================================================

Total RO Size (Code + RO Data) 6320 ( 6.17kB)
Total RW Size (RW Data + ZI Data) 1328 ( 1.30kB)
Total ROM Size (Code + RO Data + RW Data) 6388 ( 6.24kB)

=====================================================================

补充:⊙﹏⊙,你用的那个版本的keil c51,我的keil 3,keil 4在菜单Edit都有configuration...选项.你现在用的至少也得是keil 3吧!
取消 评论
加载全部9个答案 加载中...
ZOL问答 > 怎么用labview编写单片机烧写程序

举报

感谢您为社区的和谐贡献力量请选择举报类型

举报成功

经过核实后将会做出处理
感谢您为社区和谐做出贡献

扫码参与新品0元试用
晒单、顶楼豪礼等你拿

扫一扫,关注我们
提示

确定要取消此次报名,退出该活动?