Mixly开源项目设计26: 移位寄存器(一)——将LED点亮
移位寄存器型彩灯控制器

移位寄存器型彩灯控制器年度第1 学期)名称:数电实验设计题目:移位寄存器型彩灯控制器院系:电气与电子工程学院班级:电气0710 学号:学生姓名:陈佩璐指导教师:刘春颖设计周数:1 成绩:日期:xx 年1月20 日《电子技术》综合实验任务书一、目的与要求1、目的1、1综合实验是教学中必不可少的重要环节,通过综合实验巩固、深化和扩展学生的理论知识与初步的专业技能,提高综合运用知识的能力,逐步增强实际工程训练。
1、2注重培养学生正确的设计思想,掌握综合实验的主要内容、步骤和方法。
1、3培养学生获取信息和综合处理信息的能力、文字和语言表达能力以及协作工作能力。
1、4提高学生运用所学的理论知识和技能解决实际问题的能力及其基本工程素质。
2、要求2、1 能够根据设计任务和指标要求,综合运用电子技术课程中所学到的理论知识与实践技能独立完成一个设计课题。
2、2根据课题需要选择参考书籍,查阅手册、图表等有关文献资料。
要求通过独立思考、深入钻研综合实验中所遇到的问题,培养自己分析、解决问题的能力。
2、3进一步熟悉常用电子器件的类型和特性,掌握合理选用的原则。
2、4学会电子电路的安装与调试技能,掌握常用仪器设备的正确使用方法。
利用“观察、判断、实验、再判断”的基本方法,解决实验中出现的问题。
2、5学会撰写综合实验总结报告。
2、6通过综合实验,逐步形成严肃认真、一丝不苟、实事求是的工作作风和科学态度,培养学生树立一定的生产观点、经济观点和全局观点。
要求学生在设计过程中,坚持勤俭节约的原则,从现有条件出发,力争少损坏元件。
2、7在综合实验过程中,要做到爱护公物、遵守纪律、团结协作、注意安全。
二、主要内容共有8个既有学习价值又有一定的实用性和趣味性的设计课题,学生根据自身情况自由选择其中之一。
1、移位寄存器型彩灯控制器2、智力竞赛抢答器3、电子拔河游戏机4、交通信号灯控制器5、数字电子钟6、电子密码锁7、电子秒表8、数字电子钟(硬件)三、进度计划序号设计(实验)内容完成时间备注1设计内容讲解、学习资料查找方法半天2发放材料、清点材料、熟悉各种元器件半天3查找资料、设计电路、绘制总体电路草图1天4电路组装并调试或在Multisim上绘制电路图、仿真并调试2天5验收、撰写实验报告1天四、设计(实验)成果要求1、学生根据所选课题的任务、要求和条件进行总体方案的设计,通过论证与选择,确定总体方案;然后对方案中单元电路进行选择和设计计算;最后画出总体电路图。
Mixly系统设计2:LED灯串设计

Mixly系统设计2:LED灯串设计作者:吴俊杰来源:《中国信息技术教育》2016年第07期编者按:时至今日,学生的学习和真实的应用还常常处于脱节的状态。
记得日本著名的科幻漫画家藤子·F·不二雄曾说过“幻想拯救了我”,确实,作为一个创作者,尤其是在孩童时代,他们需要幻想、需要冒险、需要不断试错,才能更好地成长。
现在,令我们欣慰的是开源项目就提供了这样一种途径。
虽然,有些创造离造福社会还比较远,但即使只是自娱自乐的兴趣使然也未尝不是一件有意义的事情。
在Mixly开源系统设计的系列论文中,开源项目是指符合创客文化中开源、分享、服务的精神,遵从知识共享协议,鼓励知识产权收益的项目方案包。
关于收益针对爱好者群体个人和盈利性的实体是不同的,爱好者个人免费使用,而盈利性的实体则需要知识产权人声明一个收益方案,并具体协商。
这实际上是一个类似于学生在网上连载一个故事,对于看博客的人而言免费,而且特别感谢读者把作品转发到朋友圈,但是对于出版社要出版则需要具体协商,至于小说形成了“热门IP”要改编成电影,则需要学习一下郭敬明或者“天下霸唱”了。
本期我们的开源项目主题是一个LED灯串,许多灯构成的灯串,就像是春节里家家户户挂的那种灯串一样,它的核心是一个LED的闪烁控制。
LED灯串这个项目不能构成专利,因为它要求独创性,但是生成它所构成的文字、图片、视频都自然形成知识产权,因此一个开源项目的完成,既以一个精彩的分享视频结束,又以这个视频开始。
在教师指导学生的过程中依旧遵循着“制作→改装→玩转→分享”的MHPS模式。
制作:让一个LED闪烁将一个LED灯插在D13和GND之间,可以看到LED灯闪烁起来了,而且是周期性的闪烁,在这里面闪烁周期是一个编程者设定的“谜”,对于用户而言可以用手机启动一个秒表程序,然后测量一下其闪烁的周期。
接下来,提供足够的LED灯串,按照图1的电路示意图,将它们并联起来,接到D13和GND之间,观察这些LED灯是否还会一起闪烁。
用Mixly驱动蓝桥Arduino指定开发板二

用Mixly驱动蓝桥Arduino指定开发板二1. 单色LED模块图1 单色LED模块原理图如图1所示,RED为红色,GRE为绿色,BLU为蓝色,分别对应数字引脚的26、27、28,使用时只需让对应的引脚输出高电平即可。
示例实现红绿蓝三个灯点亮程序如下:2. 8路LED流水灯模块图2 8路LED灯如图2所示,8路LED灯的阴极连接到Y0,8个LED灯阳极分别连接到D1、D2、D3、D4、D5、D6、D7、D8,其中Y0对应数字引脚24,D1~D8分别对应数字引脚43~50。
示例实现8个LED灯点亮:3. 单/双位数码管模块图3 数码管模块原理图如图3所示,四位共阴极数码管模块采用I2C通信方式显示,用户可以不必深入了解硬件和程序原理,米思齐已经提供了封装好的模块供调用,当显示一个字符时就可以把其当做单位数码管用,需要显示两位字符时亦可当做双位数码管用。
示例实现四位数码管显示字符“1234”:4. 红外接收模块图4 红外接收模块原理图红外接收模块需要和红外遥控器配合使用,它可以接收到红外遥控器发出的红外信号(按下的按键不同,红外信号也不同)。
当按下红外遥控器上的按键时,红外接收器接收到对应的信号并把该信号通过引脚REC (数字引脚36)发送给CPU。
注意:使用遥控器时需要把下面的胶片取下,不用时把胶片插上以免自动放电。
示例利用串口打印输出接收到的红外信号值:5. 全彩LED灯模块图5 全彩LED灯模块原理图自然界的任何颜色都是由三元色(红、绿、蓝)组成,所以全彩LED 灯可以通过编程实现任何色彩的显示。
如图5所示,全彩LED的公共端接电源,R、G、B分别接CPU的PWM引脚(4、2、3引脚)。
关于PWM的知识参赛者可以不必深入了解,如有需求可自行百度,下面着重讲解如何实现不同颜色的显示以及如何调节灯光的亮度。
可以通俗的理解为:PWM输出引脚把电源电压分为0—255(共256)个等级。
例如,当R引脚(4脚)输出0而G(2脚)和B(三脚)输出255时,代表红色灯亮度达到最大值,而其他颜色不亮。
彩灯控制器课程设计 移位寄存器型彩灯控制器课程设计1

彩灯控制器课程设计移位寄存器型彩灯控制器课程设计1课程设计(综合实验)报告( 2011 -- 2012 年度第1 学期) 名称:数电实验设计题院系:电气与电子工程学院班级:电气0911 学号:学生姓名:指导教师:设计周数:1成绩:日期:2011 年1 月5日一…彩灯控制器电路图大全收录时间:2010-04-09 17:08:58 来源:未知作者:pic366 【大中小】点击:639 电路工作原理该彩灯控制器电路由电源电路、彩灯驱动控制电路和音频功率放大电路组成,如图1-150所示。
电源电路由电阻器R…课程设计说明书课程名称:数字电子技术课程设计题目:彩灯控制器的设计学生姓名:专业:电子信息工程班级:电信09-1 学号:指导教师:李继凯日期:2010 年12 月21日课程设计任务书一、设计…课程设计(综合实验)报告( 2011 -- 2012 年度第 1 学期)名称:数电实验设计题院系:电气与电子工程学院班级:电气0911 学号:学生姓名:指导教师:设计周数: 1成绩:日期:2011 年 1 月 5日一、课程设计(综合实验)的目的与要求1.目的1.1综合实验是教学中必不可少的重要环节,通过综合实验巩固、深化和扩展学生的理论知识与初步的专业技能,提高综合运用知识的能力,逐步增强实际工程训练。
1.2注重培养学生正确的设计思想,掌握综合实验的主要内容、步骤和方法。
1.3培养学生获取信息和综合处理信息的能力、文字和语言表达能力以及协作工作能力。
1.4提高学生运用所学的理论知识和技能解决实际问题的能力及其基本工程素质。
2.要求2.1 能够根据设计任务和指标要求,综合运用电子技术课程中所学到的理论知识与实践技能独立完成一个设计课题。
2.2根据课题需要选择参考书籍,查阅手册、图表等有关文献资料。
要求通过独立思考、深入钻研综合实验中所遇到的问题,培养自己分析、解决问题的能力。
2.3进一步熟悉常用电子器件的类型和特性,掌握合理选用的原则。
一种io控制led阵列的方法

一种io控制led阵列的方法
有多种方法可以控制LED阵列,以下是一种常见的方法:
1. 使用微控制器(比如Arduino)进行控制:
- 连接LED阵列到微控制器的数字引脚,每个数字引脚对应
一个LED。
- 编写代码,在程序中指定每个LED的状态(开或关)。
- 微控制器通过数字引脚的高低电平控制LED的亮灭。
2. 使用移位寄存器进行控制:
- 连接LED阵列到移位寄存器,将每个LED与寄存器的输
出引脚相连。
- 在代码中设置移位寄存器的数据,将LED的状态(开或关)写入寄存器。
- 使用时钟信号驱动移位寄存器,依次将数据传递到每个LED,实现控制。
3. 使用LED驱动器芯片进行控制:
- 连接LED阵列到驱动器芯片,通过芯片提供的接口输入控
制数据。
- 在代码中设置控制数据,将LED的状态(开或关)写入芯片。
- 芯片会根据控制数据对LED进行驱动,控制亮灭。
这只是一些常见的方法,具体使用哪种方法还要根据实际情况和需求来决定。
实验一:移位寄存器

EDA与SOPC基础一一实验一: 通用移位寄存器的设计一、实验目的:学习使用QuartusII软件完成时序逻辑电路的设计, 掌握通用移位寄存器的基本设计方法。
二、实验内容:用VHDL设计一个多功能通用移位寄存器, 要求具有同步置位(load)、异步复位(clr)、无符号数左移(sel=11)、无符号数右移(sel=10)、循环左移(sel=01)、循环右移(sel=00)等六项基本功能。
结合UP-SOPC1000实验系统, 通过QuartusII软件对其进行仿真和硬件测试。
三、实验步骤:1.完成同步加载以及异步复位功能。
2.当输入sel=11时实现无符号左移功能。
3.当输入sel=10时实现无符号右移功能。
4.当输入sel=01时实现循环左移功能。
5.当输入sel=00时实现循环右移功能。
6.利用QuartusII软件对所写程序进行时序仿真与分析最后完成管脚琐定及在线编程。
四、VHDL语言程序设计library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;entity shift is --- 定义实体名为shift port (clk,load,clr: in bit; --- 定义输入输出端口date_in: in std_logic_vector(3 downto 0);set: in std_logic_vector(1 downto 0);date_out: out std_logic_vector(3 downto 0));end entity;architecture one of shift is --- 定义结构体名为one signal date :std_logic_vector(3 downto 0);beginprocess(clk,clr,set,date_in,load) --- 进程的开始, 主程序部分 beginif clr = '1' then date <= "0000";elsif clk'event and clk = '1' thenif load='1' then date <= date_in;elsecase set iswhen "11" => date <= date(2 downto 0) & '0' ; --- 无符号左移when "10" => date <= '0' & date(3 downto 1) ; --- 无符号右移when "01" => date <= date(2 downto 0) & date(3) ; --- 循环左移when "00" => date <= date(0) & date(3 downto 1) ; --- 循环右移when others => date <= "0000";end case;end if;end if;date_out <= date; --- 输出数据end process;end one;五、顶层电路框图及时序波形图六、引脚说明以及波形分析根据要求, 程序中clr是具有异步复位功能, 当为1时对系统进行复位, 其优先级最高;Load是同步置位功能, 当时钟上升沿来临时若此时load=1,则输出当前值;Clk是时钟信号, 上升沿有效;Sel为选通信号, 取值范围sel={00,01,10,11}分别对应循环右移, 循环左移, 无符号右移和无符号左移;从波形图中可以看出, 在异步复位信号clr为1的期间, 系统处于复位状态, 输出一直为0;在异步复位信号为0以及同步置位信号load为1期间, 也就是第三个上升沿之时, 系统输出当前的状态data_in=1101;接下来sel=00表示循环右移, 随着上升沿的到来输出从1101到1110再到0111, 这是循环右移的过程, 此后, 随着选通信号sel的变化, 输出随之而变化, 符合实验的要求。
mixly创意编程实例
mixly创意编程实例
比如说在Mixly里做一个简单的实例,比如说控制LED发光的程序:
1. 首先就是需要选择一块板子,比如Arduino UNO,然后需要把有LED连接到相应的引脚,这里可以把LED连接到引脚7;
2. 那就可以在Mixly里初始化变量了,变量“led_pin”为引脚7;
3. 接下来就是开始设计程序代码了,首先可以用setup来设置引脚模式,这里的引脚模式就是把引脚7设置为输出模式;
4. 接着就可以用loop来控制输出LED的亮度,可以通过设置引脚7来达到控制LED开关和亮度的效果,比如把引脚7设置为HIGH来达到LED全亮的效果,把引脚7设置为LOW来达到LED熄灭的效果,或者用模拟输出来达到调节LED 亮度的效果。
完整的Mixly程序写出来可能就是这样:
````
void setup(){
pinMode(led_pin,OUTPUT);
}
void loop()
{
digitalWrite(led_pin,HIGH); delay(500);
digitalWrite(led_pin,LOW); delay(500); analogWrite(led_pin,128); delay(1000);
}
````。
mixly系统设计01 一分钟惊喜灯
Mixly系统设计:一分钟惊喜灯Mixly作为北京师范大学傅骞教授研发的图形化程序教学系统,从计算思维、设计思维的角度跨越图形化编程和代码编程,让学生通过具体的项目学习掌握程序设计和开源硬件系统设计的基础知识,并且融合了STEAM教育和创客教育的思想。
项目学习的过程有的时候很像西游记,我们发现西游记是由一个个的小的项目完成的,每过一关都经历着“遇到妖怪,师父被抓走,解决掉妖怪,继续往前走”四个步骤,而伴随着一步步的打怪,师徒四人的感情更加团结,对取经的理解日益加深,每个人的本领也提高了不少,而这个过程与STEM课程设计当中常见的“珠串式”的课程设计类似,每一个“珠子”都是一个完整的项目学习过程,而一条主线则贯穿着所有项目。
我们用类似的模式,定义“一个完整的具有一定功能的可以用户参与修改的开源软硬件项目”为一个Mixly系统,学生在学习这个项目的过程中经历了以下四个步骤,制作(Making):每个Mixly系统使用的都是用Mixly软件已经编好程序下载到下位机的开源硬件,按照说明,制作出这个项目的核心效果,即认识输入输出装置的连接;改装(Hacking):设计一个情景将输入输出装置以个性化的形式呈现出来,制作一个体现自己情感、个性和天赋的个人作品;玩转(Playing&Programming):解密创客项目事先下载的Mixly程序,并且修改个性化的程序,通过项目体会程序设计中的一些常见算法和规范;分享(Sharing):在学习社区当中分享自己的程序,并且针对朋友圈、专业人士、普通人等不同的信息接收者设计不同的分享方案,并且尝试设计个人创客作品的生产方案。
我们将制作、改装、玩转、分享的过程定义为创客教育中的MHPS模式,这种模式将硬件连接和软件编程两个常见的学习过程分开,将难点分散,此外在改装环节,让学习者先将作品个性化,让其“爱上”自己的作品,使其在程序设计阶段能够自己提出很多改进需求,这种真实情境下的自主学习结合在分享环节当中在网络社区当中做同样项目的互相学习,使得学生可以收获跨地域,跨年龄段和跨文化的学习体验,最终将个人作品整理为他们可以分享和重用的设计方案,给学生获取知识产权收入和服务收入的可能性,这样就构成了一个闭环的覆盖家庭-学校-社会的学习系统。
Mixly开源项目设计28:秒懂74HC595移位寄存器(三)——两片74HC595可以做什么
Mixly开源项目设计28:秒懂74HC595移位寄存器(三)—
—两片74HC595可以做什么
隋杰峰
【期刊名称】《中国信息技术教育》
【年(卷),期】2018(0)21
【摘要】在秒懂74HC595移位寄存器(一)的最后,我们提到,我们输入的数值尽量不要超过255,0到255这总共256个数值就已经能全部体现出8个LED灯亮灭的所有情形。
如果我们一定要输入一个大于255的数值可不可以呢?接下来,我们就实验一下。
电路连接(沿用上两期的电路图)如图1所示。
检查电路连接没有错误后,我们开始编写程序,回到上面的问题——我们输入一个大于255的数值会发生什么,如我们输入259,程序如图2所示。
上传程序后,结果如图3所示。
【总页数】3页(P77-79)
【作者】隋杰峰
【作者单位】山东省威海市乳山市畅园学校
【正文语种】中文
【相关文献】
1.Mixly开源项目设计26:移位寄存器(一)——将LED点亮 [J], 隋杰峰
2.Mixly开源项目设计27:r移位寄存器(二)r——8位二进制计数器和流水灯 [J], 隋杰峰
3.Mixly开源项目设计31:神奇的物联网\r——开启米思狗创客之路(三) [J], 李文俊
4.Mixly开源项目设计29:Hello Mixgo!(一)——开启米思狗创客之路 [J], 李文俊
5.Mixly开源项目设计30:会看门的米思狗\r——开启米思狗创客之路(二) [J], 李文俊
因版权原因,仅展示原文概要,查看原文内容请购买。
移位寄存器应用-流水彩灯
移位寄存器应用-流水彩灯
陈淑平;程勇
【期刊名称】《科技创新导报》
【年(卷),期】2011(0)16
【摘要】日常生活中的彩灯控制有很多种方式,利用移位寄存器的数据存储及移住寄存原理,可以很方便的制作出灯光控制的流动效果.再利用附加电路555芯片组成的脉冲电路,还能够根据需要调整灯光闪烁的频率快慢.
【总页数】1页(P120-120)
【作者】陈淑平;程勇
【作者单位】河南省郑州水利学校,郑州,450008;河南省郑州水利学校,郑
州,450008
【正文语种】中文
【中图分类】TN6
【相关文献】
1.基于Multisim的移位寄存器型彩灯控制电路设计与仿真 [J], 王强
2.基于FPGA的移位寄存器流水线结构FFT处理器设计与实现 [J], 郝小龙;韦高;刘娜
3.巧用移位寄存器位指令实现流水线的自动控制 [J], 朱月;麻红昭
4.Mixly开源项目设计27:r移位寄存器(二)r——8位二进制计数器和流水灯 [J], 隋杰峰
5.双向移位寄存器在彩灯控制电路中双向递增控制的实现 [J], 封志宏
因版权原因,仅展示原文概要,查看原文内容请购买。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Mixly开源项目设计26:移位寄存器(一)——将LED点亮
作者:隋杰峰
来源:《中国信息技术教育》2018年第17期
流水灯项目是我们在开源硬件学习项目中很常见的一个项目。
实验中,我们常用一个管脚控制一个LED,这样我们做一个8位流水灯,就需要占用8个管脚,而常用的Arduino UNO R3开发板只有20个管脚,如果要做一个30位流水灯,如果依然让一个管脚控制一个LED,那么UNO上的管脚显然是不够的,这时,我们应该怎么办呢?换成管脚更多的Mega2560吗?同样,如果我们要做64位流水灯,Mega2560的管脚也是不够的,所以,我们换个角度来想,不如想办法用少量的管脚控制多个LED,74HC595移位寄存器这个小小的芯片就能够帮我们实现这种想法。
74HC595是一块8位串行输入、并行输出(也可以串行输出)的芯片,我们使用它,只需要UNO的3个管脚即可控制8个独立的LED(如图1)。
网络上介绍74HC595的文章很多,但采用的全是代码编程,让很多不懂代码的初学者望而生畏,实际上,在图形化编程软件Mixly中有一个模块是与它相关的。
因此,本文中将用Mixly轻松玩转74HC595,力图让初学者也能秒懂。
如图2所示,74HC595共有16只脚,下面我们就来认识一下它的各个引脚。
在74HC595芯片上有个小凹口,只要与图上引脚的小凹口对应,即可知道它的各个引脚。
VCC和GND自不必说,分别接UNO的5V和GND即可;
Q0~Q7是并行输出,本文中我们接8个LED;
DS、SHCP(下面简称SH)、STCP(下面简称ST)是输入端;
DS是串行数据输入端(一般Arduino的代码里会定义一下引脚,74HC595的案例中,dataPin指的是接这个脚);
SH是串行时钟输入端(clockPin指的是接这个脚);
ST是锁存端(latchPin指的是接这个脚);
OE是输出使能引脚,低电平时输出,高电平时不输出,所以,直接接在GND上使其一直保持低电平输出数据;
MR是用来重置内部寄存器的引脚,低电平时重置内部寄存器,所以,直接连接在VCC 上一直保持高电平;
Q7S是串行输出(可以接下一个74HC595的DS,数据可作为串行输入,这就是74HC595的级联,也就是说,此时3个输入控制16个输出),此引脚不用可以空置。
需要的元件(如下页表所示)
电路连接
电路连接如下页图3所示,8个LED的负极(短脚)分别通过一个220Ω电阻与GND连接;74HC595有小凹口的一面向左,VCC接5V,VCC与GND之间接一个104电容,GND接GND;DS接管脚2,ST接管脚3,SH接管脚4,OE接GND,MR接VCC,Q7S空置。
程序设计
应用74HC595做流水灯,在Arduino IDE中我们会用到shiftOut这个函数,在Mixly中也有对应的模块,如图4所示。
首先,我们通过一个程序来了解一下74HC595串行输入、并行输出的过程。
将图5程序上传,我们会发现Q7脚接的灯是亮的,如图6所示。
下面,我们来解释一下这个过程:
首先,管脚3给了锁存端(ST)一个低电平,意思是说“嗨,74HC595,开始干活了”,然后,管脚2给了数据(DS)一个十进制数1,关键是74HC595不认识它,所以,就需要转换成8位的二进制数00000001,不足8位的,前面加0补足8位,为啥是8位的?因为,
74HC595是8位移位寄存器,有8个输出(如图7)。
这时候,时钟(SH)开始干活了,管脚4每制造一次上升沿(先拉低电平再拉高电平),这一串数就进去一个,8次之后,都进去了,每个数就都有自己的一个位置了,即每个动作只操作一位数据,这就叫串行输入(如图8)。
至于谁先进去,进去之后,每一个数字都在哪个位置,这得看是低位先入还是高位先入,什么意思呢?我们先要弄明白低位和高位,以二进制数00000001为例,左边0这一端是高位,右边1这一端是低位,所以,低位先入的意思就是从最右边的1(低位)开始依次进入,直到最左边的0(高位)进去;高位先入的则刚好相反,从最左边的0(高位)开始依次进入,直到最右边的1(低位)进去。
下面我们以低位先入为例,用上大巴车做个比方:在二进制数00000001中,低位先入,给SH脚制造一次上升沿(我们可以理解为检票),那第一个上大巴车的肯定是最右边的1,它上去了之后,就占据了第一排的位置(如图9)。
继续给SH脚制造一次上升沿之后,1左边的0,开始上车,然后,它并不是走向第二排座位,而是让1往后挪一个,它坐第一排(如图10)。
继续给SH脚制造一次上升沿,已经上车的1和0继续往后挪,新上车的0占据第一排座位(如图11)。
如此继续给SH脚制造上升沿,高位的0,继续上车,车上的数继续往后排顺延,直到发生第8次上升沿,所有的数字都上车了(如图12)。
然后,管脚3给了锁存端(ST)一个高电平,让每个数都记住自己的位置,在自己的位置坐着(绝对不允许换座位)(如图13)。
最后,每个数掌管一个输出,即每个动作操作多位(这里是8位)数据,这就是并行输出。
这样,Q0~Q6脚都得到了一个0(低电平),Q7脚得到一个1(高电平),所以,Q0~Q6脚接的灯都是灭的,Q7脚接的灯是亮的。
同样的道理,将数据输入改为3,程序如图14所示。
这时候,我们把十进制数2变为8位二进制就是00000011,采用低位先入,按照我们上面的推算方法,应该是Q6、Q7高电平,其余低电平,Q6脚和Q7脚接的LED亮,实验结果也是如此(如图15)。
下面,我们再看高位先入,输入数据1,将程序继续改动(如图16),我们会发现,结果正好与程序1低位先入相反。
这是因为,将十进制1转换为8位二进制为00000001,高位先入,即从左边的0依次进入移位寄存器。
最终,Q0对应的是1,高电平,其他脚对应的是0,低电平,所以,Q0接的LED亮,其他脚接的LED灭(如图17)。
同样,我们也可以继续改变输入的数值,设置低位先入或高位先入,控制这8个LED的亮灭,不过,我们输入的数值尽量不要超过255。
当我们输入255,上传程序后,灯是全部都亮的,我们把十进制的255转换为二进制为11111111,这已经是8位二进制最大的数了,所以,0到255这总共256个数值就已经能全部体现出8个LED亮灭的所有情形。