本科毕业论文--基于单片机的音乐数字钟的设计与仿真_第1页
本科毕业论文--基于单片机的音乐数字钟的设计与仿真_第2页
本科毕业论文--基于单片机的音乐数字钟的设计与仿真_第3页
本科毕业论文--基于单片机的音乐数字钟的设计与仿真_第4页
本科毕业论文--基于单片机的音乐数字钟的设计与仿真_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、郑州轻工业学院轻工职业学院专科毕业设计题 目基于单片机的音乐数字钟的设计与仿真学生姓名张培成专业班级 自动化生产设备及应用 121学 号院(系)机电工程系指导教师(职称)完成时间 基于单片机的音乐数字钟的设计与仿真 基于单片机的音乐数字钟的设计与仿真摘要近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此 特别适合于与控制有关的系统,越来越广泛地应用于自动控制, 智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领 域,单片机往往是作为一个核心部件来使用,在根据具体硬件结构,以及针

2、对具体应用对象特点的软件结合,以作完善。单片机 是单片微型计算机的简称,随着制造集成电路技术的发展可以将 完成计算机功能的零部件集成在一个芯片上。这样的一个芯片就具有计算机的全部或大部分功能, 称为单片机微型计算机,简称 单片机。关键词 单片机/设计/开发/调试Music based on sin gle chip microcomputer digital clock desig n and simulatio nABSTRACTIn recent years, along with the computer penetration in the field of society and t

3、he developme nt of large scale in tegrated circuit, SCM applicati ons are con sta ntly go, because it has strong function, small volume, low power consumption, cheap, reliable work, convenient use, etc, therefore particularly suitable for related to the con trol system, more and more widely used in

4、automatic con trol, i ntellige nt in strume nts, meters, data acquisition, military products and household appliances and other fields, the microc on troller is often used as a core comp onen t, i n accord ing to the specific hardware structure, and in comb in ati on with the software accord ing to

5、the characteristics of the specific application object, to be improved. Microcontroller is short for single chip microcomputer, with the developme nt of in tegrated circuit tech no logy manu facturi ng complete computer functions of comp onents can be in tegrated on a chip. Such a chip has all or mo

6、st of the function of the computer, known as the single chip microcomputer, referred to as sin gle chip microcomputer.KEY WORDSSCM,desig n,developme nt,debugg ing目录 TOC o 1-5 h z HYPERLINK l bookmark2 o Current Document 摘要 1ABSTRACT2 HYPERLINK l bookmark4 o Current Document 1课题介绍 5 HYPERLINK l bookm

7、ark6 o Current Document 单片机与单片机系统 52单片机系统的硬件设计2.1系统构成 HYPERLINK l bookmark12 o Current Document 2.1.1AT89C51芯片的介绍 6引脚功能 92.2显示部分 HYPERLINK l bookmark24 o Current Document LED 显示器9LED 数码显示管的基本原理 9 HYPERLINK l bookmark26 o Current Document 数码管显示模块分析 11 HYPERLINK l bookmark28 o Current Document 键盘 13 H

8、YPERLINK l bookmark32 o Current Document 74LS245 简介18 HYPERLINK l bookmark34 o Current Document 蜂鸣器 193控制部分电路的设计 HYPERLINK l bookmark38 o Current Document 系统复位设置 20 HYPERLINK l bookmark40 o Current Document 数字时钟的设计 21 HYPERLINK l bookmark42 o Current Document 音乐模块 22 HYPERLINK l bookmark44 o Current

9、 Document 4 硬件电路端口分配 245软件设计 TOC o 1-5 h z 程序 25 HYPERLINK l bookmark46 o Current Document Proteus软件仿真与实现 32 HYPERLINK l bookmark50 o Current Document 结束语 35 HYPERLINK l bookmark52 o Current Document 致谢 36 HYPERLINK l bookmark54 o Current Document 参考文献 361课题介绍本设计是基于单片机的音乐数字钟设计,由单片机AT89C51芯片和LED数码 管为

10、核心,辅以必要的电路,构成的一个单片机电子音乐数字钟。要求利用I/O口产生一定频率的方波,来驱动蜂鸣器,发出相应的音调。可通过功能键选择乐 曲,暂停,播放。本设计采用4*3键盘,七段显示数码管LED蜂鸣器、按键电 路、复位电路、时钟电路,通过软件程序来控制单片机内部的定时器使其产生音 乐频率。与传统的机械式相比,用单片机设计的音乐数字钟体积更小巧,且制作工艺简单。课设准备中根据具体的要求,查找资料,然后根据已经学过的始终程 序编写定时闹钟的程序,依据程序利用Proteus软件进行了仿真实验,对出现的 问题进行分析和反复修改原程序,最终得到正确并符合要求的结果。机与单片机系统随着电子技术的发展,

11、电子设备、仪器的智能化水平越来越高,而且越来越来多的家用 电器具备了 自动” 智能” 电脑”和 微电脑控制”等功能,如全自动洗衣机、智能冰箱、 电脑万年历、微电脑控制电磁炉等。这些自动” 智能”和 电脑控制”是怎么回事?又是如何实现的呢?事实上,能够实现这些功能全是单片机的功劳,下面我们就先来认识一下单片机吧。、什么是单片机大家都使用过计算机,我们知道计算机最主要的部分就是主板了。主板就是一块电路板,在这块电路板上有 CPU、存储器、时钟等,还有很多接口电路,以便和各种设备连接。如 果把这些组成计算机的基本部件集成在一块集成电路上就构成了单芯片微型计算机。单片微型计算机,简称单片机,它是把组成

12、微型计算机的各功能部件:中央处理器CPU、随机存取存储器 RAM、只读存储器 ROM、多种I/O接口电路、定时器/计数器、中断系统以及串行通讯系统等部件制作在一块硅片上,构成一个小而完善的微型计算机系统。有的单A/D转换器等电路。单片片机可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、机示意图如图1-34所示。时钟电路CPU中央处理器(运算器和控 制器)图 1-34单片机示意图单片机既是一块集成电路,也是一个微型计算机, 和计算机相比,单片机缺少了外围设备等。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算

13、机原理与结构的最佳选择。 各种单片机实物图如图 1-35所示。11AT89S51-DIPT AT89C2051-DIPSTC89C52RC-DIP AT89S52-TQFP图1-35各种单片机实物图由于单片机更多的应用于控制系统及与控制有关的数据处理场因而目前应确切称其为微控制器(Microco ntroller Un it ),英单片机是其早期的含义, 合,是典型的嵌入式微控制器, 文缩写为MCU,单片机的称谓只是保留了其习惯称呼。单片机的应用从根本上改变着传统的控制系统设计思想和设计方法。以往由继电器接触器控制,模拟电路、数字电路实现的大部分控制功能,现在都能够使用单片机通过软件的方式来实

14、现,这种以软件取代硬件并能够提高系统性能的微控制技术,随着单片机应用的推广普及,不断发展,日益完善。因此,了解单片机,掌握其应用及开发技术,具有划时代的意 义。二、什么是单片机系统单片机应用系统在各类电子产品中,利用单片机实施控制的系统称为单片机应用系统。 是由硬件系统和软件系统两部分组成,二者缺一不可,如图1-36所示。单片机应用系统接口单电路片+机及外设等硬件图1二36单片机应用系统从而硬件是应用系统的基础,软件则是在硬件的基础上对其资源进行合理调配和使用, 完成应用系统所要求的任务,软件是单片机应用系统的灵魂。2单片机系统的硬件设计系统构成AT89C51 芯片的介绍AT89C51 是一种

15、带 4K能CMOS8ATMEL高密度非易失存储器刘造技术制造 与丄业标淮旳MCS-51指令集和输出管脚相兼容。由于将多 功能 8 位 CPUATME的 AT89C51是一种高效微控制器为腹多嵌入式控制系统捉供了一种加性高冃价廉的方案1主要特性与MCS-51兼容4K字节可编程闪烁存储器1000写/擦循环10年0Hz-24Hz三级程序存储器锁定128*8位内部RAM32可编程I/O线两个16位定时器/计数器5个中断源可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路2管脚说明川圏3.1123斗567g91011121314151617181920*P1.QV代P1.1POOP1.2P0.1P

16、1.3P0 2PL4P03P1.5P0.4P1.6P05PL7P06RSTP0.7PiO(RXD)EAVppP3 l(TXD)ALK7R0GP3.2(INTO)PSENP3.3(INT1)P2.7P34(TQ)P26P25P16(VR)P2.4P3.7(RD)P23XTAL2P2.2XTAL1P2.1GNDP20AT89C5140图3.1VCC二 GND图 3.1P0P0 口为一个8位漏级开路双向I/O8TTL门电流。当P1 口的管脚第一次写1P0能够用于外部程序数/地址的第八位。在FIASHP0 口作为原侣输入丨1步FIASH进行校验时 PO输出原侣 此时P0外部必须被拉高。P1 M P1

17、口是一个内部提供上拉电阻的 8位双向I/O M P1 口缓冲器能接收输出4TTL门电流。P1 口管脚写入1后 被内部上拉为讯 川用作箱入P1丨1被外部下拉为低电平时 将输出电流 这是由;内部匕拉的缘故。在FLAS曲和和胶验时 P1 口作为第八位地址接收。P2 1丨P2 口为一个内部上拉电阻的8位双向I/OP2 口缓冲器可4个TTLP2 口被写“1”时 其管脚被内部1拉电阻P21丨的管脚被外部拉低将输出电流。这是由于内部上拉的缘故。P2 口当用于外部程序存储器或16位地址外 部数据存储器进行存取时 P2 口输出地址的高八位。在给出地址“仔刊 它利用内部I拉优势当村外部八位也址数据存储器进f诚写H

18、寸P2 口输 出其特殊功能寄存器的内容。P2口在FLASHS程和校验时接收高八位地址信和控制信号。P3 口 P3 口管脚是8个带内部上拉电阻的双向1/0 11町接收卷H4个TTL门电流。当P3口写入“T后 它忙脱内部过为讯电丁匸训作输 入件为鋪人山卜部卜拉为低电千 P3将讷出世漁ILL于管口管脚备选功能P3.0 RXD串行输入1丨P3.1 TXDf串行输出1丨P3.2 /INT0外部屮断0P3.3 /INT1外部屮断1亡上拉的缘故。P3口也可作为AT89C51的一些特姝功能厂 如卜表所小P3.4 TO 记时器0外部输入P3.5 T1 记时器1外部输入P3.6 /WR 外部数据存储器写选迪P3.

