51单片机的内部组成及应用原理解析

发布者:支持中文最新更新时间:2020-02-07 来源: elecfans关键字:51单片机  内部组成  应用原理 手机看文章 扫描二维码
随时随地手机看文章

1、单片机内部资源

STC89C52:8KFLASH、512字节RAM、32个IO口、3个定时器、1个UART、8个中断源

(1)Flash(硬盘)——程序存储空间 —— 擦写10万次,断电数据不丢失,读写速度慢

(2)RAM(内存)——数据存储空间 —— 断电数据丢失,读写速度快,无限次使用

(3)SFR —— 特殊功能寄存器


2、单片机最小系统

51单片机的内部组成及应用原理解析

最小系统:最少组件组成单片机可以工作的系统。


三要素:

(1)、 电源电路:5V

(2)、 晶振电路:11.0592MHZ、两个30PF

(3)、 复位电路:

P0:开漏输出,必须加上拉电阻

准双向口:

强推挽输出:电流驱动能力强

高阻态

上下拉电阻:上拉电路就是将不确定的信号通过一个电阻拉到高电平,同时限流作用。下拉电阻就是下拉到低电平。

上下拉电阻选取:从降低功耗方面考虑应该足够大,因为电阻越大,电流越小;驱动能力来看,小电阻


3、硬件基础知识

(1)、电磁干扰(EMI)——静电放电(ESD)、快速瞬间脉冲群(EFT)、浪涌(Surge)

(2)、去耦电容的使用

低频滤波电容,平常应用最多的事钽电容,电解电容,陶瓷电容,起到去除电源低频纹波,稳定电源的作用。

高频滤波电容,电容附近,通常用104电容来进行去除高频干扰。

(3)、三极管(PNP,NPN) b,c,e --- 电压驱动

控制应用

驱动应用


4、LED发光二极管——电流驱动

51单片机的内部组成及应用原理解析

通常红色贴片LED, 靠电流驱动,电压1.8V~2.2V,电流1~20mA,在1~5mA亮度有所变化,5mA以上亮度基本不变。

VCC 电压是 5V,发光二极管自

身压降大概是 2V,那么在右边 R34 这个电阻上承受的电压就是 3V。

R = U/I —— 1~20mA —— R:150~3K


5、C语言基础

(1)、基本运算符

+ - * / % ++ -- = == != += -= 《《 》》 && “| ! & | ~ ^

(2)、循环(c语言以;表示一条语句)

for/while/do.。.while

for(表达式1;表达式2;表达式3)

{

语句;//可以为空

}

while(表达式)//表达式为真,执行语句

{

语句;//可以为空

}

do

{

语句;//可以为空

}while(表达式);

(3)、函数 (模块化的思想)

类型 函数名(参数类型 参数)

{

函数体;

}

(4)、数组

《1》、具有相同数据类型

《2》、具有相同的类型

《3》、在存储器中连续存储

(5)、51单片机常用延时办法——循环、定时器

(P0 = ~(1 《《 i++);)


5、流水灯

给IO口一个低电平即可点亮LED灯。

注:单片机对外设的操作其实就是对IO口电平的控制。

#include//包含特殊功能寄存器定义的头文件

typedefunsignedintuint;

typedefunsignedcharuchar;

intmain(void)

