HI-TECH PICC C 的使用說(shuō)明. 這里我們只講述了PICC C 與標(biāo)準(zhǔn)C 的不同,它不是一本C 語(yǔ)言的教程, 并且我們假定你有C 語(yǔ)言的基礎(chǔ). 為了對(duì)PIC 單片機(jī)有更好的支持,PICC 在標(biāo)準(zhǔn)C 的基礎(chǔ)上作了一些擴(kuò)充: 定義I/O 函數(shù),以便在你的硬件系統(tǒng)中使用<stdio.h>中定義的函數(shù)。 用C 語(yǔ)言編寫(xiě)中斷服務(wù)程序 用C 語(yǔ)言編寫(xiě)I/O 操作程序 C 語(yǔ)言與匯編語(yǔ)言間的接口1-1 與標(biāo)準(zhǔn)C 的不同PICC 只在一處與標(biāo)準(zhǔn)C 不同:函數(shù)的重入。因?yàn)镻IC 單片機(jī)的寄存器及堆棧有限,所以PICC 不支持可重入函數(shù)。1-2 支持的PIC 芯片PICC 支持很多PIC 單片機(jī),支持PIC 單片機(jī)的類型在LIB 目錄下的picinfo.ini文件中有定義。1-3 PICC 包含一些標(biāo)準(zhǔn)庫(kù)1-4 PICC 編譯器可以輸出一些格式的目標(biāo)文件,缺省設(shè)置為輸出Bytecraft 的'COD'格式和 Intel 的'HEX'格式。你可以用表1-1 中的命令來(lái)指定輸出格式。
標(biāo)簽: HI-TECH PICC 使用說(shuō)明
上傳時(shí)間: 2013-10-10
上傳用戶:781354052
U盤(pán)IC1114的電路圖和C語(yǔ)言源程序
標(biāo)簽: 1114 IC U盤(pán) C語(yǔ)言
上傳時(shí)間: 2013-12-17
上傳用戶:hanli8870
微型打印機(jī)的C語(yǔ)言源程序:微型打印機(jī)的C51源程序#define uchar unsigned char#define uint unsigned int#include <reg52.h>#include <stdio.h>#include <absacc.h>#include <math.h>#include <string.h>#include <ctype.h>#include <stdlib.h>#define PIN XBYTE[0x8000]#define POUT XBYTE[0x9000]sbit PRINTSTB =P1^6;sbit DOG=P1^7;bdata char pin&#118alue;sbit PRINTBUSY=pin&#118alue^7;sbit PRINTSEL =pin&#118alue^6;sbit PRINTERR =pin&#118alue^5;sbit PRINTACK =pin&#118alue^4; void PrintString(uchar *String1,uchar *String2);void initprint(void);void print(uchar a); void initprint(void) //打印機(jī)初始化子程序 { pin&#118alue=PIN; if((PRINTSEL==1)&&(PRINTERR==1)) { print(0x1b); print(0x40); print(0x1b); print(0x38); print(0x4); }}void print(uchar a) //打印字符a{ pin&#118alue=PIN; if((PRINTSEL==0)||(PRINTERR==0)) return; for(;;) { DOG=~DOG; pin&#118alue=PIN; if(PRINTBUSY==0) break; } DOG=~DOG; POUT=a; PRINTSTB=1; PRINTSTB=1; PRINTSTB=1; PRINTSTB=1; PRINTSTB=0; PRINTSTB=0; PRINTSTB=0; PRINTSTB=0; PRINTSTB=1;}void PrintString(uchar *String) //打印字符串后回車{ uchar CH; for (;;) { DOG=~DOG; CH=*String; if (CH==0) { print(0x0d); break; } print(CH); String++; } initprint();}
標(biāo)簽: 微型打印機(jī) C語(yǔ)言 源程序
上傳時(shí)間: 2013-10-18
上傳用戶:hasan2015
Keil C51 使用技巧及實(shí)戰(zhàn):到你的程序中這本書(shū)將教你充分使用你的工具如果你只有8051 的匯編程序你也可以學(xué)習(xí)該書(shū)和使用這些例子但是你必須把C 語(yǔ)言的程序裝入你的匯編程序中這對(duì)懂得C 語(yǔ)言和8051匯編程序指令的人來(lái)說(shuō)并不是一件困難的事如果你有C 編譯器的話那恭喜你使用C 語(yǔ)言進(jìn)行開(kāi)發(fā)是一個(gè)好的決定你會(huì)發(fā)現(xiàn)使用C 進(jìn)行開(kāi)發(fā)將使你的工程開(kāi)發(fā)和維護(hù)的時(shí)間大大減少如果你已經(jīng)擁有Keil C51 那你已經(jīng)選擇了一個(gè)非常好的開(kāi)發(fā)工具我發(fā)現(xiàn)Keil 軟件包能夠提供最好的支持本書(shū)支持Keil C 的擴(kuò)展如果你有其它的開(kāi)發(fā)工具像Archimedes 和Avocet 這本書(shū)也能很好地為你服務(wù)但你必須根據(jù)你所用的開(kāi)發(fā)工具改變一些Keil 的特殊指令在書(shū)的一些地方有硬件圖實(shí)例程序在這些硬件上運(yùn)行這些圖繪制地不是很詳細(xì)主要是方框圖但足以使讀者明白軟件和硬件之間的接口讀者應(yīng)該把這本書(shū)看成工具書(shū)而不是用來(lái)學(xué)習(xí)各種系統(tǒng)設(shè)計(jì)通過(guò)本書(shū)你可以了解給定一定的硬件和軟件設(shè)計(jì)之后8051 的各種性能希望你能從本書(shū)中獲取靈感并有助于你的設(shè)計(jì)使你豁然開(kāi)朗當(dāng)然我希望你也能夠從本書(shū)中學(xué)到有用的知識(shí)使之能夠提升你的設(shè)計(jì)。
上傳時(shí)間: 2013-10-27
上傳用戶:Jerry_Chow
AVR系統(tǒng)單片機(jī)C語(yǔ)言編程與應(yīng)用實(shí)例針對(duì)Atmel公司的AVR系列單片機(jī)和ImageCraft公司的ICC AVR開(kāi)發(fā)環(huán)境,詳細(xì)地介紹了AT90LS8535的C語(yǔ)言程序設(shè)計(jì)。全書(shū)共有13章,其內(nèi)容既涉及到了單片機(jī)的結(jié)構(gòu)原理、指令系統(tǒng)、內(nèi)容資源和外部功能擴(kuò)展,又包含了單片機(jī)的編程工具——ICC AVR C編程器的數(shù)據(jù)類型、控制流、函數(shù)和指針等。本書(shū)的特點(diǎn)是:深入淺出,從最基本的概念開(kāi)始,循序漸進(jìn)地講解單片機(jī)的應(yīng)用開(kāi)發(fā);列舉了大量實(shí)例,使讀者能從實(shí)際應(yīng)用中掌握單片機(jī)的開(kāi)發(fā)與應(yīng)用技術(shù)。本書(shū)適合作為從事單片機(jī)開(kāi)發(fā)人員的參考用書(shū)。
標(biāo)簽: AVR 單片機(jī) C語(yǔ)言編程
上傳時(shí)間: 2013-10-19
上傳用戶:xz85592677
AVR單片機(jī)C語(yǔ)言開(kāi)發(fā)入門(mén)指導(dǎo):本書(shū)介紹了ICCAVR編譯器使用C語(yǔ)言的有關(guān)知識(shí),也穿插介紹ICCAVR與常用的其他C編譯器使用C語(yǔ)言的一些異同點(diǎn),并簡(jiǎn)單介紹ICCAVR的集成環(huán)境和ICCAVR 6.26C能支持的庫(kù)函數(shù)。本書(shū)重點(diǎn)放在如何利用C語(yǔ)言來(lái)操作AVR單片機(jī)的硬件資源,以及如何編寫(xiě)一些實(shí)用的程序段,最后再通過(guò)一些簡(jiǎn)單的應(yīng)用實(shí)例來(lái)說(shuō)明如何使用C語(yǔ)言一開(kāi)發(fā)AVR芯片。本書(shū)適合開(kāi)發(fā)AVR單片機(jī)的工程技術(shù)人員,也適合大中專院校。 推薦圖書(shū):介紹了C語(yǔ)言知識(shí)、并給出了操作單片機(jī)硬件的例程,后面簡(jiǎn)單地介紹了其它幾款C編譯器。本書(shū)非常適合AVR單片機(jī)初學(xué)者學(xué)習(xí)使用。
上傳時(shí)間: 2013-10-23
上傳用戶:liglechongchong
51單片機(jī)驅(qū)動(dòng)步進(jìn)電機(jī)(含電路圖和源程序代碼) 源程序:stepper.c stepper.hex /* * STEPPER.C * sweeping stepper's rotor cw and cww 400 steps * Copyright (c) 1999 by W.Sirichote */ #i nclude c:\mc5151io.h /* include i/o header file */ #i nclude c:\mc5151reg.h register unsigned char j,flag1,temp; register unsigned int cw_n,ccw_n; unsigned char step[8]={0x80,0xc0,0x40,0x60,0x20,0x30,0x10,0x90} #define n 400 /* flag1 mask byte 0x01 run cw() 0x02 run ccw() */
標(biāo)簽: 51單片機(jī) 驅(qū)動(dòng) 步進(jìn)電機(jī) C語(yǔ)言
上傳時(shí)間: 2013-11-09
上傳用戶:釣鰲牧馬
C語(yǔ)言編程基礎(chǔ):1. 十六進(jìn)制表示字節(jié)0x5a:二進(jìn)制為01011010B;0x6E為01101110。 2. 如果將一個(gè)16位二進(jìn)數(shù)賦給一個(gè)8位的字節(jié)變量,則自動(dòng)截?cái)酁榈?位,而丟掉高8位。 3. ++var表示對(duì)變量var先增一;var—表示對(duì)變量后減一。 4. x |= 0x0f;表示為 x = x | 0x0f; 5. TMOD = ( TMOD & 0xf0 ) | 0x05;表示給變量TMOD的低四位賦值0x5,而不改變TMOD的高四位。 6. While( 1 ); 表示無(wú)限執(zhí)行該語(yǔ)句,即死循環(huán)。語(yǔ)句后的分號(hào)表示空循環(huán)體,也就是{;} 在某引腳輸出高電平的編程方法:(比如P1.3(PIN4)引腳)1. #include <AT89x52.h> //該頭文檔中有單片機(jī)內(nèi)部資源的符號(hào)化定義,其中包含P1.3 2. void main( void ) //void 表示沒(méi)有輸入?yún)?shù),也沒(méi)有函數(shù)返值,這入單片機(jī)運(yùn)行的復(fù)位入口 3. { 4. P1_3 = 1; //給P1_3賦值1,引腳P1.3就能輸出高電平VCC 5. While( 1 ); //死循環(huán),相當(dāng) LOOP: goto LOOP; 6. } 注意:P0的每個(gè)引腳要輸出高電平時(shí),必須外接上拉電阻(如4K7)至VCC電源。在某引腳輸出低電平的編程方法:(比如P2.7引腳)代碼1. #include <AT89x52.h> //該頭文檔中有單片機(jī)內(nèi)部資源的符號(hào)化定義,其中包含P2.7 2. void main( void ) //void 表示沒(méi)有輸入?yún)?shù),也沒(méi)有函數(shù)返值,這入單片機(jī)運(yùn)行的復(fù)位入口 3. { 4. P2_7 = 0; //給P2_7賦值0,引腳P2.7就能輸出低電平GND 5. While( 1 ); //死循環(huán),相當(dāng) LOOP: goto LOOP; 6. } 在某引腳輸出方波編程方法:(比如P3.1引腳)代碼1. #include <AT89x52.h> //該頭文檔中有單片機(jī)內(nèi)部資源的符號(hào)化定義,其中包含P3.1 2. void main( void ) //void 表示沒(méi)有輸入?yún)?shù),也沒(méi)有函數(shù)返值,這入單片機(jī)運(yùn)行的復(fù)位入口 3. { 4. While( 1 ) //非零表示真,如果為真則執(zhí)行下面循環(huán)體的語(yǔ)句 5. { 6. P3_1 = 1; //給P3_1賦值1,引腳P3.1就能輸出高電平VCC 7. P3_1 = 0; //給P3_1賦值0,引腳P3.1就能輸出低電平GND 8. } //由于一直為真,所以不斷輸出高、低、高、低……,從而形成方波 9. } 將某引腳的輸入電平取反后,從另一個(gè)引腳輸出:( 比如 P0.4 = NOT( P1.1) )
標(biāo)簽: 51單片機(jī)C語(yǔ)言 編程實(shí)例
上傳時(shí)間: 2013-11-02
上傳用戶:zengduo
用C 語(yǔ)言來(lái)開(kāi)發(fā)單片機(jī)系統(tǒng)軟件最大的好處是編寫(xiě)代碼效率高、軟件調(diào)試直觀、維護(hù)升級(jí)方便、代碼的重復(fù)利用率高、便于跨平臺(tái)的代碼移植等等,因此C 語(yǔ)言編程在單機(jī)系統(tǒng)設(shè)計(jì)中已得到越來(lái)越廣泛的運(yùn)用。針對(duì)PIC 單片機(jī)的軟件開(kāi)發(fā),同樣可以用C 語(yǔ)言實(shí)現(xiàn)。但在單片機(jī)上用C 語(yǔ)言寫(xiě)程序和在PC 機(jī)上寫(xiě)程序絕對(duì)不能簡(jiǎn)單等同。現(xiàn)在的PC 機(jī)資源十分豐富,運(yùn)算能力強(qiáng)大,因此程序員在寫(xiě)PC 機(jī)的應(yīng)用程序時(shí)幾乎不用關(guān)心編譯后的可執(zhí)行代碼在運(yùn)行過(guò)程中需要占用多少系統(tǒng)資源,也基本不用擔(dān)心運(yùn)行效率有多高。寫(xiě)單片機(jī)的C 程序最關(guān)鍵的一點(diǎn)是單片機(jī)內(nèi)的資源非常有限,控制的實(shí)時(shí)性要求又很高,因此,如果沒(méi)有對(duì)單片機(jī)體系結(jié)構(gòu)和硬件資源作詳盡的了解,以筆者的愚見(jiàn)認(rèn)為是無(wú)法寫(xiě)出高質(zhì)量實(shí)用的C 語(yǔ)言程序。這就是為什么前面所有章節(jié)中的的示范代碼全部用基礎(chǔ)的匯編指令實(shí)現(xiàn)的原因,希望籍此能使讀者對(duì)PIC 單片機(jī)的指令體系和硬件資源有深入了解,在這基礎(chǔ)之上再來(lái)討論C 語(yǔ)言編程,就有水到渠成的感覺(jué)。本書(shū)圍繞中檔系列PIC 單片機(jī)來(lái)展開(kāi)討論,Microchip 公司自己沒(méi)有針對(duì)中低檔系列PIC單片機(jī)的C 語(yǔ)言編譯器,但很多專業(yè)的第三方公司有眾多支持PIC 單片機(jī)的C 語(yǔ)言編譯器提供,常見(jiàn)的有Hitech、CCS、IAR、Bytecraft 等公司。其中筆者最常用的是Hitech 公司的PICC 編譯器,它穩(wěn)定可靠,編譯生成的代碼效率高,在用PIC 單片機(jī)進(jìn)行系統(tǒng)設(shè)計(jì)和開(kāi)發(fā)的工程師群體中得到廣泛認(rèn)可。其正式完全版軟件需要購(gòu)置,但在其網(wǎng)站上有限時(shí)的試用版供用戶評(píng)估。另外,Hitech 公司針對(duì)廣大PIC 的業(yè)余愛(ài)好者和初學(xué)者還提供了完全免費(fèi)的學(xué)習(xí)版PICC-Lite 編譯器套件,它的使用方式和完全版相同,只是支持的PIC 單片機(jī)型號(hào)限制在PIC16F84、PIC16F877 和PIC16F628 等幾款。這幾款Flash 型的單片機(jī)因其所具備的豐富的片上資源而最適用于單片機(jī)學(xué)習(xí)入門(mén),因此筆者建議感興趣的讀者可從PICC-Lite 入手掌握PIC 單片機(jī)的C 語(yǔ)言編程。
標(biāo)簽: PIC C語(yǔ)言編程 單片機(jī)
上傳時(shí)間: 2013-11-12
上傳用戶:wfeel
51 單片機(jī)C 語(yǔ)言學(xué)習(xí)雜記學(xué)習(xí)單片機(jī)實(shí)在不是件易事,一來(lái)要購(gòu)買(mǎi)高價(jià)格的編程器,仿真器,二來(lái)要學(xué)習(xí)編程語(yǔ)言,還有眾多種類的單片機(jī)選擇真是件讓人頭痛的事。在眾多單片機(jī)中51 架構(gòu)的芯片風(fēng)行很久,學(xué)習(xí)資料也相對(duì)很多,是初學(xué)的較好的選擇之一。51 的編程語(yǔ)言常用的有二種,一種是匯編語(yǔ)言,一種是C 語(yǔ)言。匯編語(yǔ)言的機(jī)器代碼生成效率很高但可讀性卻并不強(qiáng),復(fù)雜一點(diǎn)的程序就更是難讀懂,而C 語(yǔ)言在大多數(shù)情況下其機(jī)器代碼生成效率和匯編語(yǔ)言相當(dāng),但可讀性和可移植性卻遠(yuǎn)遠(yuǎn)超過(guò)匯編語(yǔ)言,而且C 語(yǔ)言還可以嵌入?yún)R編來(lái)解決高時(shí)效性的代碼編寫(xiě)問(wèn)題。對(duì)于開(kāi)發(fā)周期來(lái)說(shuō),中大型的軟件編寫(xiě)用C 語(yǔ)言的開(kāi)發(fā)周期通常要小于匯編語(yǔ)言很多。綜合以上C 語(yǔ)言的優(yōu)點(diǎn),我在學(xué)習(xí)時(shí)選擇了C 語(yǔ)言。以后的教程也只是我在學(xué)習(xí)過(guò)程中的一些學(xué)習(xí)筆記和隨筆,在這里加以整理和修改,希望和大家一起分享,一起交流,一起學(xué)習(xí),一起進(jìn)步。*注:可以肯定的說(shuō)這個(gè)教程只是為初學(xué)或入門(mén)者準(zhǔn)備的,筆者本人也只是菜鳥(niǎo)一只,第一課 建立您的第一個(gè)C 項(xiàng)目使用C 語(yǔ)言肯定要使用到C 編譯器,以便把寫(xiě)好的C 程序編譯為機(jī)器碼,這樣單片機(jī)才能執(zhí)行編寫(xiě)好的程序。KEIL uVISION2 是眾多單片機(jī)應(yīng)用開(kāi)發(fā)軟件中優(yōu)秀的軟件之一,它支持眾多不同公司的MCS51 架構(gòu)的芯片,它集編輯,編譯,仿真等于一體,同時(shí)還支持,PLM,匯編和C 語(yǔ)言的程序設(shè)計(jì),它的界面和常用的微軟VC++的界面相似,界面友好,易學(xué)易用,在調(diào)試程序,軟件仿真方面也有很強(qiáng)大的功能。因此很多開(kāi)發(fā)51 應(yīng)用的工程師或普通的單片機(jī)愛(ài)好者,都對(duì)它十分喜歡。以上簡(jiǎn)單介紹了KEIL51 軟件,要使用KEIL51 軟件,必需先要安裝它。KEIL51 是一個(gè)商業(yè)的軟件,對(duì)于我們這些普通愛(ài)好者可以到KEIL 中國(guó)代理周立功公司的網(wǎng)站上下載一份能編譯2K 的DEMO 版軟件,基本可以滿足一般的個(gè)人學(xué)習(xí)和小型應(yīng)用的開(kāi)發(fā)。(安裝的方法和普通軟件相當(dāng)這里就不做介紹了)安裝好后,您是不是迫不及待的想建立自己的第一個(gè)C 程序項(xiàng)目呢?下面就讓我們一起來(lái)建立一個(gè)小程序項(xiàng)目吧。或許您手中還沒(méi)有一塊實(shí)驗(yàn)板,甚至沒(méi)有一塊單片機(jī),不過(guò)沒(méi)有關(guān)系我們可以通過(guò)KEIL 軟件仿真看到程序運(yùn)行的結(jié)果。首先當(dāng)然是運(yùn)行KEIL51 軟件。怎么打開(kāi)?噢,天!那您要從頭學(xué)電腦了。呵呵,開(kāi)個(gè)玩笑,這個(gè)問(wèn)題我想讀者們也不會(huì)提的了:P。運(yùn)行幾秒后,出現(xiàn)如圖1-1 的屏幕。
標(biāo)簽: 單片機(jī)c語(yǔ)言 入門(mén)教程
上傳時(shí)間: 2014-01-23
上傳用戶:yyyyyyyyyy
蟲(chóng)蟲(chóng)下載站版權(quán)所有 京ICP備2021023401號(hào)-1