应广Mini-C语言开发PMS150G,Mini-C语言是台湾应广公司推出的自家单片机开发语言,兼容C语言
应广科技公司的Mini-C语言介绍
OTP单片机以消费类电子市场,价格低廉著称.就以应广PMS150G(1毛/片)芯片学习一下应广公司的Mini-C语言.
MiniC-Compiling 是一个在TINY编译程序基础上实现的Mini C语言编译程序.
Mini C是一种适合编译器设计方案的语言它比TINY语言更复杂,包括函数和数组. 本质上它是C的一个子集,但省去了一些重要的部分,因此得名.
本Mini C编译器实现功能包括:Mini C扫描器(词法分析器),Mini C语法树生成(语法分析器、语义分析器),Mini C代码指令生成(代码产生器)等功能.
软件需求
根据给出的词法规则实现一个Mini C扫描器(词法分析器).
根据给出的文法规则设计及实现一个Mini C语法分析器,分析器要产生合适的语法树.
实现Mini C的语义分析器. 分析器的主要要求是,除了在符号表中收集信息外,在使用变量和函数时完成类型检查. 类型检查需要处理的类型是空类型、整型、数组和函数.
实现Mini C的代码产生器,其代码指令与参考资料中的虚拟机一致,代码产生结果在屏幕上显示或以文件的形式保存.
配套修改参考资料中虚拟机程序以实现代码指令的解释执行,并执行得出相应的结果.
1. 关键字:else if int return void while
2. 专用符号: + - * / < <= > >= == != = ; , ( ) [ ] { } /* */
3. 其他标记是ID和NUM,正则定义如下:
ID = letter letter*
NUM = digit digit*
letter = a | .. | z | A | .. |Z
digit = 0 | .. | 9
注:区分大小写
4. 空格由空白、换行符和制表符组成。
5. 注释用C语言符号/*...*/围起来,注释可以凡在任何空白出现的位置(不能放在标记内),可超过一行。注释不能嵌套。
Mini C语法规则
Mini-C语言开发单片机开发的例子
Mini-C语言是台湾应广公司推出的自家单片机开发语言,兼容C语言,支持的语法更少更容易上手,既然是一种新的兼容语言自然要研究一下.到应广网站下载最新版本,出新版本以后旧版本不可以运行.软件很小13.5MB,别被他迷惑仿真部分在仿真器内部,烧录部分在烧录器内部.这样一来想用1毛钱单片机成本一下就上来了,很多人就被仿真器下载器的价格挡在外面了.没有仿真器烧录器软件是可以生成.PDK烧录文件的.
这软件直接就是中文的,点一个赞,调整输入法中文下使用英文标点这样在标点符号上不出错,新建一个工程,点击:档案,开新项目.选择Mini-C,自己填入工程名称,文件位置,芯片系列:本次采用的是PMS系列.芯片型号:PMS150G.点击OK.新建项目就完成了,系统给出了工程列程:
#include “extern.h”
void FPPA0 (void)
{
.ADJUST_IC SYSCLK=IHRC/4 // SYSCLK=IHRC/4
// Insert Initial Code
while (1)
{
// …
// wdreset;
}
}
void Interrupt (void)
{
pushaf;
if (Intrq.T16)
{ // T16 Trig
// User can add code
Intrq.T16 = 0;
//…
}
popaf;
}
是C这语法又没见过,逐条给你解释:
#include “extern.h” :引入头文件.
void FPPA0 (void) :进入主函数(应广有4核,8核单片机FPPA0~ FPPA7).
.ADJUST_IC SYSCLK=IHRC/4 :调整系统时钟为4Mhz,系统16Mhz.
while (1) :死循环. while (1);这样写是错误的, while (1) null; while (1){}.
void Interrupt (void) :中断函数.
pushaf; :压栈
Intrq.T16 = 0; : Intrq的某一位,
popaf; :出栈
点击:执行,建制.也可以直接点双箭头的建制.
0 error(s), 1 warning(s),怎么了我什么也没做就出一个警告,
马上去看一下警告信息’Interrupt’ not be used, and be bypass(不使用“中断”,而是绕过),
不用中断注释掉/…/或者不用删除掉.0 error(s), 0 warning(s)这样新建一个工程就完成了.