有人知道STC单片机和烧录软件的通讯协议吗? STC单片机可以用232串口烧写程序么?

STC\u5355\u7247\u673a\u5f00\u53d1\u677f\u7ed9\u5355\u7247\u673a\u70e7\u5199\u7a0b\u5e8f\u7684\u65f6\u5019\u8981\u7528\u5230\u54ea\u4e9b\u7ba1\u811a\uff1f\u8d34\u7247\u7684\u5355\u7247\u673a\u662f\u600e\u4e48\u70e7\u5199\u7a0b\u5e8f\u7684\uff1f

STC\u5355\u7247\u673a\u5f00\u53d1\u677f\u7ed9\u5355\u7247\u673a\u70e7\u5199\u7a0b\u5e8f\u662f\u4e0d\u884c\u7684\u3002
1\u3001\u9996\u5148\u6211\u4eec\u90fd\u662f\u901a\u8fc7\u7535\u8111\u7684\u4e32\u53e3\uff08232\u7535\u5e73\uff09\u901a\u8fc7232\u82af\u7247\u8f6c\u6362\u4e3aTTL\u540e\u518d\u7ed9\u5355\u7247\u673a\uff0c\u5b9e\u73b0\u4e0b\u8f7d\u529f\u80fd\u3002
2\u3001\u7b2c1\u6b65\u7528\u5230stc\u7684\u4e32\u53e3\u8f6f\u4ef6\uff0c\u8fd9\u4e2a\u8f6f\u4ef6\u4e0b\u8f7d\u65f6\u8981\u548c\u5355\u7247\u673a\u8fdb\u884c\u63e1\u624b\uff0cSTC\u5185\u90e8\u534f\u8bae\u3002
3\u3001\u4f60\u7684\u5355\u7247\u673a\u5f00\u53d1\u677f\u6ca1\u6709\u8fd9\u4e2a\u63e1\u624b\uff0c\u600e\u4e48\u80fd\u4e0b\u8f7d\u7a0b\u5e8f\u5462\uff1f

\u5982\u679c\u60f3\u8bd5\u4e00\u8bd5\uff0c\u53ef\u4ee5\u8fd9\u4e48\u5e72\uff1a
1\u3001\u628astc\u7684\u63e1\u624b\u7801\uff0c\u53ca\u8fc7\u7a0b\u7801\uff08\u5982\u4f55\u5c06hex\u6587\u4ef6\u70e7\u8fdb\u53bb\u7684\uff09\u622a\u51fa\u6765\u3002
2\u3001\u901a\u8fc7\u5355\u7247\u673a\u7a0b\u5e8f\u628a\u8fd9\u4e2a\u63e1\u624b\u7801\u53ca\u8fc7\u7a0b\u7801\u53d1\u7ed9\u53e6\u4e00\u4e2a\u5355\u7247\u673a\u3002
3\u3001\u5982\u4f55\u5c06hex\u6587\u4ef6\u4f20\u7ed9\u53e6\u4e00\u5757\u5355\u7247\u673a\u5462\uff0c\u53ef\u4ee5\u628ahex\u6587\u4ef6\u653e\u5230sd\u5361\u91cc\u3002\u5f00\u53d1\u677f\u4e0a\u7684\u5355\u7247\u673a\u4e0d\u65ad\u7684\u8bfb\u53d6sd\u5361\u7684\u6587\u4ef6\u4f20\u7ed9\u53e6\u4e00\u4e2a\u5355\u7247\u673a\u3002

