51单片机
文章平均质量分 63
51单片机实验和学习资料
WangLanguager
喜欢IT,喜欢编程,希望遇到更多志同道合的朋友!
展开
-
单片机集电极开路输出的结构
推挽输出的结构就是把上面的上拉电阻也换成一个开关,当要输出高电平时,上面的开关通,下面的开关断;集电极开路输出的结构如图1所示,右边的那个三极管集电极什么都不接,所以叫做集电极开路(左边的三极管为反相之用,使输入为“0”时,输出也为“0”)。很明显可以看出,当开关闭合时,输出直接接地,所以输出电平为0。如果开关闭合,则有电流从1K电阻及开关上流过,但由于开关闭其它三个口带内部上拉),当我们要使用输入功能时,只要将输出口设置为1即可,这样就相当于那个开关断开,而对于P0口来说,就是高阻态了。...原创 2022-08-31 22:30:00 · 276 阅读 · 0 评论 -
单片机C语言C51构造数据类型
A. 数组一.一维数组一维数组只有一个下标,定义的形式如下:数据类型说明符 数组名[常量表达式][={初值,初值……}]各部分说明如下:(1)“数据类型说明符”说明了数组中各个元素存储的数据的类型。(2)“数组名”是整个数组的标识符,它的取名方法与变量的取名方法相同。(3)“常量表达式”,常量表达式要求取值要为整型常量,必须用方括号“[]”括起来。用于说明该数组的长...原创 2020-04-10 20:19:17 · 3807 阅读 · 0 评论 -
单片机C语言C51的函数
函 数 1. 函数的定义函数定义的一般格式如下:函数类型 函数名(形式参数表) [reentrant][interrupt m][using n]形式参数说明{局部变量定义函数体}前面部件称为函数的首部,后面称为函数的尾部,格式说明:1).函数类型函数类型说明了函数返回值的类型。2).函数名函数名是用户为自定义函数取的名字以便调...原创 2020-04-07 11:29:10 · 6587 阅读 · 0 评论 -
单片机C语言C51的语句
1. if语句if语句是C51中的一个基本条件选择语句,它通常有三种格式:(1)if (表达式) {语句;}(2)if (表达式) {语句1;} else {语句2;}(3)if (表达式1) {语句1;}else if (表达式2) (语句2;)else if (表达式3) (语句3;)……else if (表达式n-1) (语句n-1;)else...原创 2020-04-04 15:44:08 · 6202 阅读 · 1 评论 -
单片机C语言C51程序中的基本结构
一.顺序结构顺序结构是最基本、最简单的结构,在这种结构中,程序由低地址到高地址依次执行,如图给出顺序结构流程图,程序先执行A操作,然后再执行B操作。二.选择结构选择结构可使程序根据不同的情况,选择执行不同的分支,在选择结构中,程序先都对一个条件进行判断。当条件成立,即条件语句为“真”时,执行一个分支,当条件不成立时,即条件语句为“假”时,执行另一个分支。如图:当条件S成立时,...原创 2020-04-03 11:23:46 · 8946 阅读 · 0 评论 -
单片机C语言C51的输入输出
在C51语言中,它本身不提供输入和输出语句,输入和输出操作是由函数来实现的。在C51的标准函数库中提供了一个名为“stdio.h”的一般I/O函数库,它当中定义了C51中的输入和输出函数。当对输入和输出函数使用时,须先用预处理命令“#include <stdio.h>”将该函数库包含到文件中。在C51的一般I/O函数库中定义的I/O函数都是通过串行接口实现,在使用I/O函数之前,...原创 2020-04-02 15:37:53 · 4109 阅读 · 0 评论 -
单片机C语言中的表达式语句及复合语句
1. 表达式语句在表达式的后边加一个分号“;”就构成了表达式语句 ,如:a=++b*9;x=8;y=7;++k;可以一行放一个表达式形成表达式语句,也可以一行放多个表达式形成表达式语句,这时每个表达式后面都必须带“;”号,另外,还可以仅由—个分号“;”占一行形成一个表达式语句,这种语句称为空语句。空语句在程序设计中通常用于两种情况:(1)在程序中为有关语句提供标...原创 2020-04-02 13:55:26 · 1378 阅读 · 0 评论 -
单片机C语言C51的运算符及表达式
1. 赋值运算符赋值运算符“=”,在C51中,它的功能是将一个数据的值赋给一个变量,如x=10。利用赋值运算符将一个变量与一个表达式连接起来的式子称为赋值表达式,在赋值表达式的后面加一个分号“;”就构成了赋值语句,一个赋值语句的格式如下:变量=表达式;执行时先计算出右边表达式的值,然后赋给左边的变量。例如:x=8+9; /*将8+9的值赋绐变量x*/...原创 2020-04-01 19:59:51 · 26820 阅读 · 0 评论 -
单片机中绝对地址的访问
一.使用C51运行库中预定义宏C51编译器提供了一组宏定义来对51系列单片机的code、data、pdata和xdata空间进行绝对寻址。规定只能以无符号数方式访问,定义了8个宏定义,其函数原型如下:#define CBYTE((unsigned char volatile*)0x50000L)#define DBYTE((unsigned char volatile*...原创 2020-04-01 19:57:39 · 5203 阅读 · 0 评论 -
单片机中程序的存储模式
C51编译器支持三种存储模式:SMALL模式、COMPACT模式和LARGE模式。不同的存储模式对变量默认的存储器类型不一样。(1)SMALL模式。SMALL模式称为小编译模式,在SMALL模式下,编译时,函数参数和变量被默认在片内RAM中,存储器类型为data。(2)COMPACT模式。COMPACT模式称为紧凑编译模式,在COMPACT模式下,编译时,函数参数和变量被默认在片外RAM的...原创 2020-03-31 19:09:03 · 3118 阅读 · 0 评论 -
单片机C语言C51的变量和常量
常量常量是指在程序执行过程中其值不能改变的量。在C51中支持整型常量、浮点型常量、字符型常量和字符串型常量。一.整型常量整型常量也就是整型常数,根据其值范围在计算机中分配不同的字节数来存放。在C51中它可以表示成以下几种形式:十进制整数。如234、-56、0等。十六进制整数。以0x开头表示,如0x12表示十六进制数12H。长整数。在C51中当一个...原创 2020-03-31 16:45:37 · 9304 阅读 · 0 评论 -
单片机C语言C51的数据类型
C51的数据类型分为基本数据类型和组合数据类型,情况与标准C中的数据类型基本相同,但其中char型与short型相同,float型与double型相同,另外,C51中还有专门针对于51单片机的特殊功能寄存器型和位类型。一.字符型char有signed char和unsigned char之分,默认为signed char。它们的长度均为一个字节,用于存放一个单字节的数据。对于si...原创 2020-03-31 11:06:10 · 19824 阅读 · 2 评论 -
单片机C语言C51的程序结构
C51的语法规定、程序结构及程序设计方法都与标准的C语言程序设计相同,但C51程序与标准的C程序在以下几个方面不一样:(1)C51中定义的库函数和标准C语言定义的库函数不同。标准的C语言定义的库函数是按通用微型计算机来定义的,而C51中的库函数是按51单片机相应情况来定义的;(2)C51中的数据类型与标准C的数据类型也有一定的区别,在C51中还增加了几种针对51单片机特有的数据类型;(...原创 2020-03-31 11:03:37 · 2573 阅读 · 0 评论 -
51单片机的程序设计中的C语言
在实际工程应用中,51单片机的程序设计一般都是采用C语言编写,通过相应的编译器,得到可执行代码,以提高程序开发效率。但由于单片机的内部资源有限,并结合单片机的特点(如位操作),与标准C语言相比,有所不同,称为C51程序。C语言的特点语言简洁、紧凑,使用方便、灵活。 运算符丰富。 数据结构丰富。具有现代化语言的各种数据结构。 可进行结构化程序设计。 可以直接对计算机硬件进行操作。 ...原创 2020-03-30 18:53:27 · 3326 阅读 · 0 评论 -
51单片机之串行通信
一、计算机串行通信基础 随着多微机系统的广泛应用和计算机网络技术的普及,计算机的通信功能愈来愈显得重要。计算机通信是指计算机与外部设备或计算机与计算机之间的信息交换。 通信有并行通信和串行通信两种方式。在多微机系统以及现代测控系统中信息的交换多采用串行通信方式。 计算机通信是将计算机技术和通信技术的相结合,完成计算机与外部设备或计算机与计算机之间的信息交换 。可以分...原创 2019-11-16 21:00:29 · 2645 阅读 · 0 评论 -
51单片机之定时器实验
一 、 定时器的原理1、CPU时序的有关知识 1)振荡周期:为单片机提供定时信号的振荡源的周期(晶振周期或外加振荡周期) 2)状态周期:2个振荡周期为1个状态周期,用S表示。振荡周期又称S周期或时钟周期。 3)机器周期:1个机器周期含6个状态周期,12个振荡周期。 4)指令周期:完成1条指令所占用的全部时间,它以机器周期为单位。例如:外接晶...原创 2019-11-13 21:40:37 · 4370 阅读 · 0 评论 -
51单片机之中断实验
什么叫中断:中断是指CPU在执行当前程序的过程中,由于某种随机出现的外设请求或CPU内部的异常事件,使CPU暂停正在执行的程序而转去 执行相应的服务处理程序;当服务处理程序运行完毕后,CPU再返回到暂停处继续执行原来的程序。 单片机在执行程序时其程序流程图 ...原创 2019-11-08 20:49:46 · 8314 阅读 · 0 评论 -
51单片机之IO口扩展——74HC165芯片并行转串行实验
我们都知道通信从大的方面有两种:串行和并行。串行的最大优点是占用总线少,但是传输速率低;并行恰恰相反,占用总线多,传输速率高。市面上有很多这样的芯片,有串入并出的(通俗讲就是 一个一个进,最后一块出来),有并入串出的(相对前者而言)。具体用哪种类型要根据我们得实际情况。比如利用单片机显示数码管单纯的显示一个数码管如果仅仅是为了显示 那么动用单片机一个端口(如P0或P1/P2/P3)那没有什么,当...原创 2019-05-18 14:59:14 · 13063 阅读 · 0 评论 -
51单片机之继电器实验
一、继电器(relay)的工作原理和特性 当输入量(如电压、电流、温度等)达到规定值时,使被控制的输出电路导通或断开的电器。可分为电气量(如电流、电压、频率、功率等)继电器及非电气量(如温度、压力、速度等)继电器两大类。具有动作快、工作稳定、使用寿命长、体积小等优点。广泛应用于电力保护、自动化、运动、遥控、测量和通信等装置中。 继电器是一种电子控制器件,它具有控制系统(又称输入回...原创 2019-05-18 10:16:25 · 22099 阅读 · 0 评论 -
51单片机之动态数码管显示
首先来看一下开发板上的电路原理图:本开发板上使用的是,通过P22、P23、P24控制3-8译码器来对数码管进行位选,通过P0口经过573的驱动控制数码管的段选,通过P13控制573的使能端,为低电平时573才会有输出。138译码器的真值表如下图G1,G2A,G2B都是选通脚,当G1,G2A,G2B为100的时候138译码器开始工作,A为最低位,B为中间位,C为最高位。CBA=00...原创 2019-05-17 19:34:33 · 78720 阅读 · 29 评论 -
51单片机之静态数码管显示
数码管的物理实物图: 不管将几位数码管连在一起,数码管的显示原理都是一样的,都是靠点亮内部的发光二极管来发光,下面就来我们讲解一个数码管是如何亮起来的。数码管内部电路如下图所示,从右图可看出,一位数码管的引脚是10个,显示一个8字需要7个小段,另外还有一个小数点,所以其内部一共有8个小的发光二极管,最后还有一个公共端,生产...原创 2019-05-16 21:50:24 · 26259 阅读 · 1 评论 -
51单片机之矩阵键盘
独立键盘与单片机连接时,每一个按键都需要单片机的一个I/O口若某单片机系统需较多按键,如果用独立按键便会占用过多的I/O口资源。单片机系统中I/O口资源往往比较宝贵,当用到多个按键时为了节省I/O口口线,我们引入矩阵键盘。 我们以4X4矩阵键盘为例讲解其工作原理和检测方法。将16个按键排成4行4列,第一行将每个按键的一端连接在一起构成行线,第一列将每个按键的另一端连接在一...原创 2019-05-15 22:11:59 · 43496 阅读 · 7 评论 -
51单片机之独立按键
按键介绍 按键种类繁多,功能有简有繁,极大的充斥着我们的生活。但是无论如何,所有的按键其实都有一个原型,来源于同一种原理,所有的按键无论多复杂,多华丽,都是从这样一个原型发展而成的。好比你就算长的再帅,你也是只猩猩变来的,呵呵。我们平日所见到的绝大部分的按键,其实都可以归类为一种,叫“接触式按键”。下图为一个典型的接触式按键(又称轻触开关)。 ...原创 2019-05-15 12:03:00 · 26840 阅读 · 11 评论 -
51单片机之蜂鸣器
蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。我们开发板上常用的蜂鸣器就是常常说的交流蜂鸣器或直流蜂鸣器(自激式蜂鸣器)。 直流蜂鸣器是给一定的驱动直流电压就会响。而交流蜂鸣器是需要给蜂鸣器一个脉冲才会响。常见的有PWM波控制蜂鸣器的频率。脉冲就是高低电平的切换,如下图:一个...原创 2019-05-14 15:37:32 · 19894 阅读 · 1 评论 -
D/A转换器的主要性能指标
1、分辨率分辨率是指输入数字量的最低有效位(LSB)发生变化时,所对应的输出模拟量(电压或电流)的变化量。它反映了输出模拟量的最小变化值。分辨率与输入数字量的位数有确定的关系,可以表示成FS /(2^n)。FS表示满量程输入值,n为二进制位数。对于5V的满量程,采用8位的DAC时,分辨率为5V/256=19.5mV;当采用12位的DAC时,分辨率则为5V/4096=1.22mV。显然,位数越...原创 2019-05-13 08:33:01 · 10371 阅读 · 0 评论 -
A/D转换器的主要技术指标
1、分辨率ADC的分辨率是指使输出数字量变化一个相邻数码所需输入模拟电压的变化量。常用二进制的位数表示。例如12位ADC的分辨率就是12位,或者说分辨率为满刻度的1/(2^12)。 一个10V满刻度的12位ADC能分辨输入电压变化最小值是10V×1/(2^12 )=2.4mV。2、量化误差 ADC把模拟量变为数字量,用数字量近似表示模拟量,这个过程称为量化。量化误差是ADC的...原创 2019-05-12 11:30:17 · 10881 阅读 · 0 评论 -
PLC与单片机的区别
转载地址:http://baijiahao.baidu.com/s?id=1599345847271510143&wfr=spider&for=pc从本质上说,PLC其实就是一套已经做好的单片机(单片机范围很广的)系统。但PLC也有其特点:PLC广泛使用梯形图代替计算机语言,对编程有一定的优势。你可以把梯形图理解成是与汇编等计算器语言一样,是一种编程语言,只是使用范围不同!...转载 2019-04-10 08:49:05 · 6138 阅读 · 0 评论 -
51单片机点亮LED点阵
共阴极双色点阵Led点阵就是很多led放在一起组成的矩阵灯。原理很简单,如果我们要点亮图中左上的绿灯。那么管脚5接高电平,管脚24接低电平,那么这个绿色led就会亮,其他的led亦是如此。我们要显示需要的内容,只要点亮相关内容即可。如:我们显示如图的“+”,和“-”。红色“+”:将管脚18,17,16 设置成高电平,同时对应21,22,23 设置成低电平。注意:管脚18为高时...原创 2019-03-24 22:46:33 · 7024 阅读 · 0 评论 -
单片机的片内外设
片内指做成芯片的集成电路内部,简称片内;外设是外部设备的简称,是指集成电路芯片外部的设备。集成电路芯片与外部设备的连接一般需要专门的接口电路和总线的连接(包括控制总线路、地址总线和数据总线等)。 由于大规模集成电路的技术发展得很快,现在许多芯片在制造时已经能够将部分接口电路和总线集成到芯片内部。对于这部分电路与传统的接口电路和总线是有区别的,为了加于区别可以称之为片...原创 2019-03-19 18:52:36 · 2186 阅读 · 0 评论 -
单片机的空闲模式与掉电/休眠模式
特别对于电池供电系统来说,功耗是首要考虑的问题.我们知道单片机内部有一个电源管理寄存器PCON,这个寄存器的最低两位,IDL和PD这两位分别用来设定是否使单片机进入空闲模式和掉电模式。 1. 空闲模式 当单片机进入空闲模式时,除CPU处于休眠状态外,其余硬件全部处于活动状态,芯片中程序未涉及到的数据存储器和特殊功能寄存器中的数据在空闲模式期间都将保持原值。但假若定时器正在运...原创 2019-03-19 19:52:54 · 5710 阅读 · 3 评论 -
51单片机--LED闪烁、流水灯的简单试验
一、LED闪烁 /***************************************************************** LED闪烁的简单试验 *****************************************************************/include <...原创 2019-02-26 21:39:43 · 9748 阅读 · 2 评论 -
KEIL软件使用方法,创建一个工程
单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为 CPU 可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工 汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于 MCS-51 单片机的汇编 软件有早期的 A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级 语言开发,单片机的开发软件也在不断发展,Keil 软件是目前...原创 2019-02-25 10:19:23 · 4623 阅读 · 0 评论 -
Python实现的简单的单片机串口助手程序
项目中遇到需要用电脑通过串口来控制单片机IO口,查询了一些资料,可以使用python来实现简单的串口通信,所以用python实现了一个简单的单片机串口助手,可以将串口助手发往单片机的字符回传给串口助手。也可以将配合单片机程序对单片机进行控制。 python实现的串口助手代码如下:import time; #需要调用延时函数import serial #需要调用串口库...原创 2019-09-03 21:46:41 · 7023 阅读 · 0 评论