六灯闪烁实验

六灯闪烁实验
六灯闪烁实验

arduino学习笔记3 - 六灯闪烁实验

2013-10-19 08:59 [小大] 来源: 未知转发至:

通过上一节学习,知道了怎样让一个led进行闪烁,下面的实验会对六个led进行控制,先看硬件连接图。

按照上面的硬件连接方法接好后,咱们来测试两段程序,看看其中的差别。通过这两段程序介绍一下arduino的语言轮廓。

1//设置控制Led的数字IO脚

2int Led1 = 1;

3int Led2 = 2;

4int Led3 = 3;

5int Led4 = 4;

6int Led5 = 5;

7int Led6 = 6;

8//led灯花样显示样式1子程序

9void style_1(void)

10{

11 unsigned char j;

12 for(j=1;j<=6;j++)

13 {

14 digitalWrite(j,HIGH);

15 delay(200);

16 }

17 for(j=6;j>=1;j--)

18 {

19 digitalWrite(j,LOW);

20 delay(200);

21 }

22}

23void setup()

24{

25 unsigned char i;

26 for(i=1;i<=6;i++)//依次设置1~6个数字引脚为输出模式

27 pinMode(i,OUTPUT);//设置第i个引脚为输出模式

28}

29void loop()

30{

31 style_1();//样式1

32

33}

上面代码的效果视频如下:

https://www.360docs.net/doc/f61919463.html,/player.php/sid/XMjgzOTA0Mjk2/v.swf

34//设置控制Led的数字IO脚

35int Led1 = 1;

36int Led2 = 2;

37int Led3 = 3;

38int Led4 = 4;

39int Led5 = 5;

40int Led6 = 6;

41//led灯花样显示样式1子程序

42void style_1(void)

43{

44 unsigned char j;

45 for(j=1;j<=6;j++)

46 digitalWrite(j,HIGH);

47 delay(200);

48

49 for(j=6;j>=1;j--)

50 {

51 digitalWrite(j,LOW);

52 delay(200);

53 }

54}

55void setup()

56{

57 unsigned char i;

58 for(i=1;i<=6;i++)//依次设置1~6个数字引脚为输出模式

59 pinMode(i,OUTPUT);//设置第i个引脚为输出模式

60}

61void loop()

62{

63 style_1();//样式1

64

65}

上面代码的效果视频如下:

https://www.360docs.net/doc/f61919463.html,/player.php/sid/XMjg0MDU5NjQ0/v.swf

通过下载测试,发现第一段程序是led 1-6逐个点亮,然后从6-1再逐个熄灭如此循环。

第二段程序是6个灯同时亮,然后再6-1逐个熄灭如此循环。下面对产生不同效果的代码进行分析。

下面这段代码代表的for语句循环的是,是把j点亮,然后再延迟200毫秒,然后再循环。形成的效果就是6个灯相隔200毫秒逐步被点亮。

66for(j=1;j<=6;j++)

67 {

68 digitalWrite(j,HIGH);

69 delay(200);

70 }[/code][size=4]下面这段代码其实是不规范写法,for命令表达要求一定要

有{}循环,如果没有标出{},编译时就会自动对下一句加上{}。如果代码量很大,出问题是查找起来会非常辛苦。[/size][ DISCUZ_CODE_0 ][size=4]六个灯逐个被点亮,然后再延时200毫秒进入下一句。因为六灯逐个点亮的速度非常快,所以看上去像一起亮的。

71

72[b]void[/b](无类型)在arduino中是数据类型的一种,通常用来代表一个事件。

如果控制过程比较简单void一般无需定义,直接使用[/size][pre lang="arduino"

line="1"]void setup()

73{

74 // ...

75}

76

77void loop()

78{

79 // ...

80}

下面这段代码其实是不规范写法,for命令表达要求一定要有{}循环,如果没有标出{},编译时就会自动对下一句加上{}。如果代码量很大,出问题是查找起来会非常辛苦。

81//设置控制Led的数字IO脚

82int Led1 = 1;

83int Led2 = 2;

84int Led3 = 3;

85int Led4 = 4;

86int Led5 = 5;

87int Led6 = 6;

88//led灯花样显示样式1子程序

89void style_1(void)

90{

91 unsigned char j;

92 for(j=1;j<=6;j++)//每隔200ms依次点亮1~6引脚相连的led灯

93 {

94 digitalWrite(j,HIGH);//点亮j引脚相连的led灯

95 delay(200);//延时200ms

96 }

97 for(j=6;j>=1;j--)//每隔200ms依次熄灭6~1引脚相连的led灯

98 {

99 digitalWrite(j,LOW);//熄灭j引脚相连的led灯

100 delay(200);//延时200ms

101 }

102}

103//灯闪烁子程序

104void flash(void)

105{

106 unsigned char j,k;

107 for(k=0;k<=1;k++)//闪烁两次

108 {

109 for(j=1;j<=6;j++)//点亮1~6引脚相连的led灯

110 digitalWrite(j,HIGH);//点亮与j引脚相连的led灯

111 delay(200);//延时200ms

112 for(j=1;j<=6;j++)//熄灭1~6引脚相连的led灯

113 digitalWrite(j,LOW);//熄灭与j引脚相连的led灯

114 delay(200);//延时200ms

115 }

116}

117//led灯花样显示样式2子程序

118void style_2(void)

119{

120 unsigned char j,k;

121 k=1;//设置k的初值为1

122 for(j=3;j>=1;j--)

123 {

124 digitalWrite(j,HIGH);//点亮灯

125 digitalWrite(j+k,HIGH);//点亮灯

126 delay(400);//延时400ms

127 k +=2;//k值加2

128 }

129 k=5;//设置k值为5

130 for(j=1;j<=3;j++)

131 {

132 digitalWrite(j,LOW);//熄灭灯

133 digitalWrite(j+k,LOW);//熄灭灯

134 delay(400);//延时400ms

135 k -=2;//k值减2

136 }

137}

138//led灯花样显示样式3子程序

139void style_3(void)

140{

141 unsigned char j,k;//led灯花样显示样式3子程序

142 k=5;//设置k值为5

143 for(j=1;j<=3;j++)

144 {

145 digitalWrite(j,HIGH);//点亮灯

146 digitalWrite(j+k,HIGH);//点亮灯

147 delay(400);//延时400ms

148 digitalWrite(j,LOW);//熄灭灯

149 digitalWrite(j+k,LOW);//熄灭灯

150 k -=2;//k值减2

151 }

152 k=3;//设置k值为3

153 for(j=2;j>=1;j--)

154 {

155 digitalWrite(j,HIGH);//点亮灯

156 digitalWrite(j+k,HIGH);//点亮灯

157 delay(400);//延时400ms

158 digitalWrite(j,LOW);//熄灭灯

159 digitalWrite(j+k,LOW);//熄灭灯

160 k +=2;//k值加2

161 }

162}

163void setup()

164{

165 unsigned char i;

166 for(i=1;i<=6;i++)//依次设置1~6个数字引脚为输出模式

167 pinMode(i,OUTPUT);//设置第i个引脚为输出模式

168}

169void loop()

170{

171 style_1();//样式1

172 flash();//闪烁

173 style_2();//样式2

174 flash();//闪烁

175 style_3();//样式3

176 flash();//闪烁

177}

六个灯逐个被点亮,然后再延时200毫秒进入下一句。因为六灯逐个点亮的速度非常快,所以看上去像一起亮的。

void(无类型)在arduino中是数据类型的一种,通常用来代表一个事件。如果控制过程比较简单void一般无需定义,直接使用代表事件的开始与事件的循环。

如果控制过程比较复杂,一般就要设置多个子事件,把复杂的过程进行分解,每一个子事件定义为一个void数据。

把以下代码上传上去,看看led灯是如何工作的。

实验六计数器及其应用

实验六计数器及其应用 一、实验目的 1、学习用集成触发器构成计数器的方法 2、掌握中规模集成计数器的使用及功能测试方法 3、运用集成计数计构成1/N分频器 二、实验原理 1、用D触发器构成异步二进制加/减计数器 图1是用四只D触发器构成的四位二进制异步加法计数器,它的连接特点是将每只D触发器接成T'触发器,再由低位触发器的Q端和高一位的CP端相连接。 图1 四位二进制异步加法计数器 2、中规模十进制计数器 CC40192是同步十进制可逆计数器,具有双时钟输入,并具有清除和置数等功能,其引脚排列及逻辑符号如图2所示。 图2 CC40192引脚排列及逻辑符号 图中LD—置数端 CP U —加计数端 CP D —减计数端

CO—非同步进位输出端BO—非同步借位输出端 D 0、D 1 、D 2 、D 3 —计数器输入端 Q 0、Q 1 、Q 2 、Q 3 —数据输出端 CR—清除端 CC40192(同74LS192,二者可互换使用)的功能如表9-1,说明如下: 表9-1 3、计数器的级联使用 图3是由CC40192利用进位输出CO控制高一位的CP U 端构成的加数级联图。 图3 CC40192级联电路 4、实现任意进制计数 (1) 用复位法获得任意进制计数器 假定已有N进制计数器,而需要得到一个M进制计数器时,只要M<N,用复位法使计数器计数到M时置“0”,即获得M进制计数器。如图4所示为一个由CC40192 十进制计数器接成的6进制计数器。 (2) 利用预置功能获M进制计数器 图4 六进制计数器

三、实验设备与器件 1、+5V直流电源 2、双踪示波器 3、连续脉冲源 4、单次脉冲源 5、逻辑电平开关 6、逻辑电平显示器 7、译码显示器 8、 CC4013×2(74LS74)、CC40192×3(74LS192)、CC4011(74LS00) CC4012(74LS20) 四、实验内容 1、用CC4013或74LS74 D触发器构成4位二进制异步加法计数器。 (1) 按图9-1接线,R D 接至逻辑开关输出插口,将低位CP 端接单次脉冲源, 输出端Q 3、Q 2 、Q 3 、Q 接逻辑电平显示输入插口,各S D接高电平“1”。 (2) 清零后,逐个送入单次脉冲,观察并列表记录 Q 3~Q 状态。 (3) 将单次脉冲改为1HZ的连续脉冲,观察Q 3~Q 的状态。 (4) 将1Hz的连续脉冲改为1KHz,用双踪示波器观察CP、Q 3、Q 2 、Q 1 、Q 端波 形,描绘之。 5) 将图9-1电路中的低位触发器的Q端与高一位的CP端相连接,构成减法计 数器,按实验内容2),3),4)进行实验,观察并列表记录Q 3~Q 的状态。 2、测试CC40192或74LS192同步十进制可逆计数器的逻辑功能 (1) 清除:CR=1 (2) 置数:CR=0,数据输入端输入任意一组二进制数,令LD= 0,观察计数译码显示输出。 (3) 加计数:CR=0,LD=CP D =1,CP U 接单次脉冲源。 (4) 减计数:CR=0,LD=CP U =1,CP D 接单次脉冲源。 3、图9-3所示,用两片CC40192组成两位十进制加法计数器,输入1Hz连续计数脉冲,进行由00—99累加计数,记录之。 4、按图4电路进行实验,记录之。

左右来回循环的流水灯实验报告

青 岛 科 技 大 学 微机原理与接口技术综合课程设计(报告) 题 目 __________________________________ 指导教师__________________________ 学生姓名__________________________ 学生学号__________________________ _______________________________ 院(部)____________________________ 专业________________班 ______年 ___月 ___日 直流电机控制综合实验 周艳平 宋雪英 01 信息科学技术学院 计算机科学与技术0961 2012 12 27