STC\u7684\u7a0b\u5e8f\u4e0b\u8f7d\u5b9e\u9645\u4e0a\u5c31\u662f\u4e32\u53e3\u4e0b\u8f7d\uff0c\u5e76\u4e0d\u662f\u76f4\u63a5\u901a\u8fc7USB\u8fdb\u884c\u7684\uff0c\u800c\u662f\u5f88\u591a\u7535\u8111\u6ca1\u6709RS232\u4e32\u53e3\uff0c\u5373\u4f7f\u6709\u4e32\u53e3\u4e5f\u4e0d\u5982USB\u65b9\u4fbf\uff0c\u56e0\u6b64\u624d\u4f7f\u7528\u90a3\u79cd\u4e1c\u897f\u6765\u4e0b\u8f7d\u7684\uff0c\u6211\u5728\u5b9e\u9a8c\u5ba4\u7528\u53f0\u5f0f\u673a\u4ece\u6765\u90fd\u662f\u76f4\u63a5\u7528\u4e3b\u677f\u7684RS232\u63a5\u53e3\u4e0b\u7a0b\u5e8f\uff0c\u6bd4USB\u7684\u8f6c\u6362\u5668\u7a33\u5b9a\u591a\u4e86\u3002
USB\u8f6cTTL\u5b9e\u9645\u4e0a\u5c31\u662fUSB\u8f6c232\u3002
RS232\u7684\u7535\u5e73\u6807\u51c6\u4e0e\u5355\u7247\u673a\u7684TTL\u7535\u5e73\u5e76\u4e0d\u517c\u5bb9\uff0c\u56e0\u6b64\u9700\u8981\u4f7f\u7528\u8f6c\u6362\u7535\u8def\u6765\u8fde\u63a5\uff0c\u5e38\u7528\u5c31\u662fMAX232\u4e86\u3002

不需要协议啊,只要你的串口电路连接正确,前提是你的单片机端需要有TTL和232的转换芯片。你就可以用串口烧写程序了啊!

如果想研究,可以在烧录过程中读取 代码,也就是 指令码 - 数据码 - 检验码 - 结束码,等组成,
可以用 串口 监控记录下来,再分析。

STC单片机用STC-ISP软件再加上一根串口线就即可下载的!

STC新型单片机的ISP程序设计

随着单片机技术的不断发展,IAP(In-Application-Programming)功能的支持越来越普遍,这给应用系统程序代码升级带来了极大的方便。但是,ISP(In-System-Programming)程序的设计以及程序空间的安排等,是需要开发者认真细致考虑的。本文针对STC新型单片机的应用ISP程序设计作了详细的介绍,以STC11F62X为例,详细说明了具体实现过程,并给出了Keil-C源代码。

STC新型单片机介绍
STC11/10xx系列单片机是宏晶科技设计生产的单时钟/机器周期(1T)的单片机,是高速、低功耗、超强干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成的FLASH寿命可达10万次,并且完全支持ISP和IAP功能。该系列针对不同功能、电压、封装等的型号规格非常齐全。所有的STC11/10xx系列单片机内部都固化了宏晶科技的ISP程序,不需要并行编程器,通过RS232串口就可以烧录用户程序。但一些系统为了程序保密或者采用其他诸如RS485通讯或其他通讯方式的需要,仍然需要自己编写ISP程序用于系统升级。在STC11/10xx系列单片机中以IAP打头的芯片型号,用户程序和数据FLASH是统一寻址,允许在用户程序中擦写FLASH,因此可以编写自己的ISP程序。
本程序例子中选用的单片机是IAP11F62X,包含内部可用的62kFLASH空间和扩展的1024字节XRAM。
单片机内部FLASH存储器安排
为了充分使用单片机内部FLASH,将FLASH划分为三部分:
FLASH地址 使用分区 地址划分例子
高地址: 低地址(0000): 数据存储区 0xF400~0xF7FF
ISP监控程序区 0xF000~0xF3FF
用户程序区 0x0000~0xEFFF
用户程序区从低地址0000开始,主体程序运行不受任何影响。当满足特定条件(需要进入ISP监控程序)时,跳转到ISP监控程序区运行,可对用户程序区进行擦除和改写。剩下的高地址FLASH可用作数据存储。
用户程序可以有多种方式判断是否跳转ISP监控程序:
串口接收到特殊格式指令;
用户板上指定的按键或跳线组合;
由用户板操作功能选择。

