51单片机的功能和用法详细介绍

发布者:eaff86最新更新时间:2023-07-11 来源: elecfans关键字:51单片机  内部寄存器  数字器件 手机看文章 扫描二维码
随时随地手机看文章

51单片机是一个芯片,内部有n个寄存器,外部长着n个脚,由于51单片机系列种类众多,具体有多少寄存器、长着几个脚要看具体型号。一般来说,在做产品的时候,以够用为原则。


单片机属于数字器件,所以它的引脚只有两种状态,即高低电平,5V的单片机,高电平是5V,低电平是0V;3.3V的单片机,高电平是3.3V,低电平是0V。即高电平的电压等于电源电压。部分单片机内部集成有DAC功能,即数模转换器,把数字量转换成模拟量的模块,带有DAC功能的单片机DAC输出引脚可以输出0到电源电压之间的任何电压值。有些单片机内部集成ADC功能,可以把连接到引脚上的0到电源电压之间的任何电压值转换成数字量存储到单片机内部寄存器。


单片机就是靠着它自身引脚电平的高低变化,来控制它周围的芯片工作,组成一个产品。所以Ration说,不管什么单片机,只要你学会了控制它的引脚电平高低,你就学会了它的一半。例如,单片机通过引脚高低来控制三极管导通与截止。单片机与EEPROM数据存储芯片at24c16组成永久性掉电不丢失数据存储系统


单片机控制三极管导通是利用引脚高低电平变化,单片机控制at24c16数据存储,也是利用引脚电平高低变化来实现的,只不过是采用 了at24c16的通信协议。


单片机控制外部芯片,一般采用具体的通信协议,串行协议有I2C、SPI、UART等,并行协议有8位16位等。不要被这些专业名词所吓倒,它们其实很简单。


关键字:51单片机  内部寄存器  数字器件 引用地址:51单片机的功能和用法详细介绍

上一篇:基于HX711数显称重仪的设计
下一篇:基于实时操作系统RTX51和AT89C52单片机实现智能交通灯的设计

推荐阅读最新更新时间:2024-11-13 21:57

MCS-51单片机中断函数注意事项
(1)中断函数不能进行参数传递,如果中断函数中包含任何参数声明都将导致编译出错。 (2)中断函数没有返回值,如果企图定义一个返回值将得不到正确的结果,建议在定义中断函数时将其定义为void类型,以明确说明没有返回值。 (3)在任何情况下都不能直接调用中断函数,否则会产生编译错误。因为中断函数的返回是由8051单片机的RETI指令完成的,RETI指令影响8051单片机的硬件中断系统。如果在没有实际中断情况下直接调用中断函数,RETI指令的操作结果会产生一个致命的错误。 (4)如果在中断函数中调用了其它函数,则被调用函数所使用的寄存器必须与中断函数相同。否则会产生不正确的结果。 (5)C51编译器对中断函数编译时会自动在程序开
[单片机]
51单片机 PWM调速基本原理
/******************************************************************************** * 标题: 恒速运行 ********************************************************************************* * 通过本例程了解PWM 的基本原理和使用 *********************************************************************************/ #in
[单片机]
51单片机的数码管和矩阵键盘
使用4*4的矩阵键盘和一个数码管 在4*4的矩阵键盘上编码0-F的字符,和一个数码管显示每个键盘上输入的字符。 //4*4键盘检测程序,按下键后相应的代码显示在数码管上 #include reg51.h typedef unsigned char UINT8; UINT8 i=100; UINT8 j,k,temp,key; void delay(unsigned char i) { for(j=i;j 0;j--) for(k=125;k 0;k--); } UINT8 code table = { 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07,
[单片机]
基于51单片机的超声波测距模块设计
超声波测距的模块,51单片机接上12864液晶,HC-SR04超声波模块,就可以了,具体程序没怎么看,超声波模块的硬件也不晓得。 超声波测距51单片机12864液晶显示源程序: #include #include //引脚定义 sbitRX=P1 ^ 1; sbitTX=P1 ^ 2; sbitCS=P3 ^ 3;//片选 高电平有效 单片LCD使用时可固定高电平 sbitSID=P3 ^ 4;//数据 sbitSCLK=P3 ^ 5;//时钟 //Function Definition 函数声明 void Delay(int num); void Init_DS18B20(void); unsigned char ReadO
[单片机]
8051单片机TLC1549数据采集程序源代码
#i nclude stdio.h #i nclude REGX51.H #i nclude iic.h #define uchar unsigned char #define uint unsigned int uint Timer_Pro_Flag=0;//0为显示处理,1为时序采集处理 sbit TEST_CAP_VOL_CRLT=P1^0;//用于控制外部继电器 sbit PWM_Pin=P3^7;//PWM输出 sbit IrDA_in_Pin=P1^0;//红外脉冲输入检测脚 bit PWMFlag=0; uchar OLD_TH0,OLD_TL0; #define MAXCMD_LENGTH 7 #d
[单片机]
20-基于51单片机的遥控开关仿真
具体实现功能 实现功能: 本课题研究的是一款遥控开关,采用51单片机进行发射电路与接收电路的设计,发射电路由单片机最小系统及四个按键构成, 接收电路由单片机最小系统、继电器及LED灯构成。 由于仿真无法模拟无线模块通信,故利用单片机RXD、TXD端口,通过发射电路的开关实现对接收电路LED灯的控制, 仿真实现LED灯的远程点亮及熄灭。 单片机介绍 51单片是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C51为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能:8k字节Flash,
[单片机]
20-基于<font color='red'>51单片机</font>的遥控开关仿真
51单片机实验——跑马灯实验
1.题目要求: 编写跑马灯程序,用P0演示跑马灯的效果,效果自定。 2.KEIL代码 #include reg52.h #include intrins.h typedef unsigned int u16; //对数据类型进行声明定义 typedef unsigned char u8; void Delay100ms() //100ms { unsigned char i, j, k; _nop_();_nop_(); i = 5;j = 52;k = 195; do{do{while (--k);} while (--j);} while (--i); } void main(
[单片机]
<font color='red'>51单片机</font>实验——跑马灯实验
Ubuntu 16.04下8051单片机开发环境搭建
工作需求,准备学习单片机,加上以后准备学习嵌入式Linux,而且最近烦透了Win10的自动更新,遂放弃Windows环境,准备在Linux环境下从51单片机开始折腾起,学单片机和Linux两不误。本人是单片机和Linux系统双料新手,学习过程中碰壁不断,遂将过程做一下笔记,也分享到网上,高手见笑,新手且看,希望能帮到一些朋友。 系统:Ubuntu 16.04 LTS amd64 单片机:某宝¥149开发板,芯片STC90C51,板子自带USB转串口芯片CH340G。Ubuntu好像自带了这个的驱动,不用另装驱动了。 本来想折腾mcu8051ide的,但是apt-get安装和手动一个个安装依赖库再编译主程序安装两种方式的
[单片机]
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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