存数可回显设计.doc_第1页
存数可回显设计.doc_第2页
存数可回显设计.doc_第3页
存数可回显设计.doc_第4页
存数可回显设计.doc_第5页
免费预览已结束,剩余15页可下载查看

下载本文档

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

文档简介

课程设计说明书信息与电气工程学院课程设计说明书(2009 /2010 学年第 2 学期)课程名称 : 单片机应用 题 目 : 存数可回显设计 专业班级 : * 学生姓名 : * 学 号: * 指导教师 :*设计周数 : 2周 设计成绩 : 2010 年6 月 22日目 录1、课程设计目的*2、课程设计正文*2.1 设计所需器材*2.2 设计任务和要求*2.3 设计方案*2.3.1硬件设计*2.3.1.1 AT89S51说明*2.3.1.2 LED接口电路*2.3.1.3 键盘接口电路*2.3.1.4 时钟及控制接口电路*2.3.1.5 存数可回显逻辑电路图*2.3.1.6 存数可回显逻辑电路PCB封装图*2.3.2 系统设计*2.3.2.1 LED显示程序设计*2.3.2.2 读键输入程序设计*2.3.2.3 录入存储回显程序设计*2.3.2.4. 存数可回显设计程序*2.4 软件与硬件结合调试*3、总结*4、参考文献*1、课程设计目的1进一步熟悉和掌握单片机的结构及工作原理。2掌握单片机的接口技术及相关外围芯片的外特性,控制方法。3通过课程设计,掌握以单片机核心的电路设计的基本方法和技术,了解表关电路参数的计算方法。4通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。5通过完成一个包括电路设计和程序开发的完整过程,使学生了解开发一单片机应用系统的全过程,为今后从事相应打下基础。2、课程设计正文2.1设计所需材料电阻:1K (1个) 330(1个)5.1k(6个) 10k(7个)按键开关:7个电容:30pF (2个)电解电容:10F(1个)晶振:6MHZ(1个)共阴极数码管:2个底座:DIP40(1个)DIP20(1个)万能电路板:1个蜂鸣器:1个AT89C51(1片)2.2设计任务和要求4个数字键,分别是14,1个“存储键”,1个“回显键”。开始时,显示“00”,录入一个十位数字,按下“存储键”可存储内存,设定最多可存储10个数字组合的。要求键入数字时,依次从右边显示器开始显示。当按下“回显键”,则按照录入顺序,各数据依次显示1秒钟。当存储数据超过10,则以蜂鸣器报警。所需器件有:按键,两个数码管。2.3设计方案2.3.1硬件系统设计2.3.1.1AT89S51说明 图2.3-1 AT89S51的引脚图AT89C51按功能划分有如下功能部件组成:(1)微处理器CPU :AT89C51单片机中有1个8位的CPU,与通用的CPU基本相同,同样包含了运算器和控制器两大部分,只是增加了面向控制的处理功能,不仅可以处理字节数据,还可以进行为变量的处理。(2)数据存储器RAM:片内位128B,片外最多可外扩64KB.数据存储器来存储单片机运行期间的工作变量、运算的中间结果、数据暂存和缓冲、标志位等。片内的128B的RAM,以高速RAM的形式集成在单片机内,可以加快单片机的运行速度,降低功耗。(3)程序存储器ROM/EPROM:为4KB的ROM,片外可扩展只读存储器,最多扩至64KB(4)4个8位并行I/O口,P0,P1,P2,P3:位4个并行8位I/O口(5)1个串行口:1个双全工的串行口,具有四种工作方式(6)2个16位定时器/计数器:具有4钟工作方式(7)中断系统:具有5个中断源,2个中断优先级(8)特殊功能功能寄存器SFR.:共有21个,用于CPU对片内各功能部件进行管理、控制、监视。实际上是一些控制寄存器和状态寄存器,是一个具有特殊功能的RAM区AT89C51的引说明和功能说明如下:XTAL1 :接外部晶振的一个引脚。在单片机内部,它是一反相放大器输入端,这个放大器构成了片内振荡器。它采用外部振荡器时,些引脚应接地。 XTAL2 :接外部晶振的一个引脚。在片内接至振荡器的反相放大器输出端和内部时钟发生器输入端。当采用外部振荡器时,则此引脚接外部振荡信号的输入。 RST :AT89C51的复位信号输入引脚,高电位工作,当要对芯片又时,只要将此引脚电位提升到高电位,并持续两个机器周期以上的时间,AT89C51便能完成系统复位的各项工作,使得内部特殊功能寄存器的内容均被设成已知状态。 P0口(P0.0P0.7)是一个8位漏极开路双向输入输出端口,当访问外部数据时,它是地址总线(低8位)和数据总线复用。外部不扩展而单片应用时,则作一般双向IO口用。P0口每一个引脚可以推动8个LSTTL负载。 P2口(P2.0P2.7)口是具有内部提升电路的双向I/0端口(准双向并行I/O口),当访问外部程序存储器时,它是高8位地址。外部不扩展而单片应用时,则作一般双向IO口用。每一个引脚可以推动4个LSTL负载。 P1口(P1.0P1.7)口是具有内部提升电路的双向I/0端口(准双向并行I/O口),其输出可以推动4个LSTTL负载。仅供用户作为输入输出用的端口。 P3口(P3.0P3.7)口是具有内部提升电路的双向I/0端口(准双向并行I/O口),它还提供特殊功能,包括串行通信、外部中断控制、计时计数控制及外部随机存储器内容的读取或写入控制等功能2.3.1.2LED接口电路存数可回显设计需要2位7段码LED显示电路。用80C51单片机扩展2位7段码LED显示器,用80C51单片机P0口作为段码(字形代码)数据口,P2.0和P2.1作为位控制端口。接至各数码显示器的共阴极端。在段码数据口并联10K的上拉电阻以提供足够大的电流。逻辑电路结构如下: 2.3.1.3 键盘接口电路简易的独立式键盘。用80C51单片机连接键盘,P1作为I/O输入端口,各按键均采用了上拉电阻,以保证在按键断开时,各个I/O口有确定的高电平。逻辑电路结构如下:2.3.1.4时钟及控制接口电路逻辑电路结构如下:2.3.1.5存数可回显逻辑电路图将LED接口电路,键盘接口电路和时钟及控制接口电路结合到一起就是存数可回显的逻辑电路图,如下:2.3.1.6存数可回显逻辑电路PCB封装图2.3.2系统设计2.3.2.1LED显示程序设计LED显示器由七段发光二极管组成,排列成8字形状,因此也成为七段LED显示器,器排列形状如下图所示:为了显示数字或符号,要为LED显示器提供代码,即字形代码。七段发光二极管,再加上一个小数点位,共计8段,因此提供的字形代码的长度正好是一个字节。存数可回显用到的数字14的共阴极字形代码如下表:04七段数码管共阴级字形代码显示字型gfedcba段码001111113fh1000011006h210110115bh310011114fh4110011066h2位LED显示的程序框图如下:2.3.2.2读键输入程序设计 为了实现键盘的数据输入功能和命令处理功能,每个键都有其处理子程序,为此每个键都对应一个码键码。为了得到被按键的键码,现使用行扫描法识别按键。其程序框图如下:2.3.2.3录入存储回显程序设计 程序设计:开始时,显示“00”,录入一个十位数字,按下“存储键”可存储内存,设定最多可存储10个数字组合的。要求键入数字时,依次从右边显示器开始显示。当按下“回显键”,则按照录入顺序,各数据依次显示1秒钟。当存储数据超过10,则以蜂鸣器报警。程序框图如下:开始初始化参数按键扫描键码是?数字键存储键回显键LED显示“00”存入存储区是否有键按下?YN存储数据R1=10?Y蜂鸣器报警N禁止蜂鸣器存储数据存入显示区LED动态显示转到按键扫描2.3.2.4存数可回显设计程序 ORG 0000HLJMP MAINORG 000BH ;T0的中断入口LJMP XIANSHIORG 0100HMAIN: MOV SP,60H MOV R1,#01H MOV P0,#3FHSETB P2.0CLR P2.1 MOV TMOD,#01H ;设置T0为方式1MOV TH0,#0D8HMOV TL0,#0F0HSETB EASETB ET0SETB TR0 MOV 43H,#3FH ;十位数字存储区MOV 42H,#3FH ;个位数字存储区MOV R0,#20HMOV R2,#01HKEYIN: MOV A,P1 ;按键扫描 ANL A,#3FH MOV 45H,A LCALL DELAY10 MOV A,P1 ANL A,#3FH CJNE A,45H,KEYIN CJNE A,#3EH,KEY2 MOV R0,#06H ;s1键按下 INC R0 CJNE R2,#01H,CNN1 DEC R2 MOV 42H,R0AJMP KEYIN CNN1: MOV 43H,42H MOV 42H,R0 MOV R2,#01H INC R1 CJNE R1,#0BH,KEYIN SETB P3.5 LJMP KEYINKEY2: CJNE A,#3DH,KEY3 ;s2键按下 MOV R0,#5BH INC R0 CJNE R2,#01H,CNN2 DEC R2 MOV 42H,R0 AJMP KEYIN CNN2:MOV 43H,42H MOV 42H,R0 MOV R2,#01H INC R1 CJNE R1,#0BH,KEYIN SETB P3.5 LJMP KEYINKEY3: CJNE A,#3BH,KEY4 ;s3键按下 MOV R0,#4FH INC R0 CJNE R2,#01H,CNN3 DEC R2 MOV 42H,R0 AJMP KEYIN CNN3:MOV 43H,42H MOV 42H,R0 MOV R2,#01H INC R1 CJNE R1,#0BH,KEYIN SETB P3.5 LJMP KEYINKEY4: CJNE A,#37H,KEY5 ;s4键按下 MOV R0,#66H INC R0 CJNE R2,#01H,CNN4 DEC R2 MOV 42H,R0 AJMP KEYIN CNN4:MOV 43H,42H MOV 42H,R0 MOV R2,#01H INC R1 CJNE R1,#0BH,KEYIN SETB P3.5 LJMP KEYIN KEY5: CJNE A,#2FH,KEY6 ;s5键按下 MOV 42H,#00H MOV 43H,#00H LJMP KEYINKEY6: CJNE A,#1FH,HUIXIAN ;s6键按下HUIXIAN: CLR P3.5 ;回显子程序 MOV 43H,20H MOV 42H,21H LCALL DELAY1 CJNE R1,#01H,ZHUANYI1 LJMP KEYINZHUANYI1: MOV 43H,22H MOV 42H,23H LCALL DELAY1 ;一秒的延时调用 CJNE R1,#02H,ZHUANYI2 LJMP KEYINZHUANYI2: MOV 43H,24H MOV 42H,25H LCALL DELAY1 CJNE R1,#03H,ZHUANYI3 LJMP KEYINZHUANYI3: MOV 43H,26H MOV 42H,27H LCALL DELAY1 CJNE R1,#04H,ZHUANYI4 LJMP KEYINZHUANYI4: MOV 43H,28H MOV 42H,29H LCALL DELAY1 CJNE R1,#05H,ZHUANYI5 LJMP KEYINZHUANYI5: MOV 43H,30H MOV 42H,31H LCALL DELAY1 CJNE R1,#06H,ZHUANYI6ZHUANYI6: MOV 43H,32H MOV 42H,33H LCALL DELAY1 CJNE R1,#07H,ZHUANYI7 LJMP KEYINZHUANYI7: MOV 43H,34H MOV 42H,35H LCALL DELAY1 CJNE R1,#08H,ZHUANYI8 LJMP KEYINZHUANYI8: MOV 43H,36H MOV 42H,37H LCALL DELAY1 CJNE R1,#09H,ZHUANYI9 LJMP KEYINZHUANYI9: MOV 43H,38H MOV 42H,39H LCALL DELAY1 LJMP KEYINDELAY10: MOV R7,#200 ;10毫秒延时子程序 DEL1: MOV R6,#11 NOP DEL2: DJNZ R6,DEL2 DJNZ R7,DEL1 RET DELAY1: MOV R3,#0H ;1秒延时子程序 MOV R4,#0H MOV R5,#04H L1: DJNZ R3,L1 DJNZ R4,L1 DJNZ R5,L1 RETXIANSHI: MOV TH0,#0D8H ;T0中断服务子程序 MOV TL0,#0F0H JB P2.0,LOVE MOV P0,42H CLR P2.1 SETB P2.0 LJMP JISHULOVE: MOV P0,43H CLR P2.0 SETB P2.1 JISHU: RETI END2.4软件与硬件结合调试硬件调试:硬件调试是利用DVCC实验与开发系统、基本测试仪器(万用表、示波器等),检查用户系统硬件中存在的故障。硬件调试可分为静态调试与动态调试两步进行。静态调试:是在用户系统未工作时的一种硬件检测。第一步:目测。检查外部的各种元件或者是电路是否有断点。第二步:用万用表测试。先用万用表复核目测中有疑问的连接点,再检测各种电源线与地线之间是否有短路现象。第三步:加电检测。给板加电,检测所有插座或是器件的电源端是否符合要求的值 第四步:联机检查。因为只有用单片机开发系统才能完成对用户系统的调试。 动态调试:是在用户系统工作的情况下发现和排除用户系统硬件中存在的器件内部故障、器件连接逻辑错误等的一种硬件检查。动态调试的一般方法是由近及远、由分到合。由分到合是指首先按逻辑功能将用户系统硬件电路分为若干块,当调试电路时,与该元件无关的 器件全部从用户系统中去掉,这样可以将故障范围限定在某个局部的电路上。当各块电路无故障后,将各电路逐块加入系统中,在对各块电路功能及各电路间可能存在的相互联系进行调试。由分到合的调试既告完成。由近及远是将信号流经的各器件按照距离单片机的逻辑距离进行由近及远的分层,然后分层调试。调试时,仍采用去掉无关元件的方法,逐层调试下去,就会定位故障元件了。软件调试:软件调试是通过对程序的汇编、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。当加电后,晶体管显示的为00,按两个数字键,依次从右边显示器开始显示,录入一个十位数字,按下“存储键”可存储内存,设定最多可存储10个数字组合的。当按下“回显键”,则按照录入顺序,各数据依次显示1秒钟。当存储数据超过10,则以蜂鸣器报警。与要求相同,调试成功。3.总结我的课题是存数可回显设计,对于我们这些实践中的新手来说,这是一次考验。虽然课程设计完

温馨提示

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

评论

0/150

提交评论