本帖最后由 芯圣电子官方QQ 于 2023-7-20 09:49 编辑
51单片机内核,没什么难度。大概把流程说一下。1.首先安装个 Keil C51 吧,这个没什么说的,记住安装路径,下面要用。2.下载并安装 HC-LINK驱动程序及Keil插件。 http://www.holychip.cn/kfgj/index_14.aspx?lcid=40 网页链接 http://www.holychip.cn/kfgj/info_14.aspx?itemid=342 驱动程序 http://www.holychip.cn/kfgj/info_14.aspx?itemid=390 Keil插件 驱动程序也就是个ST的串口;安装后,插上仿真板,设备管理器会有一个串口 ,见图
记住端口号,以后要用。
Keil插件安装的时候,会问起你的Keil安装在什么地方,这个一定要如实的告诉他,这样才能在Keil环境中正确的添加器件库、支持文件(包括头文件)、仿真、烧录的程序。
添加的文件如图:
安装完成。 再打开KEIL创建新工程的时候就会多一个器件库选项;如图:
新建好一个工程后,点这里开始设置工具:
好了,经过一番折腾,可以下载仿真了。可以选仅仅烧录(记得供电选项的√要打上,不然烧录完成,目标板不上电。)也可以选仿真,各种调试,还是可以用的。JTAG,调试,还行吧。
最后说点心得:003这个片子,有两个完整的输出口P0 和P2还有2个管脚P1.0 P1.1 ;对于一个20PIN的单片机,已经是有了逆天的18个可以使用管脚了。
BUT
JTAG调试方式就占用了5个,RST,TMS,TDI,,TDO,TCK;就算是选了上电复位可以节省一个RST管脚,还是占用了4个,太浪费了。在调试一个并口的液晶显示屏的时候,就遇到了这个问题。把8位的数据口设置在P0就没有问题,放在P2口,就完全不正常。查看手册,原来是这样:如图
是不是说,这四个口线就不能用了呢,也不是,通过查看技术文档,发现JTAG和目标板之间有27欧姆的电阻保护。实际测试发现,更换电阻为1K后,可以实现JTAG不干扰程序正常运行,也就是下载后,退出调试,然后独立供电,程序可以正常运行。或者就是仅仅下载,给目标办公点但不进入仿真,可以正常运行。
更换电阻不能使仿真调试状态时管脚可以被应用程序控制,但是可以实现不用断开JTAG管脚而正常运行。这也算是一种进步吧。当然,烧录ISP也是一个办法,但是会有两个缺点:1,少了宝贵的1-4K代码空间;2,不能方便的调试。 啰嗦一堆,不如好好看手册
SDK-HC89S003F4 V1.0.0.0.pdf(76.58 KB, 下载次数: 1)
AN0109_SDK-HC89S003F4开发工具用户手册_Ver1.00_cn .pdf(463.79 KB, 下载次数: 1)
UM0102_HC-LINK_工具用户手册_Ver1.04_cn.pdf(2.11 MB, 下载次数: 1)
芯圣驱动安装用户手册_Ver1.01.pdf(408.12 KB, 下载次数: 3) project09.png (44.35 KB, 下载次数: 1)
O1CN011vQw8A1fFVin1l3HT_!!2649473977.png (239.74 KB, 下载次数: 1)
写了这么多,主要是想说, 更换 R18 R21 R22 R25这4个27欧姆的电阻,换成1K阻值的,就可以实现仿真板和目标板之间的电气隔离,而不用把板子掰两半。 具体操作上,如果需要调试和仿真,那没办法,调试和仿真的时候,这四个脚是人家的,咱用不了;
但是,如果仅仅是烧录后想看看结果,而且管脚紧张,不得不用这四个脚,那就点烧录即可。 不换电阻,STM32F103C8T6这个单片机的JTAG管脚会影响目标板的运行结果;
更换电阻,可以排除HC-LINK的电器干扰,实现不断开调试器就能无干扰运行。
就点第一个红字的地方,直接烧。 新手码字,写给新手看;
高手请多多指教。
《UM0102_HC-LINK_工具用户手册_Ver1.04_cn》第44页,有如下说明 5.2.5 USB 转串口模式
LINK 4.0 可以通过发送命令的方式,实现“仿真器”和“USB 转串口”功能的切换,
16 进制命令如下:
电压、LED 灯设置命令:70 CMD
进入“USB 转串口”模式命令:31 BaudRate0 BaudRate1 BaudRate2 BaudRate3
退出“USB 转串口”模式命令:32 53 54 4f 50
注释:
CMD bit3:0 表示 LED1 灭,1 表示 LED1 亮
CMD bit2: 0 表示 LED2 灭,1 表示 LED2 亮
CMD bit1bit0: 00 表示 0V,01 表示 3.3V, 10 表示 5.0V
BaudRate0:表示波特率低字的低字节
BaudRate1:表示波特率低字的高字节
BaudRate2:表示波特率高字的低字节
BaudRate3:表示波特率高字的高字节
例子:
5.0V 电压,LED1 亮,LED2 灭命令:70 0a
3.3V 电压,LED1 灭,LED2 亮命令:70 05
进入“USB 转串口”模式, 设置 250000 波特率命令:31 90 d0 03 00 用串口工具试了一下,可以控制上电和掉电,电压可选,波特率不用管,任意都可以。 以后再需要上电,就不必烧录一次程序或是进入调试模式了。
|