(1)数字电路中只有两种电平: 高电平和低电平
高电平:5V或者3.3,取决于单片机电源。
低电平:0V
(2)RS232电平:计算机串口的电平
高电平:-12V
低电平:+12V
由上面的两个可知,当我们使用单片机跟电脑通信的时候,需要通过各种元器件将单片机的电平转换成计算机可识别的电平才能跟电脑进行通信。
二、进制
二进制
十六进制
三、二进制逻辑运算
四、8051的引脚封装
五、单片机工作的基本时序,一共四种
(1)振荡周期:也称时钟周期,是指为单片机提供时针脉冲信号的振荡源的周期。
(2)状态周期:每个状态周期为时针周期的2倍,是振荡周期经二分频后得到的。
(3)机器周期:一个机器周期包含6个状态周期S1~S6,也就是12个时钟周期,在一个机器周期内,CPU可以完成一个独立的操作。
(4)指令周期:它是指CPU完成一个操作所需的全部时间。每条指令执行时间都是有一个或几个机器周期组成。MCS-51系统中,有单周期指令、双周期指令和四周期指令。
学单片是学什么?
1、对I/o的控制,无论单片机对外界进行何种控制,都是通过I/O口进行的。
2、接受外部的控制,通过I/O来感受外部的电压。
3、51单片机总线共有P0、P1、P2、P3四个8位双向输入输出端口,每个端口都有锁存器、输出驱动器和输入缓冲器。4个I/O端口都能作输入输出口用。
上下拉电阻
上拉电阻就是将不确定的信号通过一个电阻拉到高电平,同时此电阻起到一个限流的作用,下拉就是下拉到低电平。
1、OC门(就是开漏输出那种情况)要输出高电平,外部必须加上拉电阻。
2、加大普通IO口的驱动能力。
3、起到限流的作用。
4、拉抗电磁干扰。
上下拉电阻的选取原则
1、从降低功耗方面考虑应该足够大,因为电阻越大,电流越小。
2、从确保足够的引脚驱动能力考虑应该足够小,电阻越小,电流才能越大。
3、开漏输出时,过大的上拉电阻会导致信号上升沿变缓。
通常选择电阻是4.7k ~ 10k
第一个单片机程序 ---点亮LED
1、LED的相关知识
LED,即发光二极管,是一种半导体固态发光器件。
2、LED的工作原理
LED的符号位: LED的工作是有方向性的,只有当正极接到LED阳极,负极接到LED的阴极的时候才能工作,如果反接LED是不能正常工作的。
3、LED的原理图解析
开发板上面LED的阳极串联一个电阻,然后连接到电源VCC,而LED的阴极连接到单片机的P2口,如果你想点亮一盏LED就对把单片机相应的IO赋为低电平。
#include "reg52.h"
/**
* 实验一:点亮第一个LED
*/
sbit led1 = P2^0;// P2口
int main()
{
while(1)
{
led1 = 0;
}
return 0;
}
关键字:51单片机 上下拉电阻
引用地址:
51单片机学习第二天
推荐阅读最新更新时间:2024-11-11 19:48
STC89C51单片机流水灯程序
由于程序花样显示比较复杂,所以完全可以通过查表得方式编写程序,简单。如果想显示不同的花样,只需要改写表中的数据即可。 流水灯程序: #include reg51.h #define uint unsigned int #define uchar unsigned char const table ={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; void delay(uint z) //delay 1ms { uint x,y; for(x=z;x 0;x--) for(y=124;y 0;y--); } void main(void) { uchar x;
[单片机]
基于51单片机的温控风扇
设计要求: 1.本设计基于STC89C51/52(与AT89S51/52、AT89C51/52通用,可任选)单片机 • 2.采用DS18B20温度传感器测温(0-99.9°C),三极管驱动数码管显示温度和风扇的档位。 • 3.共3个按键:设置、加、减。按一下设置可以设置上限,再按下设置下限,均可以按键加减调整。 • 4.利用PWM调速,当温度低于下限时,风扇不转动,当温度处于上、下限之间时1档转动(50%的转速),当温度超过上限时,全速转动。 使用说明: 一共3个按键:设置、加、减 按下设置键的时候才可以加减。 按一下设置键,是设置温度的上限,再按下设置键,是设置温度的下限,再按下设置键是退出并保存。 部分程序: #include
[单片机]
基于51单片机的高频频率计的设计
基于51 单片机设计 了一款测试范围在1Hz~10MHz的频率计。系统通过峰值有效电路和有效值电路将正弦渡、方波和三角波转化为直流信号送入单片机,通过编写相应的程序计算出其有效值和峰峰值的比,实现自动检测的目的,并由显示电路显示测量结果。该系统电路简洁、软件编写简单、调试难度低。 目前在频率测量领域中,对于高频率信号高精度测量大都使用ARM、FPGA等高速处理器加专用计数芯片来完成。但这种方法程序编写复杂,并且其处理器外围电路复杂,这增加了其调试难度,降低了可操作性。 文中设计的高频信号频率计,除数据处理和显示交由单片机负责外,测频核心电路用经检测的模拟电路完成,该高频频率计电路简洁,软件编写简单,降低了调试难度的同时
[单片机]
关于51单片机不能正常起振的原因
如何确定晶振正常起振? 1、判断方法很多,用示波器看波形是最直接的,用数字万用表的电压档测电压也行,因晶振波形的占空比为50%,所以测得的平均电压为1/2Vcc左右,对于51单片机,在使用外置程序存储器的时候还可以测PSEN引脚或P0口引脚的电压或波形,只有晶振电路正常工作,那些引脚才会有信号输出,但现在很少采用片外扩展存储器,所以测晶体两端的电压或波形即可,只是晶振电路设计不良时,测试设备的引入有可能导致停振。 2、晶体两端的电压差不是平均电压差,虽然事实上因外电路的影响,晶体两端的电压可能会有差别,但这不是判断晶振是否起振的依据,也不是晶振电路正常工作的条件。至于一高一低没有工作是指一端为Vcc或接近Vcc,另一端为0
[单片机]
51单片机原理及汇编教程(一)之51单片机结构及原理
一、51单片机常用知识 1、数制 4个二进制位,即4位 —— 半字节 8个二进制位,即8位 —— 一个字节 16个二进制位,即16位 —— 双字节,也叫字 32个二进制位,即32位 —— 双字,也叫长字 计算机中有符号数有三种表示方法,①原码②补码③反码。在计算机系统中,数值一律用补码表示和存储,0表示“+”也就是正数,1表示“-”也就是负数。 补码的转化方式: ①正数,补码与原码相同。 ②负数,所有位取反,+1。 2、51单片机的存储 程序存储器一般用ROM来存放,即Read Only Memory。51单片机只有4K的ROM,即4x1024个字节,地址空间从0000H到0FF
[单片机]
简单计时器的51单片机实现
前言 闲来无聊,虽然期末考试临近,但还是不想复习。突然有朋友问我这个 用单片机控制两个LED数码,采用静态链接,要求两个数码管显示00~99计数,时间间隔为1s(中断方式)。分别设计出电路图和程序。 我一寻思,这个简单,我就直接源代码一敲就发给他了。事后还是觉得有必要验证一下,就在Protues里面仿真试了一下,果然有两个小细节错了
[单片机]
51单片机-温度传感器代码独立文件
创建好“ds18b20.c”和“ds18b20.h”文件,把下面代码添加进各自的文件。 1.ds18b20.c代码 我们在宋老师的代码基础上添加了温度转换函数,原理在上一讲已经讲解清楚了。 #include reg52.h #include ds18b20.h #include intrins.h unsigned char temp_i=0;//定义全局变量temp_i用来帮助液晶屏灵活显示 /* 软件延时函数,延时时间(t*10)us */ void DelayX10us(unsigned char t) { do { _nop_(); _nop_(); _no
[单片机]
51单片机点亮LED点阵
共阴极双色点阵 Led点阵就是很多led放在一起组成的矩阵灯。原理很简单,如果我们要点亮图中左上的绿灯。那么管脚5接高电平,管脚24接低电平,那么这个绿色led就会亮,其他的led亦是如此。我们要显示需要的内容,只要点亮相关内容即可。如:我们显示如图的“+”,和“-”。 红色“+”:将管脚18,17,16 设置成高电平,同时对应21,22,23 设置成低电平。 注意:管脚18为高时,只能22管脚为低, 17管脚为高时,22,23,24同时为低,16管脚为高时,智能22管脚为低。 就是说同一时刻只有这三种情况之一出现,换言之就是通过扫描实现显示”+”. 具体过程: 1.显示第一步: ,其他全灭 。一个短延时,保持
[单片机]