- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
流水灯是单片机实验板上最最基本的实验电路,单片机最小系统是单片机及其部分外围接口,而流水等只是一个实验模块。你要是用单片机控制的话,那就好办,买51系列的tiny机型,如2051,因为你只用到一个IO,然后买一个331或者471的九脚排阻,把公共端接VCC即5V,其他八个端口接LED的阳极,LED的阴极接单片机端口。LED很便宜的,单买的话最多一毛/只,排阻是三毛/只,单片机贵一点,我们这里2051是3.5元,89S51是5元。最后更重要的是,你买了单片机,但是你如何烧录程序?这是最大的问题,你又需要编程器,那么编程器自带流水灯。你要是用AVR的话就简单些了,只要ISP-USB下载线即可
流水灯实验-救火车带你动手实验
单片机入门的第一课---流水灯实验学习单片机贵在动手。流水灯实验虽然简单,但是却是单片机入门的重要一步。预期目标:实验效果1循环左移按下列步骤运行,每步间隔250毫秒初始状态 ○○○○○○○○1○○○○○○○●2○○○○○○●○3○○○○○●○○4○○○○●○○○5○○○●○○○○6○○●○○○○○7○●○○○○○○8●○○○○○○○回初始状态重复循环实验效果2 从右到左逐个点亮按下列步骤运行,每步间隔250毫秒初始状态 ○○○○○○○○1○○○○○○○●2○○○○○○●●3○○○○○●●●4○○○○●●●●5○○○●●●●●6○○●●●●●●7○●●●●●●●8●●●●●●●●回初始状态重复循环实验效果3循环对撞按下列步骤运行,每步间隔250毫秒初始状态 ○○○○○○○○1●○○○○○●○2○●○○○●○○3○○●○●○○○4○○○●○○○○5○○●○●○○○6○●○○○●○○7●○○○○○●○8○○○○○○○●回初始状态重复循环实现步骤:1、硬件原理图:
1.jpg (124.34 KB)jpg
2007-8-20 18:00
2、制作过程:
2.jpg (40.84 KB)jpg
2007-8-20 18:00
3.jpg (36.88 KB)jpg
2007-8-20 18:00
4.jpg (57.47 KB)jpg
2007-8-20 18:00
5.jpg (36.89 KB)jpg
2007-8-20 18:00
6.jpg (54.17 KB)jpg
2007-8-20 18:00
7.jpg (55.89 KB)jpg
2007-8-20 18:00
3、编译源程序:
8.jpg (86.07 KB)jpg
2007-8-20 18:00
附:源程序代码如下:#include reg51.hvoid delay_ms(unsigned short ms){unsigned short i;unsigned char j;for(i=0;ims;i++){for(j=0;j200;j++);for(j=0;j102;j++);}}void main(void){unsigned char led_contrl;//指示灯控制字节unsigned char i,j;//循环变量unsigned char contrl1,contrl2;//指示灯移位变量while(1){for(j=0;j3;j++)//模式一:按次序闪烁灯{P2=0xff;//熄灭所有指示灯led_contrl=0x01;//初始化指示灯控制字节delay_ms(300);//延时300MSfor(i=0;i8;i++){P2=~led_contrl;//点亮控制字节相应指示灯delay_ms(250);if(led_contrl0x80) led_contrl=1;//控制字节移位操作else led_contrl=0x01;}}for(j=0;j3;j++)//模式二:依次点亮所有指示灯{P2=0xff;//熄灭所有指示灯led_contrl=0xff;//初始化指示灯控制字节contrl1=0xfe;//初始化移位变量1delay_ms(300);for(i=0;i8;i++){P2=led_contrlcontrl1;//点亮控制字节相应的指示灯delay_ms(250);contrl1=1;//移位变量左移1位}}for(j=0;j3;j++)//模式三:交叉闪烁指示灯{P2=0xff;//熄灭所有指示灯contrl1=0x02;//初始化移位变量1contrl2=0x80;//初始化移位变量2delay_ms(300);for(i=0;i8;i++){led_contrl=contrl1|contrl2;P2=~led_contrl;//点亮控制字节相应指示灯
文档评论(0)