摘要 (2) 1、单片机概述 (2) 2、仿真软件介绍 (2) 3、需求分析 (3) 一、课程设计目的 (3) 二、课程设计要求 (4) 三、实验内容 (4) 1、设计任务与要求 (4) 2、系统分析 (4) 1).硬件电路设计(画出原理图、接线图) (5) 2)软件框图 (7) 3、用keil建项目流程 (8) 4、程序清单 (9) 4、系统调试 (11) 四、设计总结(结论) (12)

摘要 近年来,随着电子技术和微型计算机的发展,单片机的档次不断提高,起应用领域也在不断的扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动化设备、个人信息终端及通信产品中得到广泛的应用、成为现代电子系统中最重要的智能化的核心部件。而AT89C51就是其中一种,它是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMO8位微处理器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。本课程设计介绍一种LED小灯控制系统的设计方法,以单片机作为主控核心,与按键、排阻、电阻、电容等较少的辅助硬件电路相结合,利用软件实现对LED灯进行控制。能够通过按键控制8个LED小灯从左到右依次点亮。 关键字:单片机、LED流水灯 1、单片机概述 单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微 型计算机简称单片机,特别适用于控制领域,故又称为微控制器。 通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处 理器、存储器和I/O 接口电路等。因此,单片机只需要和适当的软件及外部设备相结合, 便可成为一个单片机控制系统。 单片机经过1、2、3、3 代的发展,目前单片机正朝着高性能和多品种方向发展,它 们的CPU 功能在增强,内部资源在增多,引角的多功能化,以及低电压底功耗。 2、仿真软件介绍 (1).Keil uv3 运行Keil uv3

我的首个DSPTMSFLED灯闪烁项目实验总结

买视频资料、买书、买开发板(F28335)、各种版本开发环境安装,导入工程、创建工程、了解controlSUITE,终于创建了一个工程,且是按照自己的意愿将代码在开发板上跑起来,现总结如下: 实验目的: 将开发板上可控的两个LED灯LD3、LD4实现交替闪烁,并在RAM中仿真实验; 实验步骤: 1、创建工程、且包含main.c文件

按照上面的五步操作,然后点击【finish】。 遇到的问题:在第四步如果设置新的工作空间文件夹,在点击【finish】后,应实际的去工作空间文件夹下去看一下,是否确实创建好了。

建议:在点击完【finish】后,项目框架基本创建完成,然后关闭CCS,再次进去看看是否直接进入刚刚创建好的工程。如果不能最好分析一下原因,重建一次。我在这里反复了3次,也就是重建3次才成功。如果可以进入,进入后面的步骤。 2、复制controlSUITE下C:\ti\controlSUITE\device_support\f2833x下面的DSP2833x_common和 DSP2833x_headers两个文件夹到所创建的工程目录; 复制完成后最好仔细浏览一下每个目录下都有哪些文件。 3、在项目的属性设置对话框中设置include路径如下: 4、在main.c添加如下头文件: #include "DSP2833x_Device.h" // DSP2833x Headerfile Include File #include "DSP2833x_Examples.h" // DSP2833x Examples Include File 5、这是可以编译一下,肯定会出错,需要删除一些文件。如下 以上红圈内的文件全部删除 6、然后再编译一下,看看有什么问题就自己处理吧,呵呵。。。。。 7、现在已经有了基本的函数库、头文件,剩下就是实现LED灯的控制了。 代码如下: #include"DSP2833x_Device.h"// DSP2833x Headerfile Include File

实验六 8254定时计数器

电工电子实验中心 实验报告 课程名称:计算机硬件技术基础实验名称:8254定时/计数器 姓名:学号: 评定成绩:审阅教师: 实验时间:2017.06.06 南京航空航天大学

一、实验目的要求 1) 掌握 8254 定时/计数器的名种工作方式及编程方法。 二、实验任务 按照图 3-2-1 的要求连线,分别对 8254 芯片的 3 个定时/计数器编程,并选择合适的工作方式和初值,以达到如下的效果: 1) 定时/计数器 0,计数脉冲频率为 18.432KHz,OUT0 分两路输出, 一路外接 2 位 LED,使其以亮 0.5 秒灭 0.5 秒循环闪亮,另一路作为计数器 1 的计数脉冲 CLK1。 2) 定时/计数器 1,OUT1 的输出外接 2 位 LED,使其以亮 3 秒灭 1 秒循环闪亮。 3) 定时/计数器 2 的计数脉冲来自单次脉冲单元,按压开关产生的脉 冲作为计数器 2 的计数脉冲。OUT2 外接 2 位 LED,当按压开关到 17 次时LED 长亮,并将按压开关的剩余次 数将在屏幕上显示。 三、实验电路图 图3-2-1 8254定时/计数器电原理图

四、实验代码 IOY0 EQU 3000H TIMER0 EQU IOY0+00H*4 ;8254计数器0端口地址 TIMER1 EQU IOY0+01H*4 ;8254计数器1端口地址 TIMER2 EQU IOY0+02H*4 ;8254计数器2端口地址 TCTL EQU IOY0+03H*4 ;8254控制寄存器端口地址 STACK1 SEGMENT STACK DW 256 DUP(?) STACK1 ENDS DATA SEGMENT MES0 DB ‘Pressed: $’ MES1 DB ‘Press any key to exit !’,0DH,0AH,’$’NUM DB ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX, DATA MOV DS, AX MOV DX, OFFSET MES1 MOV AH, 9 INT 21H MOV DX, TCTL MOV AL, 00110110B ; 计数器0初始化,方式3 OUT DX, AL MOV DX, TIMER0 MOV AL, 00H OUT DX, AL ;计数器0初值=4800H MOV AL, 48H OUT DX, AL MOV DX, TCTL MOV AL, 01010101B ; 计数器1初始化,方式2 OUT DX, AL MOV DX, TIMER1 MOV AL, 04H ; 计数器1初值=04H OUT DX, AL MOV DX, TCTL MOV AL, 10010001B ; 计数器2初始化,方式0 OUT DX, AL MOV DX, TIMER2 MOV AL, 0FH ;计数器0初值=0FH

