Microchip单晶片上的C语言应用说明(一)(第八期双月刊).doc

上传人:鲁** 文档编号:545654857 上传时间:2023-10-12 格式:DOC 页数:9 大小:48.50KB
返回 下载 相关 举报
Microchip单晶片上的C语言应用说明(一)(第八期双月刊).doc_第1页
第1页 / 共9页
Microchip单晶片上的C语言应用说明(一)(第八期双月刊).doc_第2页
第2页 / 共9页
Microchip单晶片上的C语言应用说明(一)(第八期双月刊).doc_第3页
第3页 / 共9页
Microchip单晶片上的C语言应用说明(一)(第八期双月刊).doc_第4页
第4页 / 共9页
Microchip单晶片上的C语言应用说明(一)(第八期双月刊).doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《Microchip单晶片上的C语言应用说明(一)(第八期双月刊).doc》由会员分享,可在线阅读,更多相关《Microchip单晶片上的C语言应用说明(一)(第八期双月刊).doc(9页珍藏版)》请在金锄头文库上搜索。

1、Microchip單晶片上的C語言應用說明(一)Microchip的PIC單晶片雖然只有37個指令,指令少雖然容易了解,但要做複雜的運算,則非常難以撰寫程式,為了減少開發時間,唯有使用C語言來開發。筆者這次要跟大家談的是用C語言來開發八位元單晶片,在過去或許聽來覺得不可思議,因單晶片它通常只有幾K的記憶體(數K的ROM合幾十bytes的RAM),那麼少的記憶體還用C語言來開發,真是非常的浪費及不實用,在我參加了Microchip的研討會及使用後,我改變了看法;通常會使用組合語言無非是要求快及精簡,但事實上真的快及精簡了嗎?對於高手而言,或許真的精簡及速度變快,但需花費多少時間呢?一搬來說需比用

2、C語言來開發多三倍以上的時間,有些人甚至用組合語言寫出的程式碼比用C語言轉譯出的組合語言還長,且C語言易懂易維護,他有跨平台的特點,就算換了微處理器也只需些許修改就可以RUN了,組合語言則不然,它必須重新改寫程式碼;至於用C語言寫出來的程式它執行的(程式碼較長)速度較慢,在以前或許存在,現今各微處理器的速度都相當快,速度慢已不是問題,且開發時間可以縮短,是許多工程師及老闆的不二選擇。因中心在八位元的單晶片上皆使用Microchip的PICmicro Devices,所以就以PICmicro Devices來做說明如何使用C語言來開發,Microchip所生產的單晶片有PIC16、PIC17及P

3、IC18系列,這些都是八位元的單晶片,這些晶片都有A/D轉換、Timer、PWM、IIC、RS232等功能,一般控制會用到的功能這裡都有,以一顆單晶片可以取代像早期8051需搭配一些週邊才能達到目前PIC系列的功能,不僅成本減少、相對板子面積也變小且IC數量較少產品也較穩定,且目前Microchip所開發的PIC系列單皆片皆為FLASH的版本,對於個人或小公司而言,晶片可以重複燒寫測試,非常的經濟實惠,相對開發費用較少,對於產品量少及小公司實在是不二選擇。Microchip本身也有C語言版本的開發工具,但它只支援PIC17及PIC18系列,PIC16它就沒有支援,可能是PIC16系列目前程式記

4、憶體最大為8K bytes,可能認為只有8K bytes,只要用組合語言來撰寫即可,順便一提Microchip的PIC單晶片其組合語言的開發工具是免費的,但C語言要另外購買,因目前的控制系統使用PIC16系列就夠了,Microchip又沒有PIC16的C語言開發工具,所以轉向購買B Knudsen Data所出的CC5X C Compiler,它支援PIC12/14/16 devices,它的售價也不貴約一萬五千塊台幣,目前中心只要有用到PIC皆使用CC5X來開發,所以針對CC5X C Compiler的用法作一些說明,讓使用PIC的使用者能快速進入C的世界。CC5X C Compiler支援

5、的Devices有:A. 12 bit core (PIC16C5X, PIC12C50X, etc.): up to 2048 words of code on 1 - 4 code pages up to 73 byte RAM in 1 - 4 banksB. 14 bit core (PIC12C67X, PIC14000, PIC16CXX, etc.): up to 8192 words of code on 1 - 4 code pages up to 512 byte RAM in 1 - 4 banksCC5X安裝它可被安裝在MSDOS、Windows95/98/NT/200

6、0,基本上它不需安裝,當你購買時,只需將整個目錄拷貝到電腦的硬碟即可,CC5X C Compiler它是一個Command-line的程式,例如cc5x -a sample1.c ;它也可以與Microchip的MPLAB相結合,提供compilers、assemblers、simulators、emulators、device programmers等功能,其安裝步驟如下或參考cc5x目錄下的install.txt:1. 將CC5X的檔案拷貝至你的電腦其中的一個目錄,EX:c:cc5x。2. 然後從c:cc5x的目錄裡copy CC5X.MTC and TLCC5X.INI兩個檔案到MPLA

7、B的目錄。3. 啟動MPLAB,選擇MENU的Project-Install Language,在Language Suite中選擇CC5X,然後再點選工具名稱C-Compiler,然後在右邊執行欄keyin c:cc5xcc5x.exe,或者用瀏覽的按鍵去選擇你的CC5X的位置,再去點選Command-line box,然後按OK即可,此時CC5X已成為MPLAB的一部分了。以下針對CC5X做一檔案說明:CC5X.EXE : compilerINTRO.TXT : introductionINSTALL.TXT : installation guide and MPLAB setupCC5X

8、.TXT : basic documentation on CC5XPRAGMA.TXT : the pragma statementINLINE.TXT : information on inline assembly syntaxDEBUG.TXT : debugging details, MPLAB supportCHIP.TXT : how to make new chip definitionsCONFIG.TXT : the PICmicro configuration bitsCDATA.TXT : info on the #pragma cdata statementCONST

9、.TXT : standard C strings and constant dataGLOBDEF.TXT : PICmicro registersSTARTUP.TXT : special startup sequencesLINKER.TXT : how to link several modules (C or asm)INT16CXX.H : interrupt header fileINLINE.H : emulating inline instructionsCC5X.MTC : MPLAB tool configuration fileTLCC5X.INI : MPLAB to

10、ol configuration fileOP.INC : command line options on a fileRELOC.INC : options for object modules (MPLINK)SAMPLE1.C : minimal program exampleIICBUS.C : IIC-bus interfaceIIC-COM.C : IIC-bus communicationSERIAL.C : serial communication (RS232, RS485)STATE.C : state machinesDELAY.C : implementing dela

11、ysINT16XX.C : simple interrupt exampleMATH.TXT : Math library supportMATH16.H : 8-16 bit math libraryMATH16M.H : 8-16 bit multiply, speedMATH24.H : 8-24 bit math libraryMATH24M.H : 8-24 bit multiply, speedMATH32.H : 8-32 bit math libraryMATH32M.H : 8-32 bit multiply, speedMATH16X.H : 16 bit fixed po

12、int libraryMATH24X.H : 24 bit fixed point libraryMATH32X.H : 32 bit fixed point libraryMATH16F.H : 16 bit floating point libraryMATH24F.H : 24 bit floating point libraryMATH32F.H : 32 bit floating point libraryMATH24LB.H : 24 bit floating point functions(log,sqrt,cos,.)MATH32LB.H : 32 bit floating p

13、oint functions(log,sqrt,cos,.)12C508.H . 16C924.H : PICmicro header filesNEWS.TXT : Recent added featuresREADME.TXTEXAMPLE因CC5X支援PIC12、PIC16等系列的單晶片,那我們所撰寫的程式要如何指定特定的PICmicro Devices,它有三種方法可以去指定:1. 在command-line上直接加上,其方法為-pDevice name,EX:-p16C73、-pPIC16F877。2. 在主程式上加入pragma statement,EX:#pragma chip

14、PIC16F84。3. 使用include file,EX:在主程式加入#include 16c73.h。以下為使用CC5X的執行範例,其執行方式為:cc5x -a delay.cdelay.c:Chip = 16C74RAM: 00h : - - - -RAM: 20h : =.* * * *RAM: 40h : * * * *RAM: 60h : * * * *RAM: 80h : - - - -RAM: A0h : * * * *RAM: C0h : * * * *RAM: E0h : * * * *Optimizing - removed 11 instructions (-14 %)

15、File delay.asmCodepage 0 has 68 word(s) : 3 %Codepage 1 has 0 word(s) : 0 %File delay.hexTotal of 68 instructions (1 %)Symbols:* : free location- : predefined or pragma variable= : local variable(s). : global variable7 : 7 free bits in this location上面的-a意思是產生.asm(組合語言)檔案,上面的範例產生三個檔案,delay.asm、delay.occ及delay.hex,其中delay.asm為使用C語言所轉譯出的組合語言檔;delay.occ為compiler

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号