前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于51单片机的八位流水灯(三种形式)

基于51单片机的八位流水灯(三种形式)

作者头像
全栈程序员站长
发布2022-06-28 15:48:47
2.3K0
发布2022-06-28 15:48:47
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

写一下寒假做的51小项目。

基本项目

基于AT89C51的流水灯:流水灯共八个,可以实现交替闪烁,一起闪烁,左右流水灯等效果。 模式一:按动key1,实现1,3,5,7和2,4,6,8交替闪烁; 模式二:按动key2,实现D1→D8流水灯效果; 模式三:按动key3,实现全部闪烁效果,时间间隔为0.5秒; 模式四:按动key4,实现D8→D1流水灯效果;

模式1:使用P1的取反和delay延时实现 模式2:使用左移函数实现,crol 模式3:使用P1的取反和delay延迟实现 模式4:使用右移函数实现,cror

最后加上了AD画的PCB,姑且算是基础的练手,没啥意思。

资源包含:proteus仿真+原理图;keil编写的C语言程序;ad原理图+PCB;产品说明书。

升级项目—中断控制按键和延迟

 升级后的项目采用了中断来控制按键和延迟,更加精确,满足了课设级别的常见要求,相关中断知识的讲解可以参考文章:51中断  其他的效果有:共有三个模式,分别为:向右流水灯效果、闪烁效果、向左流水效果。其中,模式切换使用按键控制,按键使用外部中断来处理,每按动一次切换一次模式。流水灯的时间采用定时器中断控制,每一秒中断一次,在change注释中可以修改时长。  项目原理图如下:

 本原理图并没有使用74HC573芯片,这就和其作用有关;该芯片为8位锁存器,锁存器的最主要作用是缓存,其次完成高速的控制其与慢速的外设的不同步问题,再其次是解决驱动的问题,最后是解决一个 I/O 口既能输出也能输入的问题。本项目中P1端口始终都是输出信号,而且不受其他干扰,所以可以省去这块芯片。  除了无用处外,该芯片的存在也会增大采购器件种类和成本,所以也有理由省去。  最后绘制了PCB版图,相对以前来说,更加简洁。

资源包含:proteus仿真+原理图;keil编写的C语言程序;ad原理图+PCB;产品说明书。

升级项目—中断控制延迟时间长短+更多花色

 新项目加入了更多的花色,分别有:单次闪烁效果、单次流水效果、单次中间到两侧流水效果、单次两侧到中间流水效果,并且加入了更改延迟时间(灯变化快慢)的功能。模式切换使用四个按键控制,每一个按键对应一个模式。项目还具有加减延迟时间功能,使用外部中断来处理按键,初始时间为500ms,每次加减500ms。时间最长为5000ms,最短为500ms,超过范围后都会变成500ms。 项目原理图如下,依旧是省略了74HC573芯片。

最后绘制了PCB板。

资源包含:proteus仿真+原理图;keil编写的C语言程序;ad原理图+PCB;产品说明书。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/132840.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年6月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 基本项目
  • 升级项目—中断控制按键和延迟
  • 升级项目—中断控制延迟时间长短+更多花色
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档