定时器控制流水灯

成绩 信息与通信工程学院实验报告 (操作性实验) 课程名称:微机原理与微控制器应用 实验题目:c51单片机的定时器实验指导教师: 班级: 学号:学生姓名: 一、实验目的和任务 1.掌握定时器中断的编程方法。 2.掌握keil C51集成开发环境在硬件仿真条件下各参数的设置。 二、实验仪器及器件 硬件:电脑一台、微机原理与单片机试验箱:51开发板、开关及LED显示单元、导线若干 软件:keil uVision4 三、实验内容及电路图 利用实验板上的八个LED灯作显示,利用定时器中断编写中断一次为50ms的定时程序,控制单片机定时器进行定时,总定时时间为0.75ms。

四、流程图与程序 #include "SST89x5x4.h" #include int temp=0x01,num=0; void T0Int() interrupt 1 { TH0=(65536-45872)/256; TL0=(65536-45872)%256; num++; if(num==15) { num=0; P1=_crol_(temp,1);

temp=P1; } } void main() { EA=1; ET0=1; TMOD=0X01; TH0=(65536-45872)/256; TL0=(65536-45872)%256; TR0=1; while(1); } 五、实验结果 八个LED灯由左往右依次亮起,并且每个LED灯点亮时间大约为0.75m。

六、实验数据分析及处理 从实验现象来看,LED灯从左到右依次点亮,符合实验要求,说明实验操作正确,实验结果正确。 七、实验结论与感悟(或讨论)

Zigbee LED 灯闪烁实验

Zigbee LED闪烁实验 罗汉江

LED闪烁实验 1.前言:简单介绍这个实验的应用 2.实验现象:闪烁LED1 闪烁 3.实验讲解:对LED 部分原理图、寄存器、代码、编程方法详细讲解 4.实验步骤:实验的流程。

LED闪烁实验 1.前言: 通过LED灯的闪烁实验能让你对编译环境和程序 架构有一定的认识,为以后的学习和更大型的程序 打下基础,增加信心。 2.实验现象:通过程序实验闪烁LED1。

LED闪烁实验 3.实验讲解:对LED 部分原理图、寄存器、代码详细讲解

LED 闪烁实验 CC2530 的IO 口配置我们需要配置三个寄存器P1SEL 、P1DIR 、P1INP 。IO 口功能如下表所示: 3.实验讲解:对LED 部分原理图、寄存器、代码详细讲解

LED闪烁实验 3.实验讲解:对LED 部分原理图、寄存器、代码详细讲解 * P1SEL (0:普通IO 口1:第二功能) * P1DIR (0:输入1:输出) * P1INP (0:上拉/下拉1:三态) 按照表格寄存器内容,我们对LED1,也就是P1_0 口进行配置,当 P1_0 输出低电平时LED1 被点亮。所以配置如下: P1SEL &=~0x01; //作为普通IO 口P1DIR |= 0x01; //P1_0 定义为输出 P1INP &=~0X01; //打开上拉 由于CC2530 寄存器初始化时默认是: P1SEL=0x00; P1DIR |= 0xff; P1INP =0X00; 所以IO 口初始化我们可以简化初始化指令: P1DIR |= 0x01; //P1_0 定义为输出

花样流水灯实验报告

黄淮学院信息工程学院 单片机原理及应用课程设计性实验报告

五、硬件电路设计 根据设计任务,首先进行系统硬件的设计。其硬件原理图由LED显示电路和单片机最小系统组成,如图所示,其中包括时钟电路采用部时钟方式,复位电路采用上电自动复位。由于单片机的I/O口的高电平驱动能力只有微安级,而灌电流可以达到3毫安以上,因此采用低电平驱动。P1、P2、P3分别控制8个led灯。 六、软件程序设计 1、软件设计思路 如果通过上图所示电路图完成实验要求,通过数组,分别同时控P0、P1、P2分别控制8个led灯,从而协调控制24个灯实现花样流水灯效果。 开始 编写数组 主循环 逐个点亮 24灯同时闪烁 逐个熄灭

P3=table1[i]; delayms(500); } shan();//全部闪烁 for(i=0;i<8;i++)//逐个熄灭{ P3=table2[i]; delayms(500); } for(i=0;i<8;i++) { P1=table3[i]; delayms(500); } for(i=0;i<8;i++) { P0=table2[i]; delayms(500); } } } void delayms (uintt) { uint x,y; for(x=t; x>0;x--) for(y=50;y>0;y--); } 七、软硬件仿真调试分析 1、仿真调试结果

图片 1 逐个点亮图片 2 24灯闪烁 图片 3 逐个熄灭 2、性能测试及结果分析 通过仿真结果发现通过上述系统可以实现实验要求,24个灯逐个点亮,24个灯全亮后,24个灯一起闪烁,闪烁5次后,然后24个灯逐个熄灭。由此证明系统满足实验要求。 八、项目总结 在本次花样流水灯试验中,使用循环程序、数组语句实现了实验要求,设计过程中遇到了很多的问题,但经过努力,最终设计出了合理的解决方案。通过此次实验,对多个led灯的控制能力进一步得到提升。 九、项目设计报告成绩 实验报告成绩: 指导教师签字: 年月日

实验6-计数器

