生产实习报告记录单片机电子琴

上传人:乐*** 文档编号:115099270 上传时间:2019-11-12 格式:DOC 页数:32 大小:626.50KB
返回 下载 相关 举报
生产实习报告记录单片机电子琴_第1页
第1页 / 共32页
生产实习报告记录单片机电子琴_第2页
第2页 / 共32页
生产实习报告记录单片机电子琴_第3页
第3页 / 共32页
生产实习报告记录单片机电子琴_第4页
第4页 / 共32页
生产实习报告记录单片机电子琴_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《生产实习报告记录单片机电子琴》由会员分享,可在线阅读,更多相关《生产实习报告记录单片机电子琴(32页珍藏版)》请在金锄头文库上搜索。

1、生产实习报告记录单片机电子琴 作者: 日期:32 1基础部分1.1设计任务按照给定电路原理图,进行单片机最小系统的焊接:包括单片机、开关、插排、复位电路和晶振电路,正确焊接后,电路可以进行程序的下载。设计并焊接简单外围电路,包括:LED 与独立按键、蜂鸣器、双位数码管。使用汇编或 C 语言编写程序,使本电路完成以下功能:LED 跑马灯、双位数码管对应计数,方式一(始终一个方向) 、方式(左右循环),可准确确定周期 T。每次第一个 LED 亮起的时候蜂鸣器响一声(t 秒)提示。按键控制:一共三个按键分别实现以下功能暂停:检测该按键有效按下后,LED 和数码管暂停,再次检测按键按下后,继续执行当前

2、循环;复位:检测该按键有效按下后,LED 和数码管归零重新开始以当前模式循环;模式转换:正常运行状态,检测该按键有效按下后,数码管显示不变,LED 显示从当前方式转换成另一方式继续执行。1.2设计思路先设计好外围电路模块的原理图。根据自己的板子的实际情况安排布线并依据原理图进行焊接。再设计程序流程图,分别编写简单程序调试各个外围电路是否可以正常工作。学习使用单片机程序开发环境,编译下载程序等。比如:单独的跑马灯;双位数码管按秒计数;蜂鸣器 1s 一响;按键控制 LED 点亮(8 个按键对应 8 个 LED)。设计程序运行的状态图以及程序流程图,编写程序代码并调试。1.3原理图1.4PCB图 器

3、件名称 实物图片 数量器件名称 实物图片 数量单片机STCS90C52RC1四角按键开关4单排插针(4针) 1六角自锁开关 130pF瓷片电容210K电阻 1晶振11.0592M 1 导线 若干10uf电解电容1 万能版1编程接口板1 杜邦线440脚IC座1LED(红色)8双位数码管1三极管805031K电阻14排阻11.5器件清单 表1-1 器件清单(1)1.6程序流程图 图 主程序流程图 图 数码管子程序 1.7程序代码#include #define uint unsigned int#define uchar unsigned charuchar code table=0xc0,0xf

4、9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;uchar code leds1=0xfe,0xfd,0xfb,0xf7, 0xef,0xdf,0xbf,0x7f; /P0口控制8位LEDuchar code leds2=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd; sbit le1=P35; /左边数码管位选 sbit le2=P34; /右边数码管位选 sbit feng=P37; /蜂鸣器控制位 sbit key1=P20; /模式切换 sbit key2=

5、P21; /暂停和开始 sbit key3=P22; /功能复位 uint ti,count,shi1,ge1,k; uint flag=1; void delay() /延时固定时间 int i,j; for(i=500;i0;i-)for(j=100;j0;j-); void delayms(uint ms)/延时ms毫秒 int i,j;for(i=ms;i0;i-)for(j=110;j0;j-); void keyscan() if(key2=1)delayms(10);if(key2=1)while(key2) ;TR0=!TR0;P2=0x00; if(key1=1)delaym

6、s(10);if(key1=1)while(key1) ;flag=!flag; /flag=1为默认模式1,为0为模式2P2=0x00;if(key3=1)delayms(10);if(key3=1)while(key3);count=0;P0=0xfe; void init() P0=0xfe; /二极管P2=0x00; /按键le1=0;le2=0;feng=0; TMOD=0x01; /设置定时器1工作模式 设置T0/T1TH0=(65536-45872)/256; /给定时器装入初值TL0=(65536-45872)%256;EA=1;/打开中断ET0=1; /打开定时器中断TR0=

7、0;void display(uint shi,uint ge) /数码管扫描 uint i,j;i=shi;j=ge;le1=0;le2=0;P1=tablei;le1=1;delayms(10);le1=0;P1=tablej;le2=1;delayms(10);int main()init();while(1) if(feng=1&TR0=0&k=0) delay(); feng=0; shi1=count/10;ge1=count%10;keyscan();display(shi1,ge1);void timer() interrupt 1 TH0=(65536-45872)/256;

8、 /定时时间为1s,公式TL0=(65536-45872)%256;ti+;if(ti=20) /每累加到20的时间为1秒ti=0; /ti标志置0count+;if(count=100)count=0;if(flag=1)k=count%8;P0=leds1k;if(k=0)feng=1;elsefeng=0;elsek=count%14;P0=leds2k;if(k=0)feng=1;elsefeng=0;2提高部分2.1设计任务在基础项目的前提下设计电子琴,让电子琴可以播放简单的歌曲,可以用按键进行简单的弹奏。在弹奏过程中,led灯会根据不同的按键,点亮不同的灯。2.2设计思路先设计好外

9、围电路模块的原理图。根据自己的板子的实际情况安排布线画出PCB图,并依据PCB图进行焊接。焊接完成之后根据设计任务设计程序流程图,再根据流程图编写程序,下载到单片机之后根据硬件情况进行调试。直到完成设计任务为止。2.3原理图2.4PCB图2.5器件清单 表2-1 器件清单(2) 器件名称 实物图片数量 器件名称 实物图片 数量四角按键开关 18 LED 8 蜂鸣器 1 杜邦线92.6程序流程图2.7程序代码2.7.1头文件#ifndef _SOUNDPLAY_H_REVISION_FIRST_#define _SOUNDPLAY_H_REVISION_FIRST_/*#define SYSTE

10、M_OSC 11059200/定义晶振频率12000000HZ#define SOUND_SPACE 4/5 /定义普通音符演奏的长度分率,/每4分音符间隔#define play 1#define stop 0sbit BeepIO = P37;/定义输出管脚unsigned int code FreTab12 = 262,277,294,311,330,349,369,392,415,440,466,494 ; /原始频率表unsigned char code SignTab7 = 0,2,4,5,7,9,11 ; /17在频率表中的位置unsigned char code LengthT

11、ab7= 1,2,4,8,16,32,64 ;unsigned char Sound_Temp_TH0,Sound_Temp_TL0;/音符定时器初值暂存 unsigned char Sound_Temp_TH1,Sound_Temp_TL1;/音长定时器初值暂存char state_song;/*void InitialSound(void)BeepIO = 0;Sound_Temp_TH1 = (65535-(1/1200)*SYSTEM_OSC)/256;/ 计算TL1应装入的初值 (10ms的初装值)Sound_Temp_TL1 = (65535-(1/1200)*SYSTEM_OSC)%256;/ 计算TH1应装入的初值 TH1 = Sound_Temp_

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 工学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号