网站建设后预期推广方式网站建设如何吸引投资

pingmian/2026/1/20 14:54:40/文章来源:
网站建设后预期推广方式,网站建设如何吸引投资,网络推广员,北京百度搜索排名优化51单片机项目基础篇 LED流水灯1、硬件电路设计和原理分析2、软件设计2.1、利用循环和移位操作符功能实现#xff1a;LED流水灯2.2、利用利用封装好的库函数功能实现#xff1a;LED流水灯 3、编译结果4、结束语 LED流水灯 前言#xff1a; 前几篇学会了LED驱动原理#xff… 51单片机项目基础篇 LED流水灯1、硬件电路设计和原理分析2、软件设计2.1、利用循环和移位操作符功能实现LED流水灯2.2、利用利用封装好的库函数功能实现LED流水灯 3、编译结果4、结束语 LED流水灯 前言 前几篇学会了LED驱动原理并且成功点亮了一颗LED和实现了LED的闪烁那么这篇紧接着就来解锁LED的新功能LED流水灯。当然这里前提是基于肉眼余晖可见光达成的效果。 1、硬件电路设计和原理分析 开发板上 LED 模块电路原理图如下图所示 看上图中 LED 采用共阳接法D1-D8 连接到单片机的 P20-P27 口即所有LED 阳极管脚接电源 VCC阴极管脚通过一个 470 欧的限流电阻接到 P2 口上。 原理分析 根据前面篇章 点亮一颗LED 的介绍我们知道要让 LED 发光即对应的阴极管脚应该为低电平若为高电平则熄灭。 根据前面篇章 LED闪烁 的介绍我们知道要让 LED 闪烁主要引用延时函数。 所以如果要想 51 单片机控制 LED实现流水灯的效果就必须通过单片机管脚在 P2 口上反复循环的调用寄存器控制对应D1~D8引脚的高低电平当第一颗LED点亮则其它LED处于熄灭状态当第二颗LED点亮时其它LED处于熄灭状态同理其余的LED都是这个逻辑其次MCU执行程序语句都会有一定的时间为了达到人肉眼的余晖效应因此只需编写一个循环函数让CPU 不干其它事专门在那循环运行即可实现延时功能。 2、软件设计 程序这边主要介绍两种思路的写法 (1)、利用循环和移位操作符实现反复改写对应LED端口高低电平的改写。实验效果单向流水灯 (2)、利用封装好的库函数左移_crol_、右移_cror_函数实现流水灯效果。实验效果双向流水灯 2.1、利用循环和移位操作符功能实现LED流水灯 //1.利用循环和移位操作符 /**/ #include reg52.h#define LED_PORT P2//使用宏定义--- P2端口 typedef unsigned int u16;void delay_10us(u16 ten_us) {while(ten_us--); }void main() {int i 0;//LED_PORT 0xfe;//LED_PORT 0x01;while(1){for(i0;i8;i){LED_PORT ~(0x01i);//i0时D1灯亮,i依次点亮//移位后自动补0当7次移位后高位的1被移走低位就自动补0//导致同时会亮两个灯那么就采取取反操作符。以移动1然后取反来解决移位补0的这个问题delay_10us(50000);}} }解释说明 前面章节已经介绍了的内容这里的 delay_10us延时函数 和 typedef 类型重命名就一笔带过了。具体参考前面篇章 点亮一颗LED 的介绍 然后这里简单说一下#define关键字是C语言中的一个宏定义预处理指令(“#”开头的均为预处理命令)命令它用来将一个标识符定义为一个字符串语法格式如#define LED_PORT P2该LED_PORT标识符被称为宏名被定义的字符串P2称为替换文本。 大概描述一下主要的作用就是在遇见大量重复又需要经常改变的参数常常用宏定义一个新的字符串替换标识符从而实现便捷的更换程序参数。 最后主函数main进入 main 函数后首先定义一个变量 i然后进入 while 循环由于要实现 8个 LED 从 D1-D8 循环点亮因此可以使用 for 循环语句循环 8 次每循环一次点亮的小灯向右移动一个而 D1-D8 是连接到 P2.0-P2.7 的因此输出的低电平要左移一位因此可以使用 LED_PORT~(0x01i);语句实现。 主要解释一下~(0X01i) 表示 i 循环 1 次则0x01 中的 1 就移动多少位。另外因为 1高电平不会让 LED 点亮需要取反后变为低电平 0 才能点亮所以最后的结果需要取反后给 LED_PORT 口并且每次循环都要延时一段时间这样才能分辨出来 LED 在流水形式显示。 如果不取反这里以二进制表示就是 0000 0001 1 得到 0000 0010 左移1位后最低位自动补0当7次移位后1000 0000第八次最高位的1被移走最低位就自动补0则为0000 0000又根据开发板的LED硬件原理图LED 采用共阳接法给0为亮所以最后的移位后的值需要取反使得对应的灯亮其它灯灭。 2.2、利用利用封装好的库函数功能实现LED流水灯 //2.利用_crol_库函数 /**/ #include reg52.h #include intrins.h //当调用_cror_右移库函数和_crol_左移库函数时需调用头文件intrins.h //注意库函数的移位不会自动补0是最高位向最低位进行移位的 //了解函数的参数extern unsigned char _crol_ (unsigned char, unsigned char); //第一个参数是移动的值第二个参数是移动的位数 #define LED_PORT P2typedef unsigned int u16; typedef unsigned char u8;void delay_10us(u16 ten_us) {while(ten_us--); }void main() {u8 i 0;LED_PORT 0xfe;//1111 1110delay_10us(50000);//LED_PORT ~0x01;//等价while(1){for(i0;i7;i)//当我们给LED_PORT赋初值0xfe时只需要循环7次即可{LED_PORT _crol_(LED_PORT,1);delay_10us(50000);}//右移同理for(i0;i7;i)//当我们给LED_PORT赋初值0xfe时只需要循环7次即可{LED_PORT _cror_(LED_PORT,1);delay_10us(50000);}}解释说明 以库函数的写法就相对更简单了因为只需要会用就行直接调用已经封装好的左移_crol_、右移_cror_函数然后查阅对应的用法和参数以及对应的头文件即可。 以左移_crol_函数为例其主要作用就是 实现的移位功能就相当于一个队列内循环移动如果是左移那么最高位就被移到最低位了次高位变为最高位依次类推的循环排列。 最后主函数main进入 main 函数后首先定义一个变量 iLED_PORT~0x01因为 LED 是低电平 点亮所以 0X01 取反后的结果是 0XFE对应二进制数为 1111 1110即最低位为 0因此最开始的 D1 指示灯会点亮然后进入 while 循环使用 for 循环_crol_和_cror_移位函数实现 LED 左右流水显示。 注意到的是此处每个 for 循环只有 7 次为什么不是 8 次呢这是因为在进入 main 开始就已经将 LED_PORT 端口设置了一次状态即让 D1 点亮并且我们是想让 LED 从左至右依次点亮然后继续又从右至左依次点亮这样形成左右流水效果。 假如将循环次数改为 8 次我们列举下第一个 for 循环的LED_PORT 端口状态值如下所示 初始状态LED_PORT1111 1110 i0LED_PORT1111 1101 i1LED_PORT1111 1011 i2LED_PORT1111 0111 i3LED_PORT1110 1111 i4LED_PORT1101 1111 i5LED_PORT1011 1111 i6LED_PORT0111 1111 i7LED_PORT1111 1110 可以很直观的查看到当i 7时再次回到了初始状态的显示可这里我们是想实现的是LED从左流动过来又从右流动回去的流水灯效果。所以i 6只需要for循环7次即可。 3、编译结果 至此两个程序就编写完成我们编译一下如下图所示 从上图编译信息可以看出我们的代码占用FLASH 大小为code 65 字节所用的 SRAM 大小为data 9 个字节9.0xdata指是扩展的外部存储XSRAM所占的大小并没有使用XSRAM所以为0。 从上图编译信息可以看出我们的代码占用FLASH 大小为code 98 字节所用的 SRAM 大小为data 9 个字节9.0xdata指是扩展的外部存储XSRAM所占的大小并没有使用XSRAM所以为0。 硬件实验效果如图所示 C51基础实验 LED流水灯实验效果展示1 C51基础实验 LED流水灯实验效果展示2 4、结束语 写这篇文章记录作为自己学习的笔记笔者水平有限希望有错误的地方还请多多指教各抒己见交流学习同时希望笔者的内容有帮助到你。如果有所帮助还请点点赞表示支持哦。最后感谢各位的阅读不喜勿喷。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/87229.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

设备高端网站建设薇晓朵 wordpress 下载

Docker-compose下配置Mysql,Redis,MongoDB详解一、docker-compose简介二、构建一个实例项目1.前后端实现2.Dockerfile及docker-compose.yml3. 生成镜像三、实例程序源码一、docker-compose简介 Compose是用于定义和运行多容器Docker应用程序的工具。通过…

单位建设网站的目的模板网站建设价位

JAVA代码编写 动态规划(Dynamic Programming) 一个问题可以划分为多个子问题,且子问题之间有关联,就可以使用动态规划。 动态规划问题步骤: 确定dp数组(dp table)以及下标的含义确定递推公式…

山东网站建设网络公司凡科轻站官网

1 Laspy库介绍 laspy是一个Python库,主要用于读取、修改和创建LAS点云文件。该库兼容Python 2.6和3.5,并且可以处理LAS版本1.0-1.3的文件。 在laspy库中,可以使用命令行工具进行文件操作,如格式转换和验证,以及比较LAS…

深圳市建设交易网站菏泽百度推广公司电话

Java基础11——抽象类和接口 抽象类和抽象方法 区分普通方法和抽象方法 在Java 中,当一个类被 abstract 关键字修饰的时候这个类称为抽象类。当一个类的方法被 abstract 关键字修饰的时候,该方法称为抽象 方法。抽象方法必须定义在抽象类中。当一个方…

服装网站建设策划书预期投入广东睿营建设有限公司网站

亲爱的Linux用户们,是不是有时候觉得HTTP代理就像是一个魔法盒子,让你在数字世界中自由穿梭?但是,就像所有的魔法物品一样,它也会偶尔出点小状况。今天,我们就来一起探讨一下Linux系统中HTTP代理的常见问题…

手机网站你了解的外贸网站如何建站

文章目录 一、FunASR二、上代码(队列解决线程并发问题)三、测试 一、FunASR 在我的另一个博客有介绍FunASR,并且进行了语者分离,不过最近FunASR自带了语者分离,挺好挺好,但是一直看社区就是大家都用python写&#xff…

为什么做街舞网站制作演示网站

Timsort(泰姆排序)是一种混合排序算法,结合了合并排序(Merge Sort)和插入排序(Insertion Sort)的特性。它由Tim Peters在2002年为Python的排序算法而设计,并在Python 2.3版本中首次实…

成都营销类网站设计网站管理与建设

目录 力扣1089. 复写零 解析代码 力扣1089. 复写零 1089. 复写零 - 力扣(LeetCode) 难度 简单 给你一个长度固定的整数数组 arr ,请你将该数组中出现的每个零都复写一遍,并将其余的元素向右平移。 注意:请不要在…

登封做网站关键词排名优化公司

404错误是一个HTTP状态代码,这意味着你试图在网站上访问的页面在他们的服务器上找不到。 需要明确的是,该错误表示虽然服务器本身是可访问的,但显示该错误的特定页面是不可访问的。 个别网站经常自定义这个错误信息。所以,请记住,错误可能会以任何可以想象的方式出现,这…

建站与备案的具体流程是什么云主机网站的空间在哪里看

我在js文件中开了个定时器,每1s从后端获取数据并解析,然后用异步方法就渲染不出来,改成同步就可以了。 这个解决方法来自于这篇文章,我出的问题和他一样:关于ajax中readyState的值一直为1的问题 这里将ajax参数修改为f…

关于征求网站建设的意见工地包工接活十大平台

Android 的 WMS(Window Manager Service)是一个关键组件,负责管理窗口的创建、显示、布局和交互等。Window 的操作有两大部分,一部分是 WindowManager 来处理,一部分是 WMS 来处理,如下图所示: …

株洲的网站建设响应式网站排名如何

1、同一个bank下如果有多个threads access 不同的地址,就会出现bank conflicts, 2、如果是多个threads read 同一个bank内的同一个地址,就是broadcast 模式没有bank conflicts,这种情况下带宽利用率较低,因为只用了一个bank资源…

安阳网站关键词优化gta买办公室网站建设中

目录 算法的执行效率和资源消耗、时间和空间复杂度分析 执行效率和资源消耗 时间复杂度分析 空间复杂度分析 实际应用 面试技巧 根据实际场景,选用合适的数据结构和算法进行程序设计 所根据原则 实例 如何选择数据结构示例 合适的数据结构:哈…

西安教育类网站建设公司建站助手官网

于今天的新生代父母而言,在诸多消费观念被改变的当下,新生父母们在育儿上更强调精细化,在这种情况下,母婴市场的消费升级已是大势所趋。不过,在如今收入增速整体放缓的背景下,各细分赛道的消费升级都出现了…

做网站推广方法有哪些长沙黄花机场公众号

发现自身数字化滞后的公司正在遭受因为在二十年前所做的战略决策的煎熬。这里我们将阐述如何才能迎头赶上。 发展数字化战略的公司正在努力促进转型,因为大多数首席信息官(CIO)还没有能力成为数字化领导者。根据Caldwell Partners公司的技术、数字和数据领导事务的管…

上海营销型网站建设费用wordpress后台可视化编辑器

在Redis中设置一个键值对并为其指定过期时间,可以使用 SET 命令结合 EXPIRE 命令来实现,或者直接使用 SETEX 命令。 以下是使用 SET 和 EXPIRE 命令的例子: SET mykey somevalue EXPIRE mykey 30上面的命令首先使用 SET 命令创建了一个名为…

做公众号选择图片的网站无锡网络推广哪家好

昨天刚写完侧滑菜单的实例,今天在CocoaChina网站上看到一篇非常好的侧滑菜单设计案例文章,分享给大家。http://www.cocoachina.com/macdev/uiue/2013/0716/6609.html 自从Facebook使用了左右滑动菜单导航以后,国内外各个App都竞相模仿该功能&…

做两个阿里网站一般可以在哪些网站做推广

1005 继续(3n1)猜想 (25 分) 卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对 n3 进行验证的时候,我们…

dw中怎样做网站二级页面本地网站建设电话

随着科技的飞速发展,全球软件开发大会(QCon)作为行业领先的技术盛会,为世界各地的专业人士提供了交流与学习的平台。本次大会汇集了全球的软件开发者、架构师、项目经理等,共同探讨软件开发的最新趋势、技术与实践。本…

北京正规网站建设有几种企业建站划算吗

pinia的使用跟vuex很像,去除了很多没用的api,写法有两种,一种老式的选项式api还有一种组合式api,用哪种根据自己喜好来,以下示例为组合式api 更多教程参考官网:pinia官网https://pinia.vuejs.org/zh/ 安装…