草庐IT

51degrees

全部标签

使用74HC595完成16*16led矩阵广告牌(51单片机软件仿真)

74HC595简介(个人理解)与模块代码SHCP是写入595芯片数据的配置STCP是发送595芯片内信息的配置DS是数据配置的区域595芯片有9个输出引脚,最后一个是供给下一块串联的595使用的,下一块串联的595stcp和shcp与上一块连接的引脚一致,下一块的DS与上一块的第9个引脚相连。实现了3位引脚当8位使用的功能,节省引脚。595串联的数据流动规则:倘若堆了16位数据进来,前八位会被推送到第二块串联的595芯片之中,后八位放在第一块595芯片内通用配置:定义引脚sbitDS=P2^1; sbitshcp=P2^0;sbitstcp=P2^2;写数值unsignedchari;for

51单片机入门 - 详解定时器实现按键控制流水灯方向

硬件型号、软件版本、以及烧录流程操作系统:Windows10x84-64单片机:STC89C52RC编译器:SDCC烧录软件:stcgal1.6开发板:普中51单片机开发板A2套件(2022)在VSCode中新建项目到烧录的过程:左侧EIDE图标-新建项目-空项目-8位MCU项目-保存文件夹。更改构建配置:SDCC;更改烧录配置:stcgal。在项目文件夹下新建src/main.c,右键项目资源-添加源文件夹-普通文件夹,选择src。在src目录下开发,最后点击右上角构建、烧录,单片机上电,完成烧录。定时器(Timer)、计数器(Counter)我的单片机是89C52RC,属于STC89C52

51单片机(八)串口通信

❤️专栏简介:本专栏记录了从零学习单片机的过程,其中包括51单片机和STM32单片机两部分;建议先学习51单片机,其是STM32等高级单片机的基础;这样再学习STM32时才能融会贯通。☀️专栏适用人群:适用于想要从零基础开始学习入门单片机,且有一定C语言基础的的童鞋。🌙专栏目标:实现从零基础入门51单片机和STM32单片机,力求在玩好单片机的同时,能够了解一些计算机的基本概念,了解电路及其元器件的基本理论等。⭐️专栏主要内容:主要学习51单片机的功能、各个模块、单片机的外设、驱动等,最终玩好单片机和单片机的外设,全程手敲代码,实现我们所要实现的功能。🌴专栏说明:如果文章知识点有错误的地方,欢迎

51单片机8位抢答器程序设计与原理图搭建

原理图整体本设计利用51单片机中断函数来查询抢答位置,除了一般抢答器用到的基本元件外,还用到了74LS30(八路与非门)与74LS04(非门)。下面对原理图进行分块介绍抢答按钮部分(注意非门接到AT89C52的P3.3 INT1触发)led灯连接部分 (采用灌电流的形式,注意P0口上拉电阻与led线路上的保护电阻)实际电路中,通常外界供电5V,led灯的压降为2V,工作电流为1-5mA,安全电阻通常在1-3KΩ数码管连接部分采用74HC573连接数码管,增加端口的驱动能力,也节约了端口P3端口与蜂鸣器蜂鸣器要保证供电,采用三极管增加驱动能力程序流程图C程序#include//添加两类头文件#i

51单片机矩阵键盘的控制原理-扫描及使用方式

矩阵键盘矩阵键盘一般和之前学的LCD1602液晶屏一起控制,建议先看一下之前的博客学习一下液晶屏的使用。当然矩阵键盘也可以和数码管和LED等一起操作,但是数码管需要扫描,很费CPU,LED又不能直观的看到键盘的操作。用LCD1602来学习矩阵键盘比较合适。简介在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排成矩阵形。采用逐行或逐列扫描,就可以读出任意位置按键的状态。解释一下从原理图中我们可以看到,独立按键每个按键要使用一个I/O口,而矩阵键盘只用了8个I/O口。假如矩阵键盘用独立按键的控制方式,四行四列需要16个I/O口。但是采用了扫描的控制方式后,我们只用了4+4=8个I/O口。