{

uinti=0;//定义循环变量i,用于软件延时

ucharj=0;//定义计数变量j,用于移位控制

while(1)//主循环,程序无限循环执行该循环体语句

{

P0=~(1《

for(i=0;i《20000;++i);//软件延时

if(j》=8)//移位计数超过7后,再重新从0开始

{

j=0;

}

}

return0;

}

关键字:51单片机  内部组成  应用原理 引用地址:51单片机的内部组成及应用原理解析

上一篇:单片机+ADC0832差分与单通道程序和注解
下一篇:浅谈51内核单片机中断源

推荐阅读最新更新时间:2024-11-13 03:22

51单片机容易忽略的东西
P0口将作为总线的低8位地址线和8位数据线使用 P2口将作为总线的高8位地址线使用 如果十六进制数以字母ABCDEF中的某一个开头,必须在前面加一个0.譬如,MOV P1, #0BFH ORG 00H 表示的是伪指令,作用帮助汇编器汇编指令,并不是单片机指令的一部分,因此伪指令不占用存储器空间。这段代码的含义是从程序存储器的00H开始执行程序。 一段小程序,循环闪烁小灯 ORG 00H START: MOV P1, #00H CALL DELAY MOV P1, #0FFH CALL DELAY JMP START DELAY: MOV R3, #50 D1: MOV R4, #20 D2: MOV R5, #
[单片机]
基于51单片机的汽车防碰撞系统的设计
  1.引言   随着汽车技术的不断进步,尤其是自动驾驶技术的发展,越来越多的距离检测设备将会不断面世。目前,运用于汽车测距主要有以下四种方式:毫米波雷达测距方式;摄像系统测距方式;激光测距方式;超声波测距方式。毫米波雷达存在电磁波相互干扰问题,摄像系统则造价高昂,均难以在汽车上普及。激光测距具有测量时间短、量程大、精度高等优点,适应汽车从低速前进到高速前进的测距需求,避免汽车高速行驶时因测距速度慢造成的测距失准现象。超声波测距原理简单,制作方便,成本比较低,但其只适用于较短距离低速测距,故将其应用于汽车倒车时测距。本文提出的将激光测距和超声波测距相结合的安全报警系统,旨在帮助驾驶员在汽车多种行驶状况、多方位探知并显示车辆与周围
[单片机]
基于<font color='red'>51单片机</font>的汽车防碰撞系统的设计
8051单片机的控制总线信号有哪些?各有何作用?
答案:控制线一共有6条: (1)ALE/ (/PROG):地址锁存允许/编程线,配合P0口引脚的第二功能使用。在访问片外存储器时,8051CPU在P0.7~P0.0引脚上输出片外存储器低8位地址的同时在ALE/ (/PROG)上输出一个高电位脉冲,用于把这个片外存储器低8位地址锁存到外部专用地址锁存器,以便空出P0.7~P0.0引脚线去传送随后而来的片外存储器读写数据。在不访问片外存储器时,8051自动在ALE/ (/PROG)上输出频率为fosc/6的脉冲序列。该脉冲序列可用作外部时钟源或作为定时脉冲源使用。 (2)(/EA)/Vpp:允许访问片外存储器/编程电源线,可以控制8051使用片内ROM还是使用片外ROM。若 (/EA
[单片机]
51单片机常用知识点
首先是定时器 定时器/计数器 定时器很重要,单片机的心脏 首先几个概念 时钟频率:fosc(晶振提供,51一般是12Mhz,11.0592Mhz这两种) 12分频:fosc/12(这里我设为fT) 机器周期:T=1/fT 定时器就配置两种, 第一是工作模式:定时器/计数器 第二是四种工作方式 然后是两个寄存器 TMOD&TCON 工作方式寄存器和控制寄存器 工作方式寄存器TMOD (1)GATE——门控位 GATE=0时,仅由控制位TRX(X=0,1)来启动定时器/计数器运行。 GATE=1时,由TRX(X=0,1)和中断引脚(INT0和INT1)上的高电平共同来启动定时器/计数器运行。 (2)M0、M1——工作方式选择位 M0、
[单片机]
51单片机 (5) C51实现单片机串口通信仿真
1、效果图 2、虚拟串口 通过VSPD虚拟串口工具虚拟出两个串口用于通信 VSPD虚拟串口工具下载: http://download.csdn.net/detail/leytton/7565589 3、串口调试 打开两份串口调试工具,第一个打开com1,第二个打开com2,这时在任一串口调试工具发送信息,另一个串口调试工具中能接收到信息 串口调试工具下载: http://download.csdn.net/detail/leytton/7565561 4、Proteus电路设计图 P1串口:属性原件值COMPIM,Physical port为com2,Physical Baud rate为960
[单片机]
<font color='red'>51单片机</font> (5)  C51实现单片机串口通信仿真
51单片机实验18:蜂鸣器
关于蜂鸣器的内容参考:https://blog.csdn.net/cax1165/article/details/87634433 开发板蜂鸣器模块原理图如下: #include reg52.h #define uc unsigned char sbit beep=P1^5; void delay(uc x) { uc i,j; for(i=1;i =x;i++) for(j=1;j =110;j++); } void main() { while(1) { beep=~beep; delay(5);//调节音调 } }
[单片机]
<font color='red'>51单片机</font>实验18:蜂鸣器
51单片机 模块化编程
了解模块化编程 1.首先了解一下传统方式编程和模块化编程 传统方式编程:所有的函数均放在main.c里,若使用的模块比较多,则一个文件内会有很多的代码,不利于代码的组织和管理,而且很影响编程者的思路 模块化编程:把各个模块的代码放在不同的.c文件里,在.h文件里提供外部可调用函数的声明,其它.c文件想使用其中的代码时,只需要#include XXX.h 文件即可。使用模块化编程可极大的提高代码的可阅读性、可维护性、可移植性等 2. 模块化编程注意事项 .c文件:函数、变量的定义 .h文件:可被外部调用的函数、变量的声明 任何自定义的变量、函数在调用前必须有定义或声明(同一个.c) 使用到的自定义函数的.
[单片机]
<font color='red'>51单片机</font> 模块化编程
51单片机倒计时发声器
设计要求: 1:上电后二位数码管显示88 2:单击按钮,倒计时开始从20秒开始,到0时喇叭发声。 3:双击按钮开关:倒计时从0开始正常记时,到20秒后发声。 4:记数结束从开始状态重新开始下一轮. 基本器件和管脚: 1)数码管: 2)74译码器 SN 74LS47 将BCD 码转换成数码管显示的数. 单片机及其接口电路: 程序代码: 本次晶振12MHZ SW EQU P1.0; 按钮开关指定为P1.0位 BUZZER EQU P3.7; 喇叭指定为P3.7位 ORG 00H; 程序起始地址00H开始 START:
[单片机]
<font color='red'>51单片机</font>倒计时发声器
小广播
设计资源 培训 开发板 精华推荐

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

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

更多开源项目推荐
换一换 更多 相关热搜器件
更多往期活动

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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