收藏 分享(赏)

一种基于LED点阵显示屏的横波模拟器的做法.doc

上传人:jinchen 文档编号:5279473 上传时间:2019-02-18 格式:DOC 页数:7 大小:4.43MB
下载 相关 举报
一种基于LED点阵显示屏的横波模拟器的做法.doc_第1页
第1页 / 共7页
一种基于LED点阵显示屏的横波模拟器的做法.doc_第2页
第2页 / 共7页
一种基于LED点阵显示屏的横波模拟器的做法.doc_第3页
第3页 / 共7页
一种基于LED点阵显示屏的横波模拟器的做法.doc_第4页
第4页 / 共7页
一种基于LED点阵显示屏的横波模拟器的做法.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、一种基于 LED 点阵显示屏的横波模拟器的做法普通高中物理教科书对机械振动提出明确的要求,其中横波的产生机制、传播过程、传播特性以及相关物理量都是学生必须掌握的内容。但在物理课堂教学中,要实现在课堂上演示横波较为困难,无法达到较好的演示效果。例如,发波水槽,由于只能在水平面内产生和持续,导致了其可视角度小,观察效果不佳。另外一款现有的横波模拟器,异常笨重,且只能演示横纵波的产生机制和传播特点,功能较为单一。鉴于以上原因和教学实际,提出一种用 LED 点阵显示屏显示,用 89C51 单片机控制的横波模拟器,用于实际教学,效果很好。现将该模拟器的制作原理、材料和制作过程介绍如下,与各位同好分享。一

2、、 模拟器的特点及用途1、 特点:本模拟器用 51 单片机控制高亮 LED 显示屏,产生各种图形来模拟以绳波为典型的横波。具有形象、直观的特点,可使横波的教学简单化、形象化。给学生认识横波的本质和特点,提供一个思维的空间。2、 用途:本模拟器可以模拟以下效果(1) 显示波源和平衡位置(2) 显示单一波源的振动(向学生解释,一条绳子上不可能只有波源在振动而其他的地方都不动)(3) 演示质点间的带动关系。(4) 演示各质点初始振动方向与波源的起振方向相同。(5) 演示波上的质点在波传播过程,只在垂直于传播方向的平衡位置附近做往复运动,而不随波迁移。(6) 演示传播中的同相和反相。(7) 演示波长、

3、半波长,传播方向。(8) 演示微平移和波传播方向与质点振动方向的相互判断。(9) 等等。二、 制作材料蓝色高亮 LED400 个绿色高亮 LED13 个红蓝双色高亮 LED26 个铝塑板约 24cm*42cm 三片薄三合板 24cm*42cm 一片双槽铝合金条约 2 米89c51 单片机一个1k 电阻、4.7k 电阻、9014 三极管、接线柱、晶振、电容、排线若干万用板 3 块1.2 寸 PVC 管一段( 24cm)4 开面板开关一个按钮 2 个2mm 有机玻璃板一块(24cm*42cm)自攻螺丝若干三、 制作方法1、 在铝塑板上以 0.7cm,1.0cm,1.6cm ,1.8cm,1.9cm

4、 ,2.1cm,1.9cm ,1.8cm ,1.6cm ,1.0cm,0.7cm 的间距,用 5mm 的转头成排打孔,共 40 列 13 排。装上 5mm 高亮 LED。如图 1 所示。图 12、 将排列好的 LED 用铜线焊成行列式点阵,如图 2。注:请参考 led 点阵的连接方法图 23、 将焊接好的显示屏用双槽铝合金条做边框固定。如图 3 所示图 34、 依电路图连接电路,分模块搭建单片机和显示屏控制电路及电源电路。如图 4、5 图 4 图 55、 将 1.2 寸 PVC 给水管切开,在两边用热熔胶固定两片铜板,做为导电电极。如图6图 66、 用锉刀在铝塑板上锉两个圆孔和一个方孔,大小以

5、可以装入按钮和开关面板为宜。如图 7 所示。图 77、 在板上装上开关和按钮,开关分别控制总电源、第一个双色 LED、第二个双色LED。第四个开关为备用开关。 绿色按钮为功能选择按钮,红色为复位按钮。如图 8,图 9 所示。图 8 图 98、 用 5mm 转头在板上每一厘米打一个孔,共 8 个,装上绿色 LED,用 8 针排线连接至单片机的 P0 端口,用来显示不同的功能。如图 10 所示。图 109、 编写程序,实现各个功能。附:参考程序四、 使用方法1、 用螺丝刀旋下面板上的螺丝,在电池盒中装入 4 个 3 号电池。盖上面板。2、 演示时,按下电源开关,显示屏开始快速全屏扫描。3、 轻按绿

6、色功能选择按钮,功能一:显示绿色的波源和介质的平衡位置。4、 功能二:显示单一波源的振动。5、 功能三:显示波源向下振动,并带动周围介质一起振动。6、 功能四:显示波源向上振动,并带动周围介质一起振动。7、 功能五:显示连续的向右传播的简谐横波。此时开始第二个和第三个开关,将原本蓝色的质点标记成红色,可显示波传播的本质,以及同相,反相,波长,半波长等物理量。8、 功能六:显示连续的向左传播的简谐横波。9、 功能七:显示向左微平移。10、功能八:显示向右微平移。附:参考程序#include unsigned char gongneng;/定义十位char idata zhendong=6,5,4

7、,3,2,1,0,1,2,3,4,5,6,7,8,9,10,11,12,11,10,9,8,7,6,5,4,3,2,1,0,1,2,3,4,5,6,7,8,9,10,11,12,11,10,9,8,7,6,5,4,3,2,1,0,1,2,3,4,5,6,7,8,9,10,11,12,11,10,9,8,7,6,5,4,3,2,1,0,1,2,3,4,5;/ 显示段码值01234567unsigned char code lie=0x0f,0x0e,0x0d,0x0c,0x0b,0x0a,0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x01,0x00,0x00

8、,0x10,0x20,0x30,0x40,0x50,0x60,0x70,0x80,0x90,0xa0,0xb0,0xc0,0xd0,0xe0,0xf0;unsigned char i=0,l,j,k,time;void delay(unsigned int cnt)while(-cnt);main()EA=1;/全局中断开EX0=1;/外部中断 0 开IT0=1;/边沿触发/全景扫描 /for(j=0;j32;j+) for(i=0;i13;i+) P0=liej; /显示第一列 if(j16) P2=i+32;else P2=i+16;for(k=0;k3;k+)delay(18); /扫描

9、间隙延时P2=54;while(1)switch(gongneng)case 0:/显示平衡位置/ P1=254;for(i=0;i32;i+)P0=liei;if(i16)P2=38;elseP2=22;delay(50);break;case 1:/显示波源的震动和平衡位置/P1=253;for(l=0;l24;l+)for(k=0;k6;k+)for(i=0;i32;i+)P0=liei;if(i16)if(i=0)P2=zhendongl+32;elseP2=38;elseP2=22;/for(time=0;time5;time+) /延时服务程序delay(50);P2=54;bre

10、ak;case 2:/显示波源和质点间的带动关系,起震方向向上/P1=251;for(l=0;l200;l+)/控制循环100 次,延时约 5 秒for(i=0;i32;i+)P0=liei;if(i16)P2=38;elseP2=22;delay(50);for(j=1;j72;j+)/控制 72 次变化for(k=0;k8;k+) /控制震动的频率for(i=0;i32;i+)/控制从左到右 32 列的扫描P0=liei;if(j17)if(ij)P2=zhendongj-i+12+32;elseif(i16)P2=38;elseP2=22; delay(80);/点亮每个灯的延时P2=5

11、4;/灯全部灭掉elseif(i16)P2=zhendongj-i+12+32;elseif(ij)P2=P2=zhendongj-i+12+16;elseP2=22;delay(80);/点亮每个灯的延时P2=54;/灯全部灭掉break;case 3:/显示波源和质点间的带动关系,起震方向向下/P1=247;for(l=0;l200;l+)/控制循环 100次,延时约 5 秒for(i=0;i32;i+)P0=liei;if(i16)P2=38;elseP2=22;delay(50);for(j=1;j72;j+)/控制 72 次变化for(k=0;k8;k+)for(i=0;i32;i+

12、)/控制从左到右 32 列的扫描P0=liei;if(j17)if(ij)P2=zhendongj-i+32;elseif(i16)P2=38;elseP2=22;delay(80);/点亮每个灯的延时P2=54;/灯全部灭掉elseif(i16)P2=zhendongj-i+32;elseif(ij)P2=P2=zhendongj-i+16;elseP2=22;delay(80);/点亮每个灯的延时P2=54;/灯全部灭掉break;case 4:/显示向右移动的波形/P1=239;for(l=0;l24;l+)for(j=0;j24;j+)/控制波形移动速度,j 越大,移动越慢for(i=

13、0;i32;i+)P0=liei;if(i16)P2=zhendongi+36-l+32;/若改成 P2=zhendongi+l,则变成往左边传播elseP2=zhendongi+36-l+16;delay(20);P2=54;break;case 5:/显示向左移动的波形/P1=223;for(l=0;l24;l+)for(j=0;j24;j+)/控制波形移动速度,j 越大,移动越慢 for(i=0;i32;i+)P0=liei;if(i16)P2=zhendongi+l+32;/若改成 P2=zhendongi+l,则变成往左边传播elseP2=zhendongi+l+16;delay(2

14、0);P2=54;break;case 6:P1=191;for(j=0;j10;j+)/执行次数多,不会闪烁/for(i=0;i32;i+)P0=liei;if(i16)P2=zhendongi+32;/若改成 P2=zhendongi+l,则变成往左边传播elseP2=zhendongi+16;delay(20);P2=54; /如果取消该行程序,则会出现下一段虚影/for(i=0;i32;i+)P0=liei;if(i16)P2=zhendongi+2+32;/若改成 P2=zhendongi+l,则变成往左边传播elseP2=zhendongi+2+16;delay(20);P2=54

15、;P2=54;delay(100);break;case 7:P1=127;for(j=0;j10;j+)/执行次数多,不会闪烁/for(i=0;i32;i+)P0=liei;if(i16)P2=zhendongi+32;/若改成 P2=zhendongi+l,则变成往左边传播elseP2=zhendongi+16;delay(20);P2=54; /如果取消该行程序,则会出现下一段虚影/for(i=0;i32;i+)P0=liei;if(i16)P2=zhendongi+22+32;/若改成 P2=zhendongi+l,则变成往左边传播elseP2=zhendongi+22+16;delay(20);P2=54;P2=54;delay(100);break;/*/void INT0_ISR(void) interrupt 0 using 1static unsigned char jishu;/定义静态变量,退出该程序后内容不变jishu+;/加 1if(jishu=8)jishu=0;gongneng=jishu;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 学术论文 > 毕业论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报