八弦激光竖琴电路图与单片机源码

发布者:mb5362443最新更新时间:2019-11-07 来源: 51hei关键字:八弦激光竖琴  单片机  激光头 手机看文章 扫描二维码
随时随地手机看文章

==============所需元件==========================
激光头 * 8
5mm光敏电阻 * 8
开关 * 1
轻触按键 * 1
usb座或DC座 * 1
1k电阻 *2
10k电阻 * 10
3mmLED * 1
无源蜂鸣器 * 1
s8550三极管 * 1
排针(用于下载) * 1
STC89C52单片机 * 1
DIP40的单片机座 * 1
12M晶振 * 1
30pf瓷片电容 * 2
10uf电解电容 * 1

===============用到的工具=======================
电烙铁、焊锡丝、助焊剂可选、剪钳、镊子、热熔胶枪与热熔胶

================================================
===============激光竖琴使用说明=================
================================================

8个激光束 —— 对应中音的1、2、3、4、5、6、7,还有高音1


注意事项  —— 手弹奏时,请选取光线较弱的室内。当弹奏不灵敏时,请转到更暗的环境。

电路原理图如下:
0.png

单片机源程序如下:

//*********            51简易电子琴程序              *****************


#include

#define uint unsigned int

#define uchar unsigned char


sbit fmq=P0^0;//定义P0.0口为蜂鸣器信号输出

uint z;

uint code tone[8]={0xfc44,0xfcac,0xfd09,0xfd34,0xfd82,0xfdc8,0xfe06,0xfe22};//对应每个单调的计数初值

uchar code keymode[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//按键值,对应io:0,1,2,3,4,5,6,7


/************************************

*********按键扫描函数***************/


void anjian()//用整个P2口作为音调的输入按键(独立按键方式)

{

        

        P2=0xff;//读数据先置1

        if(P2==~keymode[0]) //1

        {

                z=tone[0];

                P1=keymode[0];

        }

/**/

        if(P2==~keymode[1]) //2

        {

                z=tone[1];

                P1=keymode[1];

        }

/**/

         if(P2==~keymode[2]) //3

        {

                z=tone[2];

                P1=keymode[2];

        }

/**/

        if(P2==~keymode[3]) //4

        {

                z=tone[3];

                P1=keymode[3];

        }

/**/

        if(P2==~keymode[4]) //5

        {

                z=tone[4];

                P1=keymode[4];

        }

/**/

         if(P2==~keymode[5]) //6

        {

                z=tone[5];

                P1=keymode[5];

        }

/***/

        if(P2==~keymode[6]) //7

        {

                z=tone[6];

                P1=keymode[6];

        }

/* */

        if(P2==~keymode[7]) //1.

        {

                z=tone[7];

                P1=keymode[7];

        }



}

/************************************/

void zdkg()

{

        if(P2==0xff)

        {

                P1=0xff;

                TR1=0;//如果没有按键按下,就关闭定时器中断

                fmq=1;//同时也关闭蜂鸣器 

        }

        else          //否则就进入中断

        {

                TR1=1;

        }

}

/*************************************************

****************主函数****************************

*************************************************/

void main()

{

        EA=1;//开总中断

        ET1=1;//定时器T1中断允许

        TMOD=0x10;//使用定时器T1的模式1

        TH1=(65536-500)/256;//定时器T1的高8位重新赋初值

        TL1=(65536-500)%256;//定时器T1的低8位重新赋初值

        P1=0xff;//先关所有LED灯


        while(1)

        {

        

          anjian();//按键扫描函数

          zdkg();

                  

        }


}

/*定时器T1的中断服务程序*/

void Time1(void) interrupt 3 using 1//

{        fmq=~fmq; //每进入一次中断就取反一次,快速的进入退出中断,就会听到蜂鸣器发出的音调

        TH1=z/256;//定时器T1的高8位重新赋初值

        TL1=z%256;//定时器T1的低8位重新赋初值

}



关键字:八弦激光竖琴  单片机  激光头 引用地址:八弦激光竖琴电路图与单片机源码

上一篇:基于DS1302的数字时钟设计 使用595和数码管显示
下一篇:单片机波形发生器源码

推荐阅读最新更新时间:2024-11-13 10:24

单片机的硬件和软件概念介绍
整理了下当时学习单片机不明白的概念,自己总结和百度整理来的,所以有可能会有不当之处,希望大家见谅 硬件篇 MCU:微控制器,就是指单片机这类,控制是mpu最根本的区别 MPU:微处理器,就是cpu这一类,用于处理数据和运算;当然单片机也有处理和运算能力,但是在能力上弱了很多,更大的区别是相比单片机体系不是那么完整,他更像是单片机的一个内核,缺少相应的ROM RAM之类,这些都要外扩 SOC:和mpu和接近 但是他在内核的基础上集成了些外设,比如说S3C2440他在上面集成了USB接口TFT控制器等,ARM9等嵌入式芯片就是这类。 寄存器:这是初识单片机最常听见的词汇,其实他就是可以保持数据同时又能输入新的状态数据,51的很多寄存
[单片机]
【51单片机】 数据管显示HELLO
软件准备+硬件准备 软件: 1.Keil软件v6.12(与书中版本保持一致方便学习,如果喜欢别的版本也可以下载别的) 2. STC-ISP(将十六进制代码写到单片机上) 硬件:TX-1C(书本推荐,并非本人广告) 【学习单片机,你起码得有块单片机的板子吧…也不一定是自己的,借别人的也可以】 HELLO.程序 #include reg52.h #define uchar unsigned char #define uint unsigned int sbit dula=P2^6; //申明U1锁存器的锁存端 sbit wela=P2^7; //申明U2锁存器的锁
[单片机]
【51<font color='red'>单片机</font>】 数据管显示HELLO
51单片机定时/计数器T0、T1的组成与功能简介
1、 主体结构 1)16位加法 计数器 ,由高8位(THi)和低8位(TLi)SFR组成。 2)在用作计数器时,引脚P3。4(T0)和P3。5(T1)分别是两个计数器的外部脉冲输入端。 3)引脚P3。2(/INT0)和P3。3(/INT1)在位GATE=1时可用作T0、T1的门控信号。 4)SFR-TCON和TMOD控制T0和T1的运行状态和工作方式。 2、 控制寄存器TCON(地址88H) D7~D0:TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 高4位与定时/计数器有关,低4位用于控制外部中断。 TFi-定时/计数器溢出标志位;计数溢出时,硬件自动置1,在中断允许条件下,是向CPU请求中断的
[单片机]
单片机在GPS和CDMA计时系统中的设计
摘要介绍了一种基于MSP430单片机的GPS和CDMA双接收计时系统的设计思路与方法,并给出了系统的硬件电路和软件流程。该系统采用GPS和CDMA时钟信号,其可以自动调整时间,同时还拥有多方位保障时间的精确性、一致性、高可靠性及环境适应性强的优势。 在可靠性、扩展性、控制功能以及体积、功耗等方面比其他电子产品具有优越性。在天文、地震台、航空航天等对时间精度较高的场合,以及国防、通信、电力、交通等要求高精度时间同步的领域,得到广泛应用。 1 系统硬件设计方案 1.1 系统总体设计 基于MSP430单片机的GPS和CDMA双接收计时系统,是传统钟表计时技术与现代时频、微电子、通讯、计算机等多项技术的结合,通过接收不同形
[单片机]
<font color='red'>单片机</font>在GPS和CDMA计时系统中的设计
RAM在单片机里有什么样的作用
单片机就是个小计算机,跳蚤虽小不但五脏惧全,有时还跳得很高呢!自然,大计算机少不得的数据存储系统,小不点的单片机一样有,而且往往和CPU集成在一起,更加显得小巧灵活.直到90年代初,国内容易得到的单片机就是8031:不带存储器的芯片,要想工作,还必需外加RAM和ROM,单片机成了3片机,...现在不同了,大的小的又是51,又是AVR又是STC,还有什么430,PIC等等,都各说各的好,可是谁业也不敢说 我不要存储器 !好,废话少说... 单片机内,有这么几种数据存储手段: 1.程序存储器:里面存放的是单片机的灵魂:工作程序.小的可能只有1KB(最多只能装1024条8位数据,因为实际指令还有许多2字节,3字节指令,所以它还装不下
[单片机]
RAM在<font color='red'>单片机</font>里有什么样的作用
单片机矩阵式键盘的编程方法
  单片机系统中,若使用按键较多时,通常采用矩阵式(也称行列式)键盘。   1.矩阵式键盘的结构及原理   矩阵式键盘由行线和列线组成,按键位于行、列线的交叉点上,其结构如图所示。 由图可知,一个 4 4 的行、列结构可以构成一个含有 16 个按键的键盘,显然,在按键数量较多时,矩阵式键盘较之独立式按键键盘要节省很多 I/O 口。   矩阵式键盘中,行、列线分别连接到按键开关的两端,行线通过上拉电阻接到+ 5V 上。当无键按下时,行线处于高电平状态;当有键按下时,行、列线将导通,此时,行线电平将由与此行线相连的列线电平决定。这是识别按键是否按下的关键。然而,矩阵键盘中的行线、列线和多个键相连,各按键按下与否均影响该键所在
[单片机]
<font color='red'>单片机</font>矩阵式键盘的编程方法
单片机软件定时器的使用方法
特别声明:文章是原创但是本文讲述的思想是在国外的开源代码中借鉴的 初学者在编写单片机程序时经常会用到延时函数,但是当系统逐步复杂以后(没有复杂到使用操作系统)延时会因为延时降低MCU的利用率,更严重的会影响系统中的“并行”操作例如一个既有按键又有蜂鸣器的系统中,如果要求按下按键发出不同的声音,每次发声时间在1秒-2秒之间, 如果用延时来做代码很简单: //蜂鸣器发出“哔-哔-哔”声音时间约1s void BeepFuction(void) { unsigned char i; for(i=0;i 3;i=++) { BeepEn(); //开启蜂鸣器 Delayms(220);//延时220ms Beep
[单片机]
【GD32 MCU 入门教程】二、GD32 MCU 烧录说明(3)脱机烧录
大部分主流的烧录器厂商均支持GD32 MCU的烧录,如ELNEC、致远电子、贷铺科技、希尔特、迈斯威志、轩微、天津威磊、Segger、芯园电子、北极星电子等烧录器厂商。烧录方式分别有SWD和ISP,具体以烧录器型号为准。 GD官方的GD-link烧录工具也支持离线烧录功能,装载好代码后通过按键即可进行脱机烧录,需注意GD-link脱机烧录只能装载768K大小的文件。以下主要介绍GD-link的脱机烧录方法。所需工具和软件:GD-link、官网获取最新版本GD-link Programmer上位机。 3.1 GD-link脱机烧录硬件连接 GD-link脱机烧录的硬件连接方式与在线下载相同,硬件接口和连接方式请参考2.5章节说明
[单片机]
【GD32 <font color='red'>MCU</font> 入门教程】二、GD32 <font color='red'>MCU</font> 烧录说明(3)脱机烧录
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
更多往期活动

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved