生产实习报告--单片机电子琴.doc

生产实习报告--单片机电子琴.doc

ID:59519860

大小:535.50 KB

页数:30页

时间:2020-11-06

生产实习报告--单片机电子琴.doc_第1页
生产实习报告--单片机电子琴.doc_第2页
生产实习报告--单片机电子琴.doc_第3页
生产实习报告--单片机电子琴.doc_第4页
生产实习报告--单片机电子琴.doc_第5页
资源描述:

《生产实习报告--单片机电子琴.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

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

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

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

4、]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};ucharcodeleds1[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//P0口控制8位LEDucharcodeleds2[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd};sbitle1=P3^5;//左边数码管位选sbitle2=P3^4;//右边数码管位选sbitfeng=P3^7;//蜂鸣器控制

5、位sbitkey1=P2^0;//模式切换sbitkey2=P2^1;//暂停和开始sbitkey3=P2^2;//功能复位uintti,count,shi1,ge1,k;uintflag=1;voiddelay()//延时固定时间{inti,j;for(i=500;i>0;i--)for(j=100;j>0;j--);}voiddelayms(uintms)//延时ms毫秒{inti,j;for(i=ms;i>0;i--)for(j=110;j>0;j--);}voidkeyscan(){if(key2==1){delayms(10);if(key2

6、==1){while(key2);TR0=!TR0;P2=0x00;}}if(key1==1){delayms(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;}}}voidinit(){P0=0xfe;//二极管P2=0x00;//按键le1=0;le2=0;feng=0;TMOD=0x01;//设置定时器1工作模式设置T0/T1TH

7、0=(65536-45872)/256;//给定时器装入初值TL0=(65536-45872)%256;EA=1;//打开中断ET0=1;//打开定时器中断TR0=0;}voiddisplay(uintshi,uintge)//数码管扫描{uinti,j;i=shi;j=ge;le1=0;le2=0;P1=table[i];le1=1;delayms(10);le1=0;P1=table[j];le2=1;delayms(10);}intmain(){init();while(1){if(feng==1&&TR0==0&&k==0){delay();f

8、eng=0;}shi1=count/10;ge1=count%10;keyscan();dis

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。