
我们要用keil与proteus联调的话proteus8以下的版本 ,我下了proteus75就没有failedport的问题了)
不对欢迎指正
串口调试助手发送16进制字符,proteus仿真中的数码管显示并回传给串口调试助手
程序清单:
ORG 0
AJMP MAIN
ORG 23H
AJMP URT
ORG 30H
MAIN:
LCALL URTINIT
AJMP $
URTINIT: ;初始化子程序
MOV SCON,#50H ;串口工作方式1
MOV TMOD,#20H ;T1工作方式2
MOV TL1,#0FDH ;110592MHz,9600
MOV TH1,#0FDH
SETB TR1 ;开启定时器
SETB ES ;开启串口中断
SETB EA ;开总中断
RET
URT: ;串口中断子程序
MOV A,SBUF ;接收
MOV P1,A ;显示
CLR RI ;清接收中断标志
MOV SBUF,A ;发送
JNB TI,$ ;发送是否完成
CLR TI ;清发送中断标志
RETI
END
程序不是烧录到proteus,只是加载到proteus。方法是打开已画好的proteus电路图,单击单片机,在Program File里加载已经编译好的HEX文件。
如果是汇编的程序,在proteus里可以直接调试。如果是C程序,可以用keil软件和proteus联合调试。
里还同时需要修改keil的配置文件:
1、打开keil安装目录下的toolsini
2、在“[C51]”字段中,添加一行
TDRV8=BIN\VDM51DLL ("PROTEUS VSM MONITOR 51 DRIVER")
(注意这里的TDRV8不能与其他重合,如果重合的话,后面的8可以修改成9、10或更高)。
3、保存toolsini文件,然后打开keil,右键“目标1”---> Options for Target选项,点击“Debug”标签页,在右半部分,选择“使用”(这个DEBUG标签页共有两种仿真方式可选,左边的是keil软件仿真器,右边的是外部仿真器),点击下拉框,就会出现“Proteus VSM Monitor 51 Driver”,当然这里的这个名字可以你第1步里自定义,自己喜欢取什么名字就什么名字吧,当然最好是一目了然的名字比较好。
4、选择“PROTEUS VSM MONITOR 51 DRIVER”,点旁边的“设置”,如果你的keil和proteus是装在同一台电脑上的话,那这里的“HOST”(主机)就填写本机IP地址:127001(如果keil和proteus装在不同的电脑上,那就需要在HOST中填写另外一台电脑的IP),,在“PORT”(端口)中写入 8000 ,一般在右边会选中“Cache memory”
这样就全部完成了,这里在调试时需要注意你在DEBUG下选择的仿真方式,在什么需要下,选择什么样的仿真方式。
个人邮箱是:
ppt1845@163com
如果有什么问题,可以互相交流。
8我想我们会在一起的我觉得自己很幸福,我不再是一条孤独流浪的鱼,我有岸可度,岸的一端你在那。串口调试错误。proteus89串口调试助手收不到信息的原因有以下几点:
1、是串口调试助手的各个选项以及通信协议(波特率等)设置不合适,需重新更改,以确保PC机可以正确采样。
2、物理连接不正确。
3、是输入波形不正确。
4、单片机不能正常工作。
5、通信参数不正确。
6、单片机的BAUD因子没有调整好,因为PC的BAUD比较准,单片机不太准,容易误码。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)