MCS-51系列单片机实验板.doc

上传人:飞****2 文档编号:78933740 上传时间:2023-03-19 格式:DOC 页数:49 大小:535.50KB
返回 下载 相关 举报
MCS-51系列单片机实验板.doc_第1页
第1页 / 共49页
MCS-51系列单片机实验板.doc_第2页
第2页 / 共49页
点击查看更多>>
资源描述

《MCS-51系列单片机实验板.doc》由会员分享,可在线阅读,更多相关《MCS-51系列单片机实验板.doc(49页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、摘 要介绍了一种廉价的应用广泛的MCS-51系列单片机实验板,它与传统的教学实验板相比有如下的优点:(1)价格低廉。(2)使用简单方便,只要有带RS232串口的PC机就能进行实验。(3)功能全,基本上具备单片机常用的接口,例如存储器、LED数码管显示、键盘人机接口、并行接口、串行接口,等等。本实验板兼顾学生单片机实验和毕业设计等不同用途,可以做流水灯实验、键盘实验等一些简单实验,在增加一些外围电路以后,可以进行一些实际应用。它具有模块化硬件结构和简单的人机交互功能并详细阐述了系统组成,硬件功能模块及部分演示程序。该实验板具有降低设计成本,缩短开发周期,丰富学生知识,提高设计水平等优点。关键词:

2、单片机 实验板 流水灯 数码管 键盘AbstractIntroducing a low-cost MCS-51 micro-controller experimental board which is broadly used,It has the following merits compared with the traditional teaching experimental board :(1) the price is inexpensive ,It is used simply and convenient, So long as the PC machine has belt

3、RS232 string mouth ,the experiment can be able to carried on (3) entire function,It basically has the monolithic integrated circuit commonly used connection,For example memory、LED numerical code tube demonstration、keyboard man-machine connection、parallel connection、serial connection, and so on.This

4、experimental board gives dual attention to the different uses, for example the student monolithic integrated circuit experiment and the graduation project,can do flows lamp experiment、Keyboard experiment etc which is simple experiment,After we increases some periphery electric circuits,We can use it

5、 to carry on some practical applications.The system configuration,hardware function mode and the demo-program block diagram are described in detail .The experimental circuit has characteristics such as lowering of design cost,shortening dexelopming cycle, increasing knowledge of students, and raisin

6、g of projected capacity etc.Keywords: MCU Experimental board Flows lamp Numerical code tube Keyboard目 录摘 要IAbstractII第1章 绪论11.1 单片机实验板的设计的意义11.2 本课题所需要做的工作11.3 实验板的总体设计2第章 实验板重要器件介绍32.1 AT89C51单片机32.2 仿真头介绍62.3 串口通信模块72.4 LED器件的工作原理102.4.1 LED器件发光的基本原理102.4.2 LED器件的驱动102.5 音乐模块112.6 键盘模块12第3章 系统实验板开

7、发设计143.1 流水灯模块实验设计143.1.1 流水灯的硬件设计143.1.2 流水灯的程序设计143.2 串口通信模块实验设计153.2.1 串口通信模块的硬件设计153.2.2 串口通信模块的程序设计163.3 LED显示模块实验设计163.3.1 串口通信模块的硬件设计163.3.2 LED模块的程序设计173.4 音乐模块设计183.4.1 音乐模块的硬件设计183.4.2 音乐模块的程序设计193.5 键盘模块设计223.5.1 键盘模块的硬件设计223.5.2 键盘模块的软件设计22第4章 系统调试和实验分析244.1 系统调试软件介绍244.1.1 伟福V8/L仿真界面及设置

8、244.1.2 软件的调试264.2 流水灯模块实验调试284.3 串口通信实验调试294.4 LED显示实验调试304.5 键盘实验调试31结 论33参考文献34附录135附录236附录339致 谢43第1章 绪论1.1 单片机实验板的设计的意义目前单片机利用当今先进的半导体器件制造技术以其高可靠性高性能价格比在工业控制系统智能化仪器仪表办公自动化等诸多领域得到极为广泛的应用。MCS-51系列单片机以其优越的性能成熟的技术及可靠性和高性能价格比成为国内单片机应用领域中的主流。单片机在智能仪器、工业控制、机电一体化等方面应用非常广泛,许多高校工科专业均开设了单片机类的课程。单片微型计算机原理是

9、机制机电及相关专业本科生和研究生必须掌握的一门重要专业基础课。而在当前形势下,实践能力和创新精神是对21世纪高素质人才的基本要求。运用现代化的实验教学手段,充分利用实验室现有条件,提高学生的动手能力和创新能力,是单片机教学的重要环节。以培养学生的实践能力和创新精神为目标,不断地改革和完善单片机实验教学的内容和方法是激发学生学习单片机技术的学习兴趣,从而充分发挥学生的主观能动性和创造性的主要途径。而这一切的实现都需要有一个适合学生的单片机实验板,多年来由于实验条件较差等方面的因素,大多数学生学完后仍停留在理论层面上,不能灵活应用。多功能单片机应用实验板是提高学生动手能力,与教学内容紧密结合,成本

10、低廉的实验装置。系统的设计立足于教学大纲,能满足进行教学中各种实验的要求。它采用模块式结构,学生可根据自己的需要灵活将这些模块组成一个系统,作为学习开发板使用,增加必要的外围电路和设备后,又可作为实际控制板。1.2 本课题所需要做的工作本课题是基于AT89C51的单片机实验板,要求能做交通灯实验,键盘实验,数码显示实验,串行口实验等基本实验还能做一些设计开发性实验。本课题应由硬件和软件共同组成。硬件应充分了解单片机,包括存储空间,串行口,串行通信等,掌握矩阵键盘和LED的静态显示,并要在充分满足系统可实现的功能的基础上考虑到器件的价格,制版的复杂度和软件的实现难度。软件应了解C51的编程方法,

11、常用的一些编程技巧,调试运行程序,尽量使程序简洁,易懂,便于移植,编译效率高,健壮性好。1.3 实验板的总体设计系统设计以MCS-51系列单片机中8031,8051,89C51作为CPU进行图1-1 实验板总体结构框图系统扩展,将数据存储器、程序存储器、1/O口扩展、串行口通讯、LED显示、键盘与显示等多种功能模块集成于一体。系统硬件结构布局如图1-1所示: 系统总电路图见附录1。第章 实验板重要器件介绍2.1 AT89C51单片机本设计中采用AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only

12、 Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL图2-1 AT89C51引脚图高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。1.主要特性 8031CPU与MCS-51 兼容,4K字节可编程FLASH存储器(寿命1000写/擦循环),全静态工作:0Hz-24KHz,三级程序存储器保密锁定、128*8位内部RAM、32条可编程I/O线、两个16位定时器/计数器、6个中断源、可编程

13、串行通道、低功耗的闲置和掉电模式、片内振荡器和时钟电路。 2.管脚说明VCC: 供电电压;GND: 接地; P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘

14、故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口

15、,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口。各管脚备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 INT0(外部中断0)P3.3 INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两

16、个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两

17、次PSEN有效。但在访问外部数据存储器时,这两次有效的PSEN信号将不出现。EA/VPP:当EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,EA将内部锁定为RESET;当EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。3.单片机机系统复位系统复位是任何微机系统执行的第一步,使整个控制芯片回到默认的硬件状态下。8051单片机的系统复位是由RESET引脚来控制的,当此引脚与高电平相接超过

18、24个震荡周期后,8051即进入芯片内部复位的状态,而且一直在此状态下等待。直到RESET引脚转为低电平后,才检查EA引脚是高电平或低电平,若为高电平则执行芯片内部的程序代码,若为低电平便会执行外部的程序。8051在系统复位时,将其内部的一些重要寄存器设置为特定的值。2.2 仿真头介绍本课题采用伟福公司的E51/S仿真器进行仿真,采用仿真器,可以把实际硬件系统的单片机芯片拔掉,把单片机仿真插头插入单片机芯片插座上,整个开发系统就取代了单片机的功能,系统运行时,能够产生和单片机完全相同的实时信号,以实现对用户样机系统中的软,硬件的故障诊断和调试。伟福仿真器具有以下的特点:1.基于不同的单片机系统

19、的设计时,往往需要选择不同的单片机(CPU),而伟福仿真软件WINDOWS版本支持多类CPU仿真。仿真器则采用主机+仿真头组合,通过更换不同的仿真头,可对各种不同类型的单片机进行仿真。2.WINDOWS版本功能强大。中文界面,英文界面可任选,用户源程序的大小不再有任何限制,支持ASM,C,PLM语言混合编程,具有项目管理功能,为用户的资源共享,课题重组提供强有力的手段。支持点屏显示,用鼠标左键点一下源程序中的某一变量,即可显示该变量的数值。有丰富的窗口显示方式,多方位,动态地显示仿真的各种过程,使用极为便利。3.两种工作模式,在没有硬件时,可以通过软件实现模拟仿真。4.集成环境,编辑、编译、下

20、载、调试全部集中在一个环境下。多种仿真器,多类CPU仿真全部集成在一个环境下。可仿真51系列,196系列,PIC系列,飞利浦公司的552、LPC764、DALLAS320,华邦438等51增强型CPU。设计中要正确选择晶振,仿真头晶振和用户板晶振频率必须一致,用户板上的晶振频率是11.0592MHz,所以要把跳线选到11.0592MHz,如果没有正确选择晶振频率,则用该仿真器仿真打印时打印机出现的是乱码。POD8X5X仿真头可配E2000系列,E51系列仿真器,用于仿真INTEL8031/51系列及兼容单片机,可仿真CPU种类8031/32,8051/52,8751/52/54/55/58,8

21、9C51/52/55/58,89C1051/2051/4051,华邦的 78E51/52/54/58 LG的97C51/52/1051/2051。2.3 串口通信模块RS-232C标准是美国电子工业协会EIA与BELL等公司一起开发的通信协议,是最初为远程通信连接数据终端设备DTE与数据通信设备DCE而制定的。目前较广泛的应用与计算机与终端或外设之间的近端连接。1. 机械特性(1) 连接器。由于RS-232C标准只规定了采用一对物理连接器,但对连接器本身的物理特性没有任何定义,因此出现了各种类型的连接器,其中在实际应用中DB-25应用比较多,下面就将这两种连接器作简单介绍。引脚 信号1 保护地

22、2 发送数据SOUT3 请求发送RTS4 清除发送CTS5 数据装置准备DSR6 信号地7 载波检测DCD20 数据终端准备DCR22 响铃指示RI(2) 电缆长度。传输电缆的长度与传输的电容有关。EIA标准规定被驱动电路的电容,包括电缆连接电容必须小于2500PF。对于一个多芯电缆来说,每英尺电容为40PF50PF,所以满足电容特性的电缆长度最长为50英尺。RS-232C规定允许的连接电缆不超过50英尺,但若能保证电缆总电容小于2500PF,则电缆长度可以超过限定值。2. 电器特性微机见串行通讯时,两者一般有一定距离,为了克服线路上的电消耗,避免信息出错,常用RS-232C电平实现信号之间的

23、传输。由于RS-232C电平采用负逻辑,即逻辑“1”:-5-15V;逻辑“0”:+5+15V。而TTL的“1”、“0”分别为2.45V和0.40V,因此需要外接电路实现电平转换。这种转换常用传输线驱动器MC1488和传输线接收器MC1489来实现。MCS-51内部含有一个可编程全双工串行通信接口,具有UART的全部功能。该接口电路不仅能同时进行数据的发送和接收,也可作为一个同步移位寄存器使用。在进行异步通信时,数据的发送和接收分别在各自的时钟(TCLK和RCLK)控制下进行的,但都必须与字符位数的波特率保持一致。MCS-51串行口的发送和接收时钟可由两种方式产生,一种是由主机频率fosc经分频

24、后产生,另一种方式是由内部定时器T1或T2的溢出率经16分频后提供。(1) 发送和接收的过程如下:串行口的发送过程由指令MOV SBUF,A启动,即CPU由一条写发送缓冲器的指令把数据(字符)写入串行口的发送缓冲器SBUF(发)中,再由硬件电路自动在字符的始、末加上起始位(低电平)、停止位(高电平)及其它控制位(如奇偶位等),然后在移位脉冲SHIFT的控制下,低位在前,高位在后,从TXD端(方式0除外)一位位地向外发送。串行口的接收与否受制于允许接收位REN的状态,当REN被软件置“1”后,允许接收器接收。接收端RXD一位位地接收数据,直到收到一个完整的字符数据后,控制电路进行最后一次移位,自

25、动去掉启始位,使接收中断标志RI置“1”,并向CPU申请中断。CPU响应中断,用一条指令(MOV A,SBUF)把接收缓冲器SBUF(收)的内容读入累加器。TI和RI是由硬件置位的,但需要用软件复位。 (2) 相关的寄存器 1. SBUF是两个在物理上独立的接收、发送缓冲器,可同时发送、接收数据。两个缓冲器只用一个字节地址99H,可通过指令对SBUF的读写来区别是对接收缓冲器的操作还是对发送缓冲器的操作。串行口对外有两条独立的收发信号线RXD(P3.0 )TXD(P3.1),因此可以同时发送、接收数据,实现全双工。2. SCON寄存器用来控制串行口的工作方式和状态,可按位寻址,其字节地址为98

26、H。3. PCON中的SMOD用来控制波特率加倍。4. TMOD设置定时器1的工作方式,用来产生波特率。5. 如果用到中断,则还需要用到中断相关的寄存器IE,IP等。 (3) 四种工作方式:方式0: 同步移位寄存器方式,其波特率是固定为振荡频率fosc的1/12。在这种工作方式下,发送和接收串行数据都通过RXD(P3.0)进行,从TXD(P3.1)输出移位脉冲,控制外部的移位寄存器移位。1帧信息为8位,没有起始位,停止位。方式1: 8位UART,1帧信息为10位,其中一位起始位“0”、八位数据位(先低位后高位)和一个停止位“1”,波特率可变,根据定时器1的溢出率计算。方式2: 9位UART,1

27、帧信息为11位,其中一位起始位“0”、八位数据位(先低位后高位),一位控制位(第九位)和一个停止位“1”。波特率为振荡频率的1/64或1/32方式3: 9位UART,帧信息为11位,其中一位起始位“0”、八位数据位(先低位后高位),一位控制位(第九位)和一个停止位“1”。波特率可变,根据定时器1的溢出率计算。附加的第9位数据为SCON中的TB8的值,它由软件置位或清零,可作为多机通信中地址/数据信息的标志位,也可作为数据的奇偶校验。2.4 LED器件的工作原理2.4.1 LED器件发光的基本原理发光二极管(light emitting diode,LED),是一种把电能变成光能的特种器件,当电

28、流通过它的时候,便可以产生可视的光。发光二极管的结构主要由PN结芯片,电极和光学系统构成。我们知道,发光是一种能量转化现象。当系统受到外界激发后,会从稳定的低能态跃迁到不稳定的高能态;当系统由不稳定的高能态重新回到稳定的低能态时,能量差以光的形式辐射出来,就会产生发光现象。当在PN结上加以正向电压之后,p区的空穴注入至N区,N区的电子注入至P区,相互注入的电子与空穴相遇后即产生复合,这些少数载流子在结的注入和复合中产生辐射而发光。它是自发辐射发光,不需要较高的注入电流产生粒子数反转分布,也不需要光学谐振腔,发射的是非相干光。2.4.2 LED器件的驱动从LED器件的发光机理可以知道,当向LED

29、器件施加正向电压时,流过器件的正向电流使其发光。因此LED的驱动就是要使它的PN结处于正偏置,同时为了控制它的发光强度,还要解决正向电流的调节问题。具体的驱动方式有直流驱动,恒流驱动,脉冲驱动和扫描驱动等,本课题LED器件的驱动为扫描驱动。其中脉冲驱动和扫描驱动原理如下:1. 脉冲驱动利用人眼的视觉暂留特性,采用向LED器件重复通断供电的方法使之点燃,就是通常所说的脉冲驱动方式。采用这种方式时应该注意两个问题:脉冲电流幅值的确定和重复频率的选择。首先,要想获得与直流驱动方式相当的发光强度,脉冲驱动电流的平均值。就应该与直流驱动的电流值相同。所以脉冲驱动时,脉冲电流的幅值应该比直流驱动电流大T/

30、t倍。其次是脉冲重复频率的问题,通过视觉暂留特性的分析,己经知道脉冲重复频率必须高于24Hz,否则会产生闪烁现象。脉冲驱动的主要应用有两个方面:扫描驱动和占空比驱动。2. 扫描驱动现行显示方式多为扫描方式。扫描显示的原理是基于人类眼睛的视觉暂留效应:要显示行轮流显示,只要刷新频率不小于24帧/秒,人们不会有闪烁的感觉。但由于每行显示占有的时间相对的少,所以亮度难于发挥到最佳值。以每个扫描周期T扫描16行为例:首先输出第一行点阵数据到列驱动寄存器,再发出行驱动信号,延时一段时间,关闭行驱动。完成第一行扫描。然后以同样方式扫描第二行,第三行一直到第l6行,完成一帧的显示。扫描驱动是通过数字逻辑电路

31、,使若干LED器件轮流导通,用以节省控制驱动电路。LED显示屏是将发光灯按行或按列布置的,驱动时也就按行按列驱动。在扫描驱动方式下可以按行扫描,按列控制;也可以按列扫描,按行控制。所谓“扫描”的含义,就是指一行一行地循环接通整行的LED器件,而不问这一行的哪一列的LED器件是否应该点亮,某一列的LED器件是否应该点亮,由所谓的列控制电路来负责。2.5 音乐模块三极管是一种控制元件,主要用来控制电流的大小,以共发射极接法为例(信号从基极输入,从集电极输出,发射极接地),当基极电压Ub有一个微小的变化时,基极电流Ib也会随之有一小的变化,受基极电流Ib的控制,集电极电流Ic会有一个很大的变化,基极

32、电流Ib越大,集电极电流Ic也越大,反之,基极电流越小,集电极电流也越小,即基极电流控制集电极电流的变化。但是集电极电流的变化比基极电流的变化大得多,这就是三极管的放大作用。Ic 的变化量与Ib变化量之比叫做三极管的放大倍数(=Ic/Ib, 表示变化量。),三极管的放大倍数一般在几十到几百倍。三极管在放大信号时,首先要进入导通状态,即要先建立合适的静态工作点,也叫建立偏置,否则会放大失真。在三极管的集电极与电源之间接一个电阻,可将电流放大转换成电压放大:当基极电压Ub升高时,Ib变大,Ic也变大,Ic 在集电极电阻Rc的压降也越大,所以三极管集电极电压Uc会降低,且Ub越高,Uc就越低,Uc=

33、Ub。蜂鸣器属于低成本器件,所以在很多设计中均采用蜂鸣器来实现报警功能。本设计中也包含了蜂鸣器电路。由于驱动蜂鸣器需要比较大的驱动电流,所以利用了三极管 8550 来增加驱动能力。 R30 主要作为限流保护电阻,防止电流过大。本设计中蜂鸣器采用低电平驱动,P0.7 输出低电平将触发蜂鸣器,另外 P89LPC931 的定时/计数器 1 的溢出翻转也可以驱动蜂鸣器鸣叫。要使用此功能电路,JP4-4 需要跳接到 BEEP 端,如果用户不使用此功能,可以将 JP4-4跳线断开,就可以将 P0.7 作为其它功能使用了。2.6 键盘模块为了减少键盘与单片机接口时所占用 I/O 口线的数目,在键数较多时,通

34、常都将键盘排列成列矩阵式,如图2-2所示:图2-2 键盘排列每一水平线与垂直线的交叉处不相通,而是通过一个按键来连通。利用这种行列矩阵结构只需N个行线和M个列线即可组成M乘N个按键的键盘,则键盘与微机连线为M加N根。键数越多,这种键盘的优点越明显。图2-2表示4乘4矩阵键盘,这个矩阵键盘的四条平行线接到接口的D7D4,列线接到接口的D3D0上。在采用这种矩阵式非编码键盘的单片机系统中,键盘处理程序首先执行确认有无键盘按下的程序段,其工作过程为:CPU由D3D0口输出全“0”使所有的列线输出低电平,然后取出D7D4的状态,判断是否为全“1”,若键盘上没有键盘闭合,行,列线之间是断开的,所有行线D

35、7D4均为高电平;若有键按下闭合时,则对应的行线和列线短路,则行线的输入即为列线的输出。当确认有稳定的键按下后,下一步就要识别那一个按键被按下。对键的识别通常采用逐行(逐列)扫描的查询法。判断键盘中哪一个键按下,由列线逐列置低电平后,检查行输入状态。其方法是:依次给列线送低电平,然后查所有行线状态,如果全为“1”,则所按下之键不在此列。如果不全为“1”,则所按下的必在此列,而且是在与低电平行线相交的交点上的哪个键。最后确定键盘上每个键的键值。键值赋值的最直接办法是将列,行线按二进制顺序排列,当某一键按下时,键盘扫描程序执行到该列置0电平,读出各行状态为非全“1”状态,这时的行列数据组合成键值。

36、如图2-2中键盘值从左至右,从上至下依次是77、7B、7D、7E;B7、BB、BD、BE;E7、EB、ED、EE。这种负逻辑表示往往不够直观,因而采取行列线加反相器或软件求反的方法把键盘改成正逻辑,这时键值依次为88、82、81;48、44、42、41;18、14、12、11。不论是正逻辑还是负逻辑,这种键盘的键值表示方式分散度大且不等距,用散转指令进入键处理程序不太方便。对于不是4 乘4或8乘4,8乘8键盘,使用也不太容易,所以在许多场合,还需要进一步的程序处理,以依次排列键值。第3章 系统实验板开发设计3.1 流水灯模块实验设计3.1.1 流水灯的硬件设计用5V电源给单片机供电,并把单片机

37、的P0.0P0.7口与流水灯模块的8个引脚用排线连接起来,每个发光二极管外接一个1K电阻,防止电流过大而烧坏发光二极管。其连法如图所示:图3-1 流水灯硬件设计图3.1.2 流水灯的程序设计用定时器查询方式控制P0口流水灯,1s钟流动一次。单片机的晶振为11.0592MHz。用C51编写程序如下:ORG 0000HAJMP STARTORG 0040HSTART:MOV P1, #0FFHCALL DELAYCALL DELAYMOV P1, #01HLOOP:CALL DELAYMOV A, P1RL AMOV P1, ASJMP LOOP DELAY:MOV R1, #00HDEL1: M

38、OV R6, #00HDJNZ R6, $DJNZ R1, DEL1RET 3.2 串口通信模块实验设计3.2.1 串口通信模块的硬件设计单片机的P3.0、3.1引脚与串口通信模块中的RS-232的12、1引脚相连,而13、4引脚接到9引脚的连接器的7引脚上,连接器的5脚接电路板的地,连接器的另一端连到PC机上。 图3-2 串口通信模块的硬件设计3.2.2 串口通信模块的程序设计ORG 0000HJMP START ORG 0030HSTART:MOV SCON, #50H ;设置成串口1方式MOV TMOD, #20H ;波特率发生器T1工作在模式2MOV PCON, #80H ;波特率翻倍

39、为4800*2MOV TH1, #0FAH ;预置初值X=256-(FOSC*2)/(384*9600)MOV TL1, #0FAHSETB TR1WRIT: MOV A, #0AFHMOV SBUF, AMOV R5, #09HLOOP: CALL DELAYDJNZ R5,LOOPAJMP WRIT;DELAY: MOV R6, #00HDEY2: MOV R7, #00HDJNZ R7, $DJNZ R6, DEY2RET 3.3 LED显示模块实验设计3.3.1 串口通信模块的硬件设计把单片机的P0.0P0.7 ,P2.0P2.3口与LED显示模块对应的引脚用排线连接起来,即可进行实验

40、。其连法如图3-3所示:P0.0P0.7是控制数码管显示的数据口,而P2.0P2.3为数码管的位选端,4个数码管采用动态显示的方法显示。如图3-3所示:图3-3 LED显示模块3.3.2 LED模块的程序设计设计出一个4位显示的电子时钟,对于单片机初学者来说,设计一个电子时钟真的是很有用的,其中要理解的东西有很多,如P0口的数据传送;P2口的位控制,也就是数码管的位选通;数码管数字显示代码;延时的处理;数码管动态显示;还有的就是中断子程序的设计,感觉这个是最难的,因为单片机的计秒不是人类的大脑思维,如果让计算机实现1秒后实现中断的效果,是最大的难处。还其他的一些知识的应用,及算法的实现,如果以

41、后要扩展成一个电子闹钟,可能还要应该到中断优先级相关的知识。程序流程图见图3-4,程序见附录2。开始设置T0为16位定时器给TH0和TL0附初识值定时10ms全局中断和T0中断显示时间图3-4 LED显示程序流程图3.4 音乐模块设计3.4.1 音乐模块的硬件设计图3-5 音乐模块硬件电路把单片机的P1.0口与唱歌模块对应的引脚用排线连接起来,其连法如图3-5所示:3.4.2 音乐模块的程序设计音乐标题“八月桂花香”音乐输出p1.0脚 ORG 0000HLJMP STARTORG 000BHINC 20H ;中断服务,中断计数器加1MOV TH0, #0D8HMOV TL0, #0EFH ;1

42、2M晶振,形成10毫秒中断RETISTART:MOV SP, #50HMOV TH0, #0D8HMOV TL0, #0EFHMOV TMOD, #01HMOV IE, #82HMUSIC0:NOPMOV DPTR, #DAT ;表头地址送DPTRMOV 20H, #00H ;中断计数器清0MUSIC1:NOPCLR A ;A清零MOVC A, A+DPTR ;查表取代码JZ END0 ;是00H,则结束CJNE A, #0FFH,MUSIC5 ;如果是休止符,往下执行LJMP MUSIC3MUSIC5:NOPMOV R6, A ;R6=18H音符的频率INC DPTR DPTR ;加一MOV

43、 A, #0MOVC A, A+DPTR ;取节拍代码送R7MOV R7, A ;R7=30H音符发音的时间SETB R0 ;启动计数MUSIC2:NOPCPL p3.3; ;P3.3是音乐输出引脚MOV A, R6MOV R3, A; ;R3=R6=18HLCALL DELMOV A, R7CJNE A, 20H, MUSIC2; ;中断计数器(20H)=R7否?;不等,则继续循环MOV 20H, #00H ;等于,则取下一代码INC DPTRLJMP MUSIC1MUSIC3:NOP ;休止100毫秒CLR TR0MOV R2, #0DH ;R2=13MUSIC4:NOPMOV R3, #

44、0FFH ;R3=255LCALL DELDJNZ R2, MUSIC4INC DPTRLJMP MUSIC1END0:NOPMOV R2, #0FFH ;歌曲结束,延时1秒后继续MUSIC6:MOV R3, #00HLCALL DELDJNZ R2, MUSIC6LJMP MUSIC0DEL:NOPDEL3:MOV R4, #02HDEL4:NOPDJNZ R4, DEL4NOPDJNZ R3, DEL3RETNOPDAT:DB 18H, 30H, 1CH, 10HDB 20H, 40H, 1CH, 10HDB 18H, 10H, 20H, 10HDB 1CH, 10H, 18H, 40HDB 1CH, 20H, 20H, 20HDB 1CH, 20H, 18H, 20HDB 20H, 80H, 0FFH, 20HDB 30H, 1CH, 10H , 18HDB 20H, 15H, 20H , 1CHDB 20H, 20H, 20H , 26HDB 40H, 20H , 20H , 2BHDB 20H, 26H, 20H , 20HD

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