常见的MSC-51单片机中一般采用双列直插(DIP)封装,共40个引脚。图为引脚排列图。其中的40个引脚大致可以分为四类:电源、时钟、控制和I/O引脚。
1、电源
Vcc:芯片电源,一般为+5V;
Vss:接地端。
2、时钟
XTAL1和XTAL2:晶体振荡电路反相输入端和输出端。当使用内部振荡电路时,需要外接晶振,常见有的4M、6M、11.0592M、12M等。当使用外部振荡输入时XTAL1接地,XTAL2接外部振荡脉冲输入。
3、控制线
MCS-51单片机的控制线共有4根,其中3根是复用线,具有两种功能。
(1)ALE/PROG:地址锁存允许/编程脉冲。
ALE:正常使用时为ALE功能,主要用来锁存P0口送出的8位地址。P0口一般分时传送低8位地址和数据信号,且均为二进制数。区分是否是低8位数据信号还是地址信号就看ALE引脚。当ALE信号有效时,P0口传送的是低8位地址信号;当ALE无效时,P0口传送的是8位数据信号。一般在ALE引脚的下降沿锁定P0口传送的内容,即低8位地址信号。
当CPU不执行访问外部RAM指令(MOVX)时,ALE以时钟振荡频率1/6的固定频率输出,所以ALE信号也可以作为外部芯片的时钟信号。但当CPU执行访问外部RAM(MOVX)时,ALE将跳过一个ALE脉冲。
PROG:当单片机在编程期间,该引脚输入编程脉冲(由编程器提供)。
(2)PSEN:外部ROM读选通信号。
当单片机读外部ROM时,每个机器周期内PSEN两次有效输出。PSEN就相当于外部ROM芯片输出允许的选通信号。但读片内ROM和读片外RAM时无效。
(3)RST:复位引脚。
RST为单片机上电复位输入端,只要在该引脚上连续保持两个机器周期以上的高电平,单片机就可以实现复位操作,复位后程序从0000H处开始执行。在一般应用中可以用RC电路来实现单片机的上电复位,在一些工业控制等要求较高的场合一般用专用的看门狗芯片进行复位及电源监控,典型的RC上电复位电路如图所示:
(4)EA/VPP:内外ROM选择/EPROM编程电源。
EA:正常工作时,EA为内外ROM选择端。MCS-51型单片机的寻址范围为64KB,其中4K在片内,60K在片外,当EA为高电平时,先访问片内ROM,当程序长度超过4K时将自动转向执行外部ROM中的程序。当EA为低电平时单片机只访问外部ROM,对老的8031单片机(因片内没有ROM),EA必须接地。目前的大部分单片机都自带ROM,所以一般应用中也将EA接高电平。
VPP:对于有内部EPROM的单片机,在片内EPROM编程期间,此引脚用于施加编程电源。
4、I/O引脚
MCS-51单片机共有4个8位并行I/O端口,共32个可编程I/O引脚。四个I/O口各有各的功能,在一般情况下,P0专用于分时传送低8位地址信号和8位数据信号,P2口专用于传送高8位地址信号,P3口大部分时间用于第二功能。当然所有I/O口都可以做为普通的输入/输出端口用。
关键字:MSC-51 单片机
引用地址:
MSC-51单片机的引脚排列图
推荐阅读最新更新时间:2024-11-15 16:16
单片机与PC电话远程通信系统设计
1、 引言 随着通信技术的不断发展,计算机网络系统通信是当今技术发展的一个重要的方向,然而在网络系统中利用现有电话网作为通信信道则是最经济、最方便和最可靠的方法。当前现代电话通信网已经进入程控交换时代,技术比较先进,速度快,容量大,因此采用电话通信网建立数据通信系统确实具有其独特的优越性。 利用单片机系统采集灌区水位、水流量,实现无人职守和科学的管理水资源具有实际意义,特别对少雨缺水地区更具有应用价值。 2、 系统硬件设计 本系统采用了MODEM将前端单片机采集的数据通过电话网远程传输到中心站PC机,并实现一对多点通信(站点数、通信距离均不限),后台PC机通过拨号的方式对各站点进行数据接收并实时存储
[单片机]
单片机固件被破解
什么是单片机解密? 单片机(MCU)一般都有内部程序区和数据区(或者其一)供用户存放程序和工作数据(或者其一)。为了防止未经授访问或拷贝单片机的机内程序,大部分单片机都带有加密锁定位或者加密字节,以保护片内程序。 如果在编程时加密锁定位被使能(锁定),就无法用普通编程器直接读取单片机内的程序,这就叫单片机加密。(BugPS:单片机程序基本上都存在于Flash中,大部分能够读取或者识别Flash上的数据就能够获得Firmware文件,从而给复制产品带来了机会) 单片机攻击者借助专用设备或者自制设备,利用单片机芯片设计上的漏洞或软件缺陷,通过多种技术手段,就可以从芯片中提取关键信息,获取单片机内程序这就叫单片机解密。 单片机解
[单片机]
51单片机学习笔记:串口接收和发送数据
芯片STC89C52RC 在PC端向单片机发送任意数据后, 单片机向PC端发送4行文本, 由于在windos下,回车换行用\r\n C代码 #include reg52.h #include MY51.h void initSer(); //串口初始化 uchar sendFlag = 0; //未发送数据时 uchar receFlag =0; //未接受到数据时 code uchar TEXT0 = ****************************\r\n ; //\r\n是回车换行 code uchar TEXT1 = 单片机串口通讯
[单片机]
单片机最小系统电源供电模块介绍
电源供电模块 图 电源模块电路图 对于一个完整的电子设计来讲,首要问题就是为整个系统提供电源供电模块,电源模块的稳定可靠是系统平稳运行的前提和基础。51单片机虽然使用时间最早、应用范围最广,但是在实际使用过程中,一个和典型的问题就是相比其他系列的单片机,51单片机更容易受到干扰而出现程序跑飞的现象,克服这种现象出现的一个重要手段就是为单片机系统配置一个稳定可靠的电源供电模块。 此最小系统中的电源供电模块的电源可以通过计算机的USB口供给,也可使用外部稳定的5V电源供电模块供给。电源电路中接入了电源指示LED,图中R11为LED的限流电阻。S1 为电源开关。
[单片机]
单片机编程好学吗?单片机初学者怎样看懂代码?
单片机在很多人看来好像门槛很高,在某些人看来很简单。 所以,单片机编程好不好学,这取决于谁去学,有没有基础,有没有兴趣。 我自己是通过自学学会的,我个人认为相对java那些纯软件,单片机比较好学。 单片机编程只需要学习C语言,很多人也会把汇编也学了,但是实际产品开发汇编一般用的还是比较少。 反正我从来没用汇编做过项目,所以只需要学习C语言就可以了。 至于单片机嘛,入门51的单片机也很简单,就是看手册配置单片机的寄存器而已。 就像你买一个冰箱,它配一个说明书给你,教你怎么用。 学习编程的过程才是最枯燥,连续看1个月视频,敲一个月的代码,只能在屏幕前显示冷冰冰一些字符。 而单片机则有趣的多,你只要会C语言入门语句,再加一点单片机寄存器
[单片机]
51单片机c语言---延时
1,_nop_() 适用于us级的少量延时 标准的C语言中没有空语句。但在单片机的C语言编程中,经常需要用几个空指令产生短延时的效果。 这在汇编语言中很容易实现,写几个nop就行了。 在keil C51中,直接调用库函数: #include intrins.h // 声明了void _nop_(void); _nop_(); // 产生一条NOP指令 作用:对于延时很短的,要求在us级的,采用 _nop_ 函数,这个函数相当汇编NOP指令,延时几微秒。 NOP指令为单周期指令,可由晶振频率算出延时时间,对于12M晶振,延时1uS。 2,一般延时大于10us 一,定义的C51中循环变量,尽量采用无符号字符型变量。 二,
[单片机]
51单片机串口、定时器、中断
1、串口编程思路: 2、中断
[单片机]
用单片机产生38KHz较为实用的方法
#include STC89C5xRC.h sbit clk_out=P1^0; //时钟输出端 void _38k_out(void) { C_T2=0; T2MOD=0x02; RCAP2L=0xb7; //110592时,约38.4KHz RCAP2H=0xff; TR2=1; } void main(void) { _38k_out(); while(1); }
[单片机]