51单片机入门 - 学习笔记

发布者:数字驿站最新更新时间:2022-05-28 来源: eefocus关键字:51单片机  入门  学习笔记 手机看文章 扫描二维码
随时随地手机看文章

什么是单片机


单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。
    
    
不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。
    

Intel公司推出了MCS-51系列单片机:集成 8位CPU、4K字节ROM、128字节RAM、4个8位并口、1个全双工串行口、2个16位定时/计数器。寻址范围64K,并有控制功能较强的布尔处理器。
 

51单片机封装

这里写图片描述

 

单片机工作的基本时序

振荡周期: 也称时钟周期, 是指为单片机提供时钟脉冲信号的振荡源的周期,我们开发板上为12MHZ。


状态周期:每个状态周期为时钟周期的 2 倍, 是振荡周期经二分频后得到的。


机器周期: 一个机器周期包含 6 个状态周期S1~S6, 也就是12 个时钟周期。 在一个机器周期内, CPU可以完成一个独立的操作。


指令周期: 它是指CPU完成一条操作所需的全部时间。


每条指令执行时间都是有一个或几个机器周期组成。MCS - 51 系统中, 有单周期指令、双周期指令和四周期指令。


数字电路基础

 

电平特性 

数字电路中只有两种电平:高电平和低电平 
高电平:5V或者3.3V,取决单片机电源。 
低电平:0V 
RS232电平:计算机串口的电平 
高电平:-12V 
低电平:+12V 
所以当我们用单片机跟电脑通信的时候,我们要通过各种元器件将单片机的电平转换为计算机可识别的电平才能跟电脑进行通信。
 

二进制逻辑运算

“与”运算 
    有0得0 
    1&1=1 ; 1&0=0 ; 0&0=0 ;
    “或”运算 
    有1得1 
    1|1=1 ; 1|0=1 ; 0|0=0;
    “非”运算 
    1的非得0,0的非得1。 
    ~1=0; ~0=1;
    “异或”运算 
    必须不同,否则没有(0) 
    1^1=0;1^0=1;0^0=0;

 

80C51的引脚

这里写图片描述


P3口第二功能各引脚功能 定义: P3.0:RXD串行口输入 
P3.1:TXD串行口输出 
P3.2:INT0外部中断0输入 
P3.3:INT1外部中断1输入 
P3.4:T0定时器0外部输入 
P3.5:T1定时器1外部输入 
P3.6:WR外部写控制 
P3.7:RD外部读控制
 

建立keil工程文件


1.创建工程文件夹 
2.创建工程文件 
3.选择正确的单片机型号 
4.创建新的C语言文件 
5.保存并添加C语言文件 
6.开始编写程序


LED

Light Emitting Diode 
LED,即发光二极管,是一种半导体固体发光器件。 插件  贴片  LED 原理图 

这里写图片描述 
贴片 
这里写图片描述 
LED 原理图 
这里写图片描述
工作原理:单向导电性


LED的工作是有方向性的,只有当正级接到LED阳极,负极接到LED的阴极的时候才能工作,如果反接LED是不能正常工作的。

开发板LED原理图

 

点亮LED


 

#include “reg52.h”   

 

                   //此文件中定义了单片机的一些特殊功能寄存器,调用头文件

 

 sbit led=P0^0;    //将单片机的P0.0端口定义为led,p是port的缩写

 

 

 

void main()

 

{

 

    while(1)

 

    {

 

        led=1;  //P0.0端口设置为高电平

 

    }       

 

}

 

//补充:bit和sbit都是C51扩展的变量类型。sbit用法:sbit 变量名=地址值;在给某个引脚取名的时候经常会用到。

LED闪烁

 

1.C语言常用的预处理命令


typedef使用 
typedef unsigned char u8; 
typedef unsigned int u16;(后面要加分号)


新定义一些常用的关键词,可以增强程序的可移植性,因为在不同的编译软件上面,C语言的数据类型的关键词的位宽是不一样; 
 


2.延时函数

void delay(u16 i)//大约延时10us{    while(i--); }
 

#include "reg52.h"          

 

typedef unsigned int u16;                    //预处理命令

 

typedef unsigned char u8;

 

    sbit led=P0^0;                       //端口定义

 

 

 

void delay(u16 i)                                   //大约延时10us

 

{

 

    while(i--);                                     

 

}

 

 

 

void main()                                            

 

{

 

    while(1)

 

    {

 

        led=0;                         //管脚置低电平

 

        delay(50000);             //大约延时0.5秒

 

                            led=1;                         //管脚置高电平      

 

        delay(50000);   

 

    }       

 

}                                            

 

//Pracitce:控制第一个和第二个LED交替闪烁,周期为两秒。


静态数码管

原理图

这里写图片描述

 led数码管(LED Segment Displays)由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个。这些段分别由字母a,b,c,d,e,f,g,dp来表示。 


LED数码管根据LED的不同接法可以分为2类:共阴和共阳。


封装

这里写图片描述

工作原理

这里写图片描述


