注意:访问本站需要Cookie和JavaScript支持!请设置您的浏览器! • 打开购物车 • 查看留言 • 付款方式 • 联系我们 |
首页 | 电子入门 | 学单片机 | 免费资源 | 下载中心 | 商品列表 | 象棋在线 | 在线绘图 | 加盟五一 | 加入收藏 | 设为首页 |
选择分类:当前分类——学单片机 相关联或者相类似的文章: 三十分钟一个小时学会单片机(9045) 什么是单片机?单片机有什么用? (8723) 如何用STC板将代码烧录进IC(8681) 怎样安装AT51编程板的USB转串口软件?(8206) 送给单片机爱好者——LED在线编码器(1814) 送给单片机爱好者——LED点阵在线编码器(1544) 单片机系统中的汉字显示(1492) 带语音报数功能的抢答器(1489) 用VB进行串口实时数据采集(1347) 用AT89C2051设计超声波测距仪(1171) 小小电子闹钟 生活学习良伴(1165) DS1820测温原理(1129) 几句代码实现控制摄像头(转)(1117) STC单片机选型指南(1111) 自制PIC单片机编程器(1105) USB转串口芯片CH340(1010) 快速学习单片机之黄金机会!(1010) 告戒购单片机开发实验板初学者(970) 新款实用旋转LED显示屏A(890) 使用市售 USB转RS232串口与PLC通信的测试报告 (881) 首页 前页 后页 尾页 本站推荐: | 三菱 PLC梯型图(指令编码)反汇编程序-----开源 PLC 编程重点参考资料 本三菱 PLC梯型图(指令编码)反汇编程序是 三菱 PLC梯型图 转 HEX 文件的重要组成部分,由于考虑到今后程序移植的方便,未使用控件,仅用最基本的 C 语言语句编写。 本程序的 三菱 PLC梯型图 测试程序 PLC2N.PMW 由 ourDEV 网友 easygoing 编写,再次表示感谢其对开源 PLC 的支持, 在本例中转换成同名的 PLC2N.C 程序。再经 Keil C 编译成 HEX 文件执行。 本“三菱 PLC梯型图(指令编码)反汇编程序”将和“PLC梯型图(指令编码)转 51 C语言”组合,由网友 xingliu 编写操作界面软件,使之更适合广大片机爱好者使用。 由于作者水平有限,未正规学过 C 语言,失误和错误难免,请广大网友指正,拍砖。 /*----------------------------------------------------------------------------------------------------*/ /* */ /* 三菱 PLC梯型图(指令编码)反汇编程序 转 C 程序示范程序 */ /* */ /* 为防止 PLC 指令编码和 C 语言关键字混淆,特规定,所有 PLC 指令前面加下划线"_",所有点(BIT型) */ /* 前后各加下划线"_",所有点(WORD型)前加下划线"_",指令后面的数据用( )包含,数据中间用","分隔, */ /* 以示和 C 语言关键字区分及适应于 C 语言书写方法。 */ /* 所有十进制常数去掉前导"K",所有十进制常数去掉前导"H"再加前导数字"0x",以便适应于 C 语言常数 */ /* 书写方法。这些下划线和加减前导数字将由 PLC 梯型图反编译程序自动加入。 */ /* */ /* 本程序支持混合编程,即在 PLC 指令编码中可任意插入 C 语言语句,符合 C 语言规范的汇编语言语句。 */ /* 可使用现有的调试软件仿真器设置断点,单步,多步,跟踪,连续,全速等手段调试 PLC 程序,修改和监控 */ /* PLC 点元件状态和内容,使之更适合广大片机爱好者使用。 */ /* */ /* 目前支持下列点(继续完善中): */ /* _X0_---_X57_,_Y0_---_S57_,_M0_---_M255_,_S0_---_S255_,_T0---_T31,_C0---_C31,_D0---_D31; */ /* */ /* 目前支持常数(继续完善中): */ /* K 范围:-32768---32767; H 范围:0---FFFFH; */ /* */ /* 目前支持特殊点数(继续完善中): */ /* _M8000_,_M8001_,_M8002_,_M8003_,_M8004_,_M8011_,_M8012_,_M8013_,_M8014_, */ /* _M8020_,_M8021_,_M8022_,_M8121_,_M8122_,_M8123_,_M8124_; */ /* */ /* 目前支持下列基本指令和扩展指令(继续完善中): */ /* _LD,_LDI,_AND,_ANI,_OR,_ORI,_INV,_OUT(_OUT_T,_OUT_C),_SET,_RST(_RST_T,_RST_C), */ /* _ANB,_ORB,_LDP,_LDF,_ANDP,_ANDF,_ORP,_ORF,_PLS,_PLF,_MPS,_MRD,_MPP,_NOP,END, */ /* _ADD,_SUB,_MUL,_DIV,_INC,_DEC,_WAND,_WOR,_WXOR,_NEG,_ALT,_MOV,_CML,_XCH,_BCD,_BIN, */ /* _LD>=,_LD<=,_LD>,_LD<,_LD<>,_LD=,_AND>=,_AND<=,_AND>,_AND<,_AND<>,_AND=, */ /* _OR>=,_OR<=,_OR>,_OR<,_OR<>,_OR=; */ /* */ /* 由于 C语言无法识别下列符号,特用下列英文缩写表示: */ /* 大于等于(>=) _GE,小于等于(<=) _LE,大于(>) _GT,小于(<) _LT,不相等(<>) _NE,相等(=) _EQ; */ /* 即指令集:_LD>=,_LD<=,_LD>,_LD<,_LD<>,_LD=,_AND>=,_AND<=,_AND>,_AND<,_AND<>,_AND=, */ /* _OR>=,_OR<=,_OR>,_OR<,_OR<>,_OR=; */ /* 用下列指令书写方式替代(由 PLC 梯型图反编译程序自动生成)。 */ /* _LD_GE,_LD_LE,_LD_GT,_LD_LT,_LD_NE,_LD_EQ,_AND_GE,_AND_LE,_AND_GT,_AND_LT,_AND_NE,_AND_EQ, */ /* _OR_GE,_OR_LE,_OR_GT,_OR_LT,_OR_NE,_OR_EQ; */ /* */ /* */ /* CPU : 51系列单片机 */ /* 晶振 : 11.0592MHz */ /* 作者 : 许意义 */ /* 版本 : V1.0 */ /* 日期 : 2009.5.17 */ /* 版权 : ourDEV.cn */ /* */ /*----------------------------------------------------------------------------------------------------*/ #include "plc_start.h" //-------------------------------------------------------------------------------------// // PLC 执行程序 // //-------------------------------------------------------------------------------------// void main_PLC(void) { _LDI (_X2_) _OUT_ (_T100,124) _EI _LD (_M1_) _MC (N1,_M0_) _LDP (_M8000_) _ORF (_M1000_) _LDP (_M3000_) _ORF (_M2000_) _ANB _LDP (_S100_) _ORF (_M2999_) _ANB _OUT_ (_T100,30) _RST (_D1) _RST (_M2999_) _SET (_S100_) _OUT (_M8005_) _LDP (_M1_) _ADDP (_C20,_T35,_D11) _LD (_X1_) _OUT_ (_C210,123456789) _LD (_X2_) _TCMP (_C10,_K2M0,_K1M0,_D0,_M0_) _P5: _LD (_X10_) _CJ (_P5) _LD (_X13_) _OUT (_Y13_) _MCR (N1) _LD (_X0_) _CALL (_P2) _DI _FOR (4) _LD (_M8000_) _DADDP (_K8M1000,10,_D11) _NEXT _LD (_M8000_) _ADD (-200,_D12,_D14) _MPS _AND (_M0_) _SUB (_D1000,_D999,_D7000) _MRD _AND (_M1_) _MUL (2,_D13,_D14) _MRD _AND (_M2_) _DIV (_D14,_D12,_D15) _MPP _INC (_D0) _DEC (_D0) _MPS _AND (_M3_) _WAND (_D10,_D12,_D14) _MRD _AND (_M4_) _WOR (_D10,_D12,_D14) _MRD _AND (_M5_) _WXOR (_D10,_D12,_D14) _MPP _NEG (_D10) _LD (_X16_) _CMP (100,_D0,_M0_) _ZCP (100,120,_C10,_M3_) _MOV (100,_D18) _SMOV (_D1,4,2,_D2,3) _CMP (_D0,_K1Y17) _BMOV (_D5,_D10,2) _RMOV (0,_D0,2) _XCH (_D18,_D19) _BCD (_D12,_K2Y20) _BIN (_K2X0,_D13) _LD (_X17_) _ROR (_D0,4) _ROL (_D0,4) _RCR (_D0,4) _RCL (_D0,4) _SFTR (_X0_,_M0_,16,1) _SFTL (_X0_,_M0_,16,4) _WSFR (_D0,_D10,16,4) _WSFL (_D0,_D10,16,4) _SFWR (_D0,_D1,10) _SFRD (_D0,_D20,10) _LD (_X20_) _ZRST (_M500_,_M599_) _DECO (_X0_,_M10_,2) _DNCO (_M10_,_D10,3) _SUM (_D0,_D2) _BON (_D10,_M0_,15) _MEAN (_D0,_D10,3) _ANS (_T0,10,_S900_) _ANR _SOR (_D10,_D12) _FLT (_D10,_D12) _LD (_X21_) _REF (_X100_,8) _REFF (1) _MTR (_X20_,_Y40_,_M0_,8) _DHSCS (100,_C255,_Y10_) _DHSCR (200,_C255,_Y10_) _DHSZ (1000,2000,_C251,_Y0_) _SPD (_X0_,100,_D0) _DPLSY (1000,_D0,_Y0_) _PWM (_D10,50,_Y0_) _PLSR (500,_D0,3600,_Y0_) _LD (_X23_) _SER (_D100,_D0,_D10,10) _ABSD (_D300,_C0,_M0_,4) _INCD (_D300,_C0,_M0_,4) _TTMR (_D300,0) _STMR (_T10,100,_M0_) _ALT (_M0_) _RAMP (_D1,_D2,_D3,1000) _ROTC (_D200,10,2,_M0_) _SORT (_D100,5,4,_D200,_D0) _LD (_X24_) _TKY (_X0_,_D0,_M0_) _HKY (_X0_,_Y0_,_D0,_M0_) _DSW (_X0_,_Y10_,_D0,1) _SEGD (_D0,_K2Y10) _SEGL (_D0,_Y0_,0) _ARWS (_X10_,_D0,_Y0_,0) _ASC ("ABCD ",_D300) _PR (_D300,_Y0_) _FROM (1,29,_K4M0,1) _TO (1,29,_K4M0,1) _LD (_X25_) _RS (_D200,_D0,_D500,_D1) _PRUN (_K4X0,_K4M0) _ASCI (_D100,_D200,4) _HEX (_D20,_D10,4) _CCD (_D100,_D0,10) _VRRD (0,_D0) _VRSC (1,_D1) _PID (_D0,_D1,_D100,_D150) _LD (_M8000_) _DECMP (_D10,_D20,_M0_) _DEZCP (_D20,_D30,_D0,_M3_) _DEBCD (_D50,_D20) _DEBIN (_D20,_D50) _DEADD (_D10,_D20,_D50) _DESUB (_D10,_D20,_D50) _DEMUL (_D10,_D20,_D50) _DEDIV (_D10,_D20,_D50) _DESOR (_D10,_D20) _INT (_D10,_D20) _DSIN (_D50,_D60) _DCOS (_D50,_D60) _DTAN (_D50,_D60) _SWAP (_D10) _LD (_X26_) _TCMP (10,30,50,_D0,_M0_) _TZCP (_D20,_D30,_D0,_M3_) _TADD (_D10,_D20,_D30) _TSUB (_D10,_D20,_D30) _TRD (_D0) _TWR (_D10) _LD (_X27_) _GRY (1234,_K3Y10) _GBIN (_K3X0,_D10) _LD_EQ (200,_C10) _OUT (_M50_) _LD_GT (_D200,-30) _OUT (_M51_) _LD_GE (_D200,100) _OUT (_M52_) _LD_LT (_D200,10) _OUT (_M53_) _LD_LE (_D200,10) _OUT (_M54_) _LD_NE (_D330,_D440) _OUT (_M55_) _LD (_M8000_) _MPS _AND_EQ (200,_C10) _OUT (_M10_) _MRD _AND_GT (100,_D10) _OUT (_M11_) _MRD _AND_GE (100,_D10) _OUT (_M12_) _MRD _AND_LT (200,_D10) _OUT (_M13_) _MRD _AND_LE (_D10,_D20) _OUT (_M14_) _MPP _AND_NE (_D20,_D30) _OUT (_M15_) _NOP _LD (_M8000_) _OR_EQ (200,_C10) _OR_GT (200,_D10) _OR_GE (200,_D20) _OR_LT (300,_D30) _OR_LE (400,_D40) _OR_NE (500,_D50) _OUT (_Y10_) _FEND _P2: _LD (_M8_) _OUT (_M9_) _SRET _I101: _LD (_M8000_) _INC (_D0) _DEC (_D1) _IRET _END } 点击此处下载 ourdev_446545.rar(文件大小:198K) (原文件名:PMW-C示范.rar) 1、 本站不保证以上观点正确,就算是本站原创作品,本站也不保证内容正确。 2、如果您拥有本文版权,并且不想在本站转载,请书面通知本站立即删除并且向您公开道歉! |
本站协议 |
版权信息 |
关于我们 |
本站地图 |
营业执照 |
发票说明 |
付款方式 |
联系方式
深圳市宝安区西乡五壹电子商行——粤ICP备16073394号-1;地址:深圳西乡河西四坊183号;邮编:518102 E-mail:51dz$163.com($改为@);Tel:(0755)27947428 工作时间:9:30-12:00和13:30-17:30和18:30-20:30,无人接听时可以再打手机13537585389 |