单片机最小系统 电子琴

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

桂林电子科技大学单片机最小应用系统

指导老师:吴兆华

学生:孙培新

学号:082011109

机电工程学院

2009年5月

单片机最小应用系统设计报告

一、设计题目 (1)

二、设计目的 (1)

三、系统硬件图 (1)

四、程序流程图 (6)

五、系统说明与分析

5.1系统主要组成部分 (7)

5.2单片机最小系统部分 (7)

5.3 4X4矩阵按键 (12)

5.4 发声系统 (15)

5.5电路板的制作 (17)

六、源程序 (18)

七、总结 (24)

八、参考文献 (24)

一、设计题目

简易电子琴的设计。本实验用89S51单片机控制,由4X4组成16个按钮矩阵,设计成16个音。可随意弹奏想要表达的音乐。

二、设计目的

1、通过本次实验,掌握利用芯片89S51。

2、通过对LM386N1的使用和编程,掌握运放的基本结构与编程方法。

3、搭建单片机最小应用系统,进一步加深对单片机应用的理解,提高处理实际问题的

能力、独立分析思考的能力和动手能力。

三、系统硬件图

1简易电子琴系统的硬件电路原理图如下:

图1 电路原理图

2、Proteus仿真图如下:

3、Protel99 se PCB图如下:

图2 PCB图

四、程序流程图

简易电子琴系统程序框图如下:

图3 程序流程图

五、系统说明与分析

5.1系统主要组成部分

简易电子琴系统主要分为三个部分:单片机最小系统,4X4矩阵按键,发声系统。

所用主要元件有:AT89S51,LM386N1,16个按键。

5.2单片机最小系统部分

本实验中选用AT89S51作为主芯片,其特性为:

5.2.1简介

AT89S51是一个低功耗,高性能CMOS 8位单芯片内含4k Bytes SP(In-system programmable)的可反复擦写1000次的Flash只读程序内存,采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。

此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,断电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断启动或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。

5.2.2主要特性:

· 8031 CPU与MCS-51 兼容

· 4K字节可编程FLASH存储器(寿命:1000写/擦循环)

· 全静态工作:0Hz-24KHz

· 三级程序存储器保密锁定

· 128*8位内部RAM

· 32条可编程I/O线

· 两个16位定时器/计数器

· 6个中断源

· 可编程串行通道

· 低功耗的闲置和掉电模式

· 片内振荡器和时钟电路

5.2.3 管脚说明:

一、I/O端口:P0.0~P0.7,P1.0~1.7,P2.0~P2.7,P3.0~P3.7。

89S51共有4个I/O端口,为P0、P1、P2、P3,4个I/O口都是双向的,且每个口都具有锁存器。每个口有8条线,共计32条I/O线。各端口的功能叙述如下:

1. P0有三个功能:

(1)外部扩充存储器时,当作数据总线(D0~D7)。

(2)外部扩充存储器时,当作地址总线(A0~A7)。

(3)不扩充时,可做一般I/O使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。

2. P1 只做I/O口使用,其内部有上拉电阻。

3. P2有两个功能:

(1)扩充外部存储器时,当作地址总线(A8~A15)使用。

(2)做I/O使用,其内部有上拉电阻。

4. P3 有两种功能。

除了作为I/O使用外(内部有上拉电阻),还有一些特殊功能,如表所示由特殊寄存器来设置。

5. 主电源引脚

Vss——(20脚):电路低电平

Vcc——(40脚):正常运行和编程校验(80151/8052)时为+5V电源

6. RST/VPD——(9脚):RST即Reset(复位)信号输入端。振荡器工作时,由该引脚输入脉宽2个以上机器周期的高电平时复位单片微机。当外部在RST与Vcc之间接一个电容(约10µF)和在RST与Vcc之间接一个电阻(约8.2kΩ)时,就可实现加电复位功能。VPD为备用电源输入端,即当VCC 掉电时,由此引脚提供备用电源,以保持内部RAM的信

息。

7. ALE/PGOG——(30脚):ALE,允许地址锁存信号输出。当访问外部存储器时,ALE 信号的负跳变将P0口上的低8位地址送入锁存器。在非访问外部存储器间,ALE仍以1/16振荡频率固定不变的速率输出,因此它能作外部时钟或定时信号用。当访问外部数据存储器时,将以1/12振荡频率输出。PROG为编程脉冲输入端,即当选用8751单片微机时,对片内程序存储器进行编程时,由此引脚输入编程脉冲。

8. PSEN——(29脚):程序储存使能端。

(1)内部程序存储器读取;不动作。

(2)外部程序存储器读取(ROM):在每个机器周期会动作两次。

(3)外部程序存储器读取(RAM):两个/PSEN脉冲被跳国不会输出。

(4)外接ROM时,与ROM的/OE脚连接。

9. EA/VPP——(31脚)

(1)接高电平时:

CPU读取内部程序存储器(ROM),如8051/8/052。

扩充外部ROM:当读取内部程序存储器超过0FFF(8051)时,自动读取外部ROM。

(2)接低电平时:CPU读取外部程序存储器(ROM),如8031/8032。

(3)8751烧写内部EPROM时,利用此脚输入21V的烧写电压。

10. XTAL1——(19脚) XTAL2——(18脚):接石英晶体振荡器。

机器周期=石英晶体/12,如12MHz石英晶体/12=1微秒。

I/O口作为输入口时有两种工作方式即所谓的读端口与读引脚读端口时实际上并不从外部读入数据而是把端口锁存器的内容读入到内部总线经过某种运算或变换后再写回到端口锁存器只有读端口时才真正地把外部的数据读入到内部总线上面图中的两个三角形表示的就是输入缓冲器CPU将根据不同的指令分别发出读端口或读引脚信号以完成不同的操作这是由硬件自动完成的不需要我们操心

读引脚时也就是把端口作为外部输入线时首先要通过外部指令把端口锁存器置1然后再实行读引脚操作否则就可能读入出错为什么看上面的图如果不对端口置1端口锁存器原来的状态有可能为0Q端为0Q^为1加到场效应管栅极的信号为1该场效应管就导通对地呈现低阻抗,此时即使引脚上输入的信号为1也会因端口的低阻抗而使信号变低使得外加的1信号读入后不一定是1若先执行置1操作则可以使场效应管截止引脚信号直接加到三态缓冲器中实现正确的读入由于在输入操作时还必须附加一个准备动作所以这类I/O口被称为准双向口89C51的P0/P1/P2/P3口作为输入时都是准双向口接下来让我们再看另一个问题从图中可以看出这四个端口还有一个差别除了P1口外P0P2P3口都还有其他的功能

二、 89S51系列单片机引脚功能分类

基本引脚:电源VCC、VSS,时钟XTAL2、XTAL1和复位RST。

并行扩展总线:数据总线P0口,地址总线P0口(低8位)、P2口(高8位)和控制总线ALE、PSEN、EA。

串行通信总线:发送口TXD和接受口RXD。

I/O端口:P1口为普通I/O口,P3口可复用作普通I/O口,P0、P2口不作并行口时也可作普通I/O口。

三、单片机的引脚应用特性

1. 并行总线的构成

89S51并行总线的构成如图2.7所示。

并行总线特点:

相关文档
最新文档