前言-----

news/2024/11/29 18:40:43/

因要参加电赛,接触到STC89C52RC(A51)单片机 

 

 

STC89C52RC引脚功能  

1电源:
①VCC - 芯片电源,接+5V; 
②VSS - 接地端; 

2.时钟:  
XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。  

3.控制线:  
控制线共有4根: 
         ALE/PROG:地址锁存允许/片内EPROM编程脉冲  
         ① ALE功能:用来锁存P0口送出的低8位地址  
         ② PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。 
        PSEN:外ROM读选通信号。 
        RST/VPD:复位/备用电源。 
                 ① RST(Reset)功能:复位信号输入端。 
                 ② VPD功能:在Vcc掉电情况下,接备用电源。 
        EA/Vpp:内外ROM选择/片内EPROM编程电源。 
             ① EA功能:内外ROM选择端。 
             ② Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。 

4.I/O口线:P0、P1、P2、P3共四个八位口。  
    P0口是三态双向口,通称数据总线口,因为只有该口能直接用于对外部存储器的读/写操作。P0口也用以输出外部存储器的低8位地图1址。由于是分时输出,故应在外部加锁存器将此地址数据锁存,地址锁存,信号用ALE。  
     P1口是专门供用户使用的I/O口,是准双向口。  
     P2口是从系统扩展时作高8位地址线用。不扩展外部存储器时,P2口也可以作为用户I/O口线使用,P2口也是准双向口。  
     P3口是双功能口,该口的每一位均可独立地定义为第一I/O功能或第二I/O功能。作为第一功能使用时操作同P1口。

一、跑马灯

 

 使用程序控制P20-P27输出电平(0,1)实现LED模块 D1-D8发光二极管的循环电亮,完成跑马灯效果。

/*定义LED引脚*/#define LED P2/*延迟函数*/
void Delay(unsigned int a)
{while(a--);
}//流水灯
void Running()
{u8 i;LED = 0xfe;Delay(50000);//大约延时450ms	while(1){for(i = 0;i<7;i++){LED = _crol_(LED,1);	//左移一位  0xfe(11111110)--->0xfd(11111101)Delay(50000);}for(i = 0;i<7;i++){LED = _cror_(LED,1);	//右移一位  0x7f(01111111)--->0xbf(10111111)Delay(50000);}}
}

定义LED为引脚P2,P2赋值为0xfe,二进制为11111110,共八位分别对于P27-P20,当P20引脚为0-低电压时电亮,1-高电压时熄灭。循环左移,右移并等待450ms电亮下一个

二、独立按键控制蜂鸣器

 

 在实验版有4个独立按键k1-k4,分别对于STC80C51的P30-33引脚,当按键按下后,对应的引脚接地,即赋值0。通过程序判断P30-P33哪个为0对应按键按下。

蜂鸣器的BEEF接无线四项步进电机ULN2003D的OUT5引脚,该引脚信号受IN5所对应的P25引脚影响。

 /*定义蜂鸣器*/sbit BEEP = P2^5;void C_buzzer()
{while(1){if(P31==0)//按下关闭{BEEP=1;while(1){if(P31==0)//当再次按下时,再次启动{break;}}}else{BEEP = ~BEEP;Delay(50000);}}
}


http://www.ppmy.cn/news/661098.html

相关文章

【PCL】(三)读写PCD文件

文章目录 &#xff08;三&#xff09;读写PCD文件写读 &#xff08;三&#xff09;读写PCD文件 写 首先&#xff0c;创建一个名为pcd_write.cpp的文件&#xff0c;并在其中写入以下代码&#xff1a; #include <iostream> #include <pcl/io/pcd_io.h> #include &…

按键精灵curl、FTP、zip、sha1算法、下载文件、上传文件、蓝奏云api、压缩解压文件支持 安卓、IOS

lua插件放到 按键精灵手机助手 安装位置的 Plugin 文件夹里面 注意: 下载后去掉文件后缀.7z 支持安卓&#xff0c;ios &#xff0c;不需要安装&#xff0c;一个lua插件搞定。 支持multipart/form-data上传文件 支持上传到阿里云oss 以下是本人测试在按键精灵上可用的curl …

(安卓,IOS系统)按键精灵手机版连接sqlserver ,mysql等远程数据库,进行批量自动处理。

好消息&#xff01;&#xff01;&#xff01; 开放免费的数据云存储平台&#xff1a;数据云空平台 默认账号&#xff1a;demo&#xff0c;密码&#xff1a;123456 通过按键精灵批量读取服务器上游戏账号列表&#xff0c;进行登录功能&#xff0c;可用来搬砖。。。 入主题&am…

苹果ios免越狱脚本实现方案

实现原理 通过电脑串口控制鼠标模块对手机进行点击和滑动等操作&#xff0c;iOS需要支持AirPlay投屏&#xff0c;所以iOS版本要大于等于iOS14.3。 设备代码&#xff1a; 目前是基于Python进行编写&#xff0c;也支持易语言&#xff0c;按键精灵等 #投屏上去后&#xff0c;发…

按键精灵手机助手学习笔记

目录 1 基础教程 1.1 定义变量 1.2 运算符 1.2.1 算数运算符 1.2.2 逻辑运算符 1.2.3 关系运算符 1.2.4 连接运算符 1.3选择结构 1.4 循环结构 1.5 定义函数 1.6 Sub子程序 1.7 Rem标记 1.8 Goto跳转 1.9 函数调用 2 基本命令 2.1 触摸命令 2.1.1 按键控制 2.1.2 短暂点击控制 …

按键精灵手机助手之字符串处理

目录 获取ANSI码 获取字符串 查找字符串 合成字符串 转小写 转大写 获取字符串字数 取指定字符串 替换字符串 比较字符串 获取ANSI码 命令名称&#xff1a;Asc 获得ANSI码命令功能&#xff1a;返回与字符串的第一个字母对应的 ANSI 字符代码语法格式&#xff1a;Asc(string)…

Python 实现按键精灵的功能,超简单详细(MAC版)(转载)

Python 实现按键精灵的功能&#xff0c;超简单详细-MAC版 前言&#xff1a; 实现步骤 一、安装四个库 二、试运行简单的功能 三、根据需求自己写代码 注明 前言&#xff1a; 想看Windows版的同学可以看Python 实现按键精灵的功能&#xff0c;超简单详细(Windows版) 之前写了Win…

自己动手开发安卓版按键精灵

update&#xff1a;2022.04.30 时隔多年&#xff0c;以前觉得实现起来很麻烦的功能&#xff0c;趁着五一假期&#xff0c;花了几个小时简单实现了一下&#xff0c;代码链接&#xff1a;https://github.com/ITAnt/AutoTask/tree/master 有编译好的apk&#xff0c;直接戳这里下…