毕业论文--基于单片机的电脑时钟设计.doc
《毕业论文--基于单片机的电脑时钟设计.doc》由会员分享,可在线阅读,更多相关《毕业论文--基于单片机的电脑时钟设计.doc(22页珍藏版)》请在咨信网上搜索。
电子工程系 毕 业 设 计 任 务 书 装 订 线 专业:电子信息工程技术 年级: 2005 姓名 学号 指导教师(签名) 毕业设计题目 基于单片机的电脑时钟设计 任务下达日期 2007年1月10日 设计提交期限 2008年6月10 日 设计主要内容 我们设计的是基于单片机的电脑时钟,采用的是键盘输入和LED显示方案。本硬件电路的核心MCS-51单片机,我们选用89C51,没有外部扩展RAM。系统采用6位共阴极数码管从左到右依次显示时、分、秒,采用24小时计时。采用3×4键盘,采用8155作为键盘/显示接口电路。系统工作流程有时间显示,时间调整,闹钟设置/启闹/停闹。软件设计是采用单片机软件设计,它的过程是描述实现硬件原理的过程。软件模块设计有主程序模块,计时模块,时间设置与闹钟设置模块,显示模块,键盘扫描,定时 主要技术参数指标 定时器初值为3CB0H,即TH0=3CH,TL0=0B0H,系统使用的是12MHz,定时器的最大定时时间为65.536ms。时钟的小时,分钟,秒单元各占一个字节键盘占6个字节。 成果提交形式 1.论文 2.实物 设计进度安排 第一周拟定基于单片机的电脑时钟的设计的组成框图 第二到第五周设计各单元电路,并组合成总电路 第六至十周制作电路板并进行逻辑功能测试 第十一至十二周撰写毕业设计论文 教研室 意见 签名: 200 年 月 日 系主任 意见 签名: 200 年 月 日 电子工程系 毕 业 设 计 开 题 报 告 姓 名 学 号 指导教师 毕业设计题目 基于单片机的电脑时钟设计 同组者 设计目的意义 通过毕业设计对自己在大学三年里所学的电子专业知识进行系统掌握,提高自己的电子动手能力,以加强对自己的就业岗位尽快熟悉. 方案论证 1. 计时方案 采用实时时钟芯片,如DS1287,DS12887,DS1302.也可以单片机内部的可编程定时器,利用单片机内部的定时/计数器进行中断定时,配合软件延时实现时、分,秒的计时.该方案节省硬件成本,但程序设计较为复杂. 2.LED显示方案. 有动态显示和静态显示,静态显示优点:显示亮度有保证,单片机CPU的开销小,节约CPU的工作时间.LED动态显示硬件连接简单,但动态扫描的显示方式需要占用CPU较多的时间,在单片机没有太多实时测控任务的情况下可以采用.本系统需要采用6位LED数码管来分别显示小时,分,秒,因数码管较多,故本系统选择动态显示方案. 时间安排 第一周拟定液晶显示温控报警电路的组成框图 第二到第五周设计各单元电路,并组合成总电路 第六至十周制作电路板并进行逻辑功能测试 第十一至十二周撰写毕业设计论文 指导教师 意见 签字: 200 年 月 日 审核小组意见 组长签字: 200 年 月 日 目 录 第一章 引言 ................................................7 第二章 方案设计与论证.......................................7 2.1 测量部分.............................................8 2.1.1 方案一...........................................8 2.1.2 方案二...........................................8 2.2 主控制部分...........................................8 2.2.1 方案一...........................................8 2.2.2 方案二...........................................8 2.3 显示部分.............................................8 2.3.1 方案一...........................................8 2.3.2 方案二...........................................9 2.4 总结.................................................9 第三章 各电路的设计.........................................9 3.1 单片机AT89S51电路...................................9 3.2 键盘电路............................................13 3.3 加热器控制电路......................................14 3.4 温度测试电路........................................14 3.5 1602LCD显示电路.....................................18 第四章 程序设计........................................... 21 4.1 主程序..............................................21 4.2 读出温度子程序......................................21 4.3 温度转换命令子程序..................................22 4.4 计算温度子程序......................................22 4.5 显示数据刷新子程序..................................23 第五章 测试方法和测试结果..................................23 5.1 测试环境............................................23 5.2 测试方法............................................23 5.3 测试结果........................................... 23 5.4 测试结果分析....................................... 23 第六章 总结................................................24 【参考文献】.......................................... 25 附:1 使用说明....................................... 25 2 原理、PCB图.................................... 26 3 源程序......................................... 27 前言 单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。由于具有上述优点,在我国,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面,而51单片机是各单片机中最为典型和最有代表性的一种。这次毕业设计通过对它的学习、应用,以AT89S51芯片为核心,辅以必要的电路,设计了一个简易的电子时钟,它由直流电源供电,通过数码管能够准确显 数字时钟是现代社会应用广泛的计时工具,在航天、电子等科研单位,工厂、医院、学校等企事业单位,各种体育赛事及至我们每个人的日常生活中都发挥着重要的作用。本系统是基于AT89C51单片机设计的一个具有六位LED显示的数字时实时钟,采用独立式按键进行时间调整,同时引入一个内部充电电源在停止外部供电时,仍具有内部计时的功能。该系统同时具有硬件设计简单、工作稳定性高、价格低廉等优点 电路组成及工作原理 本文数字时钟设计原理主要利用AT89C51单片机,由单片机的P0口控制数码管的位显示, P2口控制数码管的段显示,P1口与按键相接用于时间的校正。在设计中引入两个电源电路,一个是外部电源系统产生+5V电压,用于给CPU及显示电路提供工作电压,这是数字时钟正常工作时的总电压。另一个是备用电源,当外部电源关断时由它提供工作电压使CPU继续工作,利用单片机的空闲方式降低功耗,数码管不显示但能使计时保持正常,不会造成掉电时计时清零的现象。针对内外两个电源情况又加入了MC34064电压检测电路,用于时实判断是哪各电源在工作。 整个系统工作时,秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,将标准秒信号送入“秒计数器”,“秒计数器”采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。“分计数器”也采用60进制计数器,每累计60分钟,发出一个“时脉冲”信号,该信号将被送到“时计数器”。“时计数器”采用24进制计时器,可实现对一天24小时的累计。显示电路将“时”、“分”、“秒”计数器的输出,通过六个七段LED显示器显示出来。校时电路是直接加一个脉冲信号到时计数器或者分计数器或者秒计数器来对“时”、“分”、“秒”显示数字进行校对调整。 基于单片机的电脑时钟设计 除了专用的时钟,计时显示牌外,许多应用系统常常需要带有实时时钟显示,如工业过程控制系统,各种智能化仪表以及家用电器等。实现实时时钟显示的方式多种多样,应根据系统要求及成本综合选用。 (一) 系统设计要求 设计一个具有如下功能的基于单片机的电脑时钟: (1) 自动计时,并用6个LED自动显示小时,分钟,秒; (2) 具备时间调整功能; (3) 具备定时启闹功能; (4) 精度要求一天的时间误差不超过1秒钟。 (二) 总体方案设计 1. 计时方案 方案1:采用实时时钟芯片。 现在市场上有很多实时时钟集成电路,如DS1287,DS12887,DS1302等。这些实时时钟芯片具备年,月,日,时,分,秒计时功能和多点定时功能,计时数据的更新每秒自动进行一次,不需要程序干预。因此,在工业实时测控系统中多采用这一类专用芯片来实现实时时钟功能。 方案2:使用单片机内部的可编程定时器。 利用单片机内部的定时/计数器进行中断定时,配合软件延时实现时,分,秒的计时。该方案节省硬件成本,但程序设计较为复杂。 2. LED显示方案 对于实时时钟而言,显示显然是另一个重要的环节。通常LED显示有两种方式:动态显示和静态显示 静态显示的优点是程序简单,显示亮度有保证,单片机CPU的开销小,节约CPU的工作时间。但占用I/O口线多,每一个LED都要占用一个I/O口,硬件开销大,电路复杂。需要几个LED就必须占用几个并行I/O口,比较适用于LED数量较少的场合。当然当LED数量较多的时候,可以使用单片机的串行口通过移位寄存器的方式加以解决,但程序编写比较麻烦。 LED动态显示硬件连接简单,但动态扫描的显示方式需要占用CPU较多的时间,在单片机没有太多实时测控的情况下可以采用 本系统需要采用6位LED数码管来分别显示小时,分,秒,因数码管个数较多,故本系统选择动态显示方式。 3.键盘输入方案 单片机的键盘结构可以采用独立式按键和矩阵式键盘两种。 独立式按键指直接用I/O口线构成单个按键电路。每个独立式按键单独占用一位I/O口线。电路配置灵活,软件结构简单。但在按键数量较多时,I/O线浪费较大。如果应用系统中的键较少,就可采用简单的键盘接口电路。 在按键比较多的时候,采用矩阵式键盘比独立式键盘要节省很多I/O线。一个端口(如P1口)就可以构成4×4=16个按键,比这直接将端口线用于键盘多出了一倍。 本系统要设置12键,其中10个键用于输入0~9十个数字,还有两个键用于调整时间和设置闹钟时间。因此本系统采用3×4的矩阵式键盘。 (三) 硬件设计 1. 电路原理图 图13-1是本电脑时钟的硬件电路。 本硬件电路的核心是MCS-51单片机,我们选用89C51,因为其内部带有4KB的Flash ROM,我们的程序不是很长,4KB够用,无须扩展外部程存储器,并且本系统也没有大量的数据需要运算和存储,现有的128B片内RAM已能满足要求,也不必扩展RAM。 系统采用6位共阴极数码管从左到右依次显示时,分,秒,采用24小时计时。 系统采用3×4键盘共12个键,其中10个键用于输入0~9十个数字,还有两个键用于调整时间和设置闹钟时间。因此本系统采用3×4的矩阵式键盘。 系统采用8155作为键盘/显示接口电路。其中利用8155的A口中的6位(PA0~PA5)作为6位LED显示的位码输出口,B口则作为字型码输出口,C口的低三位为键盘行线输入口,A口中的低4位(PA0~PA3)同时用作键盘的列扫描口。 系统采用在P1.0上接一个发光二极管,通过发光二极管的亮,灭来模拟闹钟功能。 由此可得8155内部各端的地址分配: 控制寄存器:8000H,定义为PORT; A口:8001H,定义为PORTA; B口:8002H,定义为PORTB; C口:8003H,定义为PORTC。 2. 系统工作流程 按设计要求,我们规划了电脑时钟的工作流程如下: 时间显示:上电后或手动复位后,系统自动从00:00:00开始计时,并利用LED动态显示当前时间。 时间调整:在正常计时状态下,可以设定当前时间。按下C/R键,系统停止计时,进入时间设定状态,系统保持原有显示,等待键入当前时间。按下0到9数字键可以顺序设置时,分,秒,并在相应LED管上显示设置值,直至6位设置完毕。系统将自动由设定后的时间开始计时显示。 闹钟设置/启闹/停闹:在正常计时状态下,也可以设定当前时间。按下ALM键,系统继续计时,显示00:00:00,进入闹钟设置状态,等待键入启闹时间。按下0到9数字键可以顺序进行相应的时间设置,并在相应LED管上显示设置值,直至6位设置完毕。这将启动定时启闹功能,并恢复时间显示。定时时间到,发光二极管点亮,直至重新按下ALM键熄灭,并取消闹钟设置。 (四) 软件设计 单片机软件设计过程就是描述实现硬件原理的过程。较复杂的程序应该注意对单片机片内RAM单元的合理分配。注意编程前先画出程序流程图再编程。 1. 系统资源分配 为了方便编写程序,增加程序的可读性,我们将软件设计中用到的片内RAM各单元及标志以符号表示,并在程序中定义。 软件片内RAM及标志位分配如表: 表:软件片内RAM标志位分配表 地址 功能 30H~35H 显示缓冲区,小时,分,秒 DISP0 ~DISP5 00H 3CH~3FH 计时缓冲区,时,分,秒,100ms HOUR,MIN,SEC,MSEC 00H 40H~42H 闹钟值寄存区,时,分,秒 AHOUR,AMIN,ASEC FFH 50H~7FH 堆栈区 0 PSW.5 计时显示允许位(1:禁止,0:允许) F0 0 PSW.1 闹钟标志位(1:正在闹响,0:未 F1 3. 软件模块设计 根据上述电脑时钟的工作流程,软件设计可分为以下几个功能模块: (1) 主程序模块.主程序主要用于系统初始化:设置计时缓冲区,闹钟值寄存区的位置及初值,设置8155的工作方式,定时器的工作方式和计数初值等参数.主程序流程图如下图所示: 停闹,清除闹钟标志 地址指针指向计时缓冲区 地址指针指向闹钟寄存区 调用时间设置/闹钟定时程序 闹钟标志=1? 是LAM键? 开始 8155,T0,数据缓冲区,标志位初始化 调用定时比较程序 调用键盘扫描程序 是C/R键? (2) 计时模块.即定时器0中断服务子程序,完成刷新计时缓冲的功能。 计时模块流程图如下: 60s到? 秒单元加1 保护现场 重装定时器初值 循环次数减1 满20次? 返回 恢复现场 小时单元清0 24小时到? 分单元清0,小时单元加1 60分到? 秒单元清0,分单元加1 系统使用12MHz的晶振,假设定时器0工作在方式1,则定时器的最大定时时间为65.536ms,就是最小的”秒”也比这个时间长的多.因此本系统采用定时器与软件循环相结合的定时方法.设定时器0工作在方式1,每隔50ms溢出中断一次,则循环中断20次延时时间为1s,上述过程重复60次为1分,分计时60次为1小时,小时计时24次则时间重新回到00:00:00。 因定时器0工作在方式1,则50ms定时对应的定时器初值为:216-50000=15536=3CB0H,即TH0=3CH,TL0=0B0H。这里有两个问题需要重视: 第一,定时器每隔50ms就会计数溢出,并产生中断请求,但CPU并不一定立即响应中断,而可能需要延迟一个中断响应时间之后才能响应中断,对于只有一个中断源来说,中断响应时间大约为3到8个机器周期。显然,这将在定时时间中加入额外的延时时间,导致计时误差。为了保证计时精度,必须采取措施进行补偿。一般采用增大重装的定时器初值的方法来减少定时器0定时时间。具体增加多少需要经过调试来确定。经过测试,定时器0重新装入的计数初值设为3CB7H到3CBFH,可以满足精度要求。 第二,MCS-51单片机只有二进制加法指令,而时间是按十进制递增,因此用加法指令后必须进行二-十进制转换。 (3)时间设置与闹钟设置模块。该模块由键盘输入相应的数据来设置当时间与定时启闹时间。程序通过调用一个键盘设置子程序通过键盘扫描将键入的6位时间值送入显示缓冲区。 设置时间后,时钟要从这个时间开始计时,而小时,分钟,秒单元各占一个字节(3CH,3DH,3EH,),键盘(30H到35)占6个字节。因此程序中要调用一个合字子程序将显示缓冲区中的6位BCD码合并为3位压缩BCD码,并送入计时缓冲区或闹钟值寄存区,作为当前计时起始时间或闹钟定时时间。 该程序同时要检测输入时间值的合法性,若键盘输入的小时值大于23,分,秒值59,则不合法,将取消本次设置,清零重新开始计时。设置与闹钟时间设置流程如下: 保护现场 调用合字子程序COMB 调用键盘设置子程序KEYIN 是 返回 恢复现场 键盘设置子程序的流程图如下: 保护现场 显示缓冲区首地址送R0键盘输入次数送R7 调用键盘扫描程序KEYSCAN 键号送@R0 显示缓冲区地址加1 循环次数减1 循环结束 恢复现场 返回 显示模块.该模块完成小时,分钟,秒6位LED的动态显示.因为显示为6位分,秒的十位,个位分别占有1字节),而计时是3个字节单元,为此,必须将3字节缓冲区中的时,分,秒压缩BCD码拆分为6字节BCD码,并送入显示缓冲区中。 按下调整时间或闹钟设置键后,在6位LED应该显示键入的不显示当前时间。为此,我们设置了一个计时显示允许标志位F0,在时间/闹钟设置F0=1,不调用刷新显示缓冲区的子程序。 显示程序流程图如下: 保护现场 允许显示? 动态扫描显示 返回 调用拆字程序 (5)键盘扫描。该模块用来判断是否有键按下,无键按下则循环等待;有键按下则求取键号送累加器返回。程序中的去抖延时都用显示程序来代替,从而保证随时刷新显示。 键盘扫描程序流程图如下:扫描键盘 有键按下? 调用显示程序调用定时比较程序 有键按下? 求取键号 返回 调用显示程序 调用定时比较程序 调用显示程序 调用定时比较程序 (6) 定时比较模块。该模块用来将当前时间(计时缓冲区的值)与预设的启闹时间(闹钟设置寄存区中的值)比较,二者完全相同时,点亮发光二极管,并置位闹钟标志位。重新按下ALM键停闹,熄灭发光二极管。 定时比较程序流程图如下图: 保护现场 、 闹钟值与计时值秒单元相等 闹钟值与计时值分单元相等? 闹钟值与计时值小时单元相等? 起闹设置闹钟标志 恢复现场 返回 2. 各模块的源程序 ORG 0000H LJMP MAIN ORG 000BH LJMP CLOCK ORG 0030H PORT EQU 8000H; PORTA EQU 8001H PORTB EQU 8002H PORTC EQU 8003H DISP0 EQU 30H; DISP1 EQU 31H DISP2 EQU 32H DISP3 EQU 33H DISP4 EQU 34H DISP5 EQU 35H HOUR EQU 3CH; MIN EQU 3DH SEC EQU 3EH MSEC EQU 3FH AHOUR EQU 40H; AMIN EQU 41H ASEC EQU 42H F1 BIT PSW.1 MAIN: MOV SP,#50H MOV DPTR,#PORT MOV A,#03H MOVX @DPTR, A CLR F1 CLR F0 MOV AHOUR, #0FFH MOV AMIN, #0FFH MOV ASEC, #0FFH MOV R7, #10H MOV R0, #DISP0 CLR A LOOP: MOV @R0, A INC R0 DJNZ R7, LOOP MOV TMOD, #01H MOV TL0, #0B7H MOV TH0, #3CH SETB TR0 SETB EA SETB ET0 BEGIN: LCALL ALARM LCALL KEYSCAN CJNE A, #0AH, NEXT1 CLR TR0 MOV R1, #AHOUR LJMP ABC NEXT1: CJNE A, #0BH, BEGIN JB F1, NEXT2 MOV R1, #AHOUR ABC: SETB F0 LCALL MODIEY SETB TR0 CLR F0 LJMP BEGIN NEXT2: SETB P1.0 CLR F1 LJMP BEGIN 时间设置/闹钟定时模块 MODIFY: ACALL KEYIN LCALL COMB RET KEYIN: PUSH PSW PUSH ACC SETB RS1 MOV R0, #DISP0 MOV R7, #06H L1: CLR RS1 LCALL KEYSCAN SETB RS1 CJNE A; #0AH, L2 L2: JNC L1 MOV @R0, A INC R0 DJNZ R7, L1 POP ACC POP PSW CLR RS1 RET 键盘扫描子程序 KEYSCAN: ACALL TEST JNZ REMOV LCALL ALARM LJMP KEYSCAN LJMP KEYSCAN REMOV: ACALL DISPLAY LCALL ALARM LCALL TEST JNZ LIST LCALL DISPLAY LCALL ALARM LJMP KEYSCAN LIST: MOV R2, #0FEH MOV R3, #00H LINE0: MOV DPTP, #PORTA MOV A, R2 MOVX @DPTR, A MOV DPTR, #PORTC MOVX A, @DPTR JB ACC.0, LINE1 MOV A, #00H LJMP TRYK LINE1: JB ACC.1, LINE2 MOV A, #04H LJMP TRYK LINE: JB ACC.2, NEXT MOV A, #08H LJMP TRYK NEXT: INC R3 MOV A, R2 JNB ACC.3, EXIT RL A MOV R2, A AJMP LINE0 EXIT: AJMP KEYSCAN TRYK: ADD A, R3 PUSH ACC LETK: LCALL TEST JNZ LETK POP ACC RET TEST: MOV DPTR, #PORTA MOV A, #00H MOVX @DPTR, A MOV DPTR, #PORTC MOVX A, @DPTR CPL A ANL A, #07H RET ;*********************显示之程序********************************* DISPLAY: JB F0, DISP LCALL SEPA DISP: PUSH PSW PUSH ACC SETB RS0 MOV DPTR, #PORTA MOV A, 0FFH MOVX @DPTR, A MOV R0, #DISP0 MOV R7, #00H MOV R6, #06H MOV R5, #OFEH DISS1: MOV DPTR, #TAB MOV A,@R0 MOVC A,@A+DPTR MOV DPTR, #PORTB MOVX @DPTR, A MOV DPTR, #PORTA MOV A, R5 MOVX @DPTR, A HERE: DJNZ R7, HERE INC R0 MOV A, R5 RL A MOV R5, A DJNZ R6, DISS1 CLR RS0 PO ACC POP PSW RET :************************合字子程序****************************** COMB: MOV R0, #DISPI LCALL COMB1 CJNE A, #24H, CHK CHK: JNC EXIT1 MOV @R1, A INC R1 MOV R0, #DISP3 ACALL COMB1 CJNE A, #60H, CHK1 CHK1: JNC EXIT1 MOV @R1, A INC R1 MOV R0 #DISP5 LCALL COMB1 CJNE A, #60H, CHK2 CHK2: JNC EXIT1 MOV @R1, A RET EXIT1: LJMP MAIN COMB1: MOV A,@R0 ANL A, #0FH MOV 43H, A DEC R0 MOV A,@R0 ANL A, #0FH SWAP A ORL A, 43H RET ;*******************拆字子程序******************************* SEPA: PUSH PSW PUSH ACC SETB RS0 MOV R0, #DISPS MOV A, SEC ACALL SEPA1 MOV A, MIN ACALL SEPA1 POP ACC POP PSW CLR RS0 RET SEPA1: MOV 44H, A ANL A, #OFH MOV @RO, A DEC R0 MOV A, 44H ANL A, #0F0H SWAP A MOV @R0, A DEC R0 RET ;*****************************定时比较模块****************************** ALARM: MOV A, ASEC CJNE A, SEC, BACK MOV A, AMIN CJNE A, MIN, BACK MOV A, AHOUR CJNE A, HOUR, BACK CLR P1.0 SETB F1 BACK: RET ;************************定时器0中断服务程序*********************** CLOCK: MOV TL0, #0B7H MOV TH0, #3CH PUSH PSW PUSH ACC INC MSEC MOV A, MSEC CJNE A, #14H, DONE MOV MSEC, #00H MOV A, SEC ADD A, #01H DA A MOV SEC, A CJNE A, #60H, DONE MOV SEC, #00H MOV A, MIN ADD A, #01H DA A MONV MIN, A CJNE A, #60H, DONE MOV MIN, #00H MOV A, HOUR ADD A, #01H DA A MOV HOUR, A CJNE A, #24H, DONE MOV HOUR, #001 DONE: POP ACC POP PSW RETI TAB: DB 3FH, 06H, 5BH, 4FH, 66H, 6DG, 7DH, 07H, DB 7FH, 6FH, 77H, 7CH, 39H, 5EH, 79H, 71H END (五) 系统调试和脱机运行 完成了硬件设计,制作和软件的编写之后,必须进行系统调试。系统调试包括硬件调试和软件调试两个部分。不过,作为一个计算机系统,其运行是软硬件相结合的,也就软件和硬件是不能分开的,硬件的调试常常需要利用调试软件,而软件的调试也可能需要通过对硬件的控制和测试来进行。 1. 硬件调试 硬件调试的主要任务是排除硬件故障,其中包括设计错误的工艺性故障。 (1) 脱机检查。用万用表逐步按照电路原理图检查电路板中所有器件的各个引脚,尤其是各器件电源的连接是否正确。检查数据总线,地址总线和控制总线连接是否在应该短路而断路或者应该断路而短路等不正确的现象。检查各开关按键是否能正确开关,是否连接正确,各限流电阻是否短路等。 (2) 联机检查。暂时将电路板上89C51芯片拔掉,将仿真器的40芯防真插头插入89C51芯片插座进行调试,来检测以8155芯片为核心的键盘/显示接口是否能满足设计要求。这些可以通过编写一些简单的设计软件来测试接口工作是否正常。例如可以设计一个软件,使8155的A、B口输出55H或AAH同时读C口,运行后用万用表检查相应端口电平是否为一高一低,在防真器中检查读入的C口低3位是否为1,如果正常表明8155工作正常。还可以设计一个使所有LED全部显示“8.”的显示程序来检查LED的好坏。如果运行测试结果与预期的不符合,很容易根据故障现象判断故障原因并采取针对性的措施排除故障。比如在测试LED时,如果有一个LED显示的是“6.”而不是“8.”,就应该知道该LED显示器的“b”脚连接不正确。 2. 软件调试 软件调试的任务是利用开发工具进行在线仿真调试,发现和纠正程序错误,同时也能发现一些硬件故障。 程序的调试应一个模块,一个模块的进行,否则程序太长,你根本无法找出程序无法运行的原因所在。首先应单独调试各功能子程序,检验程序是否能够实现预期的目的,接口电路的控制是否正常等,最后逐渐将各各子程序连接起来总调。连调需要注意的是,各模块间能否正确传递参数,特别要注意各各子程序现场保护和恢复。 (3) 脱机运行 软硬件调试成功后,就可以用编程器将程序固化到89C51芯片中的Flash ROM中,然后再插入到89C51芯片插座上,接上电源脱机运行。 既然软硬件都已经调试成功,按道理说脱机运行肯定成功,然而实际往往并非如此,仍然有可能出现已有故障。 (1) 系统不工作。 其原因主要有:晶振不起振。可能是晶振损坏,或晶振电路不正常。当使用防真头进行联机调试时,使用的晶振是防真器的晶振,用户系统电路板的晶振如果损坏,此时并不影响程序的执行,而仿真头拔出掉后显然就不行了。可以采用示波器检测XTAL2引脚来检查晶振。 /EA引脚没有接高电平(接地)。当仿真CPU是8031或8032时,连机调试时,电路板上的/EA引脚接地(或悬空,暂时不能接高电平),调试成功后,由于我们使用的是89C51芯片,必须将/EA引脚接回到高电平。 复位电路有问题。当使用仿真头调试时,RESET复位信号肯定是正常的,但将仿真头拔掉,换成89C51芯片后,如果系统的复位电路有问题的话,可能产生不了复位电- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业论文 基于 单片机 电脑 时钟 设计
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文