應廣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)這樣新建一個工程就完成了.