• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)C語(yǔ)言入門(mén)教程

    單片機(jī)C語(yǔ)言入門(mén)教程

    作者: 時(shí)間:2012-12-18 來(lái)源:網(wǎng)絡(luò) 收藏

    學(xué)習(xí)一種編程語(yǔ)言,最重要的是建立一個(gè)練習(xí)環(huán)境,邊學(xué)邊練才能學(xué)好。Keil軟件是目前最流行開(kāi)發(fā)系列的軟件,Keil提供了包括C編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開(kāi)發(fā)方案,通過(guò)一個(gè)集成開(kāi)發(fā)環(huán)境(?Vision)將這些部份組合在一起。

    學(xué)習(xí)之前請(qǐng)先安裝KEILC51軟件,在學(xué)會(huì)使用匯編語(yǔ)言后,學(xué)習(xí)編程是一件比較容易的事,我們將通過(guò)一系列的實(shí)例介紹編程的方法。圖1-1所示電路圖使用89c51作為主芯片,這種性屬于系列,其內(nèi)部有8K的FLASH ROM,可以反復(fù)擦寫(xiě),非常適于做實(shí)驗(yàn)。89c51的P1引腳上接8個(gè)發(fā)光二極管,P3.2~P3.4引腳上接4個(gè)按鈕開(kāi)關(guān),我們的任務(wù)是讓接在P1引腳上的發(fā)光二極管按要求發(fā)光。

    1.jpg

    1 簡(jiǎn)單的C程序介紹

    例1-1: 讓接在P1.0引腳上的LED發(fā)光。

    /************************************************

    單燈閃爍程序

    *************************************************/

    #include "reg51.h"http://這一句是將51的常用端口,內(nèi)部寄存器等的定義文件包含進(jìn)這段程序

    sbit P1_0=P1^0;

    void main()

    {  P1_1=0;

    }

    這個(gè)程序的作用是讓接在P1.0引腳上的LED點(diǎn)亮。下面來(lái)分析一下這個(gè)程序包含了哪些信息。

    1)"文件包含"處理。

    程序的第一行是一個(gè)"文件包含"處理。

    所謂"文件包含"是指一個(gè)文件將另外一個(gè)文件的內(nèi)容全部包含進(jìn)來(lái),所以這里的程序雖然只有4行,但C編譯器在處理的時(shí)候卻要處理幾十或幾百行。這里程序中包含REG51.h文件的目的是為了要使用P1這個(gè)符號(hào),即通知C編譯器,程序中所寫(xiě)的P1是指單片機(jī)的P1端口而不是其它變量。這是如何做到的呢?

    打開(kāi)reg51.h可以看到這樣的一些內(nèi)容:

    /*--------------------------------------------------------------------REG51.H

    Header file for generic 80C51 and 80C31 microcontroller.

    Copyright (c) 1988-2001 Keil Elektronik GmbH and Keil Software, Inc.

    All rights reserved.

    --------------------------------------------------------------------------*/

    /* BYTE Register */

    sfr P0 = 0x80;

    sfr P1 = 0x90;

    sfr P2 = 0xA0;

    sfr P3 = 0xB0;

    sfr PSW = 0xD0;

    sfr ACC = 0xE0;

    sfr B = 0xF0;

    sfr SP = 0x81;

    sfr DPL = 0x82;

    sfr DPH = 0x83;

    sfr PCON = 0x87;

    sfr TCON = 0x88;

    sfr TMOD = 0x89;

    sfr TL0 = 0x8A;

    sfr TL1 = 0x8B;

    sfr TH0 = 0x8C;

    sfr TH1 = 0x8D;

    sfr IE = 0xA8;

    sfr IP = 0xB8;

    sfr SCON = 0x98;

    sfr SBUF = 0x99;

    /* BIT Register */

    /* PSW */

    sbit CY = 0xD7;

    sbit AC = 0xD6;

    sbit F0 = 0xD5;

    sbit RS1 = 0xD4;

    sbit RS0 = 0xD3;

    sbit OV = 0xD2;

    sbit P = 0xD0;

    /* TCON */

    sbit TF1 = 0x8F;

    sbit TR1 = 0x8E;

    sbit TF0 = 0x8D;

    sbit TR0 = 0x8C;

    sbit IE1 = 0x8B;

    sbit IT1 = 0x8A;

    sbit IE0 = 0x89;

    sbit IT0 = 0x88;

    /* IE */

    sbit EA = 0xAF;

    sbit ES = 0xAC;

    sbit ET1 = 0xAB;

    sbit EX1 = 0xAA;

    sbit ET0 = 0xA9;

    sbit EX0 = 0xA8;

    /* IP */

    sbit PS = 0xBC;

    sbit PT1 = 0xBB;

    sbit PX1 = 0xBA;

    sbit PT0 = 0xB9;

    sbit PX0 = 0xB8;

    /* P3 */

    sbit RD = 0xB7;

    sbit WR = 0xB6;

    sbit T1 = 0xB5;

    sbit T0 = 0xB4;

    sbit INT1 = 0xB3;

    sbit INT0 = 0xB2;

    sbit TXD = 0xB1;

    sbit RXD = 0xB0;

    /* SCON */

    sbit SM0 = 0x9F;

    sbit SM1 = 0x9E;

    sbit SM2 = 0x9D;

    sbit REN = 0x9C;

    sbit TB8 = 0x9B;

    sbit RB8 = 0x9A;

    sbit TI = 0x99;

    sbit RI = 0x98;

    51單片機(jī)相關(guān)文章:51單片機(jī)教程


    單片機(jī)相關(guān)文章:單片機(jī)教程


    單片機(jī)相關(guān)文章:單片機(jī)視頻教程


    單片機(jī)相關(guān)文章:單片機(jī)工作原理



    上一頁(yè) 1 2 下一頁(yè)

    關(guān)鍵詞: 單片機(jī) C語(yǔ)言 80C51

    評(píng)論


    相關(guān)推薦

    技術(shù)專(zhuān)區(qū)

    關(guān)閉
    主站蜘蛛池模板: 正镶白旗| 边坝县| 常山县| 买车| 平罗县| 涞源县| 饶平县| 山阴县| 大姚县| 河间市| 河池市| 信宜市| 汶上县| 郓城县| 丹东市| 锡林浩特市| 鞍山市| 万安县| 赤峰市| 河南省| 嵊州市| 延边| 岳阳市| 包头市| 沅江市| 广水市| 曲松县| 贡觉县| 二手房| 师宗县| 健康| 长白| 庄浪县| 武义县| 高雄市| 新昌县| 二手房| 辽宁省| 曲松县| 内江市| 宁武县|