当前位置: 首页 > news >正文

怎样做网站导航界面/百度高级搜索入口

怎样做网站导航界面,百度高级搜索入口,湖南移动网站建设,网页制作源代码免费的目录 目的/效果 一,STC单片机模块 二,8*8 LED点阵模块 2.1 电路图 2.1.1 8*8 点阵模块电路图 2.1.2 74HC595(串转并)模块 电路图 2.1.3 芯片引脚 2.2 引脚电平分析 2.3 74HC595 串转并模块 2.3.1 装弹(移位…

目录

目的/效果

一,STC单片机模块

二,8*8 LED点阵模块 

2.1 电路图

2.1.1 8*8 点阵模块电路图

2.1.2 74HC595(串转并)模块 电路图

2.1.3 芯片引脚

2.2 引脚电平分析

2.3 74HC595 串转并模块

2.3.1 装弹(移位寄存器)

2.3.2 发弹(存储寄存器)

2.4 STC89C52RC 中的sfr、sbit

2.4.1 sfr(special function register):特殊功能寄存器声明   

2.4.2 sbit(special bit):特殊位声明   

2.4.3 可位寻址/不可位寻址:

三,创建Keil项目

四,代码 

五,代码编译、下载到51单片机


目的/效果

程序控制,点亮点阵LED 第1行第一列LED

一,STC单片机模块

二,8*8 LED点阵模块 

2.1 电路图

2.1.1 8*8 点阵模块电路图

2.1.2 74HC595(串转并)模块 电路图

 

2.1.3 芯片引脚

 

 

2.2 引脚电平分析

我们要点亮左下角 第一个 LED,需要将P70和DPa接通,其他引脚不管,如下图

将LED点阵左边第一列设置为0,即LED阴极为低电平,其余列为1,即高电平 

将LED点阵上边第一行设置为1,即LED阳极为高电平,其余行为0,即低电平  

对于74HC595模块的电平如下

 这里要注意跳线帽:OE 输出有效(低电平),我们直接可以拔掉或者接GND上

 

 

DP上的HEX=0x80=1000 0000(二进制)

那么对于引脚P35(RCLK)、P36(SRCLK)、P34(SER)输入怎样的数据,DPa-DPh 才会输出1000 0000 的电平呢?我们就要详细分析这个74HC595译码器。

2.3 74HC595 串转并模块

    74HC595 是一个 8 位串行输入、并行输出的位移缓存器,其中并行输出为三 态输出(即高电平、低电平和高阻抗)

移位寄存器工作方式就像手枪弹夹,但是子弹的发射(移位寄存器中的数据转储到存储寄存器),又像是【散弹】(因为是并行输出嘛)。

具体的装弹和发弹如下

2.3.1 装弹(移位寄存器)

上升沿:电平从低到高的那个过程。移位寄存器时钟在上升沿这个过程中才起作用。

先把数据放到针脚P34(SER)上(SER=1低电平 或者SER=0 高电平)

然后将 将P36(SRCLK) 针脚 先置低电平(SRCLIK=1)再置高电平(SRCLK=0)。这样就是实现了由上升沿 移位寄存(装弹)的效果。不过要注意这里不能立即置0,机器也需要处理时间。这里我们需要将程序延时10微秒后再做处理。

2.3.2 发弹(存储寄存器)

 数据从位移寄存器转移到存储寄存器,也是需要时钟脉冲驱动的,这就是P35(RCLK)脚的作用。它也是上升沿有效。

2.4 STC89C52RC 中的sfr、sbit

2.4.1 sfr(special function register):特殊功能寄存器声明   

 例:sfr P0 = 0x80;     声明P0口寄存器,物理地址为0x80

2.4.2 sbit(special bit):特殊位声明   

 例:sbit P0_1 = 0x81;    或    sbit P0_1 = P0^1;     声明P0寄存器的第1位

比如本节我们用到了下面几个,我们把针脚P34、P35、P36定义用对应申明,在使用时不在写针脚地址寄存器(当然也可以继续使用针脚,作用一样)。

//定义74HC595控制管脚
sbit _SRCLK=P3^6;	//移位寄存器时钟输入
sbit _RCLK=P3^5;	//存储寄存器时钟输入 注意:在 REGX52.H 中已经申明了RCLK
sbit _SER=P3^4; 	//串行数据输入 

2.4.3 可位寻址/不可位寻址:

在单片机系统中,操作任意寄存器或者某一位的数据时,必须给出其物理地址,又因为一个寄存器里有8位,所以位的数量是寄存器数量的8倍,单片机无法对所有位进行编码,故每8个寄存器中,只有一个是可以位寻址的。对不可位寻址的寄存器,若要只操作其中一位而不影响其它位时,可用“&=”、“|=”、“^=”的方法进行位操作

三,创建Keil项目

详细参考:51单片机STC89C52RC——创建Keil项目-CSDN博客

四,代码 

main.c

#include <REGX52.H>  
#include "74HC595.h"
/*** 函    数:主函数* 参    数:无* 返 回 值:无*/
void main()
{	 	 while(1){_74HC595_Show(0,0x80);//点亮第一行,第一个LED}
} 

Delay.c

/*** 函    数:延时函数 毫秒* 参    数:ms 延时多少毫秒* 返 回 值:无*/
void Delay_ms(int ms)	//@12.000MHz
{unsigned char data i, j;while(ms--){ i = 2;j = 239;do{while (--j);} while (--i);}
}
/*** 函    数:延时函数 毫秒* 参    数:ms 延时多少毫秒* 返 回 值:无*/
void Delay_us(int ms)	//@12.000MHz
{unsigned char data i, j;while(ms--){ i = 2;j = 239;do{while (--j);} while (--i);}
}
/*** 函    数:延时函数  10微秒* 参    数:无* 返 回 值:无*/
void Delay_10us(int _10us)	//@11.0592MHz
{unsigned char data i;while(_10us--){i = 2;while (--i);}
}

 Delay.h

#ifndef __DELAY_H_
#defind __DELAY_H_ 
void Delay_ms(int ms);
void Delay_10us(int _10us);
#endif

 74HC595.c

#include <REGX52.H>
#include "Delay.h"//定义74HC595控制管脚
sbit _SRCLK=P3^6;	//移位寄存器时钟输入
sbit _RCLK=P3^5;	//存储寄存器时钟输入 注意:在 REGX52.H 中已经申明了RCLK
sbit _SER=P3^4; 	//串行数据输入 /*** 函    数:74HC595写入一个字节* 参    数:Byte 要写入的字节* 返 回 值:无*/
void _74HC595_WriteByte(unsigned int Byte)
{	unsigned char i;for(i=0;i<8;i++){_SER=Byte&(0x80>>i);		//将1000 0000 右移i位后 & Byte_SRCLK=0;				//移位寄存器置搞电平Delay_10us(1);_SRCLK=1;				//移位寄存器置低电平/*这里有需要可以延时10微秒*/Delay_10us(1);}_RCLK=1;	//存储寄存器置低电平Delay_10us(1);_RCLK=0;	//存储寄存器置搞电平 
}
/*** 函    数:LED点阵屏显示一列数据* 参    数:Column 要选择的列,范围:0~7,0在最左边,Data 选择列显示的数据,高位在上,1为亮,0为灭* 返 回 值:无*/
void _74HC595_Show(unsigned char Column,Byte)
{_74HC595_WriteByte(Byte);	//向行写入数据P0=~(0x80>>Column);			//向列写入数据Delay_10us(1);				//等待显示稳定 
}

 74HC595.h

#ifndef __74HC595_H_
#defind __74HC595_H_
void _74HC595_WriteByte(unsigned int Byte);
void _74HC595_Show(unsigned char Column,Byte);
#endif

五,代码编译、下载到51单片机

代码编译请参考

《51单片机STC89C52RC——代码编译-CSDN博客》

代码下载请参考

《51单片机STC89C52RC——STCAI-ISP代码下载-CSDN博客》

相关文章:

51单片机STC89C52RC——8.1 8*8 LED点阵模块(点亮一个LED)

目录 目的/效果 一&#xff0c;STC单片机模块 二&#xff0c;8*8 LED点阵模块 2.1 电路图 2.1.1 8*8 点阵模块电路图 2.1.2 74HC595&#xff08;串转并&#xff09;模块 电路图 2.1.3 芯片引脚 2.2 引脚电平分析 2.3 74HC595 串转并模块 2.3.1 装弹&#xff08;移位…...

2024最新免费版轻量级Navicat Premium Lite 下载和安装教程

2024最新免费版轻量级Navicat Premium Lite 下载和安装教程 关于猫头虎 大家好&#xff0c;我是猫头虎&#xff0c;别名猫头虎博主&#xff0c;擅长的技术领域包括云原生、前端、后端、运维和AI。我的博客主要分享技术教程、bug解决思路、开发工具教程、前沿科技资讯、产品评…...

PHP+laravel 生成word

此功能较为繁琐我会从源头讲起 首先是数据库设置&#xff0c;下面是我的数据库结构 合同模版表 CREATE TABLE contract_tpl (id bigint unsigned NOT NULL AUTO_INCREMENT,name varchar(191) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 合同名称,file varchar(191) COLL…...

redis集群简单介绍及其搭建过程

Redis集群 1、哨兵模式 哨兵可以有多个&#xff0c;从服务器也可以有多个&#xff0c;从服务器也可以有多个&#xff0c;在Redis3.0以前的版本要实现集群一般是借助哨兵sentinel工具来监控master节点的状态&#xff0c;如果master节点异常&#xff0c;则会实现主从切换&#x…...

linux桌面运维----第五天

1、创建用户命令useradd&#xff1a; 作用&#xff1a;创建用户 ​语法&#xff1a;useradd [选项名] 用户名 ​选项&#xff1a; -d<登入目录> 指定用户登入时的起始目录。 【掌握】 -g<群组> 指定用户所属的群组&#xff08;基本组&#xff09;。【掌握】…...

【SQL Server数据库】简单查询

目录 用SQL语句完成下列查询。使用数据库为SCHOOL数据库 1. 查询学生的姓名、性别、班级名称&#xff0c;并把结果存储在一张新表中。 2. 查询男生的资料。 3. 查询所有计算机系的班级信息。 4&#xff0e;查询艾老师所教的课程号。 5. 查询年龄小于30岁的女同学的学号和姓名。…...

Docker 从入门到精通(大全)

一、概述 1.1 基本概念 Docker 是一个开源的应用容器引擎&#xff0c;基于 Go 语言 并遵从 Apache2.0 协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中&#xff0c;然后发布到任何流行的 Linux 机器上&#xff0c;也可以实现虚拟化。…...

基于JSP的在线教育资源管理系统

开头语&#xff1a; 你好呀&#xff0c;我是计算机学长猫哥&#xff01;如果你对在线教育资源管理系统感兴趣或者有相关需求&#xff0c;欢迎在文末找到我的联系方式。 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;JSP技术 工具&#xff1a;IDE、N…...

在java中代理http请求,如何避免陷入循环?

在 Java 中&#xff0c;代理 HTTP 请求时&#xff0c;如果不小心配置不当&#xff0c;可能会导致循环请求。循环请求通常发生在代理服务器将请求再次发送回自己&#xff0c;形成一个死循环。为了避免这种情况&#xff0c;可以采取以下几种方法&#xff1a; 将域名设置为指定的…...

国内镜像源网址

腾讯&#xff1a;腾讯软件源 (tencent.com) 阿里&#xff1a;阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 (aliyun.com) 清华&#xff1a;清华大学开源软件镜像站 | Tsinghua Open Source Mirror...

合适的智能猫砂盆到底怎么挑?开放式封闭式一次说清!

想当初我也是在网上看了各种测评&#xff0c;纠结了好久才下定决心入手了智能猫砂盆。封闭式和开放式都用过&#xff0c;各有各的利与弊&#xff0c;不过最后的我还是选择了开放式的智能猫砂盆&#xff0c;因为开放式的设计结构会更加方便我观察小猫&#xff0c;哪个铲屎官不喜…...

阿里云开启ssl证书过程记录 NGINX

&#x1f91e;作者简介&#xff1a;大家好&#xff0c;我是思无邪&#xff0c;2024 毕业生&#xff0c;某厂 Go 开发工程师.。 &#x1f402;我的网站&#xff1a;https://www.yishanicode.top/ &#xff0c;持续更新&#xff0c;希望对你有帮助。 &#x1f41e;如果文章或网站…...

C语言程序设计 9.37 调用随机函数为5x4的矩阵置 100以内的整数,输出该矩阵,求出每行元素之和,并把和的最大的那一行与第一行的元素对调

void count_sum(int sum[]) {int i;printf("每行相加的情况如下\n");for (i 0;i < 5; i){printf("%d ", sum[i]);}printf("\n"); } void test(int arr[5][4]) {int i, j;srand((unsigned)time(NULL));//添加这个可以每次不同的随机数&#x…...

Webpack: 借助 Babel+TS+ESLint 构建现代 JS 工程环境

概述 Webpack 场景下处理 JavaScript 的三种常用工具&#xff1a;Babel、TypeScript、ESLint 的历史背景、功能以及接入 Webpack 的步骤借助这些工具&#xff0c;我们能构建出更健壮、优雅的 JavaScript 应用 使用 Babel ECMAScript 6.0(简称 ES6) 版本补充了大量提升 JavaSc…...

孩子不想上学,父母应如何教育?“强迫教育”会激起孩子反抗心理

上周末朋友聚会&#xff0c;都是家有上学娃的年纪&#xff0c;闲聊中&#xff0c;话题自然少不了孩子的上学问题。其中&#xff0c;不少朋友都有抱怨过同一个问题&#xff1a;孩子不想上学&#xff0c;即使人到了学校&#xff0c;心也不在学校。   事实上&#xff0c;孩子出现…...

Python深度学习技术

原文链接&#xff1a;Python深度学习技术 近年来&#xff0c;伴随着以卷积神经网络&#xff08;CNN&#xff09;为代表的深度学习的快速发展&#xff0c;人工智能迈入了第三次发展浪潮&#xff0c;AI技术在各个领域中的应用越来越广泛。Transformer模型&#xff08;BERT、GPT-…...

ECharts 雷达图案例002 - 诈骗性质分析

ECharts 雷达图案例002 - 诈骗性质分析 &#x1f4ca; ECharts 雷达图案例002 - 诈骗性质分析 深入挖掘数据背后的故事&#xff0c;用可视化手段揭示诈骗行为的模式和趋势。 &#x1f50d; 案例亮点 创新的数据展示方式&#xff0c;让复杂的诈骗数据一目了然。定制化的雷达图…...

想远程控制手机,用哪个软件好?

很多人都想知道安卓系统或iOS系统要如何实现手机远程控制手机、电脑远程控制手机&#xff0c;分别需要用到什么软件&#xff0c;这篇文章一次说清楚。 注意&#xff0c;安卓系统需要是7.0及以上版本&#xff0c;iOS系统需要是11及以上版本。具体使用步骤请点击关注&#xff0c;…...

数字内容“遍地开花”,AI技术如何创新“造梦”?

文 | 智能相对论 作者 | 陈泊丞 这是春晚舞台西安分会场《山河诗长安》的一幕&#xff1a;“李白”现世&#xff0c;带领观众齐颂《将进酒》&#xff0c;将中国人骨子里的豪情与浪漫演绎得淋漓尽致。 这又是浙江义乌商品市场里的另一幕&#xff1a;只会说几个英文单词的女老板…...

MySQL集群如何实现读写分离

数据源配置&#xff1a;定义了主从数据库的连接池。读写分离规则&#xff1a;通过MasterSlaveRuleConfiguration定义了主从数据库的读写分离规则。负载均衡算法&#xff1a;定义了从数据库的负载均衡算法。创建ShardingDataSource&#xff1a;使用数据源和读写分离规则创建了Sh…...

一分钟剪辑1000条视频的云微客矩阵,怎么做到的?

当我们打开短视频软件时&#xff0c;就会有大量风格迥异的短视频犹如潮水般涌现在我们面前&#xff0c;这些短视频不仅配置了加粗的标题&#xff0c;下方还配置了字幕&#xff0c;中间则播放着视频&#xff0c;就是这样简易的视频&#xff0c;往往总能获得较高的播放量&#xf…...

简单案例比较Lambda和方法引用的差别

1.打印列表元素 正常使用 List<String> list Arrays.asList("a", "b", "c");for (String str: list){System.out.println(str);}Lambda表达式 list.forEach(e -> System.out.println(e));方法引用 list.forEach(System.out::println…...

10 个最佳 AI 代码生成器

人工智能的兴起极大地影响了编码和开发领域。 人工智能驱动的代码生成器有助于简化编码流程、自动化日常任务&#xff0c;甚至预测和建议代码片段。 下面&#xff0c;我们介绍一些最好的人工智能代码生成器、它们的独特功能&#xff0c;以及它们如何彻底改变您的编程体验。 1.…...

Eureka服务发现机制解析:服务实例的唯一标识

引言 Eureka是Netflix开源的服务发现框架&#xff0c;它是Spring Cloud体系中的核心组件之一。在微服务架构中&#xff0c;服务实例的动态注册与发现是实现服务间解耦和通信的关键。Eureka通过提供服务注册中心&#xff0c;使得各微服务实例能够注册自己并发现其他服务实例。本…...

操作系统实训复习笔记(基于命名管道与信号的进程间通信)

目录 基于命名管道与信号的进程间通信 第1关&#xff1a;命名管道与信号IPC操作考查 基于命名管道与信号的进程间通信 第1关&#xff1a;命名管道与信号IPC操作考查 &#xff08;没啥好说的&#xff0c;不会的操作系统考试就靠记呗&#xff01;&#xff01;&#xff09; slee…...

数字化转型第三步:数字化业务创新与发展,提升收入和利润

引言&#xff1a;之前笔者的文章发布了企业数字化转型业务部分&#xff0c;如【开源节流】如何通过数字化转型增强盈利能力&#xff1f;企业供应链数字化转型如何做&#xff1f;让企业盈利能力增强再飞一会 【财务数字化转型之底座】集团企业财务数据中台系统建设方案 等文章&a…...

SSM爱心捐赠物资维护系统-计算机毕业设计源码09536

摘要 随着信息技术的快速发展&#xff0c;计算机应用已经进入成千上万的家庭。随着物资数量的增加&#xff0c;物资库存管理也存在许多问题。物资数据的处理量正在迅速增加&#xff0c;原来的手工管理模式不适合这种形式。使用计算机可以完成数据收集、处理和分析&#xff0c;减…...

​中国9大流域地图SHP数据

九大流域片区是指中国境内九个主要流域片区。 分别包括东南诸河区、内陆河区、松辽河流区、海河流域区、淮河流域区、珠江流域片、西南诸河片、长江流域片和黄河流域片等。 如果这九大流域数据对你有用&#xff0c;请在文末查看该数据的领取方法。 中国9大流域图 流域&…...

android Switch/case with R.id.XXXX in android doesn‘t work 错误: 需要常量表达式解决方案

出现需要常量表达式 R.id.xxx 表达式错误的处理方法 出现的原因是因为: 使用 Android Gradle 插件 8.0.0 时&#xff0c;默认情况下&#xff0c;您的所有 R 类资源都不再声明为 final/constant&#xff08;因此在 switch 语句中不起作用&#xff09;。 如果您在 Android Studi…...

vue3-openlayers marker 光晕扩散(光环扩散)(postrender 事件和 render 方法)

本篇介绍一下使用 vue3-openlayers marker 光晕扩散&#xff08;光环扩散&#xff09;&#xff08;postrender 事件和 render 方法&#xff09; 1 需求 marker 光晕扩散&#xff08;光环扩散&#xff09; 2 分析 marker 光晕扩散&#xff08;光环扩散&#xff09;使用 post…...