STC89C52RC单片机原理图详解 |
您所在的位置:网站首页 › mdbt40-p256rv3 原理图 › STC89C52RC单片机原理图详解 |
目录 1、单片机整体模块 2、 LED模块 3、独立按键模块 4、数码管模块 5、LCD1602模块 6、矩阵按键模块编辑 7、串口通信模块 8、LED点阵屏模块 1、单片机整体模块单片机使用的是TTL电平(一种电平的规范),规定为0V为低电平,5V为高电平; 字母上有一横,意为低电平有效。 单片机上电时,所有I/O口默认为高电平。 单片机I/O口连接的模块(重复I/O口在同一时间只能实现一个功能): (1)P0.0~P0.7:数码管、外接显示屏LCD1602 (2)P1.0~P1.7:矩阵键盘 (3)P2.0~P2.7:LED模块的8个LED灯 P2.2~P2.4:138译码器选择位; P2.5~P2.7:外接显示屏LCD1602 (4)P3.0~P3.3:四个独立按键K1~K4 2、 LED模块上图左边8个口连接到单片机的P2.0口~P2.7口, 右边VCC是指电源; VCC左边的蓝色方框是指电阻,右上角1K指1000Ω,用于保护电路,防止超载; 中间绿色的为LED二极管,当P2.0口为低电平时,则对应电路上的LED灯D1亮;若为高电平,则对应电路上的LED灯D1灭,其他灯同理。 单片机上电阻的读数方式 3、独立按键模块右边接地,左边四个口分别连接到单片机的P3.0~P3.3; 要注意RXD与TXD的顺序与上面不一致。K1对应P3.1,K2对应P3.0,K3对应P3.2,K4对应P3.3 因为单片机上电时,I/O默认为高电平,所有按键没有按下时,则I/O口为高电平;按键按下时,I/O变为低电平。 4、数码管模块(1)138译码器
开发板上接的是74HC138,右侧LED1~LED8接到了数码管的公共端,通过138译码器,能够使由左侧P22、P23、P24三个端口来控制选择右边的8个端口LED1~LED8。 例:当C、B、A输入为000时,输出Y0低电平有效,其他无效,即输出LED8~LED1为1111 1110。 CBA输出(上面一横代表低电平有效)000Y0(1111 1110 )001Y1(1111 1101)010Y2(1111 1011)011Y3(1111 0111)100Y4(1110 1111)101Y5(1101 1111)110Y6(1011 1111)111Y7(0111 1111)左下角G1、G2A和G2B为使能端,当G1接VCC,G2A和G2B接地,138译码器才会工作。 89C52RC单片机采用的是共阴极数码管,右上角COM指公共端,所以如果想点亮第三个数码管,首先需要给LED1~LED8赋值1101 1111,这样第三个数码管就被选中了,然后给第三个数码管数据,需要给数码管下面的接口输入阳码(1为亮,0为灭)——如想让数码管显示1,需要输入 0110 0000。 74HC245为双向数据缓冲器,右上角VDD是电源接VCC,OE为使能端口,低电平有效,接地时芯片才开始工作,左下角GND为接地。 左侧A0和右侧B0为一 一对应的关系,左上角DIR为控制数据方向端口,如果DIR接高电平是将左侧数据A0~A8送到右侧B0~B8,如果DIR接低电平,是将右侧数据B0~B8送到左侧A0~A8,由于在电路板上LE始终与VCC连接,因此这里74HC245的作用是将左侧数据A0~A8送到右侧B0~B8。 由于数码管为共阴极,给数码管下面接口输入阳码时,LED才亮,但是直接将P0~P7的高电平输入到数码管时,89C52RC单片机的I/O口是弱上拉类型,单片机高电平驱动能力有限,输出的最大电流不能太大,而低电平驱动能力更强一些。因此通过从P0~P7的数据,经过74HC245,就会使输入数码管的电流更小,这样驱动能力会更强一些。 5、LCD1602模块通过调用LCD1602调试程序,使数据显示在LCD1602液晶屏上。 6、矩阵按键模块![]() 由独立按键模块可知,当P1.7口接地时,通过检测P1.0~P1.3口是否为低电平,来判断按键是否被按下。 逐行扫描,就是通过给P1.4~P1.7哪一个口设置低电平,来表示扫描哪一行,通过检测P1.0~P1.3哪一个口为低电平,来判断是哪一个按键被按下,再通过单片机快速的读取输入扫描,就能最终实现所有按键同时检测的效果。 由于单片机的自身局限性,P1.5口逐行扫描时会和其它引脚冲突,会导致蜂鸣器一直响,因此在这里我们用逐列扫描,原理和逐行扫描相同。通过给P1.0~P1.3哪一个口设置低电平,来表示扫描哪一行,通过检测P1.4~P1.7哪一个口为低电平,来判断是哪一个按键被按下。 7、串口通信模块上面电路图的功能是将51单片机中的UART串口(TXD与RXD)与电脑的USB串口互相传输数据。 8、LED点阵屏模块上图与开发板LED点阵屏引脚对应关系如下: 通过P0.0~P0.7来控制LED点阵屏的列; 通过D0~D7来控制LED点阵屏的横,D0~D7连接在74HC595移位寄存器上。 74HC595是串行输入,并行输出的移位寄存器,可用3根线输入串行数据,8根线输出并行数据,多片级联后,可输出16位、24位、32位等,常用于I/O口扩展。
RCLK(P3.5):寄存器时钟
SER(P3.4):串行数据 QH':用来多片级联(多个74HC595移位寄存器相连) 左边竖着的为8位移位寄存器,右边竖着的为输出缓存。 首先由SER串行输入数据,从上端进入移位寄存器, 串行时钟 若当左边8位移位寄存器数据满了后,继续向SER串行输入数据,那么数据会从QH'流入下一片的移位寄存器。 为什么LED点阵屏没有横竖两排都接I/O口? 单片机高电平驱动能力有限,输出的最大电流不能太大,而低电平驱动能力更强一些。 竖排接I/O口接地后,如果横排接I/O口接高电平,LED点阵屏的亮度不会特别亮。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |