数字时钟设计开发.doc

上传人:PIYPING 文档编号:10803082 上传时间:2021-06-04 格式:DOC 页数:47 大小:1.17MB
返回 下载 相关 举报
数字时钟设计开发.doc_第1页
第1页 / 共47页
数字时钟设计开发.doc_第2页
第2页 / 共47页
数字时钟设计开发.doc_第3页
第3页 / 共47页
数字时钟设计开发.doc_第4页
第4页 / 共47页
数字时钟设计开发.doc_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《数字时钟设计开发.doc》由会员分享,可在线阅读,更多相关《数字时钟设计开发.doc(47页珍藏版)》请在三一文库上搜索。

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

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

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

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

5、总线,也不为总线的负载,锁存器内部的逻辑操作不受影响。 当锁存允许端 LE 为高电平时,O 随数据 D 而变。当 LE 为低电平时,O 被锁存在 已建立的数据电平。当 LE 端施密特触发器的输入滞后作用,使交流和直流噪声抗扰度被改善 400mV。 引出端符号: D0D7 数据输入端;OE 三态允许控制端(低电平有效;LE 锁存允许端;O0O7 输出端图3 74LS373(3) 数码管显示工作原理数码管是一种把多个LED(7SEG-MP*8-CA-BLUE)显示段集成在一起的显示设备。有两种类型,一种是共阳型,一种是共阴型。共阳型就是把多个LED显示段的阳极接在一起,又称为公共端。共阴型就是把多

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

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

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

9、特殊功能寄存器 的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 图1 AT89C51单片机P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出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

10、(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器 时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指

11、令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。EA/VPP:当/EA保持低电平时,则在此期间外部程序存储(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时, /EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。(5)Proteus ISIS 设计单片机电路的基本步骤: (1) 用Prote

12、us ISIS 进行单片机应用系统设计与仿真的基本步骤: (2) 新建设计文件夹或打开一个现有的设计文件。 (3) 选择元器件(通过关键字或分类检索)。 (4) 将元器件放入设计窗口。 (5) 添加其他模型(电源、地线、信号源等)和相关的虚拟仪器。 (6) 编辑和连接电路。 (7) 编写单片机所需的源程序。 (8) 加入源程序,并通过构造,得到仿真程序或目标程序。这里的(6)、(7) 两步可以选用其他更方便的工具完成。 (9) 根据需要,设置对象的属性,如将单片机的”Program File”属性设置为 上述仿真调试程序或目标程序。 (10) 启动仿真功能,对电路进行仿真操作,验证其功能。(6

13、) Keil软件介绍Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的

14、机器码有两种方法,一种Keil软件图标是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。运行Keil软件需要Pentium或

15、以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。(7) Keil软件的使用随着单片机开发技术的不断发展,目前已有越来越多的人从普遍使用汇编语言到逐渐使用高级语言开发,其中主要是以C语言为主,市场上几种常见的单片机均有其C语言开发环境。这里以最为

16、流行的80C51单片机为例来学习单片机的C语言编程技术。大家都有C语言基础,但是编单片机程序,大家还得找专门的书来学习一下。这里我们只介绍Keil这种工具软件的用法。学习一种编程语言,最重要的是建立一个练习环境,边学边练才能学好。Keil软件是目最流行开发80C51系列单片机的软件,Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(Vision)将这些部份组合在一起。下面我以一个实验举一个例子,一步一步学习Keil软件的使用。 首先我们看硬件原理图: 很明显,要点亮使发光二极管,必须使单片机的I/O口P1.0输出低电平。于是

17、我们的任务就是编程序使P1.0输出地电平。使用Keil前必须先安装。安装过程简单,这里不在叙述。安装好了Keil软件以后,我们打开它。打开以后界面如下:3. 我们先新建一个工程文件,点击“Project-NewProject”菜单,如下图,:选择工程文件要存放的路径 ,输入工程文件名 LED, 最后单击保存.在弹出的对话框中选择 CPU 厂商及型号 5. 选择好 Atmel 公司的 AT89S52 后 , 单击确定在接着出现的对话框中选择“是”。新建一个 C51 文件 , 单击左上角的 New File 如下图所示 :保存新建的文件,单击SAVE如下图: 在出现的对话框中输入保存文件名MAIN

18、.C(注意后缀名必须为.C),再单击“保存”,如下图;保存好后把此文件加入到工程中方法如下 : 用鼠标在 Source Group1 上单击右键 , 然后再单击 Add Files to Group Source Group 1 如下图: 选择要加入的文件 , 找到 MAIN.C 后 , 单击 Add, 然后单击 Close 在编辑框里输入如下代码 : 到此我们完成了工程项目的建立以及文件加入工程 , 现在我们开始编译工程如下图所示 : 我们先单击编译, 如果在错误与警告处看到 0 Error(s) 表示编译通过 ; 生成 .hex 烧写文件,先单击Options for Target,如图;

19、在下图中,我们单击 Output, 选中 Create HEX F。再单击“确定”。打开文件夹实验1,查看是否生成了HEX文件。如果没有生成,在执行一遍步骤10到步骤12,直到生成。 (8) Keil软件的作用单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开

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

21、语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。(9)发光二极管和数码管的显示 发光二极管的静态显示是学习单片机的入门路标。分析相关模块的电路图,弄清楚引脚连接情况,根据电路图直接控制LED引脚电位的高低就能实现对相应LED亮灭的控制。了解后完成走马灯(流水线)或更多其他规则的LED显示。数码管的显示较LED稍微复杂一点点,它分位选和段选,位选控制整个数码管的亮灭,段选控制各数码管以何种形式亮或灭。数码管的显示分三步:(1).全部数码管显示一样的字符;(2).选定的数码管以规定的形式亮;(3).数码管的动态显示。其中利用定时器或者延时程序控制数码管动态显示

22、的频率,以调节其显示亮度和视觉稳定度。用延时函数完成动态扫描:while(1)D1=nn/100;D2=nn%100/10;D3=nn%10;P1=0x01;P0=tabD1;delay(10);P1=0x02;P0=tabD2;delay(10);P1=0x04;P0=tabD3;delay(10);延时子程序:void delay(x) / 延时1ms子程序unsigned char y;while(x-)for(y=110;y0;y-);(10)定时/计数器编号中断源中断标志位终端服务程序入口优先级0外部中断0(INT0)IE00003H最高1定时/计数器0(T0)TF0000BH次之2

23、外部中断1(INT1)IE10013H次之3定时/计数器1(T1)TF1001BH次之4串口RI或TI0023H最低关于定时/计数器的两个特殊功能寄存器TMOD 用于T1用于T0GATEC/TM1M0GATEC/TM1M0TCON用于定时/计数器用于中断TF1TR1TF0TR0IE1IT1IE0IT0M1M0:工作方式设置位M1M0工作方式说明00013位T/C01116位T/C1028位自动重装T/C113T0分成两个独立的8位T/C,T1停止GATE:门控位。GATE=0,用软件使TR0或TR1为1,就能启动定时/计数器;GATE=1,用软件使TR0或TR1为1,同事外部中断引脚也为高,启

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

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

26、中断发生(屏蔽中断)、什么时候允许中断发生(开中断),需要设置哪些寄存器才能使某 种中断起作用,中断开始时,程序应该干什么,中断完成后,程序应该干什么等等 。(12)单片机的概述所谓单片机,就是把中央处理器CPU(Central Processing Unit)、随机存取存储器RAM(Random Access Memory)、只读存储器ROM(Read Only Memory)、定时器/计数器以及I/O(Input/Output)接口电路等主要计算机部件集成在一块集成电路芯片上的微型计算机。虽然单片机只是一个芯片,但从组成和功能上看,它已具有了微机系统的含义。尽管目前单片机的品种很多,但其中

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

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

29、应用软件和程序设计语言三部分。单片机由于硬件支持和需要有限,只使用简单的操作系统程序(监控程序)和汇编语言。MCS-51单片机系列共有十几种芯片。MCS-51系列又分成51和52两个子系列,并以芯片型号的最末位数字作为标志。其中51子系列是基本型,而52子系列则属于增强型。52子系列功能增强的具体方面有:片内ROM从4KB增加到8KB;片内RAM从128字节增加到256字节;定时器/计数器从2个增加到3个;中断源从5个增加到6个。在52子系列的内部ROM中以掩膜方式集成有8K BASIC解释程序(8052-BASIC),这意味着单片机已可以使用高级语言。MCS-51系列单片机采用两种半导体工艺

30、生产:HMOS(高密度短沟道MOS)工艺和CHMOS(互补金属氧化物HMOS)工艺。上表中凡带有“C”的,为CHMOS芯片。CHMOS是CMOS和HMOS的结合,除保持HMOS高速和高密度的特点外,还具有CMOS低功耗的特点。MCS-51单片机片内程序存储器有三种配置形式:掩膜ROM、EPROM和无。此外,由于单片机的应用是面向现场的,因此它具有很强的抗干扰能力,这是任何其它计算机所不及的。MCS-51单片机结构和原理MCS-51单片机系列的典型芯片是8051,其基本组成如下:中央处理器(CPU)CPU是单片机的核心,完成运算和控制功能。MCS-51的CPU能处理8位二进制数或代码。内部数据存

31、储器(内部RAM)8051芯片共有256个RAM单元,但后128个单元被专用寄存器占用,提供给用户使用的只是前128个单元,用于存放可读写的数据。内部程序存储器(内部ROM)8051共有4KB掩膜ROM,用于存放程序、原始数据或表格。定时器/计数器8051共有2个16位的定时器/计数器,以实现定时或计数功能,并以结果对计算机进行控制。并行I/O口MCS-51共有四个8位的I/O口,实现数据的并行输入输出。串行口MCS-51单片机有一个全双工的串行口,以实现单片机和其它设备之间的串行数据传送。该串行口即可作为全双工异步通信收发器使用,也可作为同步移位器使用。中断控制系统8051共有5个中断源:外

32、中断2个,定时/计数中断2个,串行中断1个。时钟电路MCS-51芯片的内部有时钟电路,但需要外接晶体和微调电容。系统允许的最高晶振频率为12MHz。MCS-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

33、访问程序存储器控制信号低电平时,限定ROM的读操作在外部;高电平是,则从内部ROM开始读操作,并可延至外部ROM。RST 复位信号当输入复位信号延续2个机器周期以上高电平时即为有效。用以完成初始化操作。XTAL1与XTAL2 外接晶体引线当使用芯片内部时钟时,用于外接晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。VSS 地线VCC +5V电源P3口的第二功能如下表所示。此外,有内部EPROM的单片机芯片(如9751),为写入程序需提供专门的编程脉冲和编程电源,这些信号也是由引脚的第二功能提供的:编程脉冲:30脚(ALE/PROG);编程电压(25V):31脚(EA/VPP)MCS-

34、51单片机的备用电源也是以第二功能的方式由9脚(RST/VPD)引入的当电源发生故障,电压降低到下限值时,备用电源经此端向内部RAM提供电压,以保护内部RAM中的信息部丢失。对于9、30和31引脚,第一功能与第二功能信号时单片机在不同工作方式下的信号,不会发生使用上的冲突。但对P3口,在实际使用时,都是先按需要选用第二功能信号,剩下的口线才以第一功能作为数据位的输入输出使用。8051的内部存储器8051单片机的芯片内部有RAM和ROM两类存储器。8051的内部RAM共有256个单元,通常把这些单元按其功能划分为两部分:低128单元(地址00H7FH)和高128单元(地址80HFFH)。低128

35、单元按其用途划分为三个区域:(1)寄存器区共有四组通用寄存器,每组8个寄存单元(8位),各组都以R0R7作为寄存器单元的编号。常用于存放操作数及中间结果等。有时也称为工作寄存器,占据内部RAM的00H1FH单元地址。在任一时刻,CPU只能使用其中的一组寄存器,并把正在使用的那组寄存器称之为当前寄存器组。寄存器组的选取由程序状态字寄存器PSW中的RS1、RS2位的状态组合来决定。通用寄存器为CPU提供了就近数据存储的便利,有利于提高单片机的运算速度。同时,使用通用寄存器还能提高程序编制的灵活性。(2)位寻址区内部RAM的20H2FH单元,既可以作为一般的RAM单元使用,进行字节操作,又可以对单元

36、中的每一位进行位操作。位寻址区共有16个RAM单元(共128位),位地址为00H7FH。MCS-51利用这个位寻址区进行布尔处理机的存储。(3)用户RAM区内部RAM低128单元-通用寄存器32单元-位寻址区16单元=80单元,其地址为30H7FH。在一般应用中常把堆栈开辟在此区中。(13) Proteus ISIS的介绍Proteus具有和其他EDA工具一样的原理图编辑、印刷电路板(PCB)设计及电路仿真功能,最大的特色是其电路仿真的交互化和可视化,如图2-1所示。通过Proteus软件的VSM(虚拟仿真模式),用户可以对模拟电路、数字电路、模数混合电路、单片机及外围元器件等电子线路进行系统

37、仿真。 Proteus软件由ISIS和ARES两部分构成,其中ISIS是一款便捷的电子系统原理设计和仿真平台软件,ARES是一款高级的PCB布线编辑软件。Proteus ISIS是一种操作简便而又功能强大的原理图编辑工具,它运行于Windows操作系统上,可以仿真、分析各种模拟器件和集成电路,该软件的特点有:实现了单片机仿真和SPICE电路仿真的结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真等功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。支持主流单片机系统的仿真。目前支持的单片机类型有68

38、000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2等软件。具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的电路设计和仿真软件,功能极其强大。Proteus ISIS的编译环境Proteus ISIS运行于Windows 98/2000/XP环境,对PC的配置要求不高

39、,一般的配置就能满足要求。运行Proteus ISIS的执行程序后,即进入如图2-2所示的Proteus ISIS编辑环境。1. Proteus ISIS各窗口点状的栅格区域为编辑窗口,左上方为预览窗口,左下方为元器件列表区,即对象选择器。编辑窗口用于放置元器件,进行连线,绘制原理图。预览窗口可以显示全部原理图。在预览窗口中,有两个框,蓝框表示当前页的边界,绿框表示当前编辑窗口显示的区域。当从对象选择器中选中一个新的对象时,预览窗口可以预览选中的对象。在预览窗口上单击,Proteus ISIS将会以单击位置为中心刷新编辑窗口。其他情况下,预览窗口显示将要放置的对象。这种放置预览特性在下列情况下

40、被激活: 当使用旋转或镜像按钮时; 当一个对象在对象选择器中被选中时; 当为一个可以设定方向的对象选择类型图标时(如Component图标、Device Pin图标等)。2. 工具箱选择相应的工具箱图标按钮,系统将提供不同的操作工具。对象选择器根据选择不同的工具箱图标按钮决定当前状态显示的内容。显示对象的类型包括元器件、终端、引脚、图形符号、标注和图表等。工具箱中各图标按钮对应的操作如下: Selection Mode按钮 :选择模式。 Component Mode按钮 :拾取元器件。 Junction Dot Mode按钮 :放置节点。 Wire Lable Mode按钮 :标注线段或网络名

41、。 Text Script Mode按钮 :输入文本。 Buses Mode按钮 :绘制总线。 Subcircuit Mode按钮 :绘制子电路块。 Terminals Mode按钮 :在对象选择器中列出各种终端(输入、输出、电源和地等)。 Device Pins Mode按钮 :在对象选择器中列出各种引脚(如普通引脚、时钟引脚、反电压引脚和短接引脚等)。 Graph Mode按钮 :在对象选择器中列出各种仿真分析所需的图表(如模拟图表、数字图表、混合图表和噪声图表等)。 Tape Recorder Mode按钮 :当对设计电路分割仿真时采用此模式。 Generator Mode按钮 :在对象

42、选择器中列出各种激励源(如正弦激励源、脉冲激励源、指数激励源和FILE激励源等)。 Voltage Probe Mode按钮 :可在原理图中添加电压探针。电路进行仿真时可显示各探针处的电压值。 Current Probe Mode按钮 :可在原理图中添加电流探针。电路进行仿真时可显示各探针处的电流值。 Virtual Instruments Mode按钮 :在对象选择器中列出各种虚拟仪器(如示波器、逻辑分析仪、定时/计数器和模式发生器等)。除上述图标按钮外,系统还提供了2D图形模式图标按钮,2.5.1节会详细说明。对于具有方向性的对象,系统还提供了各种旋转图标按钮: Rotate Clockw

43、ise按钮 :顺时针方向旋转按钮,以90偏置改变元器件的放置方向。 Rotate Anti-clockwise按钮:逆时针方向旋转按钮,以90偏置改变元器件的放置方向。 X-mirror按钮 :水平镜像旋转按钮,以Y轴为对称轴,按180偏置旋转元器件。 Y-mirror按钮 :垂直镜像旋转按钮,以X轴为对称轴,按180偏置旋转元器件。另外,在某些状态下,对象选择器有一个“Pick”切换按钮,单击该按钮可以弹出Pick Devices、Pick Port、Pick Terminals、Pick Pins或Pick Symbols窗体。通过不同窗体,可以分别添加元器件端口、终端、引脚等到对象选择器

44、中,以便在今后的绘图中使用。3. 主菜单Proteus ISIS的主菜单栏包括File(文件)、View(视图)、Edit(编辑)、Library(库)、Tools(工具)、Design(设计)、Graph(图形)、Source(源)、Debug(调试)、Template(模板)、System(系统)和Help(帮助),如图2-3所示。单击任一菜单后都将弹出其子菜单项。 File菜单:包括常用的文件功能,如新建设计、打开设计、保存设计、导入/导出文件,也可打印、显示设计文档,以及退出Proteus ISIS系统等。 View菜单:包括是否显示网格、设置格点间距、缩放电路图及显示与隐藏各种工具栏

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1