单片机代码调试的软件 单片机软件调试步骤
发布日期:2020-09-08摘要:单片机的C语言程序用什么软件可以进行调试? 前提是你的实验板支持在线调试功能,一般用JTAG或者ISP调试 你说要用什么软件,不同芯片公司用的都不同 一 不知道你用什么实验板二 更不知道你用哪公司的M...
单片机的C语言程序用什么软件可以进行调试?
前提是你的实验板支持在线调试功能,一般用JTAG或者ISP调试.你说要用什么软件,不同芯片公司用的都不同.一.不知道你用什么实验板二.更不知道你用哪公司的MCU---------------------------------没有用过那公司的单片机,不过我看了下它的Datasheet,里面没有说有JTAG或者ISP功能,而且你的板又是自制的,估计你想要的调试没法了.或者你用keil c来调试程序,结合proteus仿真,不过结果就不能显示在板上了
急求可以和keil uvision连起调试单片机程序的仿真软件
Keil 与proteus 连接调试 Proteus 与Keil 联机 keil c51 v7.50 软件和 proteus 6.7 SP3 软件,分别进行安装。
安装完毕以后进行如下置: 1、 系统安装上TCP/IP 协议 2 、把proteus 安装目录下 VDM51.dll ( C:\Program Files\Labcenter Electronics\Proteus 6 Professional\MODELS)文件复制到Keil 安装目录的 \C51\BIN 目录中。
3、 编辑C51 里tools.ini 文件,加入: TDRV1=BIN\VDM51.DLL("PROTEUS VSM MONITOR 51 DRIVER") 4、 keil 里设置: project-->options for project-->debug tab 5、 选中use proteus VSM monitor 51( 如果想用两台电脑仿真,双击setting,输入IP 地址 或者DNS name. 6、 载入proteus 文件 7、 proteus 里DEBUG-->use remote debug monitor 进入KEIL 的project 菜单option for target "工程名"。
在DEBUG 选项中右栏上部的下 拉菜选中 Proteus VSM Monitor-51 Driver。
在进入seting,如果同一台机IP 名为127.0.0.1,如不是同一台机则填另一 台的IP 地址。
端口号一定为8000 注意:可以在一台机器上运行keil,另一台中运行proteus 进行远程仿真 哦~。
8、打开KEIL, 按F5 开始仿真。
2.Protues 软件介绍与应用 2.1 Protues 软件介绍 Proteus 是目前最好的模拟单片机外围器件的工具,它可以仿真51 系列、AVR,PIC 等常用的MCU 及其外围电路(如LCD,RAM,ROM,键盘,马达,LED,AD/DA,部分SPI 器件,部分IIC 器件...)。
本文章基于ProteusPRO6.7SP3和KEIL uVision3 软件。
当然,软件仿真精度有限,而且不可能所有的器件都找得到相应的仿真模型,用开发板和仿真器当然是最好选择,可是对于单片机爱好者,或者简单的开发应该是比较好的选择。
Proteus 与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU 的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。
因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。
对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象。
2.2 Protues 软件与Keil uVision 的结合 对于初次使用Protues 软件的人可能还不知道如何设置,现在把设置步骤简介如下,仅供参考(本文章只讨论在单机上结合,在两个联网机器使用由于篇幅限制不在此讨论):设置步骤如下: (1) 把proteus 安装目录下 VDM51.dll ( C:\ProgramFiles\LabcenterElectronics\Proteus6\Professional\MODELS)文件复制到 Keil 安装目录的 \C51\BIN 目录中;(2) 编辑C51 里tools.ini 文件, 加入:TDRV1=BIN\VDM51.DLL("PROTEUS VSM MONITOR-51 DRIVER");(3)Keil uVision 里设置: project-->options forproject-->debug tab;(4) 选中use proteus VSM monitor 51( 如果想用两台电脑仿真,双击setting,输入IP 地址 或者DNS name);(5) 载入proteus 文件;(6)proteus 里选择DEBUG-->use remote debug monitor;进入KEIL 的project 菜单option for target "工程名"。
在DEBUG 选项中右
51啦代码怎么输入
51的C语言编译器一般都在用Keil,我提供一个网址: 这个是7.06版本的,现在最新的是7.50的,你可以搜索一个安装。
不过对于学习而言是差不多的,只是最新版本所支持的芯片种类更多一些。
然后仔细看里面的帮助文档“C51.pdf”来学习使用C51的使用。
此外在c51s.com这个网站有一些网友翻译的中文文档可以参考: 是C51.pdf的中文翻译 是keil使用说明的部分中文翻译 , 的论坛上面对于51话题的讨论比较多,可以去提问。
如何知道单片机里的程序?
我简单的提一下可以用keil调试中的串口通信仿真,然后下载一个虚拟串口工具。
例如:mode com6 9600。
你应该先下个虚拟串口工具(如VSPD),构建一对虚拟串口,软后配置keil中debug下的串口仿真通信(这部分资料可以百度,配置好就可以用串口软件显示,随便找个就好了,0; Sout),至于串口调试软件就很多了:ASSIGN和MODE,1assign com6 <Sin>,8:仿真时需要使用到的命令,详细资料可以搜一下...
单片机的串行口应用方面的代码
// 本人写了个测试程序,希望对你有帮助! /* 在用串中发送和接收数据时,都设置成字符形式 */#include#define uchar unsigned char;void show (uchar k1,uchar k2);uchar cha="a",m=0,Flag=0,temp;void main(){TMOD=0X21; //定时器1工作方式为2,作为串口通信的波特发生率,//定时器1工作在方式1 TH0=(65536-50000)/256;TL0=(65536-50000)%256; //定时器0装初值 定时为50MSTH1=0XFD; //波特率为9600TL1=0XFD;PCON=0X00; //波特率不加倍TR1=1; //启动定时器1/* 串口工作方式设置 */SM0=0; //工作方式1SM1=1;REN=1; //允许接收标志开EA=1; //开总中断ET0=1; //开定时器0中断ES=1; //开串口中断PT0=1; //设定时器0为高优先级TR0=1; //启动定时器0while(1){if((temp=="U")&&(Flag==1)) //如果接收数据为U 则发"A"给PC{ES=0;SBUF="A";while(TI==0);TI=0;Flag=0;ES=1;}/* 这里用数码管显示, 不同的板写法不同 这里作参考 */if(Flag==1) //当接收到数据时{if(temp="0") //如果数据为"0"-"9"show(0,temp-"0"); //显示0-9else show(0,10); //否则不显示}}}void serial() interrupt 4{RI=0;Flag=1;temp=SBUF;} void timer0() interrupt 1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;m++;if(m==20) //时间到1秒{ m=0;SBUF=cha; // 把字母送SBUFwhile(TI==0);TI=0; cha++; //把字母的ASII码加1if(cha>"z")cha="a";}}/* 数码管显示程序 */void show (uchar k1,uchar k2){ uchar code table[]= //第N位数码管工作{0xfe,0xfd,0xfb,0xf7,0xef,0xdf};uchar code num[] = //显示16个字符{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};P0=0x00;DULA=1;DULA=0;P0=table[k1];WELA=1;WELA=0;P0=num[k2];DULA=1;DULA=0;}
-
给我们打电话
7*24小时服务热线:1399999999
全国客服热线:400-0000-000 -
百度地图
福建省漳州市 -
给我们发邮件
E-mail:[email protected]
在线沟通