19、7 /RD匚外部数据存储器读选通P3 口同时为闪烁编程和编程校验接收一些控制信号。RST复位输入。当振荡器复位器件时要保持RST脚两个机器周期的 咼电平时间。ALE/PROG 为访问外部存储磊时 地址锁存允讣的输岀电平用锁存 地址的地位字节。在FLASH編和期闻 此儿如用输入褊稚脉冲在平时ALE端以不变的频率周期输出Li咏冲信号 此频率为振荡器频率的1/6。因此它 町用作对外部输出的脉冲威用淀时H的。然而耍注意的是 每当用作外部ALE脉冲。如想禁止 ALE的输出可在SFR8EH地 址上置0吐旳 ALE只有在执行MOVX MOV指令是ALE才起作用。另外该引脚被略微拉高。如果微处理器在外部执行状

20、态ALE禁止 置位无效。/PSEN 外部和存储器的选迪信4、在由外部觀庁存储器取指期间 每个机器周期两次/PSEN冇效.但在访问外部数据存储器时 这胸次冇效的 /PSEN信号将不出现。/EA/VPP/EA探持低电平时在此期间外部和产存储器0000H-FFFFH不管是否有内部程序存储器。注意加密方式1 H匚/EA将内部锁定为RESETU 1反向振荡放大器的输入及内部时钟丄作电路的输入。 来口反向振荡器的输出G当/EA端探持冃电平时此间内部相$存储器。在FLASHM和期间 此儿脚 也用于施加12V編和虫渡二VPP ;XTAL1XTAL23振荡器特性XTAL1和 XTAL2分别为反向放大器的输入和输

21、出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器XTAL2此对外部时钟信兮的脉宽无任何麽求但必须保讣脉冲的高低电平要求的 宽度。4芯片擦除整个PERO阵列和三个锁定位的电擦除可通过正确的控制信号组合4保持ALE 管脚处于低电平10ms 来完成。在芯片擦操作屮 代码阵列仝袖写“1”冃在任何非空存储字节被車复编和以前该操作必须被执仏 此外AT89C51设冇稳态逻辑 对以在低剑零频率的条件卜甫态逻辑 支持胸种软炸町选的CPU亭止工作。但RAM 和屮断系统仍在丄作。在掉电模式卜探存raM勺内容井冃冻结振荡器 禁 止所用其他芒片功能吃剑卜一个硬件复位为止。|2.2

22、显示部分LED显示器基本介绍Led显示屏(LED pa nel ),是一种通过控制半导体发光二极管的显示方式,用来显 示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。LED显示器分类 按字高分:笔画显示器字高最小有1mm (单片集成式多位数码管字高一般在23mm )。其他类型笔画显示器最高可达12.7mm (0.5英寸)甚至达数百 mm。按颜色分有红、橙、黄、绿等数种。(3 )按结构分,有反射罩式、单条七段式及单片集成式。(4)从各发光段电极连接方式分有共阳极和共阴极两种。LED显示器工作原理多个发光二极管封装在一起的七段数码显示器按其连接形式可分为共阳显示器和共阴显示器。

23、图7-1所示为共阳和共阴的七段显示器,在显示器中除了显示数字必须的七段笔画外,还提供了小数点。共阳显示器的阳极连接在一起,此时对阳极提供一正电压,通过限流电阻控制其阴极为高电平或是低电平来决定其暗或是亮。共阴显示器的阴极连在一起,此时可将阴极接地,通过限流电阻控制其阳极为高电平或是低电平来决定其亮或是暗。e dCOMc dpC0MiM3i图7-1七段数码显示器采用七段数码显示器显示的字型受到显示器本身结构的限制。因此,在显示比较复杂的字符、汉字或图形时,可采用点陈显示的办法。用单片机驱动LED数码管有很多方法按显示方式分 有静态显示和动态显示按译码方式可分为硬件译码和软件译码。静态显示是显示驱

24、动电路具有输出锁存功能单片机将要显示的数据送出后不再控制LED 直到下次显示时再传送一次新的显示数据。静态显示的数据稳定占用CPU时间少。动态显示要CPU时刻对显示器件进行刷新显示数据有闪烁感占用CPU时间多。这两种显示方式各有利弊静态显示虽然数据显示稳定占用很少的CPU时间但每个显示单元都需要单独的显示驱动电路使用的电路硬件较多动态显示虽然有闪烁感 占用的CPU时间多 但使用的硬件少能节省线路板空间。动态扫描显示接口是单片机中应用最广泛的一种显示方式。其接口电路是把所有LED显示器的8个笔划段 A D、DP的同名端连在一起而每一个数码管的公共端COM是各自独立地受I/O线控制。CPU向字段输

