单片机AT89C51--2.单片机与C语言简介

发布者:悠闲自在最新更新时间:2022-09-29 来源: csdn关键字:单片机  AT89C51  C语言 手机看文章 扫描二维码
随时随地手机看文章

1. 单片机概述

1.1 计算机的组成

在这里插入图片描述

电脑主机基本上就靠,CPU,内存条,还有你的总线控制器(主板)组成,主板通过自己的硬件接口,连接鼠标键盘等,连接外部这些硬件设备,Modem是网络


常用MCU表示单片机。


在一块集成电路芯片上集成中央处理器CPU和存储器,IO接口,构成了单片机


ROM:相当于硬盘

RAM:相当于内存条


1.2 单片机的内部结构

在这里插入图片描述

中间的线是数据总线


可编程的IO口:

input口:单片机会连接一些外部的传感器,比如温度传感器。会输入温度数据。通过IO口的Input功能将数据输入到单片机中去。

Output口:输出指令,给LED灯,液晶屏显示等。。。


判断是不是51单片机:不是看AT89C51,52。。。这些后面的数字,后面的数字只是表示ROM的大小,51是4kb,52是8kb。判断51单片机是看内核是不是intel公司的80c51内核


1.3 封装方式

双列直插式:方便拆卸,更换

在这里插入图片描述

四面往内弯:尺寸小

在这里插入图片描述

四面往外伸:尺寸小,一般直接焊接在pcb板上

在这里插入图片描述

2. C语言基础

2.1 进制转换

十进制: 0-9


二进制: 0,1


十六进制: 0-9,A-F


2.2 C语言简介

程序执行的实质:数据之间的交换与运算


在计算机中数据的最小单位是字位(bit),比字位更大的单位是字节(byte)


1B(byte ) = 8 bit

1KB = 1024B

1 MB =1024KB

1 GB = 1024KB

1 T = 1024 GB


2.3 基本数据类型

在这里插入图片描述

有符号位的最高位是 符号位。0表示正,1表示负


2.4 标识符与关键字

标识符:标识程序中某个对象的名称。

这些对象可以是变量,函数,数组。

标识符:由数字,字母,下划线组成。第一个字符必须是字母或下划线


C语言对大小写字母敏感。


关键字:具有关键名称和特殊含义的特殊标识符。


2.5 变量与常量

变量:程序执行过程中不断变化的量。

用一个标识符表示变量名,指出他的数据类型


注意C语言中每条语句都要用 “;” 结束


格式:

数据类型 变量名


unsigned char a;

a = 5 ;


常量:永恒不变的量


2.6 常用运算符

(1) 赋值运算符 ‘’=‘’


a = 2;


(2) 算术运算符

‘+’

‘-’

‘*’

‘/’ 结果是整数 5/3 结果是1

‘%’


(3) 增量和减量运算符

’++‘

’- -‘


(4) 位运算符

‘~’ 按位取反

‘<<’ 左移

‘>>’ 右移

‘&’ 按位与。 有0就是0

‘^’ 按位异或 只要这两个值不是相同的,就是1。

不同就1,相同就0

‘|’ 按位或,有1就是1

在这里插入图片描述

(5) 关系运算符

‘>’

‘<’

‘>=’

‘<=’

‘==’ 等于

‘!=’ 不等于


(6) 逻辑运算符

’&&‘ 全为真,才为真

’||‘ 一个为真,就是真

‘!’ 取反


2.7 C51常用控制语句

(1) 条件语句


if ( a > c)

{

c = a + b;

}

else

{

a++;

}


(2) while 语句


while (条件表达式)

{

语句;

}


(3) for语句

for (初值设定表达式;循环条件表达式;更新表达式)

{

语句

}


(4) 开关语句


switch (表达式)

{

case 表达式1:

语句1;

break;

}


2.8 C51程序基本结构

#include // 包含51单片机头文件


void main()  // 主函数

{


}


注意main函数是void类型(无返回值)


3. 电子电路基础

3.1 电平特性

数字电路只有2种电平: 高电平和低电平


高电平5v

低电平0v


TTL电平信号:采用二进制,5V等价于1,0V等价与0

高电平输出电压>2.4V

低电平输出电压<0.4V


计算机串口使用的是RS232

高电平:-12V

低电平:+12V


单片机和计算机进行串口通讯,需要电平转换芯片,把RS232电平转成TTL电平 才能识别。


3.2 单片机IO口介绍

在这里插入图片描述

Vcc 电源脚

