数字时钟设计开发_第1页
数字时钟设计开发_第2页
数字时钟设计开发_第3页
数字时钟设计开发_第4页
数字时钟设计开发_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

1、常州工程职业技术学院计算机技术系项目工作报告课程名称单片机与接口技术(C51)计算机学号2012080733姓1213名邹晴雯项目序号项目一项目名称数字时钟设计开发实训日期/时间2014.22014.5地点天工楼303指导教师张劲同组成员沈正武、陆炜、蒋涛、孙驰、杨 晨天、万于文、吕兮、聂心成、赵超然、刘艳仪器设备(参考资料)计算机、Keil uVision2、Proteus ISIS实训内容(任务安排)1-1需求分析、硬件设计方案确定1-2软件开发与实现1-3软硬件联调1-4项目验收总结一、项目概述以单片机STC89C52R作为主控芯片,利用按键、数码管显示模块,结合中 断、定时器功能,构成

2、一个数字时钟,通过项目实训掌握单片机基本输入输出系 统的设计与应用。二、项目要求针对每个项目,教师给出所需背景知识、参考资料、师生交流平台、项目要 求、相关案例、开发流程、注意事项等指导学生。根据项目开发流程组成学生开 发团队,创建协作学习环境。每个团队由6-8人组成,分别担当不同角色。这种 模拟教学法的做法模拟了企业中真实开发情景, 使学生在学习过程中感受到公司 工作的气氛。具体要求如下:1、能够简单分析实际项目的功能需求;2、能够进行10接口电路设计与元器件选型;3、能够使用Proteus绘制电路原理图并仿真;4、能用C51设计应用程序;5、能够对系统进行测试与优化;&能够编制规范的技术文

3、档;7、能对系统软硬故障进行检测与排除;8、培养自主学习能力、收集分析、处理信息能力、团队协作能力;9、培养职业道德素质、心理素质、沟通、组织和执行任务的能力;10、培养汇报发言时,条理清晰,表达清楚,体现出认真细致、全面的思维 习惯。11、培养学生良好的工作设计习惯。12、培养实事求是、客观公正的评价自己,体现在社会交往中的承受挫折与 迎接挑战的意识、系统设计1、框图设计按键开关晶振电路AT89C51单片机控制图8位数码管显示复位电路2、知识点(1)单片机型号的选择通过对多种单片机性能的分析,最终认为 89C51是最理想的电子时钟开发 芯片。89C51是一种带4K字节闪烁可编程可擦除只读存储

4、器的低电压,高性能 CMOS8位微处理器,器件采用ATMEL高密度非易失存储器制造技术制造,与 工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能 8位CPU和闪烁 存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器,而且它与M CS-51兼容,且具有4K字节可编程闪烁存储器和1000写/擦循环,数据保留时 间为10年等特点,是最好的选择。74LS373介绍373为三态输出的八D透明锁存器,373的输出端0007可直接与总线相 连。当三态允许控制端OE为低电平时,O0O7为正常逻辑状态,可用来驱动 负载或总线。当OE为高电平时,O0O7呈高阻态,即不驱动总线,也不为总线的