实验六计数器 一、实验目的 1、掌握计数器74LS162的功能。 2、掌握计数器的级联方法。 3、熟悉任意模计数器的构成方法。 4、熟悉数码管的使用。 二、实验说明 计数器器件是应用较广的器件之一,它有很多型号,各自完成不同的功能,可根据不同的需要选用。本实验选用74LS162做实验器件。74LS162引脚图见附录。74LS162是十进制BCD同步计数器。Clock是时钟输入端,上升沿触发计数触发器翻转。允许端P和T都为高电平时允许计数,允许端T为低时禁止Carry产生。同步预置端Load加低电平时,在下一个时钟的上升沿将计数器置为预置数据端的值。清除端Clear为同步清除,低电平有效,在下一个时钟的上升沿将计数器复位为0。74LS162的进位位Carry在计数值等于9时,进位位Carry为高,脉宽是1个时钟周期,可用于级联。 三、实验所用器件和仪器 1、同步4位BCD计数器74LS162 2片 2、二输入四与非门74LS00 1片 3、示波器 四、实验内容 1、用1片74LS162和1片74LS00采用复位法构一个模7计数器。用单脉冲做计数时钟,观测计数状态,并记录。用连续脉冲做计数时钟,观测并记录Q D,Q C,Q B,Q A的波形。 2、用1片74LS162和1片74LS00采用置位法构一个模7计数器。用单脉冲做计数时钟,观测并记录Q D,Q C,Q B,Q A的波形。 3、用2片74LS162和1片74LS00构成一个模60计数器。2片74LS162的Q D,Q C,Q B,Q A分别接两个译码显示的D,B,C,A端。用单脉冲做计数时钟,观测数码管数字的变化,检验设计和接线是否正确。 五、实验接线及测试结果 1、复位法构成的模7计数器接线图及测试结果 (1)复位法构成的模7计数器接线图

哈工大数电自主实验 数字流水灯

Harbin Institute of Technology 数字电路自主设计实验 院系:航天学院 班级: 姓名: 学号: 指导教师: 哈尔滨工业大学

一、实验目的 1.进一步掌握数字电路课程所学的理论知识。 2.熟悉几种常用集成数字芯片的功能和应用,并掌握其工作原理,进一步学会使用其进行电路设计。 3.了解数字系统设计的基本思想和方法,学会科学分析和解决问题。 4.培养认真严谨的工作作风和实事求是的工作态度。 5.数电课程实验为我们提供了动手实践的机会,增强动手实践的能力。 二、实验要求 设计流水灯,即一排灯按一定的顺序逐次点亮,且可调频、暂停、步进。 三、实验步骤 1.设计电路实现题目要求,电路在功能相当的情况下设计越简单越好; 2. 画出电路原理图(或仿真电路图); 3.元器件及参数选择; 4.电路仿真与调试; 5.到实验时进行电路的连接与功能验证,注意布线,要直角连接,选最短路径,不要相互交叉,注意用电安全,所加电压不能太高,以免烧坏芯片; 6.找指导教师进行实验的检查与验收; 7.编写设计报告:写出设计与制作的全过程,附上有关资料和图纸,心得体会。 四、实验原理 设计流水灯的方法有很多种,我的设计思路是: 利用555定时器产生秒脉冲信号,74LS161组成8进制计数器,74LS138进行译码,点亮电平指示灯。并通过调节555的电阻,实现频率可调。通过两与非门,实现暂停、步进功能。

1.秒信号发生器 (1)555定时器结构(2)555定时器引脚图 (3)555定时器功能表 (4)555定时器仿真图

2. 74LS161实现8进制加计数 74LS161是常用的四位二进制可预置的同步加法计数器,它可以灵活地运用在各种数字电路,以及单片机系统中实现分频器等很多重要的功能。 (1)74LS161同步加法器引脚图 管脚图介绍: 始终CP和四个数据输入端 P0-P3 清零CLR 使能EP,ET 置数PE 数据输出端Q0-Q3 进位输出TC (2)74LS161功能表 (5)74LS161仿真图 对74LS161进行八进制计数改组,需要一个与非门,即芯片74LS00,也就是将74LS161的输出端通过与非门,当输出为8时将输出为高电平的端口与非后接到74LS161的清零段。即计数到8是异步清零,所以74LS161变为八进制计数。

MDK的使用与实验一闪烁灯

keil4的安装 一、实验目的 了解keil4软件安装与调试 二、实验内容 安装keil4软件并成功注册 三、实验仪器、设备 计算机、keil4软件 四、实验步骤 1.首先打开keil4破解.rar并解压文件,得到MDK400_mcu123.exe(安装文件)和KEIL_Lic.exe(破解文件)。 2.打开安装文件,根据提示进行下一步操作,一直到安装完成。 Keil4的安装步骤1 Keil4的安装步骤2

Keil4安装完成 3.点击finish后,打开桌面上的Keil uVision4,进入MDK。 MDK界面 点菜单file——license management,会出现以下界面。 注册管理界面 复制图片中的CID码,每个计算机的CID不同,所以必须在本机安装后才能注册。我们再打

开一起被解压出来的keil4破解文件KEIL_Lic.exe。将CID码输入,并在Target中选择ARM (选择其他的选项也可以注册,但是遇到大程序时会出现无法编译的情况)。然后点击generate生成注册码,将注册码填入LIC中,点击add lic,显示*** LIC Added Sucessfully ***时,注册成功。,然后重新启动MDK。即完成破解。 Keil4的破解

实验一闪烁灯与keil4环境下STM32的设置 一、实验目的 熟悉在keil4环境下的STM32的参数设置 完成闪烁灯实验任务 二、实验内容 建立新的工程文件,并根据STM32的设置需求进行配置,配置完成后能顺利执行闪烁灯程序 三、实验仪器、设备 计算机、keil4软件 四、实验步骤 1.首先建立固件库文件夹,将其他例子中的固件库复制到我们所需要的文件夹中(文件名可更改)。 固件库文件夹 CM3:放置系统头文件 User:放置用户工程文件及函数 FWLIB:stm32的函数库 List:编译后产生的各种文件 startup:启动代码文件 obj:放置编译后生成的可执行HEX等文件 2.新建一个keil 工程文件在目标文件夹中,Project——new uVision project,指定一个工程文件存放地点,自定义工程文件名字后,选择保存。 新建工程文件 点击保存后进入芯片选择,我们选择的是STMicroelectronics下的STM32F103VE芯片

