用C 語言來開發(fā)單片機(jī)系統(tǒng)軟件最大的好處是編寫代碼效率高、軟件調(diào)試直觀、維護(hù)升級(jí)方便、代碼的重復(fù)利用率高、便于跨平臺(tái)的代碼移植等等,因此C 語言編程在單機(jī)系統(tǒng)設(shè)計(jì)中已得到越來越廣泛的運(yùn)用。針對(duì)PIC 單片機(jī)的軟件開發(fā),同樣可以用C 語言實(shí)現(xiàn)。但在單片機(jī)上用C 語言寫程序和在PC 機(jī)上寫程序絕對(duì)不能簡(jiǎn)單等同。現(xiàn)在的PC 機(jī)資源十分豐富,運(yùn)算能力強(qiáng)大,因此程序員在寫PC 機(jī)的應(yīng)用程序時(shí)幾乎不用關(guān)心編譯后的可執(zhí)行代碼在運(yùn)行過程中需要占用多少系統(tǒng)資源,也基本不用擔(dān)心運(yùn)行效率有多高。寫單片機(jī)的C 程序最關(guān)鍵的一點(diǎn)是單片機(jī)內(nèi)的資源非常有限,控制的實(shí)時(shí)性要求又很高,因此,如果沒有對(duì)單片機(jī)體系結(jié)構(gòu)和硬件資源作詳盡的了解,以筆者的愚見認(rèn)為是無法寫出高質(zhì)量實(shí)用的C 語言程序。這就是為什么前面所有章節(jié)中的的示范代碼全部用基礎(chǔ)的匯編指令實(shí)現(xiàn)的原因,希望籍此能使讀者對(duì)PIC 單片機(jī)的指令體系和硬件資源有深入了解,在這基礎(chǔ)之上再來討論C 語言編程,就有水到渠成的感覺。本書圍繞中檔系列PIC 單片機(jī)來展開討論,Microchip 公司自己沒有針對(duì)中低檔系列PIC單片機(jī)的C 語言編譯器,但很多專業(yè)的第三方公司有眾多支持PIC 單片機(jī)的C 語言編譯器提供,常見的有Hitech、CCS、IAR、Bytecraft 等公司。其中筆者最常用的是Hitech 公司的PICC 編譯器,它穩(wěn)定可靠,編譯生成的代碼效率高,在用PIC 單片機(jī)進(jìn)行系統(tǒng)設(shè)計(jì)和開發(fā)的工程師群體中得到廣泛認(rèn)可。其正式完全版軟件需要購(gòu)置,但在其網(wǎng)站上有限時(shí)的試用版供用戶評(píng)估。另外,Hitech 公司針對(duì)廣大PIC 的業(yè)余愛好者和初學(xué)者還提供了完全免費(fèi)的學(xué)習(xí)版PICC-Lite 編譯器套件,它的使用方式和完全版相同,只是支持的PIC 單片機(jī)型號(hào)限制在PIC16F84、PIC16F877 和PIC16F628 等幾款。這幾款Flash 型的單片機(jī)因其所具備的豐富的片上資源而最適用于單片機(jī)學(xué)習(xí)入門,因此筆者建議感興趣的讀者可從PICC-Lite 入手掌握PIC 單片機(jī)的C 語言編程。
上傳時(shí)間: 2013-11-12
上傳用戶:wfeel
51 單片機(jī)C 語言學(xué)習(xí)雜記學(xué)習(xí)單片機(jī)實(shí)在不是件易事,一來要購(gòu)買高價(jià)格的編程器,仿真器,二來要學(xué)習(xí)編程語言,還有眾多種類的單片機(jī)選擇真是件讓人頭痛的事。在眾多單片機(jī)中51 架構(gòu)的芯片風(fēng)行很久,學(xué)習(xí)資料也相對(duì)很多,是初學(xué)的較好的選擇之一。51 的編程語言常用的有二種,一種是匯編語言,一種是C 語言。匯編語言的機(jī)器代碼生成效率很高但可讀性卻并不強(qiáng),復(fù)雜一點(diǎn)的程序就更是難讀懂,而C 語言在大多數(shù)情況下其機(jī)器代碼生成效率和匯編語言相當(dāng),但可讀性和可移植性卻遠(yuǎn)遠(yuǎn)超過匯編語言,而且C 語言還可以嵌入?yún)R編來解決高時(shí)效性的代碼編寫問題。對(duì)于開發(fā)周期來說,中大型的軟件編寫用C 語言的開發(fā)周期通常要小于匯編語言很多。綜合以上C 語言的優(yōu)點(diǎn),我在學(xué)習(xí)時(shí)選擇了C 語言。以后的教程也只是我在學(xué)習(xí)過程中的一些學(xué)習(xí)筆記和隨筆,在這里加以整理和修改,希望和大家一起分享,一起交流,一起學(xué)習(xí),一起進(jìn)步。*注:可以肯定的說這個(gè)教程只是為初學(xué)或入門者準(zhǔn)備的,筆者本人也只是菜鳥一只,第一課 建立您的第一個(gè)C 項(xiàng)目使用C 語言肯定要使用到C 編譯器,以便把寫好的C 程序編譯為機(jī)器碼,這樣單片機(jī)才能執(zhí)行編寫好的程序。KEIL uVISION2 是眾多單片機(jī)應(yīng)用開發(fā)軟件中優(yōu)秀的軟件之一,它支持眾多不同公司的MCS51 架構(gòu)的芯片,它集編輯,編譯,仿真等于一體,同時(shí)還支持,PLM,匯編和C 語言的程序設(shè)計(jì),它的界面和常用的微軟VC++的界面相似,界面友好,易學(xué)易用,在調(diào)試程序,軟件仿真方面也有很強(qiáng)大的功能。因此很多開發(fā)51 應(yīng)用的工程師或普通的單片機(jī)愛好者,都對(duì)它十分喜歡。以上簡(jiǎn)單介紹了KEIL51 軟件,要使用KEIL51 軟件,必需先要安裝它。KEIL51 是一個(gè)商業(yè)的軟件,對(duì)于我們這些普通愛好者可以到KEIL 中國(guó)代理周立功公司的網(wǎng)站上下載一份能編譯2K 的DEMO 版軟件,基本可以滿足一般的個(gè)人學(xué)習(xí)和小型應(yīng)用的開發(fā)。(安裝的方法和普通軟件相當(dāng)這里就不做介紹了)安裝好后,您是不是迫不及待的想建立自己的第一個(gè)C 程序項(xiàng)目呢?下面就讓我們一起來建立一個(gè)小程序項(xiàng)目吧。或許您手中還沒有一塊實(shí)驗(yàn)板,甚至沒有一塊單片機(jī),不過沒有關(guān)系我們可以通過KEIL 軟件仿真看到程序運(yùn)行的結(jié)果。首先當(dāng)然是運(yùn)行KEIL51 軟件。怎么打開?噢,天!那您要從頭學(xué)電腦了。呵呵,開個(gè)玩笑,這個(gè)問題我想讀者們也不會(huì)提的了:P。運(yùn)行幾秒后,出現(xiàn)如圖1-1 的屏幕。
標(biāo)簽: 單片機(jī)c語言 入門教程
上傳時(shí)間: 2014-01-23
上傳用戶:yyyyyyyyyy
PIC 單片機(jī)C 語言編程簡(jiǎn)介用C 語言來開發(fā)單片機(jī)系統(tǒng)軟件最大的好處是編寫代碼效率高、軟件調(diào)試直觀、維護(hù)升級(jí)方便、代碼的重復(fù)利用率高、便于跨平臺(tái)的代碼移植等等,因此C 語言編程在單片機(jī)系統(tǒng)設(shè)計(jì)中已得到越來越廣泛的運(yùn)用。針對(duì)PIC 單片機(jī)的軟件開發(fā),同樣可以用C 語言實(shí)現(xiàn)。但在單片機(jī)上用C 語言寫程序和在PC 機(jī)上寫程序絕對(duì)不能簡(jiǎn)單等同。現(xiàn)在的PC 機(jī)資源十分豐富,運(yùn)算能力強(qiáng)大,因此程序員在寫PC 機(jī)的應(yīng)用程序時(shí)幾乎不用關(guān)心編譯后的可執(zhí)行代碼在運(yùn)行過程中需要占用多少系統(tǒng)資源,也基本不用擔(dān)心運(yùn)行效率有多高。寫單片機(jī)的C 程序最關(guān)鍵的一點(diǎn)是單片機(jī)內(nèi)的資源非常有限,控制的實(shí)時(shí)性要求又很高,因此,如果沒有對(duì)單片機(jī)體系結(jié)構(gòu)和硬件資源作詳盡的了解,以筆者的愚見認(rèn)為是無法寫出高質(zhì)量實(shí)用的C 語言程序。這就是為什么前面所有章節(jié)中的的示范代碼全部用基礎(chǔ)的匯編指令實(shí)現(xiàn)的原因,希望籍此能使讀者對(duì)PIC 單片機(jī)的指令體系和硬件資源有深入了解,在這基礎(chǔ)之上再來討論C 語言編程,就有水到渠成的感覺。本書圍繞中檔系列PIC 單片機(jī)來展開討論,Microchip 公司自己沒有針對(duì)中低檔系列PIC單片機(jī)的C 語言編譯器,但很多專業(yè)的第三方公司有眾多支持PIC 單片機(jī)的C 語言編譯器提供,常見的有Hitech、CCS、IAR、Bytecraft 等公司。其中筆者最常用的是Hitech 公司的PICC 編譯器,它穩(wěn)定可靠,編譯生成的代碼效率高,在用PIC 單片機(jī)進(jìn)行系統(tǒng)設(shè)計(jì)和開發(fā)的工程師群體中得到廣泛認(rèn)可。其正式完全版軟件需要購(gòu)置,但在其網(wǎng)站上有限時(shí)的試用版供用戶評(píng)估。另外,Hitech 公司針對(duì)廣大PIC 的業(yè)余愛好者和初學(xué)者還提供了完全免費(fèi)的學(xué)習(xí)版PICC-Lite 編譯器套件,它的使用方式和完全版相同,只是支持的PIC 單片機(jī)型號(hào)限制在PIC16F84、PIC16F877 和PIC16F628 等幾款。這幾款Flash 型的單片機(jī)因其所具備的豐富的片上資源而最適用于單片機(jī)學(xué)習(xí)入門,因此筆者建議感興趣的讀者可從PICC-Lite 入手掌握PIC 單片機(jī)的C 語言編程。
標(biāo)簽: pic 單片機(jī)c語言 教程
上傳時(shí)間: 2013-11-17
上傳用戶:15527161163
光盤內(nèi)容1.1例 程 “例程”文件夾中為各章節(jié)的程序代碼,均在作者的目標(biāo)板上(自行開發(fā))調(diào)試通過,以確保程序正確。n Keil C對(duì)中文文件、目錄以及空格等可能無法編譯連接,所以若要正確調(diào)試,須確保所有文件、目錄為連續(xù)英文名或數(shù)字。n 這些程序應(yīng)用到其他C8051Fxxx系列單片機(jī)時(shí),要確保各個(gè)操作寄存器的名稱、地址與各個(gè)控制位相一致,否則需要修改。很多寄存器位的位置并不相同,所以移植程序時(shí),使用者要參考F040寄存器和移植對(duì)象單片機(jī)的寄存器,以確保正確操作。1.2 原理圖及pcb封裝“原理圖及pcb封裝”文件夾里包含作者制作的C8051F040PCB封裝和原理圖引腳定義文件c8051f040.ddb。其中PCB封裝與Silicon Laboratories公司(原Cygnal公司)提供的TQ100封裝稍有不同(在cygnalpcb文件中): 作者所做引腳長(zhǎng)為2.5 mm,而cygnalpcb文件中的引腳長(zhǎng)為1.3 mm。加長(zhǎng)引腳焊盤是為了方便手工焊芯片。用戶可根據(jù)需要和習(xí)慣選擇封裝。
標(biāo)簽: C8051F040 單片機(jī)開發(fā) C語言編程
上傳時(shí)間: 2013-11-19
上傳用戶:
EEPROM為ATMEL公司的AT24C01A。單片機(jī)為ATMEL公司的AT89C51。2. 軟件說明 C語言為Franklin C V3.2。將源程序另存為testi2c.c,用命令C51 testi2c.cL51 TESTI2C.OBJOHS51 TESTI2C編譯,連接,得到TESTI2C.HEX文件,即可由編程器讀入并進(jìn)行寫片,實(shí)驗(yàn)。3.源程序#include <reg51.h>#include <intrins.h> #define uchar unsigned char#define uint unsigned int#define AddWr 0xa0 /*器件地址選擇及寫標(biāo)志*/#define AddRd 0xa1 /*器件地址選擇及讀標(biāo)志*/#define Hidden 0x0e /*顯示器的消隱碼*/
上傳時(shí)間: 2013-10-09
上傳用戶:hjshhyy
買的開發(fā)板上帶的52個(gè)應(yīng)用于實(shí)物的程序,希望對(duì)大家有幫助
標(biāo)簽: 單片機(jī)開發(fā)板 c語言 程序 源代碼
上傳時(shí)間: 2013-11-04
上傳用戶:xymbian
二: 普通計(jì)算器的設(shè)計(jì)說明: 1 普通計(jì)算器的主要功能(普通計(jì)算與逆波蘭計(jì)算): 1.1主要功能: 包括 a普通加減乘除運(yùn)算及帶括號(hào)的運(yùn)算 b各類三角與反三角運(yùn)算(可實(shí)現(xiàn)角度與弧度的切換) c邏輯運(yùn)算, d階乘與分解質(zhì)因數(shù)等 e各種復(fù)雜物理常數(shù)的記憶功能 f對(duì)運(yùn)算過程的中間變量及上一次運(yùn)算結(jié)果的儲(chǔ)存. G 定積分計(jì)算器(只要輸入表達(dá)式以及上下限就能將積分結(jié)果輸出) H 可編程計(jì)算器(只要輸入帶變量的表達(dá)式后,再輸入相應(yīng)的變量的值就能得到相應(yīng)的結(jié)果) I 二進(jìn)制及八進(jìn)制的計(jì)算器 j十六進(jìn)制轉(zhuǎn)化為十進(jìn)制的功能。 *k (附帶各種進(jìn)制間的轉(zhuǎn)化器)。 L幫助與階乘等附屬功能
標(biāo)簽: 運(yùn)算 1.1 計(jì)算器 計(jì)算
上傳時(shí)間: 2013-11-26
上傳用戶:yzy6007
利用RTOS機(jī)制實(shí)現(xiàn)機(jī)械系統(tǒng)中的質(zhì)量,阻尼等...也可利用鍵盤輸入m,k,c,來改變sin波的位移量
上傳時(shí)間: 2014-01-11
上傳用戶:13517191407
經(jīng)典c程序100例==1--10 【程序1】 題目:有1、2、3、4個(gè)數(shù)字,能組成多少個(gè)互不相同且無重復(fù)數(shù)字的三位數(shù)?都是多少? 1.程序分析:可填在百位、十位、個(gè)位的數(shù)字都是1、2、3、4。組成所有的排列后再去 掉不滿足條件的排列。 2.程序源代碼: main() { int i,j,k printf("\n") for(i=1 i<5 i++) /*以下為三重循環(huán)*/ for(j=1 j<5 j++) for (k=1 k<5 k++) { if (i!=k&&i!=j&&j!=k) /*確保i、j、k三位互不相同*/ printf("%d,%d,%d\n",i,j,k) }
上傳時(shí)間: 2014-01-07
上傳用戶:lizhizheng88
S3C44B0X晶片的BOOTLOADER,結(jié)構(gòu)簡(jiǎn)單易懂,具有TFTP下載功能,使用ads運(yùn)行。
標(biāo)簽: BOOTLOADER S3C44B0X 晶片
上傳時(shí)間: 2015-03-31
上傳用戶:我們的船長(zhǎng)
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1