单片机c语言入门自学,单片机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引脚上的发光二极管按要求发光。

127c887bce217e84d01779c589d0a728.png

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;

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
从零开始 单片机 语言 刘建清 出版社: 国防工业出版社 发行时间: 2007 年01月 内容简介: 本书定位于让初学者从零起步,轻松学会单片机高级编程C语言以及实战技术。书中首先简要介绍了8051单片机的主要构成,然后重点介绍了单片机Cx51高级编程语言开发与仿真环境的使用方法,透彻地分析了Cx51的语法结构,并给出了大量实例。书中大多数实例和全部实验都经过了实验板的验证。 本书可供具有一定单片机基础的初学者,以及广大从事单片机应用系统开发研制的工技术人员阅读,也可以作为有关院校相关专业的教学参考用书。 目录: 第一章 单片基础知识  第一节 51系列单片机概述  第二节 80C51单片机的内部结构和外部引脚  第三节 80C51单片机的内部结构和外部引脚  第四节 51系列单片机的并行输入/输出接口  第五节 80C51单片机的时钟电路和复位电路 第二章 单片机C语言入门  第一节 认识C语言  第二节 简单C语言  第三节 单片机C语言开发步骤 第三章 单片机实验硬件环境的建立  第一节 单片机实验板  第二节 单片机仿真器  第三节 单片机编程器 第四章 Keli Cx51软件的使用  第一节 Keil Cx51简介  第二节  Keil Cx51软件的安装   第三节 uVision2集成开发环境  第四节 常用窗口介绍 第五章 Cx51数据与运算  第一节 标识符和关键字  第二节 数据类型  第三节 常量  第四节 变量   第五节 运算符和表达式 第六章  Cx51的基本语句  第一节 表达式语句和复合语句   第二节 条件选择语句   第三节 循环语句 第七章 Cx51函数  第一节 函数的分类和定义   第二节 函数的参数和返回值  第三节 函数的调用  第四节 函数变量的存储方式和种类 第八章 Cx51构造数据类型  第一节 数组  第二节 指针  第三节 结构  第四节 共用体  第五节 枚举 第九章 单片机中断、定时器串行口的C语言编程  第一节 单片机中断系统C语言编程   第二节 定时/计数器及实验  第三节 串行数据通信技术及实验  第十章 单片机实用接口C语言编程技术  第一节 LED显示器接口   第二节 链盘接口   第三节 LCD显示器接口   第四节 I2C总线接口  第五节 A/D和D/A转换接口   第六节 单片机应用技术综合实例 附录一 运算符的优先级和结合性 附录二 Keil Cx51编译器常见警告与错误信息的解决方法

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值