单片机花样流水灯设计实验报告

**大学 物理学院 单片机花样流水灯设计实验 课题:花样流水灯设计 班级: 物理 *** 姓名: *** 学号: ……………

当今时代的智能控制电子技术,给人们的生活带来了方便和舒适,而每到晚上五颜六色的霓虹灯则把我们的城市点缀得格外迷人,为人们生活增添了不少色彩。 制作流水灯的方法有很多种,有传统的分立元件,由数字逻辑电路构成的控制系统和单片机智能控制系统等。本设计介绍一种简单实用的单片机花样流水灯设计与制作,采用基于MS-51的单片机AT89C51和发光二极管、晶振、复位、电源等电路以及必要的软件组成的以AT89C51为核心,辅以简单的数码管等设备和必要的电路,设计了一款简易的流水灯电路板,并编写简单的程序,使其能够自动工作。 本设计用AT89C51单片机为核心自制一款简易的花样流水灯,并介绍了其软件编程仿真及电路焊接实现,在实践中体验单片机的自动控制功能。该设计具有实际意义,可以在广告业、媒体宣传、装饰业等领域得到广泛应用。 关键字:AT89C51 单片机流水灯数码管

1. 单片机及其发展概况 单片机又称为单片微计算机,其特点是将微型计算机的基本功能部件(如中央处理器(CPU)、存储器、输入接口、输出接口、定时/计数器及终端系统等)全部集成在一个半导体芯片上。单片机作为一种高集成度微型计算机,已经广泛应用于工业自动化控制、智能仪器仪表、通信设备、汽车电子与航空航天电子系统、智能家居电器等各个领域。 2. Protues仿真软件简介 Protues以其数量众多的元件数据库、标准化的仿真仪器、直观的捕获界面、简洁明了的操作、强大的分析测试、可信的测试结果, 为电子工程设计节约研发时间,节省了工程设计费用。利用Protues软件设计一款通过数码管显示计数时间的流水灯电路及Keil C软件编程后,再将两者关联则可以简单快速的进行仿真。 【实验设计目标】 设计要求以发光二极管作为发光器件,用单片机自动控制,对8个LED 灯设计至少3种流水灯显示方式,每隔20秒变换一次显示花样,计时通过一个二位七段数码管显示。

实验六 任意进制计数器的构成

实验六任意进制计数器的构成 设计性实验 一、实验目的 1、学习用集成触发器构成计数器的方法; 2、掌握中规模集成计数器的使用及功能测试方法; 3、运用集成计数计构成N分频器,了解计数计的分频作用。 二、实验原理 计数器是一个用以实现计数功能的时序部件,它不仅可用来计脉冲数,还常用作数字系统的定时、分频和执行数字运算以及其它特定的逻辑功能。 计数器种类很多。按构成计数器中的各触发器是否使用一个时钟脉冲源来分,有同步计数器和异步计数器。根据计数制的不同,分为二进制计数器,十进制计数器和任意进制计数器。根据计数的增减趋势,又分为加法、减法和可逆计数器。还有可预置数和可编程序功能计数器等等。目前,无论是TTL还是CMOS 集成电路,都有品种较齐全的中规模集成计数器。使用者只要借助于器件手册提供的功能表和工作波形图以及引出端的排列,就能正确地运用这些器件。 1、用D触发器构成异步二进制加/减计数器 图6-1是用四只D触发器构成的四位二进制异步加法计数器,它的连接特点是将每只D触发器接成T'触发器,再由低位触发器的Q端和高一位的CP端相连接。 图6-1 四位二进制异步加法计数器 若将图6-1稍加改动,即将低位触发器的Q端与高一位的CP端相连接,即构成了一个4位二进制减法计数器。 2、中规模十进制计数器 CC40192是同步十进制可逆计数器,具有双时钟输入,并具有清除和置数等功能,其引脚排列及逻辑符号如图6-2所示。 图中LD—置数端CP U—加计数端CP D—减计数端 CO—非同步进位输出端BO—非同步借位输出端 D0、D1、D2、D3—计数器输入端

Q 0、Q 1、Q 2、Q 3 —数据输出端 CR 图6-2 CC40192引脚排列及逻辑符号 CC40192(同74LS192,二者可互换使用)的功能如表6-1,说明如下: 当清除端CR 为高电平“1”时,计数器直接清零;CR 置低电平则执行其它功能。 当CR 为低电平,置数端LD 也为低电平时,数据直接从置数端D 0、D 1、D 2、D 3 置入计数器。 当CR 为低电平,LD 为高电平时,执行计数功能。执行加计数时,减计数端CP D 接高电平,计数脉冲由CP U 输入;在计数脉冲上升沿进行 8421 码十进制加法计数。执行减计数时,加计数端CP U 接高电平,计数脉冲由减计数端CP D 输入,表6-2为8421码十进制加、减计数器的状态转换表。 表6-2 3、计数器的级联使用 一个十进制计数器只能表示0~9十个数,为了扩大计数器范围,常用多个

单片机实验指导

(内部教材) 单片机实验指导书 周小波编 阜阳师范学院物理与电子科学学院电子信息科学与技术教研室

第一章系统概述 一、系统简介 MCS-51单片机实验板是物理与电子科学学院自主研发设计的单片机实验系统。板载一片51内核STC89C52单片机,整个实验系统由17个独立模块组成,各模块相互独立,给学生提供了更大的发挥空间。利用目前流行的Keil c51软件,进行软、硬件仿真开发调试。 二、各模块电路 (1)单片机最小系统模块 最小系统电路主要由STC89C52单片机、时钟电路、复位电路等构成,所有的IO口均引出。 (2)串口电平转换模块

