單片機C語言入門教程 (1)

單片機C語言入門教程 (1) 學習一種編程語言,最重要的是建立一個練習環境,邊學邊練才能學好。Keil軟體是目前最流行開發80C51系列單片機的軟體,Keil提供了包括C編譯器、宏彙編、連接器、庫管理和一個功能強大的模擬調試器等在內的完整開發方案,通過一個集成開發環境(?Vision)將這些部份組合在一起。學習之前請先安裝KEILC51軟體,在學會使用彙編語言後,學習C語言編程是一件比較容易的事,我們將通過一系列的實例介紹C語言編程的方法。圖1-1所示電路圖使用89c51單片機作為主晶元,這種單片機性屬於80C51系列,其內部有8K的FLASH ROM,可以反覆擦寫,非常適於做實驗。89c51的P1引腳上接8個發光二極體,P3.2~P3.4引腳上接4個按鈕開關,我們的任務是讓接在P1引腳上的發光二極體按要求發光。

1 簡單的C程序介紹例1-1: 讓接在P1.0引腳上的LED發光。/************************************************單燈閃爍程序*************************************************/#include "reg51.h"//這一句是將51的常用埠,內部寄存器等的定義文件包含進這段程序sbit P1_0=P1^0;void main(){  P1_1=0;}這個程序的作用是讓接在P1.0引腳上的LED點亮。下面來分析一下這個C語言程序包含了哪些信息。1)"文件包含"處理。程序的第一行是一個"文件包含"處理。所謂"文件包含"是指一個文件將另外一個文件的內容全部包含進來,所以這裡的程序雖然只有4行,但C編譯器在處理的時候卻要處理幾十或幾百行。這裡程序中包含REG51.h文件的目的是為了要使用P1這個符號,即通知C編譯器,程序中所寫的P1是指80C51單片機的P1埠而不是其它變數。這是如何做到的呢?打開reg51.h可以看到這樣的一些內容:/*--------------------------------------------------------------------REG51.HHeader 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; (本文轉自電子工程世界:http://www.eeworld.com.cn/mcu/2012/1218/article_11543.html)


推薦閱讀:

TAG:語言 | 單片機 | 教程 | 入門教程 | C語言 | C語言入門 | 入門 |