Vss 接地脚


P1.0-P1.7 P开头的叫IO口


RST 复位脚


29-31 脚基本用不到,不做什么讲解,自行百度


一共有32个IO口


XTAL1,XTAL2。外部晶振脚

在这里插入图片描述

一般我们用不到外部数据储存器,一般用P3.6和P3.7使用


3.3 初识电容电阻

电阻:102 10*10^2 1K电阻


1F = 1000 000 uF 微法

1uF = 1000nF 纳法

1nF = 1000pF皮法


开发板中:电容作用储能,滤波


3.4 初识电路原理图

在这里插入图片描述

10X104pF


网络标号:电路原理图中网络标号相同的点表示实际连接

在这里插入图片描述

3.5 单片机最小系统结构

电源:给整个系统提供能量

单片机芯片:运行程序/处理数据

晶振电路:给单片机工作提供节拍

复位电路:单片机上电时需要复位使程序重新运行

在这里插入图片描述

VCC是个网络标号,相当于电源1,5直接连接。平时4,6相连,按下后5,6相连接。


E2 470UF/16V:储能。就像本来1个LED运行,突然间100个运行会造成电压波动


C1 104:尖峰电压和浪涌电流。0V突然间到5V有很高的电流


复位:

E1,一开始导通。VCC通到RST点。E1充电到5V的时候,自动断开。RST就会和地连接。


晶振:

2个C2协助晶振起振


3.6 单片机工作的基本时序

振荡周期:也称时钟周期,为单片机提供时钟脉冲信号的振荡周期


机械周期:1个机械周期包含12个时钟周期。在一个机械周期内,CPU可以完成一个独立的操作


外部晶振频率是11.0592MHZ,1个机械周期的时间


1/11.0592M x12 = 1.085uS

在这里插入图片描述

1.B

2.D


1.相连接

2.0.543

关键字:单片机  AT89C51  C语言 引用地址:单片机AT89C51--2.单片机与C语言简介

上一篇:单片机AT89C51--4.LED的闪烁
下一篇:单片机AT89C51--1.前期准备

推荐阅读最新更新时间:2024-10-30 22:00

51单片机实现对24C02进行页写、顺序读取并显示验证
//************************************************************************************* //**程序名称:51单片机实现对24C02进行页写、顺序读取并显示验证 //**编写人:**** //**修改人:**** //**程序目的:熟悉I2C总线协议,实现51模拟I2C时序和24C02通信 //**功能描述:51单片机将8个字节数据写入24C02的一页中,然后顺序读出,每隔1秒送P0口LED显示 //**其他说明:本程序是采用某51开发板,若在其他地方验证可更改相关端口及延时程序等。 //** 程序编写前曾参考过多个教程,最终自己编程通过,并详
[单片机]
51单片机:独立按键控制LED灯
1. 独立按键控制LED灯状态 亮灭实验完成后,就可以控制LED状态,首先我们知道由于机械结构的弹性作用,按键开关在闭合时不会一瞬间稳定的接通,在断开时,也不会一下子断开。所以就得需要程序消抖,也就是适当延时,程序如下 #include reg52.h //定义LED灯 sbit LED1 = P2^0; sbit LED2 = P2^1; sbit LED3 = P2^2; sbit LED4 = P2^3; sbit LED5 = P2^4; sbit LED6 = P2^5; sbit LED7 = P2^6; sbit LED8 = P2^7; //定义独立按键 sbit KEY1 = P3^1; //需要
[单片机]
51<font color='red'>单片机</font>:独立按键控制LED灯
8051单片机供水系统水位控制的硬件电路设计
供水系统水位控制原理 下图是水塔水位控制原理图。图中虚线表示允许水位变化的上下限。在正常情况下,应保持水位在虚线范围之内,为此,在水塔的不同高度安装固定不动的三根金属棒,以感知水位变化情况。其中A棒处于下限水位以下,C棒处于上限水位,B棒在下限水位处。A棒接+5V电源,B棒、C棒各通过一个电阻与模拟地相连。 水塔由电机带动水泵供水,单片机控制电机转动以达到对水位控制的目的。供水时,水位上升,当达到上限时,由于水的导电作用,B棒、C棒连通+5V电源,因此,b、c两端均为高电平“1”状态。这时,应停止电机和水泵的工作,不再给水塔供水。 当水位降到下限时,B棒、C棒都不能与A棒导通,因此,b、c两端均为“0”状态。这时,应启动电机,
[单片机]
8051<font color='red'>单片机</font>供水系统水位控制的硬件电路设计
基于AVR单片机ATMEGA8535的中频电源测试系统
  1引言   AVR单片机相对传统的 51系列单片机,具有更高的集成度和更强的功能,与 C语言有很好的兼容性,RISC指令架构使其运行速度可达 1MIPS/MHZ。随着其越来越广泛的应用,必将取代 51系列成为单片机的主流。其主要功能包括看门狗、FLASH程序存储器、 E2PROM、 A/D转换器、定时器、计数器、USART接口等多种功能,这使得本测试系统的硬件实现变得简单,可靠。   2硬件结构设计与实现   本文所提及的中频电源测试系统所测试的对象为三相四线制的中频电源,额定输出电压为 115V,频率为 400Hz,昀大功率 14KW。需要精确测量和监控的电力参数主要有电压 (V)、电流(A)、频率(Hz)、有功功率
