版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程名称:电子系统设计 班 级 : 姓 名 学 号 指 导 老 师:刘春玲 李泽光 目录前言1第1章 系统概述21.1 单片机的概述21.2 protel 99se的概述2第2章 单元电路设计与分析32.1 单片机复位电路32.2单片机晶振电路32.3 地址锁存器电路32.4译码电路42.5 外部存储器扩展电路42.6 时钟电路DS1288752.7 8279键盘、显示器接口电路5第3章 系统电路的设计与调试、软件编程与调试53.1 最小统原理图的绘制63.1.1创建新的设计数据库63.1.2装入元器件库73.1.3放置元器件73.1.4元件布局83.1.5连线83.1.6总线和网络标号的使用
2、83.1.7 电气规则检查与网络表生成93.1.8元器件的封装103.1.9将原理图中的元器件导入PCB中103.1.10最小系统PCB图的绘制113.1.11布线113.2通用键盘与显示器接口芯片8279123.2.1 8279芯片介绍123.2.2 8279的数码管显示数字“12345678”133.2.38279的16位按键显示143.3 DS12887日历时钟芯片153.3.1 DS12887芯片介绍153.3.2硬件接口电路163.3.3 12887的设计173.3.4基于DS12887和 8279实时时钟系统设计18第4章 结束语19附录1:附图20附录2:程序252.1设计程序使
3、数码管显示“01234567”252.2 16位按键显示252.3 12887显示262.4 实时时钟的设计29附录3:参考文献35前言:随着电子产品的飞速发展,社会对电子设计人才的需求非常强烈,电子设计课程和电子设计软件的应用就显得尤为重要。protel 99SE软件是电子线路设计的佼佼者,其具有操作方便、设计效率高等特点,成为电子线路设计和印制电路板设计的首选。本文首先对protel99se进行了介绍,其次对电路原理图进行绘制,选择合适的元器件,并填写好封装,然后生成网络报表,接着设计板子大小,设置参数,加载网络表和元器件封装,规划PCB版图,在规划区域内摆放元器件,最后布线。对于自动布线
4、不理想的部分,还要通过手动来修改。 此课程还设计了单片机的最小系统和系统。另外,课程还进行了大板实验,大板的主控芯片是8279和12887。文章还会进行对8279和12887芯片的介绍以及应用。由于需要编程者可以对该芯片进行即时编程,实际实验的时候用到的是单片机仿真器,该仿真器内部存在有单片机及其最小系统电路,因此该仿真器可以完全替代单片机并接入集成电路板中,通过仿真器可以实现电脑与集成电路板的连接,以便于编程者随时修改程序并且可以随时观察到实现的实验现象。第1章 系统概述1.1 单片机的概述AT89C51是一种带4K字节FLASH存储器(FPEROMFlash Programmable an
5、d Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。1.2 protel 99se的概述随着计算机的飞速发展,许多原来人工从事的工作被计算机所代替在这种大趋势下,计算机辅助设计成为当前电子线
6、路设计及印刷电路板(PCB)设计的极其重要的手段,并受到广泛的重视。Protel99 SE软件是电子线路设计与制板方面的佼佼者。Protel99 SE是一个32位的Windows软件,期编辑环境采用了视图风格,利用鼠标和键盘就可轻松进行设计工作,操作起来非常方便,极大地提高了设计工作的效率。PROTEL99SE 是应用于 Windows9X/2000/NT/XP 操作系统下的 EDA 设计软件 ,集成了电路图原理设计、PCB 设计、PLD 可编程逻辑器件和电路仿真等功能,具有很强的数据交换能力和开放性及 3D 模拟功能。PROTEL99SE 与 PROTEUS 和 QUARTUS 其他 EDA
7、 软件相比, 其具有强大的印刷电路板(PCB)功能,PROTEL99SE 不仅能完成自身的原理图设计和 PCB 设计,还能在别的 EDA 软件的网络表上,生成实用、精美的印刷电路板。本课程设计使用 PROTEL99SE 制作一 AT89C51的最小单片机系统 PCB,系统集成时钟电路、复位电路、存储器扩展电路等。第2章 单元电路设计与分析2.1 单片机复位电路复位电路的原理是单片机RST引脚接收到2US以上的电平信号,只要保证电容的充放电时间大于2US,即可实现复位,所以电路中的电容值是可以改变的。按键按下系统复位,是电容处于一个短路电路中,释放了所有的电能,电阻两端的电压增加引起的。复位电路
8、通常采用上电复位和按钮复位两种方式。本设计使用上电复位方式。2.2单片机晶振电路单片机内部有一个用于构成振荡器的高增益反相放大器,它的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚跨接石英晶体和微调电容,构成一个稳定的自激振荡器。2.3 地址锁存器电路单片机的I/O 口上需要外接地址锁存器。当单片机连接片外存储器时,要接上锁存器,这是为了实现地址的复用。假设,MCU端口其中的 8 路的 I/O 管脚既要用于地址信号又要用于数据信号,这时就可以用锁存器先将地址锁存起来。8051访问外部存储器时P0口和P2口共同做为地址总线,P0口常接锁存器再接存储器。以防止总线间的冲突。而P2口
9、直接接存储器。因为单片机内部时序只能锁住P2口的地址,如果用P0口传输数据时不用锁存器的话,地址就改变了。本设计才用74LS573地址锁存器。2.4译码电路译码电路中用译码法扩展外部数据存储器的接口电路。数据存储器62128,该芯片地址线为A0-A13,这样AT89C51单片机剩余地址线可以采用译码器进行扩展。2.5 外部存储器扩展电路8051单片机片内集成4KB程序存储器和128B数据存储器,但是在许多情况下,片内的存储器资源还不能够满足需要,为此需要对单片机进行外部程序存储器和数据存储器扩展。本设计用的是6264和2764存储器芯片。2.6 时钟电路DS12887时钟电路DS12887,采
10、用DS12887芯片设计的时钟电路勿需任何外围电路并具有良好的微机接口。DS12887芯片具有微功耗、外围接口简单、精度高、工作稳定可靠等优点由振荡电路、分频电路、周期中断方波选择电路、14字节时钟和控制单元、114字节用户非易失RAM、十进制二进制计数器、总线接口电路、电源开关写保护单元和内部锂电池等部分组成。2.7 8279键盘、显示器接口电路 8279芯片是一种通用可编程键盘/显示器接口电路芯片,它能完成监视键盘输入和显示控制两种功能。8279对键盘部分提供一种扫描工作方式,能对64个按键键盘阵列不断扫描,自动消抖,自动识别出闭合的键并得到键号,能对双键或N键同时按下进行处理。第3章 系
11、统电路的设计与调试、软件编程 与调试 Protel99SE中主要功能模块: Advanced Schematic 99SE(原理图设计系统) 该模块主要用于电路原理图设计、原理图元件设计和各种原理图报表生成等。 Advanced PCB 99SE(印刷电路板设计系统) 该模块提供了一个功能强大和交互友好的PCB设计环境,主要用于PCB设计、元件封装设计、报表形成及PCB输出。 Advanced Route 99SE(自动布线系统) Advanced Integrity 99SE(PCB信号完整性分析) Advanced SIM 99SE(电路仿真系统) Advanced PLD
12、99SE(可编程逻辑器件设计系统) 3.1 最小统原理图的绘制设计电路原理图是进行电路设计的第一步,也是做重要的一步。电路原理图设计最基本的要求是正确性,其次是布局合理,最后是在正确性和布局合理的前提下力求美观。一般包括如下步骤3.1.1创建新的设计数据库 执行菜单【File】【New】可以建立一个新的设计数据库,屏幕弹出下图所示的新建文件对话框,在【Database File Name】框中可以输入新的数据库文件名,系统默认为“MyDesign.ddb”,点击【Browse.】按钮可以修改文件的保存位置;单击【Password】选项卡可进行密码设置。启动SCH99SE编辑器:在指定Docum
13、ents下,执行【File】【New】,屏幕弹出New Document对话框,即双击 图标,新建原理图文件,如图2-1所示,系统默认文件名为Sheet1,此时可以直接修改文件名。双击文件图标,进入编辑器。 3.1.2装入元器件库在放置元件之前,必须先将元件所在的元件库载入内存。装载元件库的步骤如下。 打开设计管理器,选择Browse Sch选项卡,单击【Add/Remove】按钮添加元件库,如图2-6所示。 在Design Explorer 99 LibrarySch文件夹下选中元件库文件,单击【Add】按钮,将元件库文件添加到库列表中,添加库后单击【OK】按钮结束添加工作,此时元件库的详细
14、信息将显示在设计管理器中。3.1.3放置元器件 装入元件库后,在元件库浏览器中可以看到元件库、元件列表及元件外观,选中所需元件库,则该元件库中的元件将出现在元件列表中,双击元件名称(如CAP)或单击元件名称后按Place按钮。最小系统原理图中用到的元器件主要是:“8051”,“74ALS573”,“2764”,“6264”“CRYSTAL(晶振)”,“CAP(电容)”,“RES2(电阻)”,“SW SPST(开关)”等。3.1.4元件布局 放置元件后,在连线前必须先调整元件布局。(1)元件的选中与取消选中:利用工具栏按钮选中元件。单击主工具栏上的 按钮,拉框选中框内图件或直接用鼠标点取。(2)
15、移动元件:常用的方法是用鼠标左键点中要移动的元件,并按住鼠标左键不放,将元件拖到要放置的位置。 单击主工具栏上的 按钮,可以移动已选取的对象。执行菜单EditMoveDrag,可以连线与元件一起拖动。 执行菜单EditMoveMove,只可以移动元件。(3)元件的旋转: 用鼠标左键点住要旋转的元件不放,按<Space>键逆时针90度旋转,按<X>键水平方向翻转,按<Y>键垂直方向翻转。(4)元件的删除:要删除某个元件,可用鼠标左键单击要删除的元件,按<Delete>键删除该元件,也可执行EditDelete,用鼠标单击要删除的元件进行删除。3.1
16、.5连线 元件的位置调整好后,下一步是对各元件进行线路连线。单击画电气连线按钮 光标变为“十”字状,将光标移至所需位置,单击鼠标左键,定义导线起点,将光标移至下一位置,再次单击鼠标左键,完成两点间的连线,单击鼠标右键,结束此条连线。这时仍处于连线状态,可继续进行线路连接,若双击鼠标右键,则退出画线状态。3.1.6总线和网络标号的使用(1) 绘制总线:执行菜单PlaceBus或单击工具栏上按钮,进入放置总线状态,将光标移至合适的位置,单击鼠标的左键,定义总线起点,将光标移至另一位置,单击鼠标左键,定义总线的下一点。连线完毕,单击鼠标的右键退出放置状态。在画线状态时,按<Tab>键,屏
17、幕弹出总线属性对话框,可以修改线宽和颜色。(2) 放置总线分支:执行菜单PlaceBus Entry,或单击 按钮,进入放置总线分支的状态,此时光标上带着悬浮的总线分支线,将光标移至总线和管脚引出线之间,按空格键变换倾斜角度,单击鼠标左键放置总线分支线。(3) 放置网络标号: 放置网络标号可以通过执行菜单PlaceNet Label实现,或单击 按钮进入放置网络标号状态,此时光标处带有一个虚线框,将虚线框移动至需要放置网络标号的图件上,当虚线框和图件相连处出现一个小园点时,表明与该导线建立电气连接,单击鼠标左键放下网络标号,将光标移至其它位置可继续放置。3.1.7 电气规则检查与网络表生成实验
18、中产生的列表有:网络报表、材料清单列表。在打开的电路原理图界面,依次用鼠标左键单击“Design设计>Create Netlist.创建网络表”,用默认的设置参数,点击OK按钮,即可产生网络报表。在打开的电路原理图界面,依次用鼠标左键单击“Reports报告>Bill of Material材料清单”,用默认的设置参数一步步确认,即可产生材料清单列表。 执行菜单ToolsERC电器规则检查”,按默认的设置,单击OK按钮后,出现一个报表,里面可以显示出原理图中的错误。回到原理图中,凡是打叉的地方,都有一定的错误,则需进行修改。3.1.8元器件的封装元件封装库管理器:PCB元件库编辑器
19、中的元件库管理器与原理图库元件管理器类似,在设计管理器中选中Browse PCBLib可以打开元件库管理器,在元件库管理器中可以对元件进行编辑操作,元件封装管理器如下图。元器件如果想导入PCB图中,需要对其封装。本实验中用到的元器件,有些已经封装好了,比如:“8051”,“74ALS373”,“2764”,“6264”。而“CRYSTAL(晶振)”,“CAP(电容)”,“RES2(电阻)”这些原件都需要封装。实验用到的有:“CRYSTAL(晶振)”的封装名为,“CAP(电容)”的封装名为,“RES2(电阻)”封装名为。这就完成了封装,然后用鼠标左键单击“Design设计>Create N
20、etlist.创建网络表”,点击PK按钮,产生网络报表。3.1.9将原理图中的元器件导入PCB中单击“File文>New.新建文件”按钮,双击“PCB Document(印制电路板编辑器)”图标,就启动了电路板编辑器。用鼠标左键依次单击“Design设计>Netlist.网络表”,出现对话框,单击,在下找到生成的报表文件,单击OK按钮,则在出现的界面中可以出现所有元器件名,以及封装是否正确,是否所有引脚都对应上了,然后到对应的原理图上进行修改,重新生成网络报表,重新导入,当没错误时,单击,则所有元器件都导入到PCB图中了。3.1.10最小系统PCB图的绘制在Protel 99 SE
21、中,执行菜单FileNew,在出现的对话框中单击图标进入PCB元件库编辑器,并自动新建一个元件库PCBLIB1.LIB。(1)摆放元器件:把元器件摆放至合适的位置,单击需要摆放的元器件,拖动鼠标,在合适的位置单击鼠标左键,即可放置,放置中,按住鼠标左键不松的情况下,按键盘上的【空格】键,调整芯片方向。元器件摆放的原则:芯片上端最好要一齐,缺口向上,使连线尽量简单,元器件尽量靠近(够布线即可)。此实验还需把晶振尽量靠近芯片,把耦合电容放置到每个芯片附近。(2)绘制边界: 布线前,需要规划PCB的物理边界。单击工作层面切换标签按钮,单击“PCB放置工具条”中的按钮,在工作区中移动鼠标至需要绘制PC
22、B下边界的地方,单击一次数遍左键,然后移动鼠标光标到下边界的另一个定点,依次单击鼠标左键即可完成物理边界下边界的绘制工作,再以同样方法绘制其他边界,直到把布局中所有元器件用方框框起来为止,回到起点后,当出现小圆圈后,单击鼠标左键,即完成物理边界的绘制。单击工作层面切换标签按钮,单击“PCB放置工具条”中的按钮,按照绘制物理边界的方法绘制规划电气边界,两个边界重叠在一起即可。(3) 参数设置:用鼠标单击“Design设计>Rules.规则”按钮,弹出“布线参数设置”对话框,在默认选项下,设置参数。此实验中,VCC和GND之间的线宽、分别为12mil,100mil,30mil。其他线宽值、分
23、别为12mil,20mil,20mil。,单击OK按钮。3.1.11布线实验要求手动布线。先单击“PCB放置工具条”中的按钮,然后将光标移至工作区,切换到需要绘制导线的工作层面,通常为顶层布线层Toplayer和底层布线层Bottumlayer,再将光标移到需要绘制导线的地方,在导线起始位置单击数遍左键一次,然后移动光标,绘制到终点后,单击一次鼠标右键,即可完成绘制工作。当想从上层过到下层继续布线,或者从下层过到上层继续布线,则需要打过孔。单击“PCB放置工具条”中的按钮,移动至工作区内,在需要打过孔的地方单击鼠标左键即可,按上述操作打完所有过孔。调整好布线后,用鼠标左键再单击左下角的按钮,即
24、可对布线进行检查。3.2通用键盘与显示器接口芯片82793.2.1 8279芯片介绍(1)8279引脚及功能Intel 8279是一种可编程键盘/显示器接口芯片,它含有键盘输入和显示器输出两种功能。键盘输入时,它提供自动扫描,能与按键或传感器组成的矩阵相连,接收输入信息,它能自动消除开关抖动并能对多键同时按下提供保护。显示输出时,它有一个16×8位显示RAM,其内容通过自动扫描,可由8位或16位LED数码管显示。 8279采用40引脚双列直插封装,其引脚排列及功能如下所示。DB7DB0为双向外部数据总线 ; 为片选信号线,低电平有效; 和 为读和写选通信号线;IRQ为中断请求输出线。
25、RL7RL0为键盘回送线。SL3SL0为扫描输出线。OUTB3OUTB0、OUTA3OUTA0为显示寄存器数据输出线。RESET为复位输入线。 SHIFT为换档键输入线。CNTL/STB为控制/选通输入线。CLK为外部时钟输入线。为显示器消隐控制线 。(2)8279的工作方式 8279工作方式的确定是通过CPU对8279送入命令字来实现的。当数据选择端A0置1时,CPU对8279写入的数据为命令字,读出的数据为状态字。在叙述命令字、状态字前,先说明8279的几种工作方式。键盘工作方式通过对键盘/显示方式命令字的设置,可置8279为双键互锁方式和N键巡回方式。双键互锁是为两键同时按下提供的保护方
26、法。若有两键或多个键同时按下,则无论这些键是以什么次序按下的,它只识别最后一个释放的键,并把该键值送入FIFO/传感器RAM中。N键巡回是为N个键同时按下时提供的保护方法。若有多个键同时按下,则键盘扫描时可按按键先后顺序依次将键值送入FIFO/传感器RAM中。 显示器工作方式通过对键盘/显示方式命令字和写显示RAM命令字的设置,可将显示数据写入显示缓冲器的方式置为左端送入和右端送入两种方式。左端送入为依次填入方式,右端送入为移位方式。传感器矩阵方式通过对读FIFO/传感器RAM命令字的设置可将8279设置成传感器矩阵方式,此时,传感器的开关状态直接送到传感器RAM中。CPU对传感器阵列扫描时,
27、如果检测到某个传感器状态发生了变化,则使中断申请信号IRQ变为高电平。如果AI(D4)=0,则对传感器RAM的第一次读操作即清除IRQ;如果AI(D4)=1,则由中断结束命令清除IRQ。3.2.2 8279的数码管显示数字“12345678”设计思路:8279的数据口地址为7000H,将寄存器R0先存入数01H,讲R0的数据送入7000H,然后显示,并用时延保持,再使R0加1,再送入7000H,然后时延,同样方法重复8次即可存入8个数并显示在数码管上。(1)8279初始化:8279的命令/状态口地址为7001H,数据口地址为7000H。初始化首先将命令/状态口地址写入DPTR,然后将控制字送入
28、累加器,为清除命令。然后向命令/状态口地址写入控制字,这时需要读取的状态。的状态字的第七位表示显示无效,即显示由于清除显示或全清命令尚未完成时。所以要检查清除状态是否完成,完成以后再继续。00H为编码扫描键盘,2AH为程控时钟命令。用同样的方法可对8279进行读显示、写显示、读键盘等命令操作。(2) 显示12345678:8279数据入口地址为7000H。先将7001H写入命令字90H,90H为写显示命令,同时每次写入之后,地址会自动加1指向下一个地址,所以下一次顺序写入数据时就不必重新设置写显示RAM命令字。然后设置写入的数从1开始,一共8个数。用寄存器R0存数,写一个数,R0加1,然后再继
29、续写下一个数并显示。要注意加时延,因为程序执行时间很短,如果不加时延不能够持续看清楚数字,数码管会闪烁。(3) 流程图如下程序见附录2.13.2.38279的16位按键显示设计思路:键盘上按哪个键在数码管上显示哪个键,程序初始化后,先判断是否有键按下,如果有键按下,判断哪个键被按下,然后对应显示按键内容。键码键值:0-00H 1-08H 2-10H 3-18H 4-20H 5-28H 6-30H 7-38H 8-01H 9-09H A-11H B-19H C-21H D-29H E-31H F-39H 程序流程图如下:程序见附录2.23.3 DS12887日历时钟芯片3.3.1 DS12887
30、芯片介绍DS12887内部原理如图1所示,由振荡电路、分频电路、周期中断/方波选择电路、14字节时钟和控制单元、114字节用户非易失RAM、十进制/二进制计加器、总线接口电路、电源开关写保护单元和内部锂电池等部分组成。图2显示了DS12887管脚排列图。下面分别说明管脚功能: GND,VCC:直流电源+5V电压。当5V电压在正常范围内时,数据可读写;当VCC低于4.25V,读写被禁止,计时功能仍继续;当VCC下降到3V以下时,RAM和计时器被切换到内部锂电池。 MOT(模式选择):MOT管脚接到VCC时,选择MOTOROLA时序,当接到GFND时,选择INT
31、EL时序。 SQW(方波信号同):SQW管脚能从实时时钟内部15级分频器的13个抽头中选择一个作为输出信号,其输出频率可通过对寄存器A编程改变。 AD0AD7(双向地址/数据复用线):总线接口,可与MOTOROLA微机系列和INTEL微机系列接口。 AS(地址选通输入):用于实现信号分离,在AD/ALE的下降沿把地址锁入DS12887。 DS(数据选通或读输入):DS/RD客脚有两种操作模式,取决于MOT管脚的电平,当使用MOTOROLA时序时,DS是
32、一正脉冲,出现在总线周期的后段,称为数据选通;在读周期,DS指示DS12887驱动双向总的时刻,在写周期,DS的后沿使DS12887锁存写数据。选择INTEL时序时,DS称作(RD),RD与典型存贮器的允许信号(OE)的定义相同。 R/W(读/写输入):R/W管脚也有两种操作模式。选MOTOROLA时序时,R/W是一电平信号,指示当前周期是读或写周期,DSO为高电平时,R/W高电平指示读周期,R/W低电平指示写周期;选INTEL时序,R/W信号是一低电平信号,称为WR。在此模式下,R/W管脚与通用RAM的写允许信号(WE)的含义相同。
33、 CS(片选输入):在访问DS12887的总线周期内,片选信号必须保持为低。 IRQ(中断申请输入):低电平有效,可作微处理的中断输入。没有中断条件满足时,IRQ处于高阻态。IRQ线是漏极开路输入,要求外接上接电阻。 RESET(复位输出):当该脚保持低电平时间大于200ms,保证DS12887有效复位。3.3.2硬件接口电路 DS12887时钟芯片和80C31单微机的接口电路如图4所示。模式选择脚MOT拉地,选择不NTEL时序,选择DS12887时钟芯片的地址总线及 AS端口和80C31单片微机的P0及ALE
34、端直接相联;而DS、R/W读写控制线与单片机的RD、WAR控制线相连;DS12887的高位地址由 80C31半日片机的P2.7端口来片选,则DS12887的高8位地址定为7FH,而其低8侠地址则由芯片内部各单元的地址来决定(00H3FH); DS12887的中断输出端IRQ和80C的外部INT0端相联,给单片机提供中断信号;DS12887的SQW端口可编程产生方波输出信号。 3.3.3 12887的设计(1)12887地址确定:单片机的P2.3-P2.6接4-16线译码器输入,输出的/Y12接8279的片选,则所对应的地址为P2.7-P2.4=0110,其余为低电平有效,故12887的寄存器地
35、址范围在6000H607FH。 (2)12887的初始化:将DS12887状态寄存器B中的SET位置1,然后初始化00H-09H时标参数寄存器和状态寄存器A;此后,再通过读状态寄存器C,清除寄存器C中的周期中断标志位PF、报警中断标志位AF、更新周期结束中断标志位UF。寄存器D中的VRT位在读操作后将自动置1。最后,将状态寄存器B中的SET位置0,芯片开始计时工作。状态寄存器A为20H,它表示采用的时钟频率为32678 HZ,禁止引脚SQW输出;状态寄存器B为22H。(3) 程序流程图:程序见附录2.33.3.4基于DS12887和 8279实时时钟系统设计利用实验板上的16个键盘来控制时钟,
36、A、B、C键分别是时、分、秒键,F键为回车键。按A键显示小时,然后按0-9数字键来调整时间,同理,按B键显示分钟,然后按0-9数字键来调整分钟,按C键显示秒,然后按0-9数字键来调整秒。按F键后计算机将修改的时间、分、秒按各个功能键的不同分别传给DS12887中相应功能单元,最后显示器显示正常的时、分、秒。(1) 方案:(1)DS12887初始化。(2)将DS12887中的时、分、秒送到8279显示缓冲区并显示出来。(3)最终结果:利用实验板上的16个键盘来控制时钟,A、B、C键分别是时、分、秒键,F键为回车键。按A键显示小时,然后按1-9数字键来调整时间,同理,按B键显示分钟,然后按1-9数
37、字键来调整分钟,按C键显示秒,然后按1-9数字键来调整秒。按F键后计算机将修改的时间、分、秒按各个功能键的不同分别传给DS12887中相应功能单元,最后显示器显示正常的时、分、秒。(2) 程序流程图:程序见附录2.4第4章 结束语本次课程设计是用PROTEL 99SE软件设计一个单片机最小系统和大板上基于8279和DS12887的实验。经过两个多月的学习、设计、调试和改进,成果满足基本设计请求,验证无误。设计涉及了protel 99se设计电路原理图的方法,pcb制版的原理和方法,大板实验也涉及到多种芯片,程序也比较长比较麻烦,同时也碰到了不少艰苦,尤其是关于PCB布线和DS12887和827
38、9的综合实验。期间应用到了数字电路、模拟电路、单片机原理、微机接口技术等相关知识。 通过本次设计,我懂得了如何让利用protel 99se设计电路原理图和时钟的设计流程,尤其是硬、软件的设计方法以及键盘显示电路的基础功效及编程方法和键盘电路和显示电路的一般原理,也进一步了解了8051定时器的应用和中断CPU程序的编程方法,开辟了思路,提高了分工协作才能和分析题目,解决题目的能力。由于基础不是很好,一个人完成本次课程设计是艰难的。在此向给予我和团队成员帮助的同学和老师致谢。是你们的启迪和鼓励让我在实验中受益匪浅。附录1:附图元器件明细表单片机最小系统及存储器扩展原理图层次原理图顶图层次原理图子图
39、CPU层次原理图子图MEMORY最小系统手动布线PCB图铺地的PCBERC检查DRC检查附录2:程序2.1设计程序使数码管显示“01234567”#include<reg51.h>#include<absacc.h>#define uchar unsigned char#define PORTB XBYTE0x7001#define PORTC XBYTE0x7000uchar duanma=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07;void main()unsigned int n,a;PORTB=0xd1;a=PORTB;whi
40、le(a&0x80) a=PORTB;a=0x00;PORTB=a;a=0x2a;PORTB=a;a=0x90;PORTB=a;for(n=0;n<8;n+)PORTC=duanman;2.2 16位按键显示#include<reg51.h>#include<absacc.h>#define uchar unsigned char#define PORTB XBYTE0x7001#define PORTC XBYTE0x7000uchar duanma=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x
41、77,0x7c,0x39,0x5e,0x79,0x71;void main()unsigned int a,b;PORTB=0xd1;a=PORTB;while(a&0x80) a=PORTB;PORTB=0x00;/工作方式PORTB=0x34;/20分频while(1)a=PORTB;if(a&0x07)PORTB=0X40;b=PORTC;if(b%8=0)PORTB=0X80;/显示PORTC=duanmab/0x08;elsePORTC=duanmab/0x08+8;2.3 12887显示 ORG 0000H LJMP START ORG 0100HSTART: MO
42、V 30H,#12HMOV 31H,#34HMOV 32H,#56HMOV 33H,#78HMOV 20H,#00H LCALL INITI ;8279初始化 LCALL TIME ;12887初始化 LL: LCALL DIR ;显示子程序 LCALL READ ;读12887 LJMP LL ;8279初始化INITI:MOV DPTR,#7001H MOV A,#0D1H MOVX DPTR,A LP: MOVX A,DPTR JB ACC.7,LP MOV A,#00H MOVX DPTR,A MOV A,#2AH MOVX DPTR,A RET ;12887初始化 TIME: MOV
43、 DPTR,#600BH MOV A,#0A2H MOVX DPTR,A MOV DPTR,#6000H MOV A,#00H MOVX DPTR,A INC DPTR MOV A,#0FFH MOVX DPTR,A INC DPTR MOV A,#15H MOVX DPTR,A INC DPTR MOV A,#0FFH MOVX DPTR,A INC DPTR MOV A,#14H MOVX DPTR,A INC DPTR MOV A,#0FFH MOVX DPTR,A INC DPTR MOV A,#01H MOVX DPTR,A INC DPTR MOV A,#0EH MOVX DPTR
44、,A INC DPTR MOV A,#04H MOVX DPTR,A INC DPTR MOV A,#0EH MOVX DPTR,A MOV DPTR,#600EH MOV A,#14H MOVX DPTR,A MOV DPTR,#600AH MOV A,#20H MOVX DPTR,A MOV DPTR,#600CH MOVX A,DPTR INC DPTR MOVX A,DPTR MOV DPTR,#600BH MOV A,#22H MOVX DPTR,A RET ;读12887READ: MOV DPTR,#600AH MOVX A,DPTR JB ACC.7,READ MOV R0,#
45、30H MOV DPTR,#6004H MOVX A,DPTR MOV R0,A INC R0 MOV DPTR,#6002H MOVX A,DPTR MOV R0,A INC R0 MOV DPTR,#6000H MOVX A,DPTR MOV R0,A INC R0 MOV DPTR,#6006H MOVX A,DPTR MOV R0,A RET ;显示子程序 DIR: MOV DPTR,#7001H MOV A,#90H MOVX DPTR,A MOV R0,#30H MOV R7,#08H DL0: MOV A,R0 MOV B,A SWAP A ANL A,#0FH MOV DPTR
46、,#TAB MOVC A,A+DPTR MOV DPTR,#7000H MOVX DPTR,A DEC R7 MOV A,R0 MOV A,B ANL A,#0FH MOV DPTR,#TAB MOVC A,A+DPTR MOV DPTR,#7000H MOVX DPTR,A INC R0 DJNZ R7,DL0 RETTAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH, DB 79H,71HEND2.4 实时时钟的设计 ORG 0000HLJMP STARTORG 0100HSTART: MOV 30H,#12H MO
47、V 31H,#34H MOV 32H,#56H MOV 33H,#78H MOV 20H,#00H LCALL INITI LCALL TIME LCALL DIR LCALL READ LCALL DIRTURN: MOV A,20H JNZ L1 LCALL READ LCALL DIR SJMP KEYL1: CJNE A,#01H,L2;秒 MOV 33H,40H LCALL DIR SJMP KEYL2: CJNE A,#02H,L3 ;分 MOV 33H,40H LCALL DIR SJMP KEYL3: CJNE A,#03H,KEY ;时MOV 33H,40H LCALL DI
48、R SJMP KEYKEY: MOV DPTR,#7001H ;判断是否有键按下 MOVX A,DPTR ANL A,#07H JZ TURN MOV A,#40H;有键按下,键值转化为十六进制 MOVX DPTR,A MOV DPTR,#7000H MOVX A,DPTR MOV B,#08H DIV AB MOV R2,A MOV A,B JZ ZREO MOV A,#08H ADD A,R2 SJMP LOOP ZREO: MOV A,R2 ;判断按下的是什么键 LOOP: CJNE A,#0AH,LB ;A键 MOV R1,#40H MOV 20H,#01H LJMP LL LB: C
49、JNE A,#0BH,LC ;B键 MOV R1,#40H MOV 20H,#02H LJMP LL LC: CJNE A,#0CH,LSZ ;C键 MOV R1,#40H MOV 20H,#03H LJMP LL LSZ: MOV B,A ;SZ键 SUBB A,#09H MOV A,B JNC ENTER MOV R1,A INC R1 MOV A,R1 ANL A,#0F1H MOV R1,A LJMP LLENTER: MOV A,20H ;非以上键LM: CJNE A,#01H,LF ;40H->秒 MOV A,40H SWAP A ADD A,41H MOV 40H,A MO
50、V DPTR,#600BH ;禁止12887工作 MOV A,#0A2H MOVX DPTR,A MOV A,40H MOV DPTR,#6000H MOVX DPTR,A MOV DPTR,#600BH ;启动12887工作 MOV A,#22H MOVX DPTR,A LCALL READ LCALL DIR MOV 20H,#00H LJMP LLLF: CJNE A,#02H,LS ;40H->分 MOV A,40H SWAP A ADD A,41H MOV 40H,A MOV DPTR,#600BH ;禁止12887工作 MOV A,#0A2H MOVX DPTR,A MOV A,40H MOV DPTR,#6002H MOVX DPTR,A MOV DPTR,#600BH ;启动12887工作 MOV A,#22H MOVX DPTR,A LCALL READ LCALL DIR MOV 20H,#00H LJMP LLLS: CJNE A,#03H,LL ;40H->时 MOV
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 清远市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)附答案详解(模拟题)
- 2026年安阳市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解(预热题)
- 宿州市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)及一套完整答案详解
- 2026年淮南市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)附答案详解(基础题)
- 2025年云南省特种作人员取证培训以及特种设备作业人员取证培训考试金属非金属矿井通风作业复习题库及答案
- 上饶市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解(综合题)
- 沈阳市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)及完整答案详解1套
- 汉中市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)及一套参考答案详解
- 怒江州农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解(满分必刷)
- 淮北市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)及答案详解(基础+提升)
- 测绘设备基础知识培训课件
- 2025内蒙古国贸集团招聘11人考试模拟试题及答案解析
- 海南中考试卷历史及答案
- 2025至2030全球及中国麦芽糖醇粉行业项目调研及市场前景预测评估报告
- 蜀道集团笔试试题及答案
- 浙江精诚联盟2025-2026学年高二上学期10月联考数学(含答案)
- 2026年中考英语复习必背人教版初中单词默写
- 教育行业职业规划指南
- 医院物价员培训知识课件
- 2025年贵州省遵义市辅警考试真题及答案
- 电动葫芦安全操作培训
评论
0/150
提交评论