IAP程序设计
IAP程序设计比较简单,只需对几个特殊功能寄存器进行操作就可以完成FLASH的擦除和改写。
附件二.IAP_11_10.C是IAP程序的C源代码;附件三. IAP_11_10.h是头文件说明,其中可以看到对FLASH存储器的安排:
#define FPRG_END 0xEFFF /* 用户程序末地址(60k) */
#define BOOT_ADR 0xF000 /* 在线升级监控程序地址(1k)*/
#define FDAT_ADR 0xF400 /* 数据FLASH地址(1k数据) */
#define FDAT_PGN 2 /* 数据FLASH页数(1k字节2页) */
程序中需要说明的几点是:开启IAP功能前,将中断允许EA暂存到位变量ea_tmp,并将中断禁止;关闭IAP功能时再将中断恢复。另外,根据硬件选择的振荡器频率,在IAP_11_10.h中设置适当的参数。
ISP程序设计
ISP程序中主要是根据串口接收到的指令,调用IAP函数进行操作。附件四. ISP_DEMO.C是ISP程序的C源代码。附件五.BOOT.A51是程序初始化代码,由于ISP程序被安排从0xF000地址开始,因此与普通程序初始化代码STARTUP.A51不同,BOOT.A51中指定了代码地址是从0xF000开始,即:“CSEG AT 0xF000”。
生成ISP_DEMO程序需要在Keil-C中建立工程文件,除了包含ISP_DEMO.C,还应包含IAP_11_10.C及BOOT.A51。另外还需设置程序空间地址范围:在Target选项卡中,Off-chip Codememory设置Start:0xF000,Size:0x0400
另外,ISP_DEMO程序中同时支持EEPROM读写。程序开始时将1k字节FLASH数据读入xdata缓冲区备用。指令操作过程中,实际都只在xdata缓冲区中操作,直到退出ISP程序前,才将数据FLASH扇区擦除并将1k字节数据全部写入。
如果用户程序开启了看门狗,进入ISP监控程序后,在看门狗最长复位时间内,如果串口没有收到有效的系统复位通讯指令数据,芯片会自动复位返回用户程序区运行。这样可以防止ISP程序的误入,当然还可以修改ISP监控程序作更多的标志和判断以及程序陷阱,进一步防止ISP程序的误操作。

用户程序设计
在用户程序设计中,应该包含有判断以及跳转ISP监控程序的代码段。附件六.TEST.C是一个简单的用户程序的例子,程序通过两种方式可进入ISP监控程序:同时按下两个按键或者串口在250mS之内接收到特殊字符’Z’和’z’。
生成TEST程序也需要在Keil-C中建立工程文件,除了包含TEST.C,还应包含IAP_11_10.C

与计算机连接的通讯协议
升级用户代码时,需要与计算机进行通讯,一般采用RS232串行通讯,数据协议采用简单协议。本文例子采用的通讯协议可以用串口测试程序(RS232.EXE)进行程序升级测试,注意:选择22.1184晶体2倍速再复位,这样通讯速率才是115.2kBps。
复位指令(计算机->单片机)
计算机发送四字节复位指令:21H,5AH,00H,A6H,单片机返回复位信息。
复位信息(单片机->计算机)
复位信息为25字节,前三字节为单片机公司特征字符(如:“ADI”“SST”“STC”),最后一字节为效验和。
数据包格式
计算机发送数据包格式:07H,0EH,长度,数据,效验和(长度与数据的效验和)。
擦除指令
计算机发送数据包,其中数据只有一字节,内容为:字符’A’或’C’。单片机擦除用户程序区后返回一字节06H表示成功;05H表示失败。
编程指令
计算机发送数据包,其中数据内容:’W’,00H,地址高字节,地址低字节,程序数据。单片机返回一字节06H表示成功;05H表示失败。
读EEPROM指令
计算机发送数据包,其中数据内容:’R’,长度,地址高字节,地址低字节。单片机返回一字节05H表示失败;06H表示成功然后紧跟的是读出的数据字节和效验。
写EEPROM指令
计算机发送数据包,其中数据内容:’E’,00H,地址高字节,地址低字节,EEPROM数据。单片机返回一字节06H表示成功;05H表示失败。
运行用户程序
计算机发送数据包,其中数据只有一字节,内容为:字符’U’。单片机返回一字节06H表示成功,然后跳转用户程序运行。

结束语
根据以上ISP程序设计,大家可以修改ISP代码,丰富其他的ISP功能(如:口令控制、数据加密等),尝试设计自己的ISP程序。
www.STCMCU.com
2009-6-25

如有需要,请通过百度Hi我或留下邮箱,获得本文提到的相关代码。

  • 濡備綍缁鍗曠墖鏈虹儳褰绋嬪簭?
    绛旓細闇瑕佸埄鐢ㄤ笅杞藉櫒鍜屼笅杞借蒋浠舵墠鑳藉皢keil绋嬪簭杈撳嚭鐨刪ex鏂囦欢鐑у綍鍒鍗曠墖鏈涓傚叿浣撴搷浣滆鍙傜収浠ヤ笅姝ラ锛屾紨绀哄崟鐗囨満涓51鍗曠墖鏈恒1銆侀鍏堝噯澶囧ソ51鍗曠墖鏈烘渶灏忕郴缁熸澘鍜岀儳褰鍣ㄣ2銆佹墦寮stc-isp鐑у綍杞欢閫夋嫨濂藉崟鐗囨満鍨嬪彿锛岃繖閲岀殑鎵閫夌殑鍗曠墖鏈哄瀷鍙蜂负STC89C/LE52RC銆傚湪姝ゅ彲浠ヨ瀵熷埌鈥滀覆鍙e彿鈥濇樉绀烘病鏈夊彲鐢ㄧ殑鎺ュ彛銆3銆佹帴鐫...
  • 鎬庝箞鐑у綍鍗曠墖鏈,鍨嬪彿stc89c52
    绛旓細STC 鍗曠墖鏈闇瑕佺敤涓插彛鐑у綍绋嬪簭銆備絾鐜板湪鐨勭數鑴戝嚑涔庨兘娌℃湁涓插彛浜嗭紝鐗瑰埆鏄瑪璁版湰鐢佃剳鏇存病鏈変簡銆傛墍浠ワ紝瑕佷拱涓鏉SB杞覆鍙g嚎锛屾垨USB杞琓TL妯″潡銆傝繖鏍蜂笌鍗曠墖鏈篟XD锛孴XD鐩歌繛銆傚苟瑕佸幓STC瀹樼綉涓嬭浇涓撶敤鐑у綍杞欢锛孲TC-ISP杞欢銆
  • 濡備綍缁鍗曠墖鏈虹儳褰绋嬪簭?
    绛旓細棣栬姝ラ鏄噯澶囦竴涓51鍗曠墖鏈虹殑寮鍙戞澘鍜屼笓鐢ㄧ殑鐑у綍鍣ㄣ傜‘淇濇墍鏈夌‖浠惰澶囬綈鍏ㄣ傚湪鐑у綍杞欢鏂归潰锛屾垜浠互STC-ISP涓轰緥銆傚惎鍔ㄨ蒋浠跺悗锛屼綘闇瑕侀夋嫨閫傚綋鐨勫崟鐗囨満鍨嬪彿锛岃繖閲屼互STC89C/LE52RC涓轰緥銆傛敞鎰忔鏌モ滀覆鍙e彿鈥濋儴鍒嗭紝纭娌℃湁鍙敤鐨勬帴鍙o紝杩欎竴姝ラ潪甯搁噸瑕併傛帴鐫锛屽皢鐑у綍鍣ㄩ氳繃USB杩炴帴鍒51鍗曠墖鏈哄拰鐢佃剳銆備竴鏃︾數鑴...
  • 鍗曠墖鏈楂樻墜鏉ュ府蹇!STC12C2052AD鎬庝箞鎶杞欢鐑у啓杩涘幓?澶囨敞,鎴戞病鏈夊紑鍙戞澘...
    绛旓細2銆佺幇鍦紝闇瑕佷竴涓鐑у啓杞欢鏉ョ儳鍐欑▼搴忥紝杩欓噷鐢ㄧ殑鏄STC-ISP杞欢銆3銆佹墦寮杞欢锛岄鍏堥夋嫨鍚堥傜殑鍗曠墖鏈鍨嬪彿锛岃繖閲岀敤鐨勬槸stc89C52.鐒跺悗涓插彛涓鑸槸鑷姩閫夋嫨濂界殑锛屼篃鍙互鑷繁閫夈4銆佺偣鍑烩滄墦寮绋嬪簭鏂囦欢鈥濓紝鍦ㄥ脊鍑烘涓夋嫨鑷繁缂栬瘧濂界殑hex鏂囦欢锛岀偣鍑绘墦寮锛岃繖鏍风儳鍐欑▼搴忕殑鍑嗗宸ヤ綔灏卞畬鎴愪簡銆5銆佹帴涓嬫潵寮濮嬬儳鍐欑▼搴忥紝...
  • 鐢靛瓙鍙戠儳鍙嬩滑 浣犱滑鐢ㄤ粈涔杞欢缁STC绯诲垪鍗曠墖鏈缂栫▼
    绛旓細缂栬瘧杩樻槸KEIL2 涓嬭浇鐢STC-ISP-V4.83鎴朧6.33鐗堬紝STC瀹樼綉涓婂彲涓嬭浇
  • 鍗曠墖鏈虹儳褰闇瑕佷粈涔堢‖浠杞欢?
    绛旓細鑻ユ槸甯SP鐨勫氨姣旇緝鏂逛究 鐢ㄤ覆鍙i厤鍚杞欢stc_ISP_鍗冲彲锛岃嫢涓嶅甫ISP鐨 灏辫鐢ㄤ笓鐢鐑у綍鍣鍜岃蒋浠锛屽叿浣撶殑鍙互鍦ㄧ浉搴鍗曠墖鏈鐨勮鏍间功涓煡鍒
  • STC鍗曠墖鏈 缂栫▼杞欢鍝噷涓?鐑﹁澶т緺甯繖涓.
    绛旓細缂栫▼杞欢鐢 keil 鐑у啓杞欢 http://www.mcu-memory.com/ 鍙互涓嬭浇
  • 鎴戠殑鍗曠墖鏈虹儳褰曡蒋浠涓负浠涔堟病鏈stc89c52鍨嬬殑鍗曠墖鏈,鎬庝箞鎵嶈兘鎵惧埌?_鐧惧害...
    绛旓細STC鏄浗浜鍗曠墖鏈锛岄氳繃STC涓插彛杞欢锛屽拰鐢佃剳涓插彛涓嬭浇绋嬪簭鍒板崟鐗囨満閲岄潰锛屼竴鑸殑鐑у綍鍣ㄩ噷闈㈢殑杞欢閮戒笉鏀寔STC鐨勫崟鐗囨満鍨嬪彿
  • Arduino鐨勫紑鍙戠幆澧冨彲浠鐑у啓stc鐨鍗曠墖鏈鍚,鎴戠殑杩欎釜闆嗘垚鐨勬槸atmel鐨...
    绛旓細stc鍗曠墖鏈哄拰atmel鐨勫崟鐗囨満鐨勭儳褰曟柟娉曟槸涓嶅悓鐨勶紝鐑у綍杞欢锛岀儳褰曠嚎閮戒笉閫氱敤銆傝屼笖浣燗rduino鐨勫紑鍙戠幆澧冿紝瀵筍TC鍗曠墖鏈哄涓嶈兘鐢ㄣ係TC鍗曠墖鏈哄繀椤诲幓STC瀹樼綉锛屼笅杞戒笓鐢ㄧ殑鐑у綍杞欢: STC-ISP锛屼笂缃戜拱涓鏉SB杞覆鍙g嚎鎴朥SB杞琓TL妯″潡锛岃鏍规嵁浣犵殑鏉垮瓙鐨勯渶瑕佺‘瀹氫拱浠涔堛傚紑鍙戣蒋浠剁敤keil 4鎴杒eil 5銆
  • 浠涔堟槸鍗曠墖鏈虹儳鍐欒蒋浠
    绛旓細绠鍗曠偣璇达紝灏辨槸鎶婁綘鍐欏ソ浠g爜(C鎴栬呮槸姹囩紪)涓撶▼鐨勬満鍣ㄨ瑷閫氳繃涓瀹氱殑鏂瑰紡涓嬭浇鍒板崟鐗囨満涓傜О涓虹儳鍐欍傛墿灞曢槄璇:51鍗曠墖鏈虹儳鍐杩囩▼鍙婅缁嗚鏄庛愬浘鏂囥鐑у啓杞欢寰堝,鏂瑰紡涔熷緢澶,涓昏鐪嬩綘鐨勫崟鐗囨満鍨嬪彿.STC绯诲垪鍗曠墖鏈涓轰緥:棣栧厛锛岄渶瑕佸畨瑁卥eil杞欢鍜STC_ISP绋嬪簭涓嬭浇杞欢銆傚厛瀵逛綘鎯宠瀹炵幇瀵瑰崟鐗囨満鐨勫姛鑳界敤keil缂栫▼锛...
  • 扩展阅读:万能芯片烧录器 ... stm32stlinkutility下载 ... 程序烧录教程视频 ... stc官网最新版下载 ... 烧录程序的基本步骤 ... 中国人单片机中文编程软件 ... 单片机烧录一直在检测 ... 现在什么单片机最好用 ... 宏晶stc中文官网 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网