51单片机笔记:定时器/计数器

单片机笔记定时器/计数器定时器/计数器的结构AT89S51内部两个16位定时器/计数器:T0(P3.4),T1(P3.5),定时器/计数器T0由特殊寄存器TH0,TL0构成,T1由特殊功能寄存器TH1,TL1构成T0,T1都有定时器和计数器两种工作模式,两种模式实质都是对脉冲信号进行计数,只不过技术信号来源不同。计数器模式是对T0(P3.4)和T1(P3.5)两个引脚上的外部脉冲进行计数定时器模式是对系统时钟信号(fosc)经12分频后的内部脉冲信号(机器周期Tcy)计数.由于系统时钟频率fosc是定值,可根据数值计算出定时时间T(定时时间T=n*Tcy).振荡周期Tosc=1/fosc,机器

51单片机(80951系列)引脚功能说明

一AT89C51引脚图1.0中断1.0.1中断源AT89C51一共有5个中断源(1):外部中断0,外部中断请求信号由引脚输入,低电平或下降沿有效,中断请求标志位IE0。(2):外部中断1,外部中断请求信号由引脚输入,低电平或下降沿有效,中断请求标志位IE1。(3)T0:定时/计数溢出时发出中断请求信号,中断请求标志位TF0(也就是之前说的溢出标志位)。(4)T1:定时/计数溢出时发出中断请求信号,中断请求标志位TF1(也就是之前说的溢出标志位)。(5)串行口中断:发出或接收1字节数据以后发出中断请求信号,中断请求标志位发送时为TI,接收时为RI。1.0.2控制中断特殊寄存器控制中断的特殊功能寄

C51单片机的电子时钟(数码管显示+独立按键模块修改及暂停时间)

C51单片机的电子时钟(数码管显示+按键修改时间)效果预览相关的开发板原理图解析正式代码main.c代码部分key.h部分key.c部分效果预览IMG_1120相关的开发板原理图解析通过查看这三个原理图我们可以得知控制K1、K2、K3及K4是通过P31、P30、P32及P33来实现的,控制8个数码管是P22、P23及P24来实现,控制发光二极管则由P00-P07来实现。正式代码代码分为三部分分别为main.c、key.h、key.cmain.c代码部分#include#include"key.h"//这里定义了一个10个元素的只读数组zxCode,用于存放0~9的数码管显示码。codeunsi

51单片机io口的应用,注意事项及实例代码并标注

 51单片机是一种广泛使用的8位微控制器,它具有多个I/O(输入/输出)端口。根据不同的厂商,51单片机可能有不同数量的I/O端口。在此,我们以常见的AT89C51单片机为例,讨论其各I/O端口的区别及应用实例。1.P0端口:P0端口为地址/数据复用端口,其控制信号线共用。在实际应用中,需要使用上拉电阻将端口设置为高电平,以便输出数据。由于地址/数据复用,P0端口可以用作数据总线或者地址总线。应用实例:数码管显示、DS1302实时时钟等。2.P1端口:P1端口为专用的数据端口,具有较高的驱动能力。在应用中,可以直接驱动LED、按键等设备。应用实例:数字电压表、按键输入等。3.P2端口:P2端口

51单片机——中断系统之外部中断实验,小白讲解,相互学习

 中断介绍        中断是为使单片机具有对外部或内部随机发生的事件实时处理而设置的,中断功能的存在,很大程度上提高了单片机处理外部或内部事件的能力。它也是单片机最重要的功能之一,是我们学些单片机必须要掌握的。        为了更容易的理解中断概念,我们先来举一个生活中的例子:你打开火烧上一壶水,然后去洗衣服,在洗衣服的过程中,突然听到水壶发水开的报警声,这时,你停止洗衣服动作,立即去关掉火,然后将开水灌入暖水瓶中,灌完开水后,你又回去继续洗衣服。这个过程实际就发生了一次中断。如下图:                              对于单片机来讲,中断是指CPU在处理某一事件