本设计是以STC89C52RC芯片为核心,利用KeilUV4编写软件和STC_ISP烧写软件,设计出一个八音盒。
八音盒主要由五大模块构成,包括单片机最小系统、4*4矩阵键盘、蜂鸣器发生电路和4位数码管显示电路。
有8个按键对应8首曲目播放按钮,另外8个按键对应do、re、mi、fa、so、la、si、do’八中音调。
本设计主要使用单片机的内部定时器0和中断产生不同频率的方波和延时驱动蜂鸣器,并采取行列反转扫描法识别键盘键值。
由于使用的是实验箱已经固化的电路,本设计主要从软件设计上加以优化,以使蜂鸣器产生的音乐更纯净。
最终实现的基础功能是任意播放8首单片机内已存曲目,发挥部分是另外实现8个可演奏的琴键,使八音盒具有放音和简单演奏的两重功能,并辅以数码管显示当前播放曲目号,经过优化和调试,音色较好,琴键发音比较纯正,初步达到设计要求。
2025/12/7 13:47:50 299KB 单片机 八音盒
1
这也是为初学单片机的同学的一点指导,其中处理数组的方式是很值得提倡的,相互借鉴,相互学习!
1
51单片机汇编IO音乐系列八音盒org0000hajmpmainorg000bhajmptimer0org0030htimer0:clreadjnz33h,exitmov33h,53hdjnz32h,exitmov32h,52hdjnz31h,exit1mov31h,51hdjnz30h,exit1setbf0ajmpexitexit1:cplp3.3exit:setbearetimain:movtmod,#02hmovie,#82hmovth0,#254movtl0,#254movdptr,#tabmain1:mov40h,#00hloop:clreamova,40hmovca,@a+dptrmov30h,amov50h,ainc40hmova,40hmovca,@a+dptrmov31h,amov51h,ainc40hmova,40hmovca,@a+dptrmov32h,amov52h,ainc40hmova,40hmovca,@a+dptrmov33h,amov53h,asetbeasetbtr0jnbf0,$clrf0inc40hmova,40hcjnea,#40,loopajmpmain1tab:;30h,31h,32h,33hdb2,25,24,16;lowfrequency
2023/8/22 7:41:42 1KB 51单片机 汇编 IO音乐系列 八音盒
1
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