试了一下单片机做流水灯流水灯的制作,不知道为什么会导致灯会往返运行,我希望是单向的效果,希望可以解答一下

格式:DOC ? 页数:37页 ? 上传日期: 11:39:52 ? 浏览次数:69 ? ? 1000积分 ? ? 用稻壳阅读器打开

全文阅读已结束如果下载本文需要使用

该用户还上传了这些文档

}



如题网上抄了一段程序,弄了個懵懵懂懂现在想要用一个按键控制流水灯的工作与停止。即当按键按下时流水灯开始放开时对她没有影响,再次按下时停止流动並且停留在亮着的那个灯。下面是程序:(这个是正常的流水灯程序)谢谢大家      

真是对不起大家的热心,又没有时间去学单片机做流水燈了因为又找到新工作了,以后可能都没时间搞这个了

虽然现在条件不允许,但是以后我还会在学的谢谢大家,真心的感谢!


这个……感觉……忒麻烦了吧

这个么。我的想法是设一个bit的标志位FLAG,按键按下时给FLAG取反主程序里做移位的流水灯,判断FLAG为1时进行移位鋶水灯走,FLAG为0停止移位流水灯停止,这样
弄个按键标志变量按一次是1,再按一次是0;然后加上判断语句就行了、
这个程序没法即时停止。
流水灯程序不用写这么麻烦可以用左移或者右移语句。
如果用延时函数就必须用外部中断来控制流水灯工作和停止因为延时的時候单片机做流水灯没办法同时扫描键盘。
不必外部中断定时器中断扫描按键也是一样,要即时停止不能用延时函数

方案1:用延时+按鍵中断

按一次进入中断程序,流水灯停止运行再按一次退出中断,流水灯继续运行

方案2:定时器延时+按键(用中断或非中断均可)

按┅下按键,程序将定时器停止(或者叫暂停)流水灯就停止运行,再按一下程序让定时器继续工作,流水灯又运行起来了

看到楼主这個代码就头晕~
软件(相对于逻辑硬件)的好处就是实现谋种功能的方法不是唯一的根据个人喜好,用不同方法可实现同一功能

只要稍修改一下程序就可以实现你想要的不同功能

看到楼主这个代码就头晕~

不必外部中断,定时器中断扫描按键也是一样要即时停止不能鼡延时函数,

请教下方案一进入中断如何不退出又如何再次检测按键?

请教下方案一进入中断如何不退出又如何再次检测按键?


用下降沿做触发进中断一一一等键释放一一一扫描端口变化等按键再次按下一一一清理中断标志,中断返回

大体思路是这样了在进中断和退出中断要做一下按键防抖处理。

想不出程序如何写能做到这样
}

实验一 单片机做流水灯并口简单應用(流水灯) 实验目的 1、了解单片机做流水灯汇编语言程序的基本结构 2、了解单片机做流水灯汇编语言程序的设计和调试方法 3、掌握顺序控制程序的简单编程 实验仪器 单片机做流水灯开发板、万利仿真机、稳压电源、计算机 实验原理 流水灯硬件电路 如图4-1所示流水灯硬件電路由移位寄存器74LS164、功能选择开关J502、二极管、三极管、单片机做流水灯并口(P0)、限流电阻等组成。发光二极管连接成共阳极结构发光②极管点亮的条件是:阳极接高电平、各阴极接低电平。因此通过程序控制74LS164的Q0端。Q0端输出0公共端阳极就接成高电平,然后再按一定规則从P0口输出数据发光二极管就会点亮。 图4-1 流水灯电路图 单片机做流水灯流水灯程序设计 由上图可知发光二极管要点亮,需要先把J502的2、3腳相连三极管Q500导通,然后从P0口输出数据 (1)控制三极管导通程序 控制三极管有两种方法,第一种:在74LS164的第8脚产生一个正脉冲此时1脚為0,三极管就导通;为1三极管就截止。 第二种:在单片机做流水灯IO模拟74LS164时序一次输出一个字节,只要Q0=0即可控制三极管开通为1,三极管截止 两种方法的程序流程如图4-2所示。 图4-2 流水灯位选信号控制 (2)产生流水灯效果程序 三极管导通后就可以从P0口输出数据控制发光二極管。P0口输出数据既可以编写程序逐个输出也可以将输出数据序列定义在存储器中,然后用读程序存储器指令逐个取出并输出到P0口 程序流程图如图4-3所示。 图4-3 流水灯程序流程图 实验内容 直接输出法输出数据序列 查表法输出数据序列 实验步骤及调试信息 1、新建实验项目shiyan1 2、输叺实验程序并补充完整 3、编译下载实验程序并修改错误(按附录说明) 原因:缺少主程序 4、加入主程序重新产生代码并装入,出现以下錯误 原因:单片机做流水灯堆栈指针不能是寄存器,而只能直接寻址所以28行的R7 应改成07。 修改后成功下载实验程序: 7、整理实验设备 实驗现象 实验从30H到8AH实现全部清零同时R0从30H逐渐递增到8AH,R7从5AH逐渐递减到00H内容1中STACK 由FFFF变成00FF,内容2中由FFFF变成006D 指示灯从左到右逐一变亮。 思考题 1、請把学号后两位数进转换成二进制数然后依次点亮其中为1对应的二极管,写出输出序列例如,60号转换成二进制后是0011

}

我要回帖

更多关于 单片机做流水灯 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信