25、出口送出字形码时所有显示器接受到相同的字形码 但究竟是哪个显示器亮则取决于COM端 而这一端是由I/O控制的可以自行决定何时显示哪一位了。而所谓动态扫描就是指我们采用分时的方法轮流控制各个显示器的 COM端厂是各个显示器轮流点亮。在轮流点亮扫描过程中每位显示器的点亮时间是极为短暂的约1ms左右 但由于人的视觉暂留现象及发光二极管的余辉效应尽管实际上各位显示器并非同时点亮但只要扫描的速度足够快给人的印象就是一组稳定的显示数据不会有闪烁感。从上述的论述中可以看出动态显示方案具备一定的实用性也是目前单片机数码管显示中较为常用的一种显示方法。所以本设计也采用动态显示方案。223数码管显示模块分析,用动

26、态扫描,以减少硬件电路。考虑到一次扫描12位数码管显示时会出现闪烁悄况设计甘分两排显小一排显小时间和年月口 一排显小呈期和湿度共阳极数码管中8个发光二极管的阳极 二极管1卜端 连在一起。逋常 公共阳极接高电平一般接 电源脚接段驱动电路输出端。当某段做动电路的输入端为低电平时 该端I 所连接的字段导通并点亮。根据发光字段的不同组合可显示出各种数字或字符。此时要求段驱动电路能吸收额定的段导逋电流ii?希根据外接电源及额定段导通电流 来确定相应I/O I I硬件已略也狡倉态显小 简单但二充度不如靜态显小方弍血冃在显小数较多时CPU要依软扫拙占用CPU较多时间。为了提供共阳LED数侶管的崩动电压用二极

27、管9012作电源驱动输出。采用 12MHz品振 冇J-提高秒计时的和确性C数码管字形段码共阴型和共阳型的 LED数码管各笔划段名和安排位置是相同的,分别用a、b、c、d、e、f、g和dp表示,如图4-15(a)所示。将单片机的一个 8位并行I/O接口与七段LED数 码管的管脚ag端及dp端对应相连,并输出不同的8位二进制数,即可显示不同的数字或 字符。控制8个发光二极管的8位二进制数称为段码。例如,对于共阳极型LED数码管,当公共阳极接高电平,单片机并行口输出二进制数11000000 (对应十六进制数 C0)时,显示数字“ 0,则数字“0的段码是0 xC0。依此类推可求得数码管段码表如表4-2

28、所示。表4-2 七段LED数码管段码表显示 字符字形共阳极共阴极dpgfedcba段码dpgfedcba段码0Q110000000 xC0001111110 x3F11111110010 xF9000001100 x062?101001000 xA4010110110 x5B33101100000 xB0010011110 x4F4100110010 x99011001100 x665S100100100 x92011011010 x6D66100000100 x82011111010 x7D7111110000 xF8000001110 x0788100000000 x80011111110

29、 x7F99100100000 x90011011110 x6F熄灭111111110 xFF000000000 x00小帖士:在单片机系统开发时,有时为了接线方便,有时不按I/O 口的高低位与数码管各段的顺序接线,这时的段码就需要根据接线进行调整。数码管的静态显示方式数码管的静态显示是指数码管显示某一数字或字符时,相应的发光二极管恒定导通或恒定截止。这种显示方式的各位数码管相互独立,公共端恒定接地(共阴极)或接正电源(共 阳极)。每个数码管的8个笔段分别与一个 8位I/O 口相连,I/O 口只要有段码输出, 相应字 符即显示出来,并保持不变,直到I/O 口输出新的段码,其示意图如图 4-17

30、所示。采用静态显示方式占用 CPU时间少、编程简单、便于控制,但是每1个数码管要占用一个并行 I/O 口,所以只适合于显示位数较少的场合。(a)显示数字“0”(b)显示数字“5”图4-17数码管静态显示方式示意图数码管的动态扫描显示方式当单片机系统中需要多个数码管显示时,如果采用静态显示方式,并行I/O接口的引脚数将不能满足需要,这时可采用动态扫描显示方式。动态扫描显示是一位接一位的轮流点亮各位数码管。动态扫描显示方式在接线上不同于静态显示方式,它是将所有七段LED数码管的8个显示笔段a、b、c、d、e、f、g、dp中相同的笔段连接在一起,称为段控端,每个数码管的 公共端COM不再接固定高电平

31、或低电平,而是由独立的I/O 口线控制,称为位控端,2位数码管动态扫描显示方式接线示意图如图4-18所示。AT89S51图4-18两位数码管动态扫描显示方式接线示意图动态扫描显示方式的显示过程:当CPU送出某个数字的段码时,所有的数码管都会接收到,但只有需要显示的数码管的位控端COM被选通时,接收到有效电平才被点亮,而没有被选通的数码管不会亮。这种通过分时轮流控制各个数码管的COM端送出相应段码,使各个数码管轮流受控、依次显示且循环往复的方式称为动态扫描显示。动态扫描显示意图如HM M图4-19所示。ArESSBlAT89S51图4-19动态扫描显示示意图在数码管轮流显示的过程中,每个数码管被

