电子钟课程设计报告

时间:2024.3.31

目录

1 前言............................................................................................................................ 1

1.1 设计目的.......................................................................................................... 1

1.2设计要求 .......................................................................................................... 1

1.3 设计背景.......................................................................................................... 1

2 设计思想与原理 ....................................................................................................... 2

2.1 设计思想 ......................................................................................................... 2

 2.2 设计原理 ........................................................................................................ 2

2.2.1内容 ........................................................................................................ 2

2.2.2要求 ........................................................................................................ 2

2.3 设计环境 ......................................................................................................... 3

2. 4 设计所用设备 ................................................................................................ 3

3 系统硬件设计............................................................................................................ 4

3.1设计所用芯片及功能介绍.............................................................................. 4

3.1.1 8259芯片的内部结构及引脚............................................................. 4

3.1.2 8255芯片的内部结构及引脚............................................................. 5

3.1.3 8254芯片的内部结构及引脚............................................................. 6

3.2 电子钟硬件接线图 ........................................................................................ 7

4 系统软件设计............................................................................................................ 8

4.1软件工作流程图............................................................................................... 8

4.2 必要的程序清单.............................................................................................. 8

5 系统调试及结果...................................................................................................... 15

5.1 调试结果描述 ............................................................................................... 15

5.2  测试结果分析 ............................................................................................... 15

6 总结.......................................................................................................................... 16

参考文献...................................................................................................................... 17


1 前言

1.1 设计目的

通过本次课程设计学习和掌握计算机中常用接口电路的应用和设计技术,充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼。通过这次设计实践能够进一步加深对专业知识和理论知识学习的认识和理解,使设计者的设计水平和对所学知识的应用能力以及分析问题解决问题的能力得到全面提高。

掌握8255、8259、8254等芯片使用方法和编程方法,通过本次课程设计,学以致用,进一步理解所学的相关芯片的原理、内部结构、使用方法等,学会相关芯片实际应用及编程,系统中采用8086微处理器完成了电子秒表系统的独立设计。同时并了解综合问题的程序设计掌握实时处理程序的编制和调试方法,掌握一般的设计步骤和流程,使我们以后搞设计时逻辑更加清晰。

1.2设计要求 

利用8259A中断控制器、8254定时/计数器、8255A接口芯片以及键盘和数码显示电路,设计一个电子时钟,由8254中断定时,小键盘控制电子时钟的启停及初始值的预置。电子时钟的显示格式HH:MM:SS

由左到右分别为时、分、秒,最大记时59:59:59超过这个时间时分秒位都清零从00:00:00重新开始。

1.3 设计背景

微机控制即微型计算机原理控制。是集CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器。它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。微型计算机原理控制应用技术飞速发展,纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,这些都离不开微型计算机原理控制。我们组本次设计的题目是简单电子钟程序设计,用到了定时芯片8254,中断控制器8259和可编程并行芯片8255。在编辑1毫秒定时程序时,用到了中断控制器8259。


2 设计思想与原理 

2.1 设计思想 

本系统设计的电子时钟以8088微处理器作为CPU,用8254做定时计数器产生时钟频率,8255做可编程并行接口显示时钟和键盘电路,8259做中断控制器产生中断。在此系统中,8254的功能是定时,接入8254的CLK信号为周期性时钟信号。8254采用计数器0,工作于方式2,使8254的OUT0端输出周期性的负脉冲信号。即每隔20ms,8254的OUT0端就会输出一个负脉冲的信号,此信号接8259的IR2,当中断到50次数后,CPU即处理,使液晶显示器上的时间发生变化。 其中8259只需初始化ICW1,其功能是向8259表明IRx输入是电瓶触发方式还是上升沿触发方式,是单片8259还是多片8259。8259接收到信号后,产生中断信号送CPU处理。

 2.2 设计原理 

利用实验台上提供的定时器8254和扩展板上提供的8259以及键盘和数码显示电路,设计一个电子时钟,由8254中断定时,小键盘控制电子时钟的启停及初始值的预置。电子时钟的显示格式HH:MM:SS由左到右分别为时、分、秒,最大记时59:59:59超过这个时间时分秒位都清零从00:00:00重新开始。 

基本工作原理:每百分之一秒对百分之一秒寄存器的内容加一,并依次对秒、分、小时寄存器的内容加一,六个数码管动态显示时、分、秒的当前值。 

2.2.1内容 

利用实验台上提供的定时器8254和扩展板上提供的8259以及键盘和数码显示电路,设计一个电子时钟,由8254中断定时,小键盘控制电子时钟的启停及初始值的预置。 

电子时钟的显示格式HH:MM:SS由左到右分别为时、分、秒,最大记时59:59:59超过这个时间时分秒位都清零从00:00:00重新开始。 

2.2.2要求 

本实验要求设计一个定时显示装置,用六个数码管显示时间,用小键盘控制计时,设置和显示时间。系统一运行就从00点00分00秒开始计时,并在数码管上显示时、分、秒当前值,而且,可以用键盘设置当前时间。 

基本工作原理:每百分之一秒对百分之一秒寄存器的内容加一,并依次对秒、分、小时寄存器的内容加一;六个数码管动态显示时、分、秒的当前值。 

用开关(模块A5)控制计时和显示:

K1键(清除):显示00-00-00;

K2键(启动):显示XX-XX-XX变化的时间值;

K3键(停止):显示XX-XX-XX不变;

K4键(设置):设置XX-XX-XX时间值,时间值由模块B2开关输入。

2.3 设计环境 

PC机一台、windows XP系统、实验箱,导线若干。

2. 4 设计所用设备 

8254定时器:用于产生秒脉冲,其输出信号可作为中断请示信号送IRQ2。

8255并口:用做接口芯片,和小键盘相连。 

8259中断控制器:用于产生中断。 

LED:六个LED用于显示时:分:秒值。 小键盘:用于控制设置。


3 系统硬件设计

3.1设计所用芯片及功能介绍

3.1.1 8259芯片的内部结构及引脚

中断控制器8259是Intel公司专为控制优先级中断而设计开发的芯片。它将中断源优先排队、辨别中断源以及提供中断矢量的电路集中于一片中。因此无需附加任何电路,只需对8259编程,就可以管理8级中断,并选择优先模式和中断请求方式,即中断结构可以由用户编程来设定。在MD微机系统中,8259芯片工作于单片方式。8259引脚图如图3.1所示。

  图3.1 8259引脚图

各引脚功能如下:

D7-D0——八条双向数据线;                                

WR(低电平有效)——写输入信号;

RD(低电平有效)——读输入信号;

CS(低电平有效)——片选输入信号;

A0——地址信号;

INT——中断请求信号;

INTA(低电平有效)——中断响应信号;

CAS0-CAS2——级联信号,形成一条专用8259A总线,以便多片8259A的级联;

SP/EN——从编程/允许级联。在缓冲方式中,可用做输出信号以控制总线缓冲器的接收和发送。在非缓冲方式中,作为输入信号用于表示主片还是从片;

IR0-IR7——外部中断请求输入线。要求输入的中断请求信号是由低电平到高电平的上升沿(并保持高电平到CPU响应时为止)或者是高电平。

8259中断矢量地址与中断信号之间的关系如表3-1所示:

表3-1 8259中断矢量表

3.1.2 8255芯片的内部结构及引脚

8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种工作方式下工作:

方式2—双向选通输入/输出方式

8255引脚图如图3.2示,

 

图3.2 8255引脚图

各引脚功能如下:

D7~D0——与CPU侧连接的八条双向数据线;

WR(低电平有效)——写输入信号;

RD(低电平有效)——读输入信号;

CS(低电平有效)——片选输入信号;

A0、A1——片内寄存器选择输入信号;

PA7~PA0——A口外设双向数据线;

PB7~PB0——B口外设双向数据线;

PC7~PC0——C口外设双向数据线;

RESET——复位输入信号。

8255端口地址表如表3-2所示:

表3-2 8255端口地址表

3.1.3 8254芯片的内部结构及引脚

 8254是Intel公司生产的可编程计时器,具有以下功能:

(1)有3格独立的16位计数器

(2)每个计数器可按二进制或十进制计数;

(3)每个计数器可编程工作于6种不同工作方式;

(4)8254每个计数器允许的最高计数频率为10MHZ;

(5)8254有读回命令,除了可以读出当前计数单元的内容外,还可以读出状态寄存器的内容;

 图3.3是8254芯片的内部结构及引脚图,它是由与CPU的接口、内部控制电路和三个计数器组成。8254的工作方式如下述:

(1)方式0:计数到0结束输出正跃变信号方式。

(2)方式1:硬件可重触发单稳方式。

(3)方式2:频率放生器方式。

(4)方式3:方波发生器。

(5)方式4:软件触发选通方式。

(6)方式5:硬件触发选通方式。

 

图3.3  8254芯片引脚图

3.2 电子钟硬件接线图 

图3.4 电子钟硬件接线图


4 系统软件设计

4.1软件工作流程图

主程序流程图如图4.1所示,服务程序流程图如图4.2所示。

             

图 4.1主程序流程图                      图4.2 服务程序流程图

4.2 必要的程序清单

电子钟的程序:

control equ 0c003h              ;8253控制口

count0 equ 0c000h

count1 equ 0c001h

count2 equ 0c002h

md8255 equ 82h                  ;8255控制字

pa8255 equ 8000h

ctl8255 equ 8003h

outbit equ 08002h               ;位控制口

outseg equ 08004h               ;段控制口

icw1 equ 00010011b              ;8259,上升沿中断,要写icw4

icw2 equ 00100000b              ;中断号为20h

icw4 equ 00000001b              ;工作在8086/88方式

ocw1 equ 11111110b              ;只响应int0中断

cs8259a equ 0d000h              ;8259地址

cs8259b equ 0d001h

data segment

cnt db 0

ledbuf db 6 dup(?)              ;显示缓冲

num db 1 dup(?)                 ;显示的数据

delayt db 1 dup(?)

hour db 0

minute db 0

second db 0

ledmap:                         ;八段管显示码

  db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h

  db 7fh,6fh,77h,7ch,39h,5eh,79h,71h

data ends

code segment

     assume cs:code,ds:data

delay  proc near                  ;延时子程序

      push ax

      push cx

      mov al,0

      mov cx,ax

      loop $

      pop cx

      pop ax

      ret

delay endp

displayled proc near ;数码管显示控制子程序

           mov bx,offset ledbuf

           mov cl,6               ;共6个八段管

           mov ah,00100000b       ;从左边开始显示

dloop:

      mov dx, outbit

      mov al, 0

      out dx, al                    ;关所有八段管

      mov al, [bx]

      mov dx, outseg

      out dx, al

      mov dx,  outbit

      mov al, ah

      out dx, al                    ;显示一位八段管

      push ax

      mov ah,1

      call delay

      pop ax

      shr ah,1

      inc bx

      dec cl

      jnz dloop

      mov dx,outbit

      mov al,0

      out dx,al                    ;关所有八段管

      ret

displayled endp

ienter proc near   ;8253中断服务程序

       push ax

       push dx

       inc second                  ;秒加1

       mov al,second

       cmp al,60                   ;秒数与60比较

       jne exit

       mov second,0                ;秒清零

       inc minute                  ;分加1

       mov al,minute

       cmp al,60                   ;分数与60比较

       jne exit

       mov minute,0                ;分清零

       inc hour                    ;时加1

       mov al,hour

       cmp al,24                   ;时数与24比较

       jne exit

       mov hour,0                  ;时清零

exit:

       mov dx,cs8259a

       mov al,20h

       out dx,al                   ;结束本次中断

       pop dx

       pop ax

       iret

ienter endp

iinit  proc                        ;初始化8259的命令字和操作命令字

       mov dx,cs8259a

       mov al,icw1

       out dx,al

       mov dx,cs8259b

       mov al,icw2

       out dx,al

       mov al,icw4

       out dx,al

       mov al,ocw1

       out dx,al

       ret

iinit endp

start:

      mov ax,data

      mov ds,ax

      mov hour,0                  ;时、分、秒清零

      mov minute,0

      mov second,0

      cli                         ;清除中断标志位

      mov ax,0 

      mov ds,ax

      mov  al,76h                 ;8253控制字

      mov dx,control

      out dx,al

     mov ax,62500                 ;利用8253计数器1分频

     mov dx,count1

     out dx,al

     mov al,ah

     out dx,al

     mov al,md8255

     mov dx,ctl8255

     out dx,al

     mov bx,4*icw2                ;中断号

     mov ax,code

     shl ax,4                     ;*16

     add ax,offset ienter         ;中断入口地址(段地址为0)

     mov [bx],ax

     mov ax,0

     inc bx

     inc bx

     mov [bx],ax                  ;代码段地址为0

     call iinit

     mov ax,data

     mov ds,ax

     mov cnt,0                    ;计数值初始为0

     mov al,cnt

     mov dx,pa8255

     out dx,al

     sti                          ;开中断

lp:  mov al,hour

     mov ah,0

     mov cl,10

     div cl

     mov ch,ah

     mov ah,0

     mov bx,offset ledmap

     add bx,ax

     mov al,[bx]                  ;时的十位转换成显示码

     mov ledbuf,al                ;显示码存入显示缓冲区

     mov bx,offset ledmap

     mov al,ch

     mov ah,0

     add bx,ax

     mov al,[bx]                  ;时的个位转换成显示码

     or al,80h

     mov ledbuf+1,al              ;显示码存入后一位显示缓冲区

     mov al,minute

     mov ah,0

     mov cl,10

     div cl

     mov ch,ah

     mov ah,0

     mov bx,offset ledmap

     add bx,ax

     mov al,[bx]                  ;分的十位转换成显示码

     mov ledbuf+2,al

     mov bx,offset ledmap

     mov al,ch

     mov ah,0

     add bx,ax

     mov al,[bx]                  ;分的个位转换成显示码

     or al,80h

     mov ledbuf+3,al

     mov  al,second

     mov  ah,0

     mov  cl,10

     div  cl

     mov  ch,ah

     mov  ah,0

     mov  bx,offset ledmap

     add  bx,ax

     mov  al,[bx]                 ;秒的十位转换成显示码

     mov  ledbuf+4,al

     mov  bx,offset ledmap

     mov  al,ch

     mov  ah,0

     add  bx,ax

     mov  al,[bx]                 ;分的个位转换成显示码

     or   al,80h

     mov  ledbuf+5,al

     call displayled

     jmp  lp

code ends

     end start


5 系统调试及结果

5.1 调试结果描述 

本系统设计实现后进行了为期一周左右的调试。调试包括电路板的调试和汇编程序的调试。下面就系统调试情况作一介绍: 

(1)系统对于输入有格式要求,不能输入不正确的时间格式。 

(2)系统对于临界值进行了验证。

(3)系统预计各功能的实现。 

5.2  测试结果分析 

测试结果表明,电子钟系统已能初步实现主要功能,但是由于我的能力有限,开发实践经验不足,系统功能不是十分完善,还存在着许多问题,目前通过测试等发现

系统存在以下几个问题: 

(1) 由于试验条件的限制,开机有时候不能自动复位。 

(2)对于多次连续输入错误格式的时间值,系统可能出现异常。 

(3)由于是教学模拟课题,不能适应实际使用中复杂的需求,只能根据其他一些简单的调查和推测来设定系统的功能和要求,不论是功能和内容都相对简单。尚有不满足要求的地方,一些技术问题也没有克服。


6 总结

课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程. 

经过这次课程设计,使我对8250A有了更深一步的认识。同时使我认识到RS-232C是微型计算机与通信工业中应用最为广泛的一种串行通信接口标准。加深了对芯片接口可编程原理的理解,加深了对课堂上知识的巩固。另外,通过亲手编写汇编程序的过程也增强了程序设计的能力,学到了很多知识。

回顾起课程设计,至今我仍感慨颇多。通过本次课程设计可以说得是苦多于甜,但是可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

在做设计的过程中,我们每一步要做什么,每一步要完成什么任务都有一个很清楚的思路,而且在程序测试的过程中也有利于查错。 其次,以前对于编程工具的使用还处于一知半解的状态上,但是经过几次在计算机上的实践,对于怎么去排错、查错,怎么去看每一步的运行结果,怎么去了解每个寄存器的内容以确保程序的正确性上都有了很大程度的提高。 

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。 

这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在老师的指导下,终于迎刃而解。在此我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!


参考文献

[1]马春燕.微机原理与接口技术(基于32位机).北京:电子工业出版社.2007.08 

[2]马维华.微机原理与接口技术.北京:科学出版社.2005 

[3]马瑞芳,王会燃.微机原理与接口技术要点与解题.西安:西安交通大学出版社.2006 

[4]牟琦,聂建萍.微机原理与接口技术.北京:清华大学出版社

[5]沈美明等.IBM-PC汇编语言程序设计.北京:清华大学出版社 

[6]彭虎.微机原理与接口技术(第2版)[M].北京:电子工业出版社.2008

[7]张弥左,王兆月,邢立军等.微型计算机接口技术.北京:机械工业出版社

[8]龚尚福.微机原理与接口技术.西安:西安电子科技大学出版社.2009 

[9]王玉良.微机原理与接口技术.北京:北京邮电大学出版社.2006 

[10]戴梅萼.微型计算机技术及应用[M].北京:清华大学 

[11]沈美明.IBM-PC汇编语言程序设计[M].北京:清华大学出版社 

更多相关推荐:
数字电子钟课程设计报告

目录摘要3关键词3一设计任务与要求4二方案设计与论证4方案一4方案二5三硬件单元电路设计与参数计算51电源电路52按键电路53时钟电路54驱动电路55LED显示电路56单片机电路6四软件设计与流程图10五总原电...

数字电子时钟课程设计报告

华北科技学院课程设计数字时钟课程设计报告目录一设计的目的任务和要求2二设计的方案的选择与论证4三电路的设计5a设计内容5b数字时钟结构的设计5c设计步骤61时钟脉冲发生器的设计62时分秒计数电路的设计83计数器...

数字电子时钟课程设计报告

数字电子钟课程设计报告题目数字电子钟的设计与仿真专业机械工程前言加入世贸组织以后中国会面临激烈的竞争这种竞争将是一场科技实力管理水平和人才素质的较量风险和机遇共存同时电子产品的研发日新月异不仅是在通信技术方面数...

51单片机电子时钟课程设计报告

JINGCHUUNIVERSITYOFTECHNOLOGY单片机原理及应用课程设计报告题目电子时钟专业电气工程及其自动化班级20xx级电工2班学号20xx401020xx2姓名王贞指导教师邹云峰提交日期20xx...

数字电子钟课程设计报告-数电

华东交通大学理工学院课程设计报告书所属课程名称数字电子技术课程设计题目数字电子钟课程设计分院电信分院专业班级10电信2班学号20xx0210410201学生姓名陈晓娟指导教师徐涢基2012年12月18日目录第1...

多功能数字钟课程设计报告

电子时钟课程设计电子时钟课程设计报告班级文通0741姓名学号20xx905121共页第页电子时钟课程设计多功能数字钟课程设计报告一课程设计题目多功能数字钟二实验目的了解多功能数字电子钟的工作原理学习数字系统设计...

数字电子课程设计数字电子时钟

课程设计报告设计题目数字电子时钟班级学号姓名指导老师设计时间20xx年8月30日摘要数字电子钟是一种用数字显示秒分时的记时装置与传统的机械钟相比他具有走时准确显示直观无机械传动装置等优点因而得到了广泛的应用小到...

单片机课程设计报告—LED显示电子钟

单片机原理及其接口技术课程设计报告课题LED显示的电子钟姓名学号院系自动控制与机械工程学院班级指导教师20xx年6月目录一课程设计目的3二课程设计要求3三设计内容4四硬件设计需求51硬件系统各模块功能51单片机...

数字时钟课程设计报告

装订线山东农业大学电子技术课程设计院部专业班级学生姓名学号二一一年十二月二十日目录摘要2引言2第一章课题背景311电子技术课程设计概要3111电子技术课程设计的方法和步骤312设计任务与要求5121数字钟的设计...

数电电子钟课程设计报告

数字电子钟课程设计报告课程名称数字电路技术基础设计题目数字电子钟逻辑电路设计专业电子科学与技术班级20xx级电子3班姓名同组者指导老师20xx年1月4日目录一内容摘要4二课设内容及要求4三方案比较5123方案一...

电子时钟课程设计报告

目录1前言22题目要求与方案论证221题目要求222设计目的223方案论证3231思路3232程序设计原理3233用到的DOS系统功能4234用到的BIOS系统功能53方案设计631流程图632程序代码设计83...

[EDA]电子时钟设计及报告

基于VHDL的多功能数字钟设计报告题目多功能数字钟姓名程胜归学号0304811指导老师廖宇设计时间20xx78一VHDL的发展硬件描述语言HDL是一种用形式化方法描述数字电路和系统的语言利用这种语言数字电路系统...

电子钟课程设计报告(28篇)