因为是共阳数码管,所以控制端为低电平才能导通,LED发光,所以如果需要静态数码管显示固定字符只要找到对应的端口状态,进而控制显示字符。


关键字:51单片机  入门  学习笔记 引用地址:51单片机入门 - 学习笔记

上一篇:51单片机入门 - 按键驱动程序设计实验
下一篇:51单片机入门 - 寄存器功能一览表

推荐阅读最新更新时间:2024-11-16 19:52

51单片机IO口模拟UART串口通信
#include reg52.h #include main.h #include smartcard.h #include stdio.h typedef enum { false, true }bool; #if 0 sbit PIN_RXD = P1^0; //接收发送同一个引脚定义 sbit PIN_TXD = P1^0; //接收发送同一个发送引脚定义 sbit PIN_CLK = P3^1; //智能卡时钟引脚定义 sbit PIN_3v5v = P3^2; //智能卡3v_5v引脚定义 sbit PIN_RST = P3^3; //智能卡复位引脚定义 sbit PIN_CMDVCC = P3^4; //智能卡CMD
[单片机]
#51单片机#PWM
PWM,全称Pulse Width Modulation,译为脉冲宽度调制。 功能:改变脉冲宽度,实现不同效果。可用数字信号达到模拟信号的效果 PWM在单片机中应用广泛,不同的应用场合意义不尽相同。 先看一张图: 这是一个周期为10ms,频率为100Hz的波形。每个周期内的高低电平脉冲宽度各不相同,这就是PWM的本质。这里需要记住一个概念——占空比。占空比是指,高电平的时间在整个周期中所占的比例。比如第一部分波形的占空比是40%,第二部分是60%,第三部分是80%,这就是PWM的解释。 演示代码: #include reg52.h sbit PWMOUT = P0^0; unsigned char
[单片机]
#<font color='red'>51单片机</font>#PWM
STM32-嵌入式学习笔记02-中断应用概述
本节目标: 通过DMA,无需中断,接收不定时长的串口数据 描述: 当在串口多数据传输下,CPU会产生多次中断来接收串口数据,这样会大大地降低CPU效率,同时又需要CPU去做其它更重要的事情,我们应该如何来优化? 比如四轴飞行器,当在不停地获取姿态控制方向时,又要去接收串口数据. 答:使用DMA,无需CPU中断便能实现接收串口数据 1.DMA介绍 DMA,全称为: Direct Memory Access,即直接存储器访问, DMA 传输方式无需 CPU 直接 控制传输,通过硬件为 RAM 与 I/O 设备开辟一条直接传送数据的通路,能使 CPU 的效率大为提高。 2在main()中调用串口配置函数,初始化串口后,然后使能U
[单片机]
STM32-嵌入式<font color='red'>学习</font><font color='red'>笔记</font>02-中断应用概述
AT89C51单片机在LED显示屏控制电路设计中的应用
LED显示屏又叫电子显示屏,是由LED点阵组成,通过红色或绿色灯珠的亮灭来显示文字、图片、动画、视频,内容可以随时更换,通常由显示模块、控制系统及电源系统组成。显示模块由LED灯组成的点阵构成,负责发光显示;控制系统通过控制相应区域的亮灭,可以让屏幕显示文字、图片、视频等内容,恒舞动卡主要是播放动画的;电源系统负责将输入电压电流转为显示屏需要的电压电流。 LED显示屏广泛应用于信息指示灯,大屏幕显示,液晶显示的背光灯,固体照明等。本文设计一种由4个16×16点阵LED模块组成的显示屏,由单片机作控制器,平滑移动显示任意多个文字或图形符号,本电路可级联扩展实现由任意多个16×16点阵LED模块组成的显示屏。 一、控制电路设计 控制电
[电源管理]
AT89C<font color='red'>51单片机</font>在LED显示屏控制电路设计中的应用
51单片机串行通信的原理解析
51单片机内部有一个全双工串行接口。什么叫全双工串口呢?一般来说,只能接受或只能发送的称为单工串行;既可接收又可发送,但不能同时进行的称为半双工;能同时接收和发送的串行口称为全双工串行口。串行通信是指数据一位一位地按顺序传送的通信方式,其突出优点是只需一根传输线,可大大降低硬件成本,适合远距离通信。其缺点是传输速度较低。 与之前一样,首先我们来了解单片机串口相关的寄存器。 SBUF 寄存器:它是两个在物理上独立的接收、发送缓冲器,可同时发送、接收数据,可通过指令对SBUF 的读写来区别是对接收缓冲器的操作还是对发送缓冲器的操作。从而控制外部两条独立的收发信号线RXD(P3.0)、TXD(P3.1),同时发送、接收数据,实现
[单片机]
<font color='red'>51单片机</font>串行通信的原理解析
C51单片机学习笔记(六)——液晶显示屏的使用
1.LCD1602的认识 液晶显示屏简称液晶、LCD。各种型号的液晶通常是按显示字符的行数或液晶点阵的行、列进行命名的。1602的意思就是每一行显示16个字符,共可以显示2行,常见的液晶还有0801、0802、1601等,这类液晶是字符型液晶,只能显示ASCII码字符。而LCD12864属于图形型液晶,由128*64个像素点构成,可以显示各种图形包括汉字。 LCD1602可显示2行ASCII码字符,每行包括16个5*10点阵(像素),有16个引脚,其实物图如下所示: 2.LCD1602的引脚及其功能 3.LCD模块的内部结构 LCD1602模块的内部结构分为三部分:LCD控制器、LCD驱动器、LCD显示器 LCD控制器
[单片机]
C<font color='red'>51单片机</font><font color='red'>学习</font><font color='red'>笔记</font>(六)——液晶显示屏的使用
51单片机-定时器
[单片机]
<font color='red'>51单片机</font>-定时器
51单片机知识大汇总看你了解有多少
基于51 单片机 的函数信号发生器利用单片机AT89C52 采用程序设计方法产生锯齿波、三 角波、正弦波、方波四种波形,再通过D/A 转换器DAC0832 将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,能产生 10Hz—10kHz 的波形。下面就对51单片机进行详细论述。 1.取指译码执行模型:首先我们来看看 单片机 是如何工作的,我们拿电脑的主板来作为对比,我们买电脑时,总是追求处理器的主频。处理器的工作原理是从存储器上取出一条指令,然后对指令译码,译码完后执行。然后取下一条指令,译码,执行。它为什么能这么有序的工作?是因为它有一个工作时钟,在这个工作时钟的统一管理下,处理器有序的工作,这里的主频就是工作时钟的速
[电源管理]

推荐帖子

单片机控制BLDC,跑起来振动太厉害
现在就像手机振铃一样,不知道哪里出了问题。。。单片机控制BLDC,跑起来振动太厉害用的是上桥PWM,下桥通。PWM周期1ms占空比调12.5%运行一段时间发热明显,估计有15-20度左右的温升低速观察了下,应该是每次换向时产生的振动我也和你遇到一样的问题,不知道你解决没有,分享下解决方法
apleilx 单片机
这个电源电路为什么这样接?
下面的这电路,如图红圈中的电路2843的这种连接,是有什么其他用意?,芯片的1脚和817是直接连接一起,问题是2脚接的阻容网络对1脚还能有什么影响吗?电源大侠老师们,可否具体分析一下这个电源电路为什么这样接?『问题是2脚接的阻容网络对1脚还能有什么影响吗?』C21R29联接于片内运放的输出端与反相输入端。这样联接,对片内运放输出阻抗显然有影响,从而影响到光耦输出三极管侧和片内恒流源构成的放大器特性。开关电源很久没有关注,很多知识忘了,做硬件细分行太多了.
灞波儿奔 电源技术
对比方案赛 + 智能定时开关设计
本帖最后由mengyun2801于2014-6-1023:38编辑 现在智能产品越来越多,无论是公共交通、公共安全还是智能家居,每个产品中都在融入更多的智慧,近几年在智能家居控制中,很多产品应运而生,有智能家庭监控、智能家庭报警和家电控制之类的。前两者都比较容易实现,而家电控制却是有些难点,因为如果家电本身不具备被控电路的话,我们有不便于进行改造。为此智能定时开关应运而生,我们只有通过控制家电的电源来达到这个目的,同时也是家居安全的保障。智能定时开关的电路很简单,一
mengyun2801 模拟与混合信号
【设计工具】(XAPP593)应用指南 (适用于Spartan®-6 )
您可以通过这一更新的应用指南快速跟踪您的SoC设计。XAPP593将介绍如何为Spartan-6FPGA消费类视频套件(CVK)实现DisplayPort宿端内核和决策者参考设计。【设计工具】(XAPP593)应用指南(适用于Spartan-6)有工程文件吗?
GONGHCU FPGA/CPLD
网络技术基础知识(四)~~计算机网络基础知识
计算机网络就是计算机之间通过连接介质互联起来,按照网络协议进行数据通信,实现资源共享的一种组织形式。什么是连接介质呢?连接介质和通信网中的传输线路一样,起到信息的输送和设备的连接作用计算机网络的连接介质种类很多,可以是电缆、光缆、双绞线等“有线”的介质,也可以是卫星微波等“无线”介质,这和通信网中所采用的传输介质基本上是一样的。在连接介质基础上,计算机网络必须实现计算机间的通信和计算机资源的共享,因此它的结构,按照其功能可以划分成通信子网和资源子网两部分。当然,根据
mdreamj RF/无线
运放电路分析基础
运放电路分析基础首先提一下分析的误差因素:A.运放的非理想因素(直流部分):运算放大器的输入结构:1.失调电压(OffsetVoltage):该参数表示使输出电压为零时需要在输入端作用的电压差。它是由构成输入端差分放大器的管子(NPN,PNP,PMOS,NMOS)参数并不是完全对称的【对于晶体管来说主要是Ube和Ueb的对称性,对于JFET来说主要是Ugs,这个不对称的电压完全可以看成人为的加了一个电压源】,这就引起了失调电压,实际在说明书中的数值是通过实验测量抵消这一电
yulzhu 模拟电子
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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