32、点亮的时间为1ms左右,虽然各位数码管并非同时点亮,但由于人眼的视觉暂留效应,主观感觉各位数码管同时在显示。为了使用方便,有专门生产的供动态扫描显示的多位数码管,这些数码管内部已经将相应的笔段连接在一起,引出一组段控脚,每一位数码管引出一个公共端。键盘方案一I/O 口占用较多。方案二 采用阵列式按键.阵列式按键编程困难 按键过多 减少了 I/O 口的使用。经过两种方案比较选择方案二。采用4*3的键盘。例 1.行列键盘的接口电路行列键盘又叫做矩阵键盘。行列键盘的接口电路如图4-23所示,用一些I/O 口线组成行结构,用另一些I/O 口线组成列结构,其交叉点处不接通,设置为按键,这种接法称为行 列

33、式键盘。利用这种行列结构只需M条行线和N条列线,就可组成具有M N的键盘,因此减少了键盘与单片机接口时所占用I/O接口的数目。同样,如果是接于 P0 口,必须要有上拉电阻,如果接于P1、P2或P3 口,上拉电阻可以省略。VCCP1.1P1.2P1.3P1.7rr第0行rrAr/rrr砌亍rrr第审和列第3列4- LOKHP1 4P1 5PI 6图4-23行列式键盘接口电路2.闭合键的识别为了提高CPU的效率,对闭合键的识别一般分为两步:第一步是快速检查整个键盘中 是否有键按下,如果没有键按下,则直接转到其它程序,如果有键按下,再进行下一步;第 二步是确定按下的是哪一个键。第一步:快速检查整个键

34、盘中是否有键按下。其方法是先通过输出端口在所有的行线上发出全“0信号,然后检查输入端口的列线信号是否为全“ 1。若为全“1;表示无键按下,如图4-24 (a)所示;若不是全 “ 1;则表示有键按下,如图 4-24 (b)所示。这时还不能确 定按下的键处于哪一行上。基于单片机的音乐数字钟的设计与仿真 基于单片机的音乐数字钟的设计与仿真P1=0 xf0; 1 L012300 0 0 0120 1I L1L11 !1 J212F-h31ill6a)0(b)有键按下7(a)无键按下图4-24检查是否有键按下示意图第二步:确定按下的是哪一个键。识别闭合键有两种方法:一种称为逐行扫描法,另一一种称为线反转

35、法。(1)逐行扫描法逐行扫描法是识别闭合键的常用方法,在硬件电路上要求行线作输出、列线作输入,列线上要有上拉电阻。4用键盘逐行扫描法的工作原理是:先扫描第0行,即输出1110 (第 0行为“ 0,”其余3行为“1)”,然后读入列信号,判断是否为全“1。”若为全“1,”表示第0行无键按下;若不为全“1”则表示第0行有键按下,闭合键的位置处于第0行和不为“ 1的列线相交之处。如果第0行无键按下,就扫描第1行,用同样的方法判断第 1行有没有键按下,直到找到闭合 键为止,如图4-25(a)(d)所示。J0 1 *1 i1 10J230-1 ()000(a)行线输出全“0得列值1101(b )列输出全“

36、0得行值1011if (P1!=0 xf0)delay();if (P1!=0 xf0)P仁 0 xf0; temp=P1;P仁0 x0f; temp=temp|P1; switch (temp)图4-26线反转法示意图在图4-23所示的行列键盘电路中,采用线反转法识别闭合键的程序如下:un sig ned char temp; temp=0 xff;P1=0 xf0;判断是否有按键按下/延时去抖/再次判断是否有按键按下/行作输出,列作输入/读取列值列作输出,行作输入/读取行值并和列值合并case 0 xee第0行第0个按键的功能代码;break;case 0 xde第0行第1个按键的功能代码

37、;break;case 0 xbe第0行第2个按键的功能代码;break;case 0 x7e第0行第3个按键的功能代码;break;case 0 xed第1行第0个按键的功能代码;break;case 0 xdd第1行第1个按键的功能代码;break;case 0 xbd第1行第2个按键的功能代码;break;case 0 x7d第1行第3个按键的功能代码;break;case 0 xeb第2行第0个按键的功能代码;break;case 0 xdb第2行第1个按键的功能代码;break;case Oxbb第2行第2个按键的功能代码;break;case 0 x7b第2行第3个按键的功能代码;

38、break;case 0 xe7第3行第0个按键的功能代码;break;case 0 xd7第3行第1个按键的功能代码;break;case 0 xb7第3行第2个按键的功能代码;break;case 0 x77第3行第3个按键的功能代码;break;P仁 0 xf0;while (P1!=0 xf0);需要说明的是,若用线反转法来确定闭合键时,如果遇到多个键闭合的情况,则得到的行值和列值中一定有1个以上的“0。由于按键处理程序中没有这样的值,因而可以判断为重键 而丢弃,由此可见,用这种方法可以很方便地解决重键问题。74LS245 简介0 i1- 1 p -F_L 1 1 * - J D 0

39、B B B B B B B B M va AOA1A2阳却抠肿毎血20TFU-rN =;三三UT1?112U110T74IS245引脚图与用法74LS245引脚图74LS245是我们常用的芯片,用来驱动led 或者其他的设 备,用法很简单如上图,这里简单的给出一些资料,他是8路同相三 态双向总线收发器,可双向传输数据。74LS245还具有双向三态功能,既可以输出,也可以输入数据。当8051单片机的P0 口总线负载达到或超过P0最大负载能 力时,必须接入74LS245等总线驱动器。当片选端/CE 低电平有效时,DIR= “ 0” ,信号 由 B 向 A传输;(接收)*DIR= “ 1”,信号由

40、A向 B传输;(发送)当/CE为高电平时,A、B均为高阻态。蜂鸣器蜂鸣器一)蜂鸣器的介绍蜂鸣器的作用 蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用 于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产 品中作发声器件。.蜂鸣器的分类 蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。3.蜂鸣器的电路图形符号蜂鸣器在电路中用字母H”或HA”(旧标准用FM ”、LB”、JD表示。(二)蜂鸣器的结构原理外壳等组成。有的压电式蜂鸣器外壳上还装有发光二极管。阻抗匹配器及共鸣箱、多谐振荡器由晶体管或集成电路构成。当接通电源后(1.515V直流工作电压),多谐振

41、荡器起振,输出1.52.5kHZ的音频信号,阻抗匹配器推动压电蜂鸣片发声。压电蜂鸣片由锆钛酸铅或铌镁酸铅压电陶瓷材料制成。在陶瓷片的两面镀上银电极,经极化和老化处理后,再与黄铜片或不锈钢片粘在一起。2 电磁式蜂鸣器电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。 振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。蜂鸣器的制作(1)制备电磁铁 M:在长约6厘米的铁螺栓上绕100圈导线,线端留下5厘米作引线,用透明胶 布把线圈粘好,以免线圈松开,再用胶布把它粘在一个盒子上 ,电磁铁就做好了 (2 )制备弹片P

42、:从铁罐头盒上剪下一条宽约 2厘米的长铁片,弯成直角,把电磁铁的一条 引线接在弹片上,再用胶布把弹片紧贴在木板上.(3 )用曲别针做触头 Q,用书把曲别针垫高,用胶布粘牢,弓I出一条导线,如图连接好电 路.(4)调节M与P之间的距离(通过移动盒子),使电磁铁能吸引弹片,调节触点与弹片之 间的距离,使它们能恰好接触,通电后就可以听到蜂鸣声。3控制部分电路的设计系统复位设置单片机复位电路是使CPU和系统中的其他功能部件都处在一个确定的初始状态,PC=OOOOH论是在单片单片机各种复位电路原理复位电路的作用在上电或复位过程中,控制 CPU的复位状态:这段时间内让 CPU保持复位状态,而不 是一上电或

43、刚复位完毕就工作,防止CPU发出错误的指令、执行错误操作,也可以提高电磁兼容性能。无论用户使用哪种类型的单片机,总要涉及到单片机复位电路的设计。而单片机复位电 路设计的好坏,直接影响到整个系统工作的可靠性。许多用户在设计完单片机系统,并在实验室调试成功后,在现场却出现了“死机”、“程序走飞”等现象,这主要是单片机的复位电路设 计不可靠引起的。基本的复位方式单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周

44、期(24个振荡周期)以上,则CPU就可以响应并将系统复位。单片机系统的复位方式有:手动按钮复位和上电复位1、手动按钮复位手动按钮复位需要人为在复位输入端 RST上加入高电平(图1)。一般采用的办法是在 RST端和正电源 Vcc之间接一个按钮。当人为按下按钮时,则 Vcc的+5V电平就会直接加 到RST端。手动按钮复位的电路如所示。由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。数字时钟的设计数字时钟具有走时准确 一钟多用等特点 在生活中已经得到广泛的应用。 虽然现在市场上已有现成的电子钟集成电路芯片出售价格便宜,使用也方便 但是人们对电子产品的应用要求越来越高

45、数字钟不但可以显示当前的时间 而且可以显示日期、农历 、钟还具备秒表的色彩。时间对人们来说总是那么宝贵 工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情 当事情不是很重要的时候 这种遗忘无伤大雅 但是一旦重要事情一时的耽误可能酿成大祸数字时钟已成为人们日常生 活中必不可少的必需品广泛用于个人家庭以及车站、码头、剧院、办公室等 公共场所给人们的生活、学习、工作 娱乐带来极大的方便由于数字集成 电路技术的发展和采用了先进的石英技术 使电子时钟具有走时准确性能稳 定*携带方便等优点 它还用于计时、自动报时及自动控制等各个领域。数字时 钟是采用单片机原理实现对年、月、日、周,时、分、秒 数

46、字显示及到时提醒 的计时装置,广泛用于个人家庭,车站,码头办公室等公共场所,成为人们日常生 活中不可少的必需品,由于数字集成电路的发展和石英晶体振。1.技能要求数字时钟需要显示时、 分、秒三个计时单位,每个计时单位有2位数字共需6个数码管, 为显示美观和读取时间方便,在时、分、秒之间显示分隔符“-”共用8个数码管,显示格式如图6-6所示。另外,数字时钟还必须可以通过按键调整时间,为了调整的方便,本任务 使用行列键盘,各按键定义如图 6-7所示。00-001 2 I 34 5 I 77_ 8_1 9图6-6数字时钟数码管显示格式图6-7键盘按键定义示意图0设置2.仿真电路图数字时钟电路如图 6-

47、8所示。显示电路采用8位数码管动态扫描显示, 最高2位显示时, 中间2位显示分,最低2位显示秒,时、分、秒之间用-”隔开。调整时间时,按下 设置”键,小时数开始闪烁,表示设置小时数,第一次输入数字键调整十位,第二次输入数字键调整个位,再次按下 设置”键,分钟数开始闪烁,第一次输入数字键调整十位,第二次输入数 字键调整个位,再次按下 设置”键,退出调整,数码管不再闪烁。11-EMRXF4L2Kl LMi E-l 财站mE Mp3竺AtalM Kvuras. nr.曲iw比 E 1*11rzH-fJMPTF-J-VTiF5.4J iS? 囂品靈!Mvlin音乐模块单片机产生音调的基本原理時播放器是

48、利用单片机产牛乐曲音符 再把乐曲音符翻译成讦算机音乐 语言 用单片机进行信息处坯 再迪过舞鸣器哎喇叭放出舀乐。音乐的产生主要是通过单片机的I/O 口输出高低不同的脉冲信号来控制蜂鸣 器发舀。亞想产牛普频脈冲信号 需耍算岀杲一音频的周期(1/频率)然后将此 周期除以2当计时到后就将输出脉冲的I/OI/O 口I/O 口上得到此频率的脉冲。通常利用单片机的内部定时器0丄作在方式1下改变计数初值THO和 TLO来产生不同频率。1个宁节 宁节的嵩4位代表普後的讹低4位代表音符的节拍。如果1拍为0.4S1/4拍为0.1S 只娈伐定延世讨间就i j求得节拍的时间。假设1/4拍为1DELAY1拍应为4DELA

49、Y以只要求得1/4拍的DELAYJ音阶和节拍两大要素构成。一首乐曲演奏的原理是不同音阶分别对应不同的频率发出不同的普调血节扪则控制发出音调时间的长短若将乐曲的晋调连续 狡出 井使其按和应的节扩变化 即呵渔奏一M乐曲。根据这一時点 我们采用 单片机辅以相应的接口来设计音乐播放器。音乐播放器的组成根据系统普乐播放器的功能耍求 一个完整的音乐播放器电路相当于一个 简单的单片囲L系统该系统山按键开关、单片机、LED显示电路、扬声器控制电路4个 方面构成。51单片机。51草山机为整个糸统的核心部分 是窃;浮个系統丄作的成史 部件。铠盘輸入C锂盘输人用来控制输入指令 发岀指令卒单片机 使单片机按 照指令工

50、作。扬声器。扬声器作为输出部分按照键盘给单片机的指令发出乐曲。 LED显示电路。LED显小上在演奏的乐曲c|定时/计数器的结构及工作原理MCS-51单片机内部集成了两个 16位的定时/计数器,即T0和T1。从名称上就可以看 出来,它们既具有计数功能又具有定时功能,通过设置与它们相关的特殊功能寄存器可以选择工作在定时功能或计数功能。定时/计数器的实质是计数器,它的功能是能对输入脉冲按照一定规律进行计数。如果输入脉冲的周期是固定的,即计数脉冲的时间间隔相等,那么计数值就代表了时间,从而可以实现定时。如同往一个水瓶里滴水一样,水瓶的容量是有限的,不能无限制地往水瓶里滴水,水瓶 满了以后,再往水瓶里滴

51、水就会溢出,单片机中的计数器也是如此,T0和T1都是16位的计数器,它的容量也是有限的,其计数的最大值为65535 (即二进制数1111 1111 11111,这个标志位1111B),此时,再输入一个计数脉冲则计满溢出,将对应的溢出标志位置 就是定时器中断标志位,就会向CPU发出中断申请。6-13所示。C/? 1用制佔号MCS-51单片机的定时/计数器的结构如图图6-13 定时/计数器的结构框图(x=0或x=1)由图6-13可知,定时/计数器的核心是1个加1计数器,它的输入脉冲有两个来源:一 个是外部脉冲信号,通过 TO( P3.4)脚或T1( P3.5)输入;另一个是系统时钟脉冲(时钟 振荡

52、器经12分频以后的脉冲信号)。计数器对两个脉冲源之一进行计数,每输入1个脉冲,计数值加1,TH0 (或TH1 )和TLO (或TL1 )是用来存放所计脉冲个数的寄存器。当计数 器计满回0后,就从最高位溢出1个脉冲,使特殊功能寄存器 TCON中的TFO或TF1置1, 作为定时/计数器的溢出中断标志。如果定时/计数器工作在定时功能,则表示定时的时间到;若工作在计数功能,则表示计数器计满回零。当定时/计数器处于定时功能,加1计数器在每个机器周期加1,因此,也可以把它看作在累计机器周期。由于每个机器周期时间恒定不变,计数值也就代表了时间,这样就把定时问题转化成了计数问题。比如12MHz晶振机器周期是1

53、卩计5000个脉冲就是5000 s 16位定时/计数器的最大定时时间就是65536 &如果定时少于65536怎么为呢?这就好比一个空的水瓶,要滴1万滴水才会滴满溢出,我们在开始滴水之前先放入一些水,就不需要1万滴了。比如先放入 2000滴,再滴8000滴就可以把瓶子滴满。在单片机中,也采用类似 的方法,称为预置计数初值法。如果要定时5000卩$可以让计数器从 65536-5000=60536开始计数,当定时/计数器溢出时正好就是 5000所以计数初值就是 60536。当定时/计数器处于计数功能时,外部脉冲信号加在T0 ( P3.4)脚或T1 ( P3.5)脚。外部信号的下降沿将触发计数,若一个

54、周期的采样值为1,下1个周期的采样值为0,则计数器加1,故识别一个脉冲需要 2个机器周期,所以对外部输入信号的最高计数速率是机器周 期所对应频率的1/2 (晶振频率的1/24)。图6-13中有2个模拟的位开关,前者决定了定时/计数器的功能:当开关处于上方时为定时功能,处于下方时为计数功能。工作状态的选择由特殊功能寄存器TMOD的C/T位来决定。后1个模拟开关受控制信号的控制,它决定了脉冲是否加到计数器输入端,即决定了加1计数器的运行与关闭。6-14所示。即对内部时钟脉冲计数就对于定时/计数器的功能,可以形象的表示为如图 是定时功能,对外部输入脉冲计数就是计数功能。定时计数器4 硬件电路端口分配

55、I/O 端口是单片机对外部电路实现控制和进行信息交换的通路,AT89C51片内有4组8位并行I/O端口 P0、P1、P2和 P3。每组I/O端口均为8位,每位由锁存器、输出驱动器和输入 缓冲器等电路组成。每组 I/O端口与特殊功能寄存器中的P0、P1、P2和 P3对应,片内RAM地址为80H 90H A0H和 B0Ho同时,还可对每组I/O端口进行按位寻址。当用作数据输出 时,锁存器对端口引脚上的数据进行锁存;当用作输入时,缓冲器对端口引脚上的数据进行缓冲。1) P0口 :对应 P0.0P0.7。P0口为8位三态I/O 端口,作为通用 I/O 端口使用,需要 加上拉电阻,作为输入时应先把端口的

56、输出锁存器置 1。当访问外部扩展存储器时,可作为 地址总线低8位与数据总线的分时复用口。P0口可驱动8个TTL负载。P1 口 :对应P1.0P1.7。 P1 口为8位准双向I/O端口,一般作为通用I/O端口使用,内部具有上拉电阻,作为输入端口时应先将端口的输出锁存器置1P1 口可驱动4个TTL负载。 P2口 :对应 P2.0P2.7。 P2口为8位准双向I/O 端口,可作为通用 I/O 端口使用, 内部具有上拉电阻,作为输入端口时应先将端口的输出锁存器置1。当访问外部扩展存储器 时,可作为地址总线的高 8位使用。P2口可驱动4个TTL负载。 P3口 :对应 P3.0P3.7。P3口为8位准双向

57、I/O 端口,可作为通用I/O 端口使用,内部具有上拉电阻,作为输入端口时应先将端口的输出锁存器置1oP2口可驱动4个TTL负载。同时它是双功能复用口,常使用其第二功能,见表1-3 oP3.0串行输入口(RXD)P3.1串行输出口(TXD)P3.2外中断O(INTO)P3.3外中断1(INT1)P3.4定时/计数器0的外部输入口 (T0)P3.5定时/计数器1的外部输入口(T1)P3.6外部数据存储器写选通(WR)P3.7外部数据存储器读选通(RD5软件设计5.1程序#in elude #in elude vintrin s.hsbit key 1= P1A6;sbit key2=P1A7;s

58、bit sou nder=P3A7;un sig ned char eou nt,co un t_f,sec,mi n,hour,alarm_mi n,alarm_hour;/count和count_f对中断次数计数, count控制秒/eount_f控制数码管闪烁频率un sig ned char set;/set对设置键计次,实现1个键多个功能bit flash_m,flash_h,ge_shi,flag_alarm;这3个位变量分别是分钟闪烁、小时闪烁和个位/十位调整切换的标志位un sig ned char code tab=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,

59、0 x92,0 x82,0 xf8,0 x80,0 x90,0 x88,0 xC70,1,2,3,4,5,6,7,8,9,A ,L;delay (un sig ned int j) while(j-);display()un sig ned char i,wk=0 x01;un sig ned char buf8;if (set=0|set=1|set=2)buf0=tabsec%10; buf1=tabsec/10; buf2=0 xbf;if (flash_m)buf3=0 xff;buf4=0 xff;elsebuf3=tabmi n%10; buf4=tabmi n/10; buf5=

60、0 xbf;if (flash_h)buf6=0 xff;buf7=0 xff;else buf6=tabhour%10 buf7=tabhour/10;else显示闹钟时间buf6=tab11;buf7=tab10;显示子函数/显示时、分、秒/分钟闪烁标志小时闪烁标志显示字母L显示字母A(ALARM :闹钟的意思)buf5=0 xff;if (flash_h)/分钟闪烁标志buf3=0 xff;buf4=0 xff;elsebuf3=tabalarm_hour%10; buf4=tabalarm_hour/10;buf2=0 xbf;if (flash_m)小时闪烁标志buf0=0 xff;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论