[单片机]
基于AVR<font color='red'>单片机</font>ATMEGA8535的中频电源测试系统
时间片轮调的单片机程序结构
我们使用单片机去做一些任务的时候,通常把程序写成顺序结构,基本可以解决大部分的设计要求了。而且这种结构便于理解,而且程序易构成模块化,在各个模块中调用实现更复杂的任务。 然而顺序结构的写法,有时候避免不了沉重冗长的时间等待。例如键盘扫描,你就给我弄了一个delay_20ms()函数,而在这延时的过程,其实 MCU可以做很多事情的,这不白白的浪费掉这段时间吗?其实,delay的这段时间用数码管显示代替,也就是在等待的过程,我们可以做一下显示。但仅此而已? 之前,我在做3寸大数码钟的时候就遇到过一个时间要求苛刻的问题,我采用了17个 数码管 ,分成两组来动态显示。为了不闪烁,那么刷新频率起码大于 50Hz。而单片机还有其他任务,
[单片机]
时间片轮调的<font color='red'>单片机</font>程序结构
基于AT89C51单片机和DDS器件实现频率特征测试仪的设计
1、 引 言 频率特性是一个系统(或元件)对不同频率正弦输入信号的响应特性。如图1所示,被测系统输入幅值为Ar、角频率为ω的正弦信号,如果该系统是线性的,则其稳态输出也是正弦信号,频率ω不变,幅值为Ac,相角差为φ。改变ω可以得到一系列输入和输出数据。输出对输入的幅值比A(ω)=Ac/Ar与ω的关系曲线称为该系统的幅频特性,通常取20 lg A(ω)称为对数幅频特性。输出对输入的相角差φ(ω)与ω的关系曲线称为该系统的相频特性。幅频特性和相频特性综合称为频率特性,常用的是系统的开环频率特性即波特图。 一个系统的频率特征可通过频率特征测试仪来测定。频率特性测试仪也称扫频仪,用于测试被测网络的幅频特性。他可以测量被测网络的谐振频
[单片机]
基于<font color='red'>AT89C51</font><font color='red'>单片机</font>和DDS器件实现频率特征测试仪的设计
51单片机让发光二极管闪烁
简介:学过汇编的同学都清楚,单片机机在执行指令时,是一条一条指令顺序执行的,对于C语言也一样,也是一条一条语句执行,而每执行一条指令或一条语句,都要占用一定的时间,利用单片机执行程序的这个特点就可能用来实现发光二极管闪烁。 大家经常可以看到外面大街小巷各种各样漂亮的闪烁的流水或者说广告灯,如图1,这是怎么实现的呢,这节课我们就来讲下如让发光二极管闪烁和流水灯程序的设计。 图1漂亮的广告灯 1如何实现发光二极管闪烁和简单延时 学过汇编的同学都清楚,单片机机在执行指令时,是一条一条指令顺序执行的,对于C语言也一样,也是一条一条语句执行,而每执行一条指令或一条语句,都要占用一定的时间,利用单片机执行程序的这个特点就
[单片机]
51<font color='red'>单片机</font>让发光二极管闪烁
51单片机串行口速率设置
/* 51单片机速率设置公式 波特率=SYSclk/(32*12*(256-TH1) */ #ifndef MONITOR51 SCON = 0x50; /* SCON: mode 1, 8-bit UART, enable rcvr */ TMOD |= 0x20; /* TMOD: timer 1, mode 2, 8-bit reload */ TH1 = 221; /* TH1: reload value for 1200 baud @ 16MHz */ TR1 = 1; /* TR1: timer 1 run
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved