打印

单片机编译语言突出部分介绍

[复制链接]
1012|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
whcon|  楼主 | 2016-2-28 09:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
单片机编译语言突出部分介绍
单片机编译(MCU Compile 简写MC)语言是单片机编写程序的编译软件,是一种汉字、英文双文编译软件,属于中级语言,可以被移植(多种单片机都可以使用),英文基础不好的编程朋友可以使用汉字进行编程,然而这些都不是它的突出部分。由于MC语言是可移植的(通用的),而单片机又是各自的编码(不同的单片机有不同的编码),为此要增加单片机的类型说明。由于在编写定时器和串口波特率,所以要说明单片机的主振频率。对于定义完整的变量,使用简单的符号就可以计算了(如+、-、*、/、%和&、|、^等),而不用使用麻烦的专业指令表达,这就是MC语言的特点。结合单片机的特点,推出了判断、执行、循环指令组,这样使得编程变为更为简单了和快捷,这些都是中级语言的特点。
现在提出了MC语言的突出部分:㈠定义部分,这又为3个部分①一行多个变量、常数定义(后面有介绍);②类似MCS系列单片机的追加布尔变量、布尔地址(后面还有介绍,MCS-51是128个,MC语言在不增加辅助电路是768个);③自动排列变量地址,可以减少编程员的**负担;㈡中断的描述,有了中断的描述可以不用单片机的专业术语编写单片机控制程序(后面有介绍);㈢伪指令的参加(后面有介绍)。下面是MC语言的突出部分解释:
㈠定义部分:
①        一行多个变量、常数的定义,变量、常数的定义是单片机程序必要伪指令,它指明变量的地址或常数的大小,但是一般的编程语言是一行一个变量或常数说明,而MC语言有一行一个的,也有一行多个说明(定义),这个是“,”(逗号)作为隔离的,这样可以极大压缩编程空间。
②        扩大了布尔变量、布尔地址的范围,类似MCS-51的单片机其布尔地址是128个(地址是20H-2FH,共16个字节),使用了MC语言,在没有附加电路的支持仍然有768个,整个布尔地址遍布了数据区域,没有死角。
③        自动排列变量的地址,可以使编程人员不用**变量的地址,这在修改程序中尤为重要。
㈡中断部分:
中断是单片机控制和检测中重要的部分,但是中断又是个麻烦的事情,要编程人员记住中断矢量表和中断条件(单片机的专业描绘),但是MC语言只要电气专业描绘即可。
如MCS-51单片机:
interrupt(中断) 0(2) is(是)pulse(potential)(脉冲(电位)) 过程名【这里的脉冲是脉冲的下降沿,电位是0电位】、interrupt(中断) 1(3) is(是)external(in)(外部(内部)) 方式 time(count)(时间(计数)) 时间常数或计数次数(如果是时间单位是微秒,如果是计数单位是次数) 过程名、Interrupt(中断) 4 is(是) serial(串口) 方式 波特率 过程名。
㈢伪变量的运用,这里的伪变量虚拟的变量,是不存在的变量,它借助真实变量的地址(驱壳),这是利于编程或阅读方便而设计的。它是指数字地址的位数(或数字变量的位数),这样不占用数据空间,虽然(不具)有布尔地址(或布尔变量),而且是都是虚拟的(不存在的),但使用伪变量也是非常有必要的,很多地方(编程)都是用的着。我们都知道一般情况,布尔代数是不能参加数字运算,同理数字代数也不能参加布尔运算的,可是运用了MC语言以及伪变量,布尔代数能够参加数字运算,数字代数也能够参加布尔运算。例:MCS-51系统单片机计数最大数为512,在256就加权,这样就使用:编译程序为,… def counter as 2 30h,jiaquan as counter.8,jiaquanflag as 40h.0 … jiaquanflag=0 loop1: … counter++ … if counter.9 counter=0 endif if jiaquan counter.2=1 jiaquanflag=1 endif if jiaquanflag goto loop2  endif … loop2: … goto loop1如果用汉字编写这个程序为:… 定义 counter 为 2 30h,jiaquan 为 counter.8,jiaquanflag 为 40h.0 … jiaquanflag=0 loop1: … counter++ … 如果 counter.9 counter=0 结束如果 如果 jiaquan counter.2=1 jiaquanflag=1 结束如果 如果 jiaquanflag 跳转到 loop2  结束如果 … loop2: … 跳转到 loop1在这个的例题中也使用了伪变量,jiaquan和counter.9和counter.2都是伪变量,jiaquanflag是扩充的布尔变量。

相关帖子

沙发
dirtwillfly| | 2016-2-28 16:39 | 只看该作者
突出部分?
这是一个什么概念?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

14

帖子

0

粉丝