单片机C语言入门教程
学习一种编程语言,最重要的是建立一个练习环境,边学边练才能学好。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.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;
相关阅读
-
12-31
-
12-31
-
12-30
-
12-30
-
12-30
-
12-30
-
12-30
-
12-30
推荐阅读
-
-
江苏省养老方式及服务需求研究报告发布
当你老了,如何养老?10月11日,江苏省消保委发布《江苏省养老方式及服务需求研究报告》(简称《报告》),本次研究采用线上问卷和线下问卷调 更多
2021-10-12 07:55:20
-
-
电影票房狂吸金超40亿元 上市公司表现如何呢?
在刚刚过去的国庆长假里,电影票房成绩优秀。据灯塔专业版数据,2021年国庆档总票房43 86亿元,这是国庆档票房历史第二次破40亿,仅次于201 更多
2021-10-09 07:54:06
-
-
国庆假期你去露营了吗?我国目前有3.2万家露营相
相约露营,现如今变得新潮又时尚。把客厅、厨房和卧室,都搬到野外去,食于山野,宿于山野,每一帧画面都透露出一种岁月静好的美好。扬子晚 更多
2021-10-08 08:27:04
-
-
我国现存眼镜企业超132万家 南京居全国第四
日前,在第三届国民视觉健康高峰论坛上分享了一组数据,2020年,我国儿童青少年总体近视率为52 7%,其中6岁儿童为14 3%,小学生为35 6%,初 更多
2021-10-08 07:54:47
-
-
兴昌塑胶拟减持不超1%股份 大股东减持曾重挫股价
股东减持出现新理由,要借给上市公司无偿使用。9月29日晚间,高乐股份(002348)披露称,公司实控人之一兴昌塑胶五金厂有限公司(以下简称兴昌 更多
2021-09-30 08:43:16
-
-
”酱油三剑客“股价都在涨 股价再度突破百元大关
9月26日晚间,海天味业公告:由于今年以来各主要原材物料、运输、能源等成本持续大幅上涨,给经营带来了一定的挑战,近期正在评估是否对产 更多
2021-09-28 07:50:33
-
-
“丝绸文创第一股”来了!万事利发行价格为5.24元
9月22日,以丝绸文化创意领先的杭州丝绸品牌万事利登陆A股创业板。万事利(301066)发行价格为5 24元 股,截至9月24日,最新股价为24 18元, 更多
2021-09-26 07:51:26
-
-
组团减持后股价大跌 百亚股份跌逾8%
卫生巾第一股百亚股份(003006)股东组团减持不超过公司10%股份的消息果然影响了公司9月22日的股价。截至9月22日收盘,百亚股份股价大跌8 02% 更多
2021-09-23 08:07:23
财经热图
-
今日必看
- 精彩话题