MC语言介绍
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MC语言介绍
一、单片机的发展
随着社会发展,社会的进步,集成电路的诞生和发展,集成电路的集成密度就越来越大。以前的数据存储器是磁芯穿制的,而现在是大规模的集成电路。社会的发展,现在不光是国防、军事需要计算机,就是家庭设备也需要计算机加入。计算机由一位机、二位机、四位机,现在八位机、十六位机、三十二位机、六十四位机也进来了,将来可能更高位数也将会产生。以前是单个的CPU(Central Processing Unit中央处理单元)加上PIO(P rogrammable Input Output可编程输出输入接口)、EPROM(程序存储器)、RAM(数据存储器)都是分离的,而现在是将CPU、PIO、RTC(Real Time Clock 实时时钟)、EPROM、RAM集成到一起了,也就是现在所说的单片机MCU(Micro Control Unit微控器)。
原来是单个芯片组成计算机系统,在此后由单板机的出现,Z80就成为控制系统的主流,所有的控制系统都围绕Z80转绕,由于8051的出现,现在的控制系统也靠近了8051,也就是现在所说的MCS51系统,当然了还有其它系统的存在,如PIC系统、EM系统等。
单片机的产生控制和测量领域发生翻天覆地的变化,大量的控制系统都使用了单片机进行改造或生产,大到导弹和卫星控制、通讯系统,小到家电产品,处处都有它的身影。
二、MC语言
单片机的工作都离不开编程语言,早期是机器码,可是没有几个人能记住,后来就发展了低级语言(汇编语言)、中级语言(C语言等)、高级语言(BASIC等),语言是越来越高级记忆是越来越简单,可是资源是要求越来越广阔,单片机的空间资源就有限,没有更多的资源可供更高级语言使用了,一般都使用C语言、汇编指令来应付控制系统。
MC(MCU COMPILE)语言也就是应运而生的语言产品,它的名字就可以看出是围绕单片机应用的产品。它属于中级语言的一种,但不需要说明就可以直接延用汇编指令,这一点就比C语言要灵活,MC语言可以使用汉字进行输入,是符合我们中国人习惯的产品,对于多字节的运算(1byte(字节)=8bit(字位)数的范围是0-255,1word(字)=2byte数的范围是0-65535)只要前面定义好了,计算时,您不必考虑字节的多少,直接运算就可以了,运算包括加减乘除。对于数大小是由变量的字节数决定的,它们的范围是0-2的字节(转换成字位)次方减去1.
考虑在控制、测量系统中,条件应用比较多,MC语言中条件语句也是重点开发之一,当条件为真(对字位的,当字位等于1,就以为真,否则为假),就执行。
MC语言最后输出的*.hex文件,一般的可以直接输出。如果是其它的什么格式,可以直接联系。
MC语言是围绕单片机开发的,就单片机而言硬件中断是必不可少的,MC语言可使您不必记住中断矢量,自动产生其中断矢量,只要您能够准确输入中断状态,MC语言将能够产生准确的中断程序。(包括中断条件,为了防止干扰的串入,对于没有的中断,跳转到重新定义中断的地方)
由于本人使用MCS51比较多,现在MC语言只支持MCS51系统,其它的单片机将陆续添加上去,PIC12C5XX、PIC5X、PIC16C7X也完成汇编汉化的工作。
加法指令
001 Add A,Rn 加 A, Rn A+Rn->A
002 Add A,dir 加 A, dir A+(dir)->A
003 Add A,@Ri 加 A, @Ri A+(Ri)->A
004 Add A,#data 加 A, #data A+data->A
005 Addc A,Rn 进位加 A, Rn A+Rn+C->A
006 Addc A,dir 进位加 A, dirA+dir+C->A
007 Addc A,@Ri 进位加 A, @RiA+(Ri)+C->A
008 Addc A,#data 进位加 A, #dataA+data+C->A
012 Inc A 加一 A A+1->A
013 Inc Rn 加一 Rn Rn+1->Rn
014 Inc dir 加一 dir (dir)+1->dir
015 Inc @Ri 加一 @Ri (Ri)+1->(Ri)
016 Inc DPTR 加一 DPTR DPTR+1->DPTR
018 Da A 调整 A L>9,Al+6。H>9,Ah+60H 减法
019 Subb A,Rn 减 A, Rn A-Rn-C->A
020 Subb A,dir 减 A, dir A-(dir)-C->A
021 Subb A,@Ri 减 A, @Ri A-(Ri)-C->A
022 Subb A,#data 减 A, #data A-data-C->A
026 Dec A 减一 A A-1->A
027 Dec Rn 减一 Rn Rn-1->Rn
038 Dec dir 减一 dir (dir)-1->dir
039 Dec @Ri 减一 @Ri (Ri)-1->(Ri)
乘法指令
041 Mul AB 乘 AB A*B->B(h),A(l)
除法指令
042 Div AB 除 AB A/B->A…B
"与"操作
043 Anl A,Rn 与 A, Rn A and B->A
044 Anl A,dir 与 A, dir A and (dir)->A
045 Anl A,@Ri 与 A, @Ri A and (Ri)->A
046 Anl A,#data 与 A, #data A and data->A
047 Anl dir,A 与 dir, A A and (dir)->dir 048 Anl dir,#data 与 dir, #dataDir and data->dir 049 Anl C,bit 与 C, bit C and bit->C