5、负载,锁存器内部的逻辑操作不受影响。当锁存允许端LE为高电平时,O随数据D而变。当LE为低电平时,0被锁存在已建立的数据电平。当LE端 施密特触发器的输入滞后作用,使交流和直流噪声抗扰度被改善 400mA引出 端符号:D0D7数据输入端;0E三态允许控制端(低电平有效;LE锁存允许 端;0007输出端07 0( 0(0$ Di Qi IEnoririrnniiRiErTiFi J.英 W 山枷申 g 巧勺X图 3 74LS373(3)数码管显示工作原理数码管是一种把多个LED(7SEG-MP*8-CA-BLU显示段集成在一起的显示设 备。有两种类型,一种是共阳型,一种是共阴型。共阳型就是把多个

6、LED显示段的阳极接在一起,又称为公共端。共阴型就是把多个LED显示段的阴极接在一起, 即为公共商。阳极即为二极管的正极,又称为正极,阴极即为二极管的负极,又 称为负极。通常的数码管又分为8段,即8个LED显示段,这是为工程应用方便 如设计的,分别为A、B、C、D E、F、G DP其中DP是小数点位段。而多位 数码管,除某一位的公共端会连接在一起,不同位的数码管的相同端也会连接在 一起。即,所有的A段都会连在一起,其它的段也是如此,这是实际最常用的用 法。数码管显示方法可分为静态显示和动态显示两种。静态显示就是数码管的8段输入及其公共端电平一直有效。动态显示的原理是,各个数码管的相同段连接 在

7、一起,共同占用8位段引管线;每位数码管的阳极连在一起组成公共端。利 用人眼的视觉暂留性,依次给出各个数码管公共端加有效信号,在此同时给出该数码管加有效的数据信号,当全段扫描速度大于视觉暂留速度时, 显示就会清晰 显示出来。图2共阴数码管AT89C51单片机介绍VCC电源;GND接地。P0 口: P0 口为一个8位漏级开路双向I/O 口,每脚可吸收8TTL门电流。当 P1 口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程 序数据存储 器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入 口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1 口

8、: P1 口是一个内部提供上拉电阻的 8位双向I/O 口,P1 口缓冲器能接 收输出4TTL门电流。P1 口管脚写入1后,被内部上拉为高,可用作 输入,P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在 FLASH 编程和校验时,P1 口作为第八位地址接收。P2 口: P2 口为一个内部上拉电阻的8位双向I/O 口,P2 口缓冲器可接收, 输出4个TTL门电流,当P2 口被写“ 1”时,其管脚被内部上拉电阻 拉高,且 作为输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由 于内部上拉的缘故。P2 口当用于外部程序存储器或16位地址外部数据存 储器 进行存取时

9、,P2 口输出地址的高八位。在给出地址“ 1”时,它利用内部上拉优 势,当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器 的内容。P2 口在FLASHS程和校验时接收高八位地址信号和控制信号。XTAL1P0.0/AD0P0.1/AD1P0.2/AD2XTAL2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6RSTP0.7/AD7P2.0/A8P2.1/A9P2.2/A10PSENP2.3/A11ALEP2.4/A12EAP2.5/A13P2.6/A14P2.7/A15P1.0P3.0/RXDP1.1P3.1/TXDP1.2P3.2/INT0P1 3P3 3/I

10、NT1P1.4P3.4/T0P1 5P3 5/T1P1 6P3 6/WRP1.7P3.7/RD-U419189AT89C512930-31333534272839 -38 -37 T623 24 25 26123456781011121314151617图1 AT89C51单片机P3 口 : P3 口管脚是8个带内部上拉电阻的双向I/O 口,可接收输出4个TTL 门电流。当P3 口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输 入,由于外部下拉为低电平,P3 口将输出电流(ILL )这是由于上拉的缘故。P3 口也可作为AT89C5啲一些特殊功能口,如下表所示:P3.0 RXD (串行

11、输入口)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脚两个机器周期的高电 平时间。ALE/PROG当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的 地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时, ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1

12、/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器 时, 将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EK址上置0。此时,ALE 只有在执行MOV,MOV指令是ALE才起作用。另外,该引脚被略微拉高。如果 微处理器在外部执行状态ALE禁止,置位无效。PSEN外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机 器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的 /PSEN信号 将不出现。EA/VPP当/EA保持低电平时,则在此期间外部程序存储(0000H-FFFFH, 不管是否有内部程序存储器。注意加密方式1时,/EA将内部

13、锁定为RESET当 /EA端保持高电平时,此间内部程序存储器。在 FLASH编程期间,此引脚也用于 施加12V编程电源(VPP。(5) Proteus ISIS 设计单片机电路的基本步骤:(1) 用Proteus ISIS 进行单片机应用系统设计与仿真的基本步骤:(2) 新建设计文件夹或打开一个现有的设计文件。(3) 选择元器件(通过关键字或分类检索)。(4) 将元器件放入设计窗口。(5) 添加其他模型(电源、地线、信号源等)和相关的虚拟仪器。编辑和连接电路。(7) 编写单片机所需的源程序。(8) 加入源程序,并通过构造,得到仿真程序或目标程序。这里的(6)、( 7)两步可以选用其他更方便的工

14、具完成。(9) 根据需要,设置对象的属性,如将单片机的”Program File ”属性设置为上述仿真调试程序或目标程序。(10) 启动仿真功能,对电路进行仿真操作,验证其功能。(6) Keil软件介绍Keil C51是美国Keil Software 公司出品的51系列兼容单片机C语言软件 开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Win dows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会 到Keil C51生成的

15、目标代码效率非常之高,多数语句生成的汇编代码很紧凑, 容易理解。在开发大型软件时更能体现高级语言的优势。单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序 要变为CPU可以执行的机器码有两种方法,一种 Keil软件图标是手工汇编,另 一种是机器汇编,目前已极少使用手工汇编的方法了。 机器汇编是通过汇编软件 将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片 机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软 件,这从近年来各仿真机厂商纷纷宣布全面支持 Ke

16、il即可看出。Keil提供了包 括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完 整开发方案,通过一个集成开发环境(uVision )将这些部份组合在一起。运行 Keil软件需要Pentium或以上的CPU 16MB或更多RAM 20M以上空闲的硬盘空 间、WIN98 NT WIN2OO0 WINXF等操作系统。掌握这一软件的使用对于使用 51 系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能 只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环 境、强大的软件

17、仿真调试工具也会令你事半功倍。(7)Keil软件的使用随着单片机开发技术的不断发展,目前已有越来越多的人从普遍使用汇编语 言到逐渐使用高级语言开发,其中主要是以C语言为主,市场上几种常见的单片 机均有其C语言开发环境。这里以最为流行的80C51单片机为例来学习单片机的C语言编程技术。大家 都有C语言基础,但是编单片机程序,大家还得找专门的书来学习一下。这里我们 只介绍Keil这种工具软件的用法。学习一种编程语言,最重要的是建立一个练习环境,边学边练才能学好。Keil 软件是目最流行开发80C51系列单片机的软件,Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内

18、的完整开发方案,通过一个集成开发环境(卩Vision )将这些部份组合在一起。F面我以一个实验举一个例子,一步一步学习Keil软件的使用首先我们看硬件原理图:J7它工302?27荊S3 .5221很明显,要点亮 使发光二极管,必须 使单片机的I/O 口 P1.0输出低电平。于 是我们的任务就是编 程序使P1.0输出地 电平。使用Keil前必须先安装。安装过程简单,这里不在叙述。 安装好了 Keil软件以后,我们打开它。打开以后界面如下:3.我们先新建一个工程文件,点击“ Project-New Project 菜单,女口 下图,:秤晶Prapecihpuet AHslanI円电津典 令口 pe

19、ctIn选择工程文件要存放的路径,输入工程文件名LED,最后单击保存.在弹出的对话框中选择CPU厂商及型号在接着出现的对话框中选择“是”新建一个C51文件,单击左上角的New File如下图所示憾 LED - igsj.on2View Project Debug Flash Peripher 掘管定|a|童軍/巒営幽福|縈剧论小丄士-扫仕纠1一 一-Sowce Group 1團 STAETUF. A51保存新建的文件,单击SAVE如下图:在出现的对话框中输入保存文件名 MAIN.C(注意后缀名必须为.C),再单击“保存”,如下图;输入文件名HAIN.CLEliST-保存好后把此文件加入到工程中

20、方法如下用鼠标在Source Groupl 上Source Group 1 如下图:单击右键,然后再单击Add Files to GroupHgphTOOli 5VCS VtVd;i.1 La M 0选择要加入的文件,找到MAIN.C后,单击Add,然后单击CloseAdd Fi 1 its tn Group Source Group 1HEST在编辑框里输入如下代码到此我们完成了工程项目的建立以及文件加入工程,现在我们开始编译工程如下图所示:我们先单击编译,如果在错误与警告处看到0 Error(s) 表示 编译通过;生成.hex 烧写文件,先单击Options for Target,如图;在

21、下图中,我们单击Output,选中Create HEX F。再单击“确定”打开文件夹实验1查看是否生成了 HEX文件。如果没有生成,在执行一遍步骤10到步骤12,直到生成文件)编辑4)查春 收就鱼)TM 帮后退*” 1摟索 文件夹A转到:地址(J.)JD:我的程序实验1STAKTUP. A512004-3-7 13:31A51丈件LEE.yvS2006-2-2B 12:40 uVi Si on2 Froject.LEE plg 2006-2-26 12:43MAIH.C2006-2-26 13:11SF IDE C FileLED.W5120D6-2-26 13:19M51文件2006-2-2

22、6 13:19LT文件(8) Keil软件的作用单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序 要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编, 目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐 渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持 Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功 能强大

23、的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。运行 Keil软件需要Pentium或以上的CPU 16MB或更 多RAM 20M以上空闲的硬盘空间、 WIN98 NT WIN2OO0 WINXP等操作系统。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的, 如果你使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能 买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C语言而仅 用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍(9)发光二极管和数码管的显示发光二极管的静态显示是学习

24、单片机的入门路标。分析相关模块的电路图, 弄清楚引脚连接情况,根据电路图直接控制LED引脚电位的高低就能实现对相应 LED亮灭的控制。了解后完成走马灯(流水线)或更多其他规则的LED显示。数码管的显示较LED稍微复杂一点点,它分位选和段选,位选控制整个数码管的亮 灭,段选控制各数码管以何种形式亮或灭。数码管的显示分三步:(1).全部数码管显示一样的字符;(2).选定的数码管以规定的形式亮;(3).数码管的动态 显示。其中利用定时器或者延时程序控制数码管动态显示的频率,以调节其显示亮度和视觉稳定度。用延时函数完成动态扫描:while(1)D1= nn/100;D2=nn %100/10;D3=n

25、n %10;P仁0x01;P0=tabD1;delay(10);P仁 0x02;P0=tabD2;delay(10);P仁 0x04;P0=tabD3;delay(10);延时子程序:void delay(x) / 延时 1ms 子程序un sig ned char y;while(x-)for(y=110;y0;y-);(10)定时/计数器编号中断源中断标志 位终端服务程序入口优先级0外部中断0(INT0)IE00003H最高1定时/计数器0(T0)TF0000BH次之2外部中断1 (INT1)IE10013H次之3定时/计数器1(T1)TF1001BH次之4串口RI 或 TI0023H最低

26、关于定时/计数器的两个特殊功能寄存器TMOD用于T1用于T0GATEC/TM1M0GATEC/TM1M0TCON用于定时/计数器用于中断TF1TR1TF0TR0IE1IT1IE0IT0M1M0工作方式设置位M1M0工作方式说明00013 位 T/C01116 位 T/C1028位自动重装T/C113TO分成两个独立的8位T/C,T1 停止GATE门控位。GATE=0用软件使TRO或TR1为1,就能启动定时/计数器;GATE=1用软件使TRO或TR1为1,同事外部中断引脚也为高,启动。我们一般置GATE=OC/T=O,位定时器;C/T=1,位计数器。t =计数值Nx机器周期T = N 2x 对于

27、定时时间的计算:Gs或:要定时时间t=(65536-x)*(12/晶振频率)定时/计数器初始化步骤:根据上面的信息,对TMO赋初值,确定TO、T1的工作方式。计算初值,将其写入 THO TLO或TH1、TL1。为中断方式时,对IE赋值,开放中断。使TR0或TR1置高,启动定时/计数器。例:TMOD=OxO1;/TO处于工作方式1,为十六位定时/计数器TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1; /TO初始化完毕定时子程序:void timerO() interrupt 1/ 定时子程序TH0=(65536-50000

28、)/256;TL0=(65536-50000)%256;aa+;if(aa=1O)aa=0;(11) 中断单片机的特点是一段程序反复执行,程序中的每个指令的执行都需要一定的 执行时间,如果程序没有执行到某指令,则该指令的动作就不会发生,这样就会 耽误很多快速发生的事情,例如,按钮按下时的下降沿。要使单片机在程序正常 运行过程中,对快速动作做出反应,就必须使用单片机的中断功能,该功能就是 在快速动作发生后,单片机中断正常运行的程序,处理快速发生的动作,处理完 成后,在返回执行正常的程序。中断功能使用中的困难是需要精确地知道什么时 候不允许中断发生(屏蔽中断)、什么时候允许中断发生(开中断),需要

29、设置哪 些寄存器才能使某 种中断起作用,中断开始时,程序应该干什么,中断完成后, 程序应该干什么等等。(12) 单片机的概述所谓单片机,就是把中央处理器 CPU(Ce ntral Process ingUn it)、随机存 取存储器 RAM(Random Access Memory)只读存储器 ROM(Read Only Memory) 定时器/计数器以及l/O(lnput/Output)接口电路等主要计算机部件集成在一块集成电路芯片上的微型计算机。虽然单片机只是一个芯片,但从组成和功能上看, 它已具有了微机系统的含义。尽管目前单片机的品种很多,但其中最具有典型性的当属In tel公司的MCS

30、-51单片机系列。MCS-51是在MCS-48的基础上发展起来的,虽然它仍是 8 位单片机,但其功能较MCS-48有很大的增强。此外它还具有品种全、兼容性强、 软硬件资料丰富等特点。直到现在 MCS-51仍不失为单片机中的主流机型。单片机的主要功能就在于实现计算机控制。概括地可分为两个方面:计算机在控制系统中的离线应用。即控制系统的计算机辅助设计(CAD)常使用微型机或小型机实现计算机在控制系统中的在线应用。即以计算机代替常规的模拟或数字电路一单片机等实现单片机的应用正从根本上改变着传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分控制功能,现在已能使用单片机通过软 件

31、方法实现了。这种以软件取代硬件并能提高系统性能的控制技术, 称之为微控 制技术。严格地说,单片机是微型机的一个分类。尽管微型计算机得到了最充分的发 展,但微型机在原理和结构上仍和前三代计算机一样, 还是属于经典的计算机结 构。即一台计算机的硬件系统是由运算器、控制器、存储器、输入和输出设备共 五个部分组成一一冯诺依曼计算机体系结构。11信号 二u数揚指令控制信号输出设备控制佶号:栓制器运算器一一实现算术和逻辑运算,计算机的数据运算和处理都在这里进行。控制器一一计算机的指挥控制部件,和运算器一起被称为CPU存储器 用于存放程序和数据。分为内部和外部存储器。输入/输出设备一一和存储器一起称为计算机

32、的外部设备。计算机的软件系统包括系统软件(操作系统)、应用软件和程序设计语言三 部分。单片机由于硬件支持和需要有限,只使用简单的操作系统程序(监控程序) 和汇编语言。MCS-51单片机系列共有十几种芯片。MCS-51系列又分成51和52两个子系 列,并以芯片型号的最末位数字作为标志。 其中51子系列是基本型,而52子系 列则属于增强型。52子系列功能增强的具体方面有:片内ROM从 4KB增加到8KB片内RAM从 128字节增加到256字节;定时器/计数器从2个增加到3个;中断源从5个增加到6个。J# 07 MC缶51豪列单片机分类喪-子系列片内ROM一址B 寻范 一 一MR0- -器 并匚 行

33、51于系州S518C一5-87一B K 48B21一1* X28X4153C80510C1*8KH4HX2-8 二 r-1-5-5Z子岳科伽一8 .2-Me .0S -26 LX 一3 _X4八各-KB SBSS261 X38 X 4在52子系列的内部ROM中以掩膜方式集成有8K BASIC解释程序(8052-BASIC),这意味着单片机已可以使用高级语言。MCS-51系列单片机采用两种半导体工艺生产:HMO$高密度短沟道MOS工 艺和CHMOS互补金属氧化物 HMO)工艺。上表中凡带有“ C”的,为CHMO芯 片。CHMO是 CMO和 HMO的结合,除保持HMO高速和高密度的特点外,还具 有

34、CMO低功耗的特点。MCS-51单片机片内程序存储器有三种配置形式:掩膜 ROMEPRO和无。此 外,由于单片机的应用是面向现场的,因此它具有很强的抗干扰能力,这是任何 其它计算机所不及的。MCS-51单片机结构和原理MCS-51单片机系列的典型芯片是8051,其基本组成如下:Tt. T,卩h时曾电路CPUROMRAM77定时/计数器4V中央处理器(CPU)CPI是单片机的核心,完成运算和控制功能。MCS-51的CPI能处理8位二进 制数或代码。内部数据存储器(内部 RAM8051芯片共有256个RAM单元,但后128个单元被专用寄存器占用,提供 给用户使用的只是前128个单元,用于存放可读写

35、的数据。内部程序存储器(内部 ROM8051共有4KB掩膜ROM用于存放程序、原始数据或表格。定时器/计数器8051共有2个16位的定时器/计数器,以实现定时或计数功能,并以结果 对计算机进行控制。并行I/O 口MCS-51共有四个8位的I/O 口,实现数据的并行输入输出。串行口MCS-51单片机有一个全双工的串行口,以实现单片机和其它设备之间的串 行数据传送。该串行口即可作为全双工异步通信收发器使用, 也可作为同步移位 器使用。中断控制系统8051共有5个中断源:外中断2个,定时/计数中断2个,串行中断1个。 时钟电路MCS-51芯片的内部有时钟电路,但需要外接晶体和微调电容。系统允许的 最

36、咼晶振频率为12MHzMCS-51是标准的40引脚双列直插式集成电路芯片。其中:P0.0P0.7 P0 口 8 位双向口P1.0P1.7 P1 口 8 位双向口P2.0P2.7 P2 口 8 位双向口P3.0P3.7 P3 口 8 位双向口ALE地址锁存控制信号一一用于锁存 PO口输出的低8位地址,以实现低位 地址和数据的隔离。此外,ALE可作为外部时钟或外部定时脉冲使用(以晶振六 分之一的固定频率输出正脉冲)。PSEN外部程序存储器(ROM选通信号一一低电平有效,以实现外部ROM单元 的读操作。EA访问程序存储器控制信号一一低电平时,限定 ROM勺读操作在外部;高 电平是,则从内部ROMT始

37、读操作,并可延至外部 ROMRST复位信号一一当输入复位信号延续 2个机器周期以上高电平时即为有 效。用以完成初始化操作。XTAL1与 XTAL2外接晶体引线一一当使用芯片内部时钟时, 用于外接晶体和 微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。VSS地线VCC +5V电源儿kJ1%iPBi 2Pq iPl J PFi.d*Po. Pl8751PPl. 7118051RST/VPDm-Pb t803】EA/Vpp*1ALE/PROGPii/(NT0PSENPn.i/lNf(一Pi iF-/T* * Fi冲P“/Ti 一h Pr . sPm巴?/KD Pi jKT AL?一 P/XT A

38、L,P3 iV聒 V -P3 口的第二功能如下表所示。此外,有内部EPRO的单片机芯片(如9751), 为写入程序需提供专门的编程脉冲和编程电源,这些信号也是由引脚的第二功能提供的:编程脉冲:30脚(ALE/PRO)编程电压(25V : 31脚(EA/VPPMCS-51单片机的备用电源也是以第二功能的方式由 9脚(RST/VPD引入的 当电源发生故障,电压降低到下限值时,备用电源经此端向内部 RAM提供电 压,以保护内部RAM中的信息部丢失。对于9、30和31引脚,第一功能与第二功能信号时单片机在不同工作方式 下的信号,不会发生使用上的冲突。但对 P3 口,在实际使用时,都是先按需要 选用第二

39、功能信号,剩下的口线才以第一功能作为数据位的输入输出使用。*11 P3OS的第二功龍线第二功能信号名称RXD串行數据接收巳】TXD串行数据发送INT;外部屮斷0申请P乱INTi外部中斷1申请定时器/计数器0计数输入丁1定时器/计数器1计数输入Pa.WR外部KAM写选通P“ RD外部RAM读选逋8051的内部存储器8051单片机的芯片内部有RAM和ROM两类存储器。8051的内部RAM共有256个单元,通常把这些单元按其功能划分为两部分:低128单元(地址00H7FH和高128单元(地址80HFFH用户RAM区(堆桟数据缓冲)30H2FH位寻址区2ftHf位地址OOH-7FH)1FH UH第3爼

40、通用寄存器区17H10H篥2组通用寄存器区WH 砒H第1组迪用筲存器区常H第。组通用寄存器丘(攸128里元FHOH8(Aa:PSWIpF3IEPZSBUF 5CON PI TH I THO TLJ TLO TMOD TCON PCON DPH DPL SP PO专用筍存器区沁低128单元按其用途划分为三个区域:(1)寄存器区共有四组通用寄存器,每组8个寄存单元(8位),各组都以R0R7乍为寄 存器单元的编号。常用于存放操作数及中间结果等。 有时也称为工作寄存器,占 据内部RAM的00H1FH单元地址。在任一时刻,CPU只能使用其中的一组寄存器,并把正在使用的那组寄存器 称之为当前寄存器组。寄存

41、器组的选取由程序状态字寄存器PSW中的RS1 RS2位的状态组合来决定。通用寄存器为CPUS供了就近数据存储的便利,有利于提高单片机的运算速 度。同时,使用通用寄存器还能提高程序编制的灵活性。(2)位寻址区内部RAM的20H2FH单元,既可以作为一般的RAM单元使用,进行字节操作, 又可以对单元中的每一位进行位操作。位寻址区共有16个RAM单元(共128位), 位地址为00H7FH MCS-51利用这个位寻址区进行布尔处理机的存储。表1-2内締RAM也寻址医的拉地址单元地址MSB位地址LSB2FH7F7E7DX?7B7A79782EH77767574737Z71702DH6?GE&D6CSBG

42、AS9682CH&766蘭6436261602BH&FSE5D5C5B5A59582AH575655545352515029H4FIE4D!4CIB4A494&28H47464$444342414027H3F3E3D3C3B3A393fi26H3736训34豳313025H2F2E2D2C阳2A伽衣24H212$2;24232ZZ2023H1FIELD1CIB1A 11918说H17161514131211021HOFOE0DDCOB0A0&0820H07C60503020100(3)用户RAM区内部RAM氐128单元-通用寄存器32单元-位寻址区16单元=80单元,其地 址为30H7FH在一

43、般应用中常把堆栈开辟在此区中。(13)Proteus ISIS 的介绍Proteus具有和其他EDA工具一样的原理图编辑、印刷电路板(PCB)设计及 电路仿真功能,最大的特色是其电路仿真的交互化和可视化,如图2-1所示。通过Proteus软件的VSM虚拟仿真模式),用户可以对模拟电路、数字电路、模数 混合电路、单片机及外围元器件等电子线路进行系统仿真。Proteus 软件由ISIS和ARES两部分构成,其中ISIS是一款便捷的电子系统原理设计和仿 真平台软件,ARES是一款高级的PCB布线编辑软件。Proteus ISIS是一种操作简便而又功能强大的原理图编辑工具,它运行于 Win dows操

44、作系统上,可以仿真、分析各种模拟器件和集成电路,该软件的特点 有:实现了单片机仿真和SPICE电路仿真的结合。具有模拟电路仿真、数字电路 仿真、单片机及其外围电路组成的系统仿真、 RS232动态仿真、I2C调试器、SPI 调试器、键盘和LCD系统仿真等功能;有各种虚拟仪器,如示波器、逻辑分析仪、 信号发生器等。支持主流单片机系统的仿真。目前支持的单片机类型有 68000系列、8051 系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以 及各种外围芯片。提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功 能,同时可以观察各个变量、寄存器等

45、的当前状态,因此在该软件仿真系统中, 也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51uVision2等软件。具有强大的原理图绘制功能。总之,该软件是一款集单片机和 SPICE分析于一身的电路设计和仿真软件, 功能极其强大。Proteus ISIS 的编译环境Proteus ISIS 运行于 Windows 98/2000/XP环境,对PC的配置要求不高, 一般的配置就能满足要求。运行 Proteus ISIS的执行程序后,即进入如图2-2 所示的Proteus ISIS 编辑环境。1. Proteus ISIS 各窗口点状的栅格区域为编辑窗口,左上方为预览窗口,左下

46、方为元器件列表区, 即对象选择器。编辑窗口用于放置元器件,进行连线,绘制原理图。预览窗口可以显示全部 原理图。在预览窗口中,有两个框,蓝框表示当前页的边界,绿框表示当前编辑 窗口显示的区域。当从对象选择器中选中一个新的对象时, 预览窗口可以预览选 中的对象。在预览窗口上单击,Proteus ISIS 将会以单击位置为中心刷新编辑 窗口。其他情况下,预览窗口显示将要放置的对象。这种放置预览特性在下列情况下被激活:当使用旋转或镜像按钮时;当一个对象在对象选择器中被选中时;当为一个可以设定方向的对象选择类型图标时(如Component图标、 Device Pin 图标等)。2.工具箱选择相应的工具箱

47、图标按钮,系统将提供不同的操作工具。对象选择器根据 选择不同的工具箱图标按钮决定当前状态显示的内容。 显示对象的类型包括元器 件、终端、引脚、图形符号、标注和图表等。工具箱中各图标按钮对应的操作如下: Selection Mode 按钮:选择模式。 Component Mode按钮:拾取元器件。 Junction Dot Mode 按钮:放置节点。 Wire Lable Mode 按钮:标注线段或网络名。 Text Script Mode 按钮:输入文本。 Buses Mode按钮:绘制总线。 Subcircuit Mode 按钮:绘制子电路块。 Terminals Mode按钮:在对象选择器

48、中列出各种终端(输入、输出、电 源和地等)。 Device Pins Mode按钮:在对象选择器中列出各种引脚(如普通引脚、 时钟引脚、反电压引脚和短接引脚等)。 Graph Mode按钮:在对象选择器中列出各种仿真分析所需的图表 (如模 拟图表、数字图表、混合图表和噪声图表等)。 Tape Recorder Mode按钮:当对设计电路分割仿真时采用此模式。 Generator Mod?按钮:在对象选择器中列出各种激励源(如正弦激励源、 脉冲激励源、指数激励源和FILE激励源等)。 Voltage Probe Mode 按钮:可在原理图中添加电压探针。电路进行仿 真时可显示各探针处的电压值。

49、Current Probe Mode 按钮:可在原理图中添加电流探针。电路进行仿 真时可显示各探针处的电流值。 Virtual Instruments Mode按钮:在对象选择器中列出各种虚拟仪器(如 示波器、逻辑分析仪、定时/计数器和模式发生器等)。除上述图标按钮外,系统还提供了 2D图形模式图标按钮,2.5.1节会详细 说明。对于具有方向性的对象,系统还提供了各种旋转图标按钮: Rotate Clockwise 按钮:顺时针方向旋转按钮,以90偏置改变元器 件的放置方向。 Rotate Anti -clockwise 按钮:逆时针方向旋转按钮,以90偏置改变元器件的放置方向。 X-mirr

50、or按钮:水平镜像旋转按钮,以丫轴为对称轴,按180偏置旋 转元器件。 丫mirror按钮:垂直镜像旋转按钮,以X轴为对称轴,按180偏置旋 转元器件。另外,在某些状态下,对象选择器有一个“ Pick ”切换按钮,单击该按钮可 以弹出 Pick Devices、Pick Port、Pick Termi nals、Pick Pi ns 或 Pick Symbols 窗体。通过不同窗体,可以分别添加元器件端口、终端、引脚等到对象选择器中, 以便在今后的绘图中使用。3.主菜单Proteus ISIS 的主菜单栏包括 File(文件)、View(视图)、Edit(编辑)、 Library(库)、Too

51、ls(工具)、Design(设计)、Graph(图形)、Source(源)、Debug(调 试)、Template(模板)、System(系统)和Help(帮助),如图2-3所示。单击任一 菜单后都将弹出其子菜单项。 File菜单:包括常用的文件功能,如新建设计、打开设计、保存设计、导入/导出文件,也可打印、显示设计文档,以及退出Proteus ISIS 系统等。 View菜单:包括是否显示网格、设置格点间距、缩放电路图及显示与隐 藏各种工具栏等。 Edit菜单:包括撤销/恢复操作、查找与编辑元器件、剪切、复制、粘 贴对象,以及设置多个对象的层叠关系等。 Library 菜单:库操作菜单。它具

52、有选择元器件及符号、制作元器件及 符号、设置封装工具、分解元件、编译库、自动放置库、校验封装和调用库管理 器等功能。 Tools菜单:工具菜单。它包括实时注解、自动布线、查找并标记、属 性分配工具、全局注解、导入文本数据、元器件清单、电气规则检查、编译网络 标号、编译模型、将网络标号导入 PCB以及从PCB返回原理设计等工具栏。 Design菜单:工程设计菜单。它具有编辑设计属性,编辑原理图属性, 编辑设计说明,配置电源,新建,删除原理图,在层次原理图中总图与子图以及 各子图之间互相跳转和设计目录管理等功能。 Graph菜单:图形菜单。它具有编辑仿真图形,添加仿真曲线、仿真图 形,查看日志,导出数据,清除数据和一致性分析等功能。 Source菜单:源文件菜单。它具有添加/删除源文件,定义代码生成工 具,设置外部文本编辑器和编译等功能。 Debug菜单:调试菜单。包括启动调试、执行仿真、单步运行、断点设 置和重新排布

温馨提示

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

评论

0/150

提交评论