课题设计,基于51单片机6位音乐密码锁LCD1602显示
一
、设计目标使用51单片机设计一个音乐密码锁,功能如下:
密码设置: 当“管理员”键按下时,输入正确密码如(123456),之后通过矩阵键盘设置宝盒密码。
密码开锁: 用户开盒时通过矩阵键盘输入宝盒密码,密码正确则通过矩阵键盘选择不同歌曲(如1-9选择不同曲目,若内存不够则可少些曲),同时宝盒打开;输入密码错误则宝盒保持锁闭同时响起警告声,用户可以再一次输入密码;宝盒允许用户连续三次错误输入,第四次若还不正确,则宝盒进入“自保护”状态,对输入不再响应;“自保护”状态持续一分钟,一分钟后宝盒重新对输入进行响应。提示功能:每一步的操作可以设置相应的提示,使用液晶显示具体的操作进程 复位功能:当按复位按钮时,锁从开启状态置为锁闭,音乐停止,复位为初始锁闭状态。
二、仿真演示
通过proteus进行仿真了,如下视频所示:
视频加载中...
三、设计背景
本期带来的是一个音乐密码锁,所谓的音乐密码锁就是开锁的时候播放一段音乐。
(1)LCD1602简介
LCD1602液晶显示器是广泛使用的一种字符型液晶显示模块。LCD1602与单片机的连接有两种方式,一种是直接控制方式,另一种是所谓的间接控制方式。它们的区别只是所用的数据线的数量不同,其他都一样。
(a)直接控制方式
LCD1602的8根数据线和3根控制线E,RS和R/W与单片机相连后即可正常工作。一般应用中只须往LCD1602中写入命令和数据,因此,可将LCD1602的R/W读/写选择控制端直接接地,这样可节省1根数据线。VO引脚是液晶对比度调试端,通常连接一个10kΩ的电位器即可实现对比度的调整;也可采用将一个适当大小的电阻从该引脚接地的方法进行调整,不过电阻的大小应通过调试决定。
(b)间接控制方式
间接控制方式也称为四线制工作方式,是利用HD44780所具有的4位数据总线的功能,将电路接口简化的一种方式。为了减少接线数量,只采用引脚DB4~DB7与单片机进行通信,先传数据或命令的高4位,再传低4位。采用四线并口通信,可以减少对微控制器I/O的需求,当设计产品过程中单片机的I/O资源紧张时,可以考虑使用此方法。
(2)蜂鸣器演奏音乐原理介绍
如上图是不同音域的声音对应的频率,而要驱动蜂鸣器能像唱歌一样的发声,其实只要使蜂鸣器发出频率和持续时间不同的声音即可。
首先我们根据简谱做好音符对应的数组,然后使用51单片机的定时器产生音符对应的频率,最后驱动蜂鸣器发声。
四、设计过程
首先我们使用proteus软件绘制好仿真图,如图所示
然后使用keil建立工程并编写相应的程序,如图
最后加载HEX文件就可以通过proteus进行仿真了,仿真视频见文章开头!
对仿真感兴趣的话欢迎关注我!
工程师故事|与单片机结缘只因兑现童年时的一个梦!
我是一个平凡的工程师,标准的80后,从事单片机及嵌入式相关工作已经有几年有余。每天忙忙碌碌,上班下班,既有做出产品时的开心,也有调试程序时的痛苦。一个平凡的人,做着一些平凡的事,每天过着平凡的生活。
有人说做电子工程师是年轻人的活,过了30还不转管理无论是体力上还是精力上都无法胜任了。这句话有一定的道理,但如果兴趣依旧为何不继续追寻自己的梦想呢? 从小我就对机械、电子方面的东西感兴趣。听父母说,每次买回的玩具我都要拆开看看里面的结构,美其名曰:看看为啥能动?为啥能工作。到现在有时回到乡下的老房子里,还能看到不少缺胳膊少腿的玩具呢。
特别是这个小青蛙,我拆开研究了很久
真正让我对电子感兴趣的还得从一个著名的玩具开始,它就是经典的任天堂红白机。 想当初,把这个东西搬回家时还兴奋了不少时间呢,一个暑假把所有能玩的游戏都玩了遍,接着就在琢磨这东西真神奇,到底里面有啥东西呢?拆开一看发现居然全都是绿绿的板子,上面还有不少黑色的玩意。忽然觉得做这个东西的人好伟大,以后自己也要学会做这个。
80后的经典啊,我也是从这里开始对电子一类的东西感兴趣
真正开始接触电子、电脑这一块那就到大学了。当时信息太闭塞了,填志愿的时候也不太清楚计算机、电子信息工程、通信专业都有啥区别。只是问了下同乡的几个师兄,都说计算机是今后的发展。既然是这样,那就报呗。于是我把所有能填的地方都填满了计算机专业,功夫不负有心人,最后还真去了个二本的计算机系。
其实现在想起来我最应该去的就是电子信息工程或机电工程专业,毕竟这两个专业学的才是后来我们所说的嵌入式,不过好在该学校的计算机系既不偏软也不偏硬,属于软件也学硬件也学的那一种,所以大学四年还是学到了不少东西的。
大学4年的时间是短暂的,在这里我还要鄙视下某些所谓的大学老师,记得有一次上微机原理讲到8253、8255我就问:这个东西现在还在用吗?能不能弄个实物来看看?老师当时回答我说:这个芯片已经不用了,所以也不能找到实物,大家只要记住它就好。当时我就无语,既然淘汰的东西为啥要学???
不过后来事实证明这些东西老是老了一点,但现在在很多的地方还是在用的。当然也不是说所有的大学老师都是严重脱离实际的,有些老师还是很厉害的,我就有幸碰到了一个,据说以前是某个公司的技术主管,专弄单片机这块。他让我知道了任天堂红白机里面绿绿的东西叫做PCB。有时他上课会给我们带一些小的玩意,比如说让单片机做流水灯,让蜂鸣器唱歌等等,让我们这些人崇拜的不行了。也正是在他的带领下我开始与单片机结下了不解之缘。
经典的AT89C51单片机,也是我的第一块单片机
51单片机开发板,我们就是从这里开始的
现在想想当时挺有意思的,在用51单片机做完了所有实验后忽然感觉它真是无所不能,所有东西都琢磨着是不是能用51单片机完成,甚至尝试着用51单片机做个手机啥的玩玩(当然,这是无法实现的...)不过还是做了很多好玩的东西,比如说远距离万能遥控器啦,晚上偷偷的遥控对面楼的电视。51大概玩了1年左右,期间还把PCB给画了一遍,学会了用PROTEL。
在一次偶然的机会听说51过时了,ARM才是现在的老大,于是省吃俭用花了600多大洋弄了块44B0X的板子,拿回来一看傻眼了,比51复杂的多啊,光是引脚就密密麻麻的一排,看都看不清,后来听师兄说居然有人能够徒手焊接,更是佩服得五体投地。
经典的44B0X板子,还记得吗?
据说这块板子是某个高手布的线,所有的44B0X都是参考它的,堪称经典。到目前有人学习PCB走线我还要求他好好琢磨这块板子呢。
除了主芯片外,其它外围设备也不简单啊,网卡,硬盘接口,FLASH等等应有尽有,既然买了就硬着头皮学呗,不过好在有51的基础,这块板子裸奔的程序很快就搞定了,也琢磨出个味来:不管芯片多复杂,最终到底无非就是配置下寄存器而已,只要配对了寄存器其它一切都好办。 在软件方面就相对复杂多了,为了搞这块板子我还特意去买了好几本LINUX方面的书,现在闲暇下来翻翻这些书还是很有感觉的。不过linux太过于复杂了,花了大半年的时间我才把这些书粗略的看了一遍。
经典的Linux书籍,你看过没有?
很多精髓的东西都没有弄清楚。这时候已经是大三下学期,刚好老师有个小项目看到我弄得还行就派我过去干了,其实东西现在想起来挺简单:有4~5路模拟信号采集到系统中,再通过AD转换变为数字信号用单片机进行运算,再把结果通过RS232发送给上位机软件。但这毕竟是我接的第一个项目,心里的忐忑可想而知,特别怕搞不定丢了老师的脸。于是在拿完需求后,先自己买了点器件用万用表搭了一个电路先试试。项目最终很成功,我也拿到了第一份报酬。
丑陋的自搭电路
大学4年很快就过去了,带着一堆的开发板、书籍和满腹的电子知识我离开了校园。很快我就找到了第一份工作:在一家小公司做技术员,公司主要的产品是为各种电子设备定做测试仪器。
由于我学的是计算机专业,所以公司希望招我来做上位机软件。这我可傻眼了,以前所有的时间都花在了电子方面,谈到做上位机软件倒还真的不会。毛主席说过:世上的事最怕“认真”二字。没学过没关系,只要现在开始也不晚。
那到底学什么语言和开发工具呢?跑到电子发烧友论坛上晃了一圈,很多人都说C++功能强大,以后发展也好。不过到底是VC还是C++ builder呢?VC难学,但据说学会了以后啥都好办了。既然是这样,那我就弄VC吧。好在公司的任务不紧,有充足的时间看书和学习,再加上有几个前辈指引,学习起来轻松多了。如果有朋友现在还想学习VC和windows程序设计的话,下面几本书可不能错过。这些书都是对应于VC 6.0的,到现在估计应该有对应.net的新版本了吧。
在这个公司的两年里先后完成了许多小的项目,从一开始的帮别人打下手,到后来的自己负责、带徒弟,感觉自己成长了很多。离开这家公司后,我往北边发展。进入了一家做视频相关系统的公司B,公司不大,但各个都是技术强人,这也给我了不小的压力。还记得入职的第一天,项目经理就和我说:我们这任务比较紧,你今天把入职手续办完就进入项目组吧,最近视频点播系统那边活比较多,你先去那边。于是我就误打误撞进入了视频领域,想想自己对这方面什么都不懂还真是胆大,不过这个选择对我今后的方向有重大影响,这个后面再说。
搞过视频的朋友应该都知道,这东西对工程师的综合素质要求还是挺高的,硬件方面所用处理器的都是主频比较高,性能比较好的,很多都是用DSP或FPGA来做;软件方面对算法、数据结构要有较深的理解。不过当时我可不知道这些,总觉得无非就是单片机的升级版本,没什么大不了的。到了项目组后,简单的和项目沟通了下,了解到目前上位机这边有个问题:无法获取当前鼠标所指的位置的文字。当时我立马想到金山词霸不是有个屏幕取词功能么?应该和这个类似。于是立即动手查资料,看到到底是什么原理。等我把相关的资料看完后已经到了下午5点多钟,这是大家都陆陆续续准备下班了,正当我犹豫要不要告诉项目经理时,项目经理走到了我身边于是我顺势就把自己的想法告诉了他,只见他两眼“闪光”,说:那个谁。。。还有那个谁。。。都别走了,留下来加个班,我们一起把这个东西解决了。等到完成基本框架已经到了深夜1点多钟,路上已经基本看不到行人了,晚风吹在脸上,心里充满了作为工程师的自豪,像一个得胜而归的将军。
在这里我特别要感谢项目经理,在B公司的3年时间里是我成长最快的3年,我陆续接触了AT9200,I.MX系列,OMAP,达芬奇系列等各种处理器的开发,特别是达芬奇系列,当时公司里的板子才2块,项目经理居然允许我带一块回家,要知道当时这个板子要好几万呢。当时可把我高兴坏了,像中了500万一样...嚯嚯,开玩笑的。
可能在一个地方久了就会厌倦,B公司虽然不错,但几年的光阴已经把我的激情磨灭,而我又是个需要激情的人。所以最终我还是从B公司离职了。离职后并没有立即找工作,当然并不是找不到,而是我需要一段时间放松下自己,整理下心情。
恰巧这段时间各个半导体公司在不停的开研讨会,像ARM, TI,ST,Xilinx等等。于是乎,我就免费吃了好几顿大餐:)不过最让我印象深刻的是XILINX的研讨会,它们当时在推Spartan系列FPGA。说实话,我对这个FPGA这个东西只有耳闻,但到底是个什么东西还真不知道。在研讨会上看到了它们公司推出的几个案例,其中一个就是视频监控与模式识别的。由于我本身就是做这个的,所以对这块听得尤为仔细。相比于传统的DSP来做算法,FPGA做算法的速度、效率优势更为明显。
于是我很快就有了下一次目标----学习FPGA 。不过想法是好的,不过FPGA学起来真是相当的麻烦:开发板很贵,完全硬件编程。这对我们软件出生的人真是不小的挑战。好在当时xilinx开研讨会赠送了一块BASYS开发板,于是我就从它开始踏上了FPGA的不归路。
有人问:一直学习累不累?有的时候想想确实很累。
夜深人静的时候,总是会一个人坐在窗前发呆:为什么我要不停的学习?我到底要什么?其实我并不知道这些东西到底有什么用,或许只是为了实现童年时期的一个梦,就像筷子兄弟说的:梦想这东西和经典一样,永远不会因为时间而褪色,反而更显珍贵!
作为一名正在埋头苦学51单片机的你,或者刚刚涉足单片机开发的你,在未来几年时间内,你的梦想是什么?你想成为什么样子的人?
单片机工程师,硬件工程师,还是嵌入式工程师?
51系列单片机,作为已经整整地影响了一代人划时代产品,在面临网络化、智能化物联网的今天,已经显得力不从心。ARM作为移动物联网时代的王者,其Cortex系列产品已经遍及高、中、低端设备,将成为引领时代发展的先驱。以STM32作为学习Cortex系列产品的嵌入式开发,是电子初学者的最优学习之路。
相比51单片机,STM32具有如下优势:
1.无论在主频、速度和性能方面,STM32均优于51单片机,能够应付未来产品需求。
2.STM32的ST官方最新Hal库开发,是STM32开发的趋势,开发项目速度相比51单片机更加轻松快捷、方便。
3.嵌入式物联网开发,STM32占据核心地位。STM32是嵌入式系统的心脏,IoT、智能工业、智能家居应用,STM32使得开发产品更加智能化;同时,STM32也是大众市场第一MCU,基本满足任何开发者需求,引领物联网嵌入式系统开发行业潮流。
为帮助更多人学会嵌入式开发,发烧友学院联合创客学院,通过9天视频课程内容,教会大家嵌入式系统STM32在实际开发中常用的技术。只要你认真听课、多敲代码多练习,一周多的时间即可完全掌握!
扫码或点击阅读原文
立即报名嵌入式系统STM32学习!
课程特色
1.视频以STM32F0为讲解对象,大屏直播形式讲课;
2.采用ST官方最新Hal库方法开发,摒弃传统标准库;
3.所有项目基于STM32开发平台CubeMx建成;
4.引入大量传感器开发实例,如光照、三轴传感器;
5.视频均有对应实例代码、课程PPT等资料,方便及时复习。
学员服务
1.课程全部大屏直播讲解,摒弃传统视频形式;
2.学员专享课程QQ群专业讲师答疑。
↓↓↓ 点击"阅读原文" 立即报名嵌入式系统STM32学习!
相关问答
家庭卡拉ok组建方法是什么_其他[回答]不用换功放,买个卡拉OK混响器再弄台老旧的电脑主机即可。电脑主机你家里应该有,装个酷我K歌等唱歌软件,电脑的音频接到卡拉OK混响器,再把卡拉OK混响...
小孩们学什么兴趣班好,暑假快来了,哪些最适合?集思广益?我个人推荐游泳、拉丁舞、乐器和书法。这几样是男孩女孩都可以学的,适用性非常强。而且是不局限于年龄段的。再来说说几个兴趣各自的优点:1.拉丁舞可以使身...
在大学期间一般会有哪些全国性的竞赛机会呢? 申请方我是北京化工大学机电工程学院,过程装备与控制工程(化工机械)在我们北化,挑战杯,数学建模,大创,这三项比赛是相当有学校和群众基础的。挑战杯最有名...
大学有什么社团呢 - 180****9797 的回答 - 懂得一般,大学里面有以下几种常见的社团:1、学习社:学习社主要是做一些征文,整理等工作的。比如学生暑期要写社会实践报告,写好后统一给学习社整理,评比...
请问什么职业适合小孩从小学习到大学可以兼职做?这个就比较多了,主要得看孩子的兴趣,孩子有兴趣了学着也更伤心,然后就是家庭经济条件了,毕竟高投入才会有高回报。一、写作类。好的文章是需要素材、情感和...
人类历史上最早的机器人有哪些?关于历史上的机器人,我想从以下几点阐述:机器人的定义现在人普遍人同的关于机器人的定义是:靠自身动力和控制能力来实现各种功能的一种机器。它包括两部分,...