1、2. 电子密码锁;3. 电子琴;一、 电子时钟(一) 设计目的根据已掌握的单片机原理及应用的课程知识,完成电子时钟系统的设计。(二) 设计的内容与要求基础设计:1、 时间显示在1602液晶或数码管显示器上,并且按秒实时更新。2、 设计三个按键,分别为功能选择键、数值增大键、数值减小键,能够实现随时调节时钟的小时、分钟、秒。3、 每次有键按下时,蜂鸣器都以短“滴”声报警。提高设计:增加显示年、月、日、星期功能。(三) 设计方案根据定时中断的原理,数码管显示和键盘扫描电路,以及和MCS-51单片机的接口方式,通过软件编程,实现时间初值设置,时钟运行和显示。1、可供使用的硬件电路:1)显示电路可选用
2、数码管显示电路或LCD1602;2)P2驱动七段显示器,P3为七段显示器的扫描模块;3)扬声器和按钮可接至P1口2、七段数码管的字型代码表如下表: 2、数码管动态扫描时间数码管动态扫描显示的时间要根据数码管的数量来定的。一般来说,每一位数码管需要一定的显示时间,也就是说,你输出一位数码管的数据点亮这个数码管之后,需要一定的时间才能熄灭它并点亮下一个数码管,而不能一输出就马上熄灭它,否则亮度会非常低。全部数码管全部扫描一遍的总时间最好不要超过25mS,否则闪烁会比较严重,通常总的扫描频率要在60Hz以上,才看不到闪烁。比如说要扫描8位数码管,那么可以让每一位数码管点亮1mS,这样全部显示一遍就大
3、约是8mS或稍微多一点点(算上显示处理的指令执行时间),此时的总扫描频率就是125Hz左右,这样的话,即能保证亮度,又看不到闪烁。3、LCD1602的基本操作时序:写指令 输入:RS=L, =L,D0D7=指令码,E=正脉冲 输出:D0D7=数据;写数据 输入:RS=H, =L,D0D7=数据,E=正脉冲 输出:无(1)LCD1602内部带有80B的RAM缓冲区,对应的地址为第一行地址:00H27H,第二行地址为为:40H67H,当我们向00H0FH和40H4FH写入显示的数据时,液晶可以立即显示出来,当写入到10H27H和50H67H时,必须通过移屏指令将它们移入可现实区域方可正常显示。(2
4、)数据指针设置指令码:0x80+地址码(00H27H, 40H67H)二、 电子密码锁掌握矩阵键盘的识别原理,根据已掌握的单片机原理及应用的课程知识,完成对电子密码锁的设计。用44组成09数字键、确认键、删除键。用8位数码管组成显示电路提示信息,当输入密码时只显示“8.”, 当密码输入超过6个时,给出报警信息。在密码输入过程中,若输入错误,可以利用“DEL”键删除刚才输入的错误的数字。当密码位数输入完毕按下确认键时,对输入的密码与设定的密码进行比较,若密码正确,则门开,此处用LED发光二极管亮一秒钟做为提示,同时发出“叮咚”声,若密码不正确,禁止按键输入3秒,同时发出“嘀、嘀”报警声,若在3秒
5、之内仍有按键按下,则禁止按键输入3秒被重新禁止。硬件电路图设计提示1、可选P0口作为LED动态数码管显示器的字形口2、可选P2口作为LED动态数码管显示器的字位口3、可选P3口连44矩阵键盘4、可选P1.0驱动发光二极管5、可选P1.7驱动扬声器三、 电子琴了解音频发声原理,根据已掌握的单片机原理及应用的课程知识,完成对电子琴的设计。根据音频的驱动控制电路,以及和单片机的接口方式,通过软件编程,由PO.7输出不同频率的脉冲信号,送至由LM386构成的音频功放电路,实现功率放大并驱动扬声器发出声音。(50分)扬声器可发出16种音调,分别由44矩阵键盘进行控制。(75分)高级设计:可播放一段不小于
6、10秒钟的小曲(曲目自选)。(100分)(三) 设计原理4X4矩阵式键盘识别(1)判断有无键按下。将行线接单片机输入口,列线接单片机输出口。置所有列线为低电平,然后读行线的状态,若行线均为高电平,则没有键按下;若行线状态不全为高电平,则可断定有键按下。(2)判断按下哪个键(a)逐列扫描检测时先送一列为低电平,其余几列全为高电平,读行线状态,如行线状态不全为“1”,则说明所按键在该列;否则所按键不在该列,继续扫描下一列。如果确定了按键所在列,立即轮流检测各行是否有低电平,若检测到某一行为低电平,则我们可以确认当前被按下的键是哪一行哪一列,从而确定按键的编号。(b)线反转法先使行线全输出“0”,读
7、列线;再使列线全输出“0”,读行线,2次读的结果拼成一个字节,称为“键值”,每个键均有一个对应的键值。将键值与键号的对应关系列成一个有序表,并设置一个计数器,将所按键值用线反转法求出后,将其作为关键字在键值表中从表首开始计数查找,查到匹配处时相应的计数值就是键号。2、 音乐产生的方法 一首音乐是许多不同的音阶组成的 而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了 当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。现在以单片机12MHZ晶振为例,例出
8、高中低音符与单片机计数T0相关的计数值如下表所示 音符 频率(HZ) 简谱码(T值) 音符 频率(HZ) 简谱码(T值) 低1 DO 262 63628 # 4 FA# 740 64860 #1 DO# 277 63731 中 5 SO 784 64898 低2 RE 294 63835 # 5 SO# 831 64934 #2 RE# 311 63928 中 6 LA 880 64968 低 3 M 330 64021 # 6 932 64994 低 4 FA 349 64103 中 7 SI 988 65030 # 4 FA# 370 64185 高 1 DO 1046 65058 低5
9、SO 392 64260 # 1 DO# 1109 65085 # 5 SO# 415 64331 高 2 RE 1175 65110 低 6 LA 440 64400 # 2 RE# 1245 65134 # 6 466 64463 高 3 M 1318 65157 低 7 SI 494 64524 高 4 FA 1397 65178 中 1 DO 523 64580 # 4 FA# 1480 65198 # 1 DO# 554 64633 高 5 SO 1568 65217 中 2 RE 587 64684 # 5 SO# 1661 65235 # 2 RE# 622 64732 高 6 LA 1760 65252 中 3 M 659 64777 # 6 1865 65268 中 4 FA 698 64820 高 7 SI 1967 65283 2、音乐的音拍 一个节拍为单位 C调 曲调值 DELAY 曲调值 DELAY 调4/4 125ms 调4/4 62ms 调3/4 187ms 调3/4 94ms 调2/4 250ms 调2/4 125ms 对于不同的曲调我们也可以用单片机的另外一个定时/计数器来完成。下面就用AT89S51单片机产生一首“生日快乐”歌曲来说明单片机如何产生的。在这个程序中用到了两个定时/计数器来完成的。其中T0用来产生音符频率,T1用来产生音拍。
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2