遵义师范学院工学院实验报告
实验课题:制作简易电子琴 一、实验目的:学习定时器,高电平和低电平的转换,实现对LED灯与按键的同时使用。 二实验原理:STC89C52单片机通过定时器使LED灯、按键、蜂鸣器同时工作,通过观察理解定时器执行和退出。 三、实验设备(元件): 1、单片机实验板一块; 2、数据传输线一根;3、电脑一台(包括应用软件) 4、电烙铁一把;5、焊锡丝若干;6、斜口钳一把;7、十字螺丝批一套 8、万用表一台;9、杜邦线若干;10、其他若干。 四、实验方法及实验步骤 1、用万用板、LED灯、电阻、导线、蜂鸣器、按键(实验另外提供)按照实验布局图焊接好元件,并保证电路符合通断要求,用绝缘胶密封及固定万用板后面的导线致美观。 2、根据实验要求用仿真软件Protues8.0中文版画出电路原理图,同时写出代码进行效果仿真,在电脑上调试代码,直到没有错误和实现完全编译通过。 3、焊接好实验板,把调试编译后的代码烧写到单片机内,插接好数据线、电源线、待检查后,接通电源,观察效果,是否与仿真的结果一致。 五、实验原理图及代码 1、原理图从Protues软件导出粘贴到实验报告 2、代码调试编译通过后粘贴到原理图后面 六、实验要点 描述整个实验过程:接线过程(付端口编号),元件接法,调试过程(详细写) 七、附录 1、实验代码
2、实验原理图 如下:
2、附录程序流程图
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载):
单片机源程序如下:
- #include
- #define LED P1
- #define SW_port P2
- sbit bu=P3^6;
- unsigned char keys;
- unsigned char code tone[]={115,102,91,86,77,68,61,57};
- void sound(unsigned char);
- void delay8us(unsigned char);
- //=============主程序===================
- void main()
- {
- while(1)
- {
- LED=SW_port=0xff;
- keys=~SW_port;
- //===判读===
- switch(keys)
- {
- case 0x01:sound(0);break;
- case 0x02:sound(1);break;
- case 0x04:sound(2);break;
- case 0x08:sound(3);break;
- case 0x10:sound(4);break;
- case 0x20:sound(5);break;
- case 0x40:sound(6);break;
- case 0x80:sound(7);break;
-
- }
- }
- }
- //=======发声函数===
- void sound(unsigned char x)
- {
- unsigned char i;
- LED=SW_port;
- for(i=0;i<60;i++)
- {
- bu=0;delay8us(tone[x]);
- bu=1;delay8us(tone[x]);
- }
- LED=0xff;
- }
- //=====延时函数===
- void delay8us(unsigned char x)
- ……………………
- …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载(含word格式的实验报告论文):
5(电子琴).rar
(130.97 KB, 下载次数: 57)
|