串口电平转换电路主要由MAX232芯片以及相关外围电路构成,可以用来下载程序,以及作串口通信实验。 (3)数码管驱动模块 8位共阳极数码管采用8550(PNP)三极管驱动,模块预留位选端口和段选端口两排插针,根据需要可自行连接。 (4)LED发光二极管模块 板载8个发光二极管,J1为接线端口,可根据需要自行连接到单片机的IO 口或者其他外设上,PZ2为排阻,起限流作用。 (5)键盘模块 键盘电路由4各独立按键和4*4矩阵键盘构成,Pk2接口为独立键盘的接线端子,Pk1端口为矩阵键盘的接线端子。

(6)DA转换模块 DA转换电路采用8位DA芯片DAC0832,PDA端口为8位数据的输入端,11 脚为DAC0832输出端,发光二极管用于指示DA转换的结果。 (7)AD转换模块 AD转换电路由8位AD转换芯片ADC0804构成,通过调节VR1电位器可以改 变AD输入端的模拟电压。

(8)电机驱动模块 采用L298N模块作为电机驱动,可以驱动2个直流电机或1个步进电机, J5为信号输入端,输出端J6接直流电机或者步进电机。 (9)总线扩展模块 采用82C55芯片作为总线的扩展,采用一片锁存器74HC573,使P0口可以作 为地址和数据总线的复用端口。J9为82C55的控制总线接线端子,J10为82C55 的地址和数据接线端子,PA、PB、PC为82C55的输出端口,可以外接其他外设完 成相应的实验。

单片机流水灯实验报告

流水灯实习报告 一、实验原理 单片机通过P0口连接锁存器74ls273,P0同时作为低八位地址,实验板内P2口连接74ls138,任意一个输出连接74ls273片选,再将74ls273接八个LED 灯,通过软件控制对74ls273送入显示数据就可以按要求显示了。 二、硬件原理图 三、实验程序 ORG 00H AJMP START ORG 001BH AJMP INT ORG 0100H START: MOV SP,#60H MOV TMOD,#10H MOV TL1,#00H MOV TH1,#4CH MOV R0,#00H MOV R1,#20 SETB TR1 SETB ET1 SETB EA

INT: PUSH ACC PUSH PSW PUSH DPL PUSH DPH CLR TR1 MOV TL1,#B0H MOV TH1,#3CH SETB TR1 DJNZ R1,EXIT MOV R1,#20 MOV DPTR,#DATA MOV A,R0 MOVC A,@A+DPTR MOV DPTR,#8000H Movx @DPTR,A INC R0 ANL 00,#07H EXIT: POP DPH

POP PSW POP ACC RETI DATA: DB 05H,0AH,50H,0A0H,55H,0AAH,0FFH,0H END 四、实验功能 以实验机上74LS273做输出口,接八只发光二极管,编写程序,使开机后第一秒钟L1,L3亮,第二秒钟L2,L4亮,第三秒钟L5,L7亮,第四秒钟L6,L8亮,第五秒钟L1,L3,L5,L7亮,第六秒钟L2,L4,L6,L8亮,第七秒钟八个二极管全亮,第八秒钟全灭,以后又从头开始,L1,L3亮,然后L2,L4亮……一直循环下去. 五、实验总结 通过这次课程设计,我拓宽了知识面,锻炼了能力,综合素质得到较大提高。而安排课程设计的基本目的,是在于通过理论与实际的结合、人与人的沟通,进一步提高思想觉悟和领悟力。 尤其是观察、分析和解决问题的实际工作能力。它的一个重要功能,在于运用学习成果,检验学习成果。运用学习成果,把课堂上学到的系统化的理论知识,尝试性地应用于实际设计工作,并从理论的高度对设计工作的现代化提出一些有针对性的建议和设想。检验学习成果,看一看课堂学习与实际工作到底有多大距离,并通过综合分析,找出学习中存在的不足,以便为完善学习计划,改变学习内容与方法提供实践依据。实际能力的培养至关重要,而这种实际能力的培养单靠课堂教学是远远不够的,必须从课堂走向实践。这也是一次预演和准备毕业设计工作。通过课程设计,让我们找出自身状况与实际需要的差距,并在以后的学习期间及时补充相关知识,为求职与正式工作做好充分的知识、能力准备,从而缩短从校园走向社会的心理转型期。课程设计促进了我

单片机实训,流水灯,霹雳灯

单片机实训 --霹雳灯 学生姓名:陈文锋 学院:信息工程学院 班级: 12应用电子技术 学号: 2012011846 指导教师:王颖 日期: 2014 年 5 月

目录 第一章、任务书.........................................................................................第二章、总体方案设计及选择................................................................. (1) 实验原理......................................................................................... 第三章、电路设计..................................................................................... (1) 硬件设计........................................................................................ (2) 软件设计......................................................................................... (3) 电路板制作及联机调试..................................................................第四章、程序清单................................................................................... 第五章、设计心得.................................................................................... 第六章、参考资料....................................................................................第七章、附件(实物图)........................................................................

流水灯设计报告

流水灯设计报告 一、实验目的 通过本实验教学,学习数字电路综合应用(将单元电路组成系统电路的方法),掌握简单数字系统设计方法。通过查阅手册和文献资料,培养独立分析和解决实际问题的能力。掌握示波器、信号发生器、频率计、万用电表等常用电子仪器设备的使用。获得数字电路综合应用能力。 二、实验内容 用D 触发器和译码器设计一个8位可循环的流水灯,用仿真软件进行仿真,最后根据电路图在万能板上焊接出来。 三、实验原理 1.D 触发器 D 触发器的状态方程为:Q n+1=D 。其状态的更新发生在CP 脉冲的边沿,74LS74(CC4013)、74LS175(CC4042)等均为上升沿触发,故又称之为上升沿触发器的边沿触发器,触发器的状态只取决于时针到来前D 端的状态。D 触发器应用很广,可用做数字信号的寄存,移位寄存,分频和波形发生器等,图A 为74LS74外引线排列,图B 为D 触发器逻辑符号。 2.译码器 74LS138 为3 线-8 线译码器,共有 54LS138和 74LS138 两种线路结构型式 工作原理: ① 当一个选通端(E1)为高电平,另两个选通端((/E2))和/(E3))为低电平时,可将地址端(A0、A1、A2)的二进制编码在Y0至Y7对应的输出端以低电平译出。比如:A2A1A0=110时,则Y6输出端输出低电平信号。 图A 74LS74外引线排列 图B D 触发器逻辑符号

表1 74LS138逻辑功能表 ② 利用 E1、E2和E3可级联扩展成 24 线译码器;若外接一个反相器还可级联扩展成 32 线译码器。 ③ 若将选通端中的一个作为数据输入端时,74LS138还可作数据分配器。 ④ 可用在8086的译码电路中,扩展内存。 引脚功能: A0∽A2:地址输入端 STA (E1):选通端 /STB (/E2)、/STC (/E3):选通端(低电平有效) /Y0∽/Y7:输出端(低电平有效) VCC :电源正 GND :地 A0∽A2对应Y0——Y7;A0,A1,A2以二进制形式输入,然后转换成十进制,对应相应Y 的序号输出低电平,其他均为高电平。 如图C 所示为74LS138译码器的引脚排列图。功能表如表1所示 四、实验结果 图C 74LS138的引脚排列图

实验六 同步计数器的设计

实验六同步计数器的设计 一、实验目的和要求 1.熟悉JK触发器的逻辑功能。 2.掌握用JK触发器设计同步计数器。 二、实验仪器及器件 仪器及器件名称型号数量数字电路实验箱DS99-1A 1 数字万用表DY2106 1 双踪示波器CS-4135 1 器件74LS73X2 2 74LS32X2 1 74LS08X2 2 四、实验原理 1.计数器的工作原理 递增计数器----每来一个CP,触发器的组成状态按二进制代码规律增加。 递减计数器-----按二进制代码规律减少。 双向计数器-----可增可减,由控制端来决定。 五、实验内容 1.用J-K触发器和门电路设计一个特殊的12进制计数器,其十进制的状态转换图为: 图4 12进制计数器状态转换图 2.考虑增加一个控制变量D,当D=0时,计数器按内容一方式(顺时针)运行,当D=1时,无论计数器当前处于什么状态,计数器按内容一的反方向(逆时针)运行。本题为附加内容,因接线复杂可用模拟软件测试结果。 六、实验报告 1.写出详细的设计过程。 (1)根据实验要求可以的该特殊十二进制计数器状态转换图。

(2)确定电路所需触发器数目:有效状态为m=12,求所需触发器数目n 。 由2n ≥m=12,可得n=4。 (3)画出次态卡诺图 (4)求出每个触发器的状态方程 (5)求各触发器的驱动方程 根据n n n Q K Q J Q +=+1,得到以下J 、K 的逻辑表达式:

(6)仿真图如下: 显示管显示的顺序符合十二进制的要求 2.画出CP及各输出端的波形图,要画好他们之间的相位关系。 (1)通过状态图画得CLK、Q0、Q1、Q2、Q3的波形图如下: (2)仿真得到波形图如下:

流水灯课程设计

基于单片机的流水灯设计 学院: 专业: 指导老师: 姓名: 班级: 学号: 年月日

摘要:当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。 This age is a new technology emerge in endlessly era, in the electronic field especially automation intelligent control field, the traditional schism components or digital logic circuit, is composed of control system with unprecedented speed was replaced by microcontroller intelligent control system. SCM has small, strong function, low cost, etc, it can be said that wide application, intelligent control and automatic control core is the microcontroller. 关键词:LED 单片机控制系统流水灯 目录 1.前言 1.1 设计概述 (2) 1.2 设计主要功能 (2) 2. 硬件组成 2.1 80C51单片计算机的组成原理 (3) 2.组成框图及内部总体结构 (3) 2.寄存器和存储器………………………………………………………

流水灯课程设计(免费)..

数字电子技术课程设计报告 (彩灯控制器) 专 专业:电子信息工程 班级:7B1211 学号:123025 姓名:白旭飞 年月:2014-6-28

一、设计要求 1. 以8或10个指示灯作为显示器件,能自动的从左到右、从右到左自动的依次被点亮,如此周而复始,不断循环。 2.打开电源时控制器可自动清零,每个指示灯被点亮的时间相同约为0.5S~2S 范围内。 3.用计算机画出设计电路图,进行仿真分析验证其正确性。 4.写设计说明书一份(画总原理框图以及说明主要工作原理,单元电路的设计和元器件的选择,画出完整的电路图和元器件明细表,收获、体会及建议) 二、设计的作用,目的 1.作用 利用控制电路可使彩灯(例如霓虹灯)按一定的规律不断的改变状态,不仅可获得良好的观赏效果,且可以省电(与彩灯全亮相比)。 2.目的 用NE555芯片,74LS151芯片,74LS163芯片,74LS194,以及一些逻辑门芯片完成彩灯控制器。 三、设计的具体实现 1.系统概述 接通电源时,555占空比可调振荡器产生1s单位的脉冲,脉冲送到下一个模块74LS151计数器,目的实现模5计数器,达到每五秒生成一个脉冲输向下一个芯片74LS194移位寄存器以及计数器74LS163。进而彩灯在脉冲的作用下依次点亮,并实现循环,完成实验要求。 2.总体思路 先用555定时器用来生成1s标准单位cp脉冲,把脉冲给计数器74LS151,通过74LS151形成模5加法计数器,再将74LS151输出信号供给74LS194移位寄 存器输入端,Q 0,Q 1, Q 2 和Q 3 接彩灯然后连接几个逻辑门,把74LS194接成环形 计数器。就能实现基本电路要求。 3.方案设计 总体电路共分三大块。第一块实现时钟信号的产生;第二块实现灯亮灭情况的演示;第三块实现灯亮灭的控制及节拍控制。

相关文档
最新文档