日历时钟电路 毕业设计

更新时间:2024-05-11 22:38:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

摘要

摘 要

随着科学技术的进步,数字电路对人们影响越来越广,数字领域的发展致使工业、农业、科技和国防等领域以及人们的社会生活发生了令人瞩目的变革。在数字电子高速发展的时代,日历时钟已经成为了不可缺少的一部分,本课程设计是要用数字集成电路实现。

本文以AT89S51单片机为核心,采用串行时钟芯片DS1302,显示电路采用LED动态扫描方式、按键电路、和复位电路等部分构成,以实现时钟日历显示的功能。取代过去多用并行接口的时钟芯片。改良其接口复杂、占用数据总线接线多、芯片体积大占用空间多的缺点。 关键字:AT89S51单片机,串行时钟芯片DS1302,LED动态扫描

I

ABSTRACT

ABSTRACT

With the progress of science and technology, digital circuit impact

on people more widely, resulting in the development of the digital domain industry, agriculture, science and technology and defense fields, and people's social life has undergone remarkable changes. In the era of rapid development of digital electronics, the battery has become an indispensable part of this course is designed to achieve power supply to use digital integrated circuits

We based on AT89S51 as the core, the serial clock chip DS1302, show circuit using LED dynamic scanning mode, buttons, and reset circuit circuit such as part, in order to realize the function of the calendar displays clock. Replace the past use parallel interface chip of the clock. Improved its interface complex, take up the data bus wiring, take up the space is big chip faults.

Key Words:AT89S51 , DS1302, Dynamic LED scan

II

目录

目 录

第1章 绪论 ................................................ 1 1.1 引言 .................................................... 1 1.2 单片机的发展历程 ........................................ 1 1.3本论文主要研究内容 ...................................... 2 第2章 主要硬件选择与功能介绍 .............................. 2 2.1 单片机 .................................................. 3 2.2 LED数码管显示器 ....................................... 3 2.3 键盘结构 ................................................ 4 2.4 实时时钟芯片 ............................................ 5 2.5. DS1302内部结构 ...................... 错误!未定义书签。 2.5.2 读写时序说明 .......................................... 7 2.5.3电路连线图 ............................................ 8 2.6. I2C储存芯片介绍 ....................................... 9 2.6.2 I2C总线协议 ......................................... 9 2.7 74LS138译码芯片 ....................................... 9 第3章 硬件设计 ........................................... 11 3.1单片机端口分配 ......................................... 11 3.1.2 AT89S51单片机最小系统外围电路 ...................... 11 3.2 按键电路 ............................................... 14 3.3 显示电路 ............................................... 15 第4章 软件设计 ........................................... 17 4.1 动态显示模块程序 ....................................... 17 4.2 时钟DS1302模块程序 .................................... 19 第5章 电路板的设计与制作 ................................. 21 5.1 PROTEL 2004背景 ......................................... 21 5.2 制作过程 ............................................... 21 5.2.2 绘制PCB板图 ......................................... 22 5.2.3制作PCB板 ........................................... 23 5.2.4元件的焊接 ........................................... 23 5.2.5 电路的仿真 ........................................... 24

III

目录

第6章 系统调试 .......................................... 25 第7章 结 论 ............................................. 26 参考文献 .................................................. 28 致谢 ...................................................... 27 附录 ...................................................... 29 实物图 .................................................... 30

IV

第一章 绪论

第1章 绪 论

1.1 引言

随着科技的发展,电子日历的出现,迅速占领了传统日历的大部分领地成为人们日常生活的必备品。电子日历具有性能稳定、精确度高、成本低等特点。广泛用于家庭、公司、机关等众多场所,为人们的日常生活提供了方便,是人们日常生活中不可缺少的一部分。

本文设计以单片机AT89S51为核心部件的日历时钟,采用动态扫描方式,以共阴LED数码管作显示器、3-8译码器74LS138做驱动电路,用3片74LS138并联扩展IO口,将5位IO口扩展成24位驱动端口,74LS138产生的驱动信号为低电平有效,当P2口前5位输入一个有效的5位BCD码时,选中对应的一位共阴数码管,同时P0口送入段选信号,即完成动态扫描显示功能。本文硬件设计包括:AT89S51单片机、RC复位电路、+5V直流电源电路、按键电路、74LS138驱动器动态显示扫描电路、I2C储存电路、实时时钟电路。主要用到单片机的编程软件(Keil)及电路仿真调试软件(Protel)等常用软件。

1.2 单片机的发展历程

1971年微处理器研制成功不久,就出现了单片机,但最早的单片机是1位的,处理能力有限。单片机的发展共分四个阶段:第一阶段是初级阶段,功能非常简单;第二阶段是低性能单片机阶段,以INTEL公司制造的MSC-48系列单片机为代表;第三阶段为高性能单片机阶段,这个阶段推出的单片机普遍带有串行接口,多级中断系统,16位定时器/计数器,片内ROM、RAM容量加大,直到现在仍被广泛应用,是目前应用数量较多的单片机;第四阶段是8位单片机巩固发展以及16位单片机、32位单片机推出阶段,以满足不同的用户需要。纵观单片机几十年的发展历程,单片机的今后发展方向将向多功能、高性能、高速度、低功耗、低价格、外围电路内装化以及内存储器容量增加和FLASH存储器化方向发展。

目前,单片机以其可靠性高和智能性等特点被广泛应用到工业控制系

1

第二章 主要硬件选择与功能介绍

小时寄存器(85h、84h)的位7用于定义DS1302是运行于12小时模式还是24小时模式。当为1时表示选择12小时模式,当为0时表示选择24小时模式。在12小时模式时,位4是时十位,位5是用于表示当前是AM还是PM,当为0时表示AM,当为1时表示PM。在24小时模式时,位4和位5是时十位。

秒寄存器(81h、80h)的位7定义为时钟暂停标志(CH)。当该位置为1时,时钟振荡器停止,DS1302处于低功耗状态;当该位置为0时,时钟开始运行。控制寄存器(8Fh、8Eh)的位7是写保护位(WP),其它7位均置为0。在任何的对时钟和RAM的写操作之前,WP位必须为0。当WP位为1时,写保护位防止对任一寄存器的写操作。

(2)DS1302有关 RAM 的地址

DS1302中附加31字节静态RAM的地址如表2-2所示。

表2-2 DS1302中附加31字节静态 RAM 的地址

读地址

C1H C3H CH5 . . . FDH 写地址 C0H C2H C4H . . . FCH

数据范围 00-FFH 00-FFH 00-FFH . . .

00-FFH

(3)DS1302的工作模式寄存器

突发模式寄存器如表2-3所示,所谓突发模式是指一次传送多个字节的时钟信号和RAM数据。

表2-3 DS1302的工作模式寄存器

工作模式寄存器

读寄存写寄存器 器

BEH FEH

时钟突发模式寄存

CLOCK BURST BFH

RAM突发模式寄存

RAM BURST FFH

2.5.2 读写时序说明

DS1302的控制字如表2-4所示,DS1302是SPI总线驱动方式。它不

7

电子科技大学成都学院课程设计

仅需要向寄存器写入控制字,还需要读取相应寄存器的数据。要想与DS1302进行通信,首先要了解DS1302的控制字。

表2-4 控制字(即地址及命令字节)

7 1

6 5 RAM

CW

4 3 2 1

0 RD

A4 A3 A2 A1 A0 WR 控制字的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入到DS1302中。如果位6为0,表示存取日历时钟数据,为1则表示存取RAM数据;位5至位1(A4~A0)为指示操作单元的地址;如果位0(最低有效位)为0,表示要进行写操作,为1则表示进行读操作。

控制字总是从最低位开始输出。在控制字指令输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从最低位(0位)到最高位。同样,在紧跟8位的控制字指令后的下一个SCLK脉冲的下降沿时,读出DS1302的数据,读出的数据也是从最低位到最高位。 2.5.3 电路连线图

电路连线图如图2-5所示,DS1302与单片机的连接也仅需要3条线:CE引脚、SCLK 串行时钟引脚、I/O串行数据引脚,Vcc2为备用电源,外接32.768kHz晶振,为芯片提供计时脉冲。

图2-5 电路连线图

8

第二章 主要硬件选择与功能介绍

2.6. I2C储存芯片介绍

24C02是一种串行E2PROM,是基于I2C-BUS 的存储器件,遵循二线制协议,由于其具有接口方便,体积小,数据掉电不丢失等特点,在仪器仪表及工业自动化控制领域中得到大量的应用。外观引脚图如图2-6所示。

图2-6 24C02引脚图

2.6.2 I2C总线协议

只有在总线空闲时才允许启动数据传送,在数据传送过程中,当时钟线为高电平时,数据线必须保持稳定状态,不允许有跳变,此时数据线的任何电平变化将被看作总线的起始或停止信号。24C02的器件地址位如表2-5所示。

(1)起始信号:时钟线保持高电平期间,数据线电平从高到低的跳变作为总线的起始信号。

(2)停止信号:时钟线保持高电平期间,数据线电平从低到高的跳变作为总线的停止信号。

表2-5 从器件地址位

24C02 1 0 1 0 A2 A1 A0

R/W

2.7 74LS138译码芯片

74LS138引脚如图2-7所示,其引脚功能如下: A、B、C:译码地址输入端; E1:选通端;

9

电子科技大学成都学院课程设计

E2、E3:选通端(低电平有效); Y0~Y7:译码输出端(低电平有效)。

图2-7 74LS138引脚图

当一个选通端(E1)为高电平,另两个选通端(E2)和(E3)为低电平时,可将地址端(A、B、C)的二进制编码在一个对应的输出端以低电平译出。其真值表如表2-6所示。

表2-6 74LS138真值表 输入

译码地址输入输出

使能端

E2+EE1 C B A Y0 Y1 Y2 Y3

3 X H X X X H H H H L X X X X H H H H H L L L L L H H H H L L L H H L H H H L L H L H H L H H L L H H H H H L H L H L L H H H H H L H L H H H H H H L H H L H H H H H L H H H H H H H Y4 Y5 Y6 Y7 H

H H H H H L H H H H H H H H H H L H H H H H H H H H H L H H H H H H H H H H L 10

第三章 硬件设计

第3章 硬件设计

3.1单片机端口分配

端口引脚 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7

功 能

RXD(串行口输入端) TXD(串行口输出端) 外部中断0请求输入端,低电平有效 外部中断1请求输入端,低电平有效 T0(定时器/计数器0计数脉冲输入端) T1(定时器/计数器1计数脉冲输入端) 外部数据存储器写选通信号输出端,低电平有效 外部数据存储器读选通信号输出端,低电平有效

在本文设计的系统中,AT89S51单片机的端口做了如下分配:①P0.0—P0.7作为段选码输出口;②P1.0—P1.3作为键盘控制输入口;③P1.4作为温度采集口;④P1.5—P1.7作为实时时钟控制口;⑤P2.0—P2.4作为位选码输出口;⑥P2.5—P2.6作为I2C总线接口;⑦P2.7作为闹铃输出控制口;⑧其他接口留待升级使用。

3.1.2 AT89S51单片机最小系统外围电路

(1)单片机时钟电路

时钟电路MCS-51片内设有一个由反向放大器所构成的振荡电路,XTAL1和XTAL2分别为振荡电路的输入端和输出端。时钟可以由内部方式产生或外部方式产生。采用内部方式产生时,在C1和C2引脚上接石英晶体和微调电容可以构成振荡器, 振荡频率的选择范围为1.2MHz~12MHz。在使用外部时钟时,XTAL1用来输入外部时钟信号,此时XTAL2悬空。片内振荡器的振荡频率非常接近晶振频率,一般多在1.2MHz~12MHz之间选取。C1、C2是反馈电容,其值在5pF~30pF之间选取,典型值为30pF。本电路选用的电容为30pF,晶振频率为12MHz。这样就确定了单片机的3个周期分别是:

振荡周期=1/12; 机器周期(SM)=

2fosc=2/12MHz;

指令周期=(1~4)机器周期;

11

电子科技大学成都学院课程设计

内部振荡方式:MCS-51单片机片内有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。把放大器与作为反馈元件的晶体振荡器或陶瓷谐振器连接,就构成了内部自激振荡器并产生振荡时钟脉冲,如图3-1所示。

外部振荡方式:外部振荡方式就是把外部已有的时钟信号引入单片机内,此时应将X2脚悬空,如图3-2所示。

AT89S51 X1 C 30PF C 12MHZ X2 VCC X1

5.1K AT89S51 外部时钟信号 X2 图3-1 内部震荡 图3-2 外部震荡

在本次设计中采用的是内部震荡方式,具体电路如图3-3所示。

图3-3 单片机时钟电路

(2)单片机复位电路

12

第三章 硬件设计

单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作,使单片机从第一个单元取指令。无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位。

单片机复位的条件是:必须使RST/VPD 或RST引脚(9)加上持续二个机器周期(即24个振荡周期)的高电平。例如:若时钟频率为12MHZ,每机器周期为1μs,则只需2μs以上时间的高电平。在RST引脚出现高电平后的第二个机器周期执行复位。

单片机常见的复位电路如图3-4(a)和(b)所示:

(a)上电复位电路 (b)按键复位电路

图3-4 单片机复位电路

图3.4(a)为上电复位电路,它是利用电容充电来实现的。在接电瞬间,RST端的电位与VCC相同,随着充电电流的减少,RST的电位逐渐下降。只要保证RST为高电平的时间大于2个机器周期便能正常复位。

图3.4(b)为按键复位电路。该电路除具有上电复位功能外,若要复位,只需按图中RESET键,此时电源VCC经电阻R1、R2分压,在RST端产生一个复位高电平。

通过分析比较两种复位电路,并考虑到意外死机等状况。于是,本系统设计采用的是第二种按键复位电路,如图3-5所示。

图3-5 单片机复位电路

13

电子科技大学成都学院课程设计

(3)电源电路

如图3-6所示,本系统采用220V交流电压,220V市电经变压器降压变成交流9V,经过全桥整流电路、470μF电容滤波电路、稳压电源ICLM7805输出稳定直流电压5V,输出接10μF电容消除纹波后送电路供单片机和各芯片使用。

图3-6 电源电路

3.2 按键电路

本系统采用独立式键盘作为输入。按下“MODE”键切换调整位,每按下一次“MODE”键模式键值加1;每按下一次“ADD”键调整的相应位加1;每按下一次“DEC”键调整的相应位减1;调整过程中可以按“BACK”键退出调整。键盘如图3-7所示。

图3-7 独立式键盘

14

第三章 硬件设计

3.3 显示电路

由于需显示的数据较多,本设计采用动态扫描方式,采用共阴LED数码管作显示器、3-8译码器74LS138做驱动电路。3-8译码器连线电路如图3.8所示,用3片74LS138并联扩展I/O口,将5位I/O口扩展成24位驱动端口,74LS138产生的驱动信号为低电平,当P2口前5位输入一个有效的5位BCD码时,选中对应的一位共阴数码管,同时P0口送入段选信号,即完成动态扫描显示功能。日期显示数码管连线如图3-9所示,位选信号线为D1-D8;时间显示数码管连线如图3-10所示,位选信号线为D10-D15;其中,D1-D24为5-24译码器(既3片3-8译码器扩展)的输出端口,P0口做段选线共用。

图3-8 3-8译码器连线电路图

图3-9 日期显示数码管连线图

15

电子科技大学成都学院课程设计

图3-10 时间显示数码管连线图

16

第四章 软件设计

第4章 软件设计

4.1 动态显示模块程序

设计中采用动态扫描方式来显示,采用共阴LED数码管作显示器、3-8译码器74LS138做驱动电路,用3片74LS138并联扩展IO口,将5位IO口扩展成24位驱动端口,74LS138产生的驱动信号为低电平有效,当P2口前5位输入一个有效的5位BCD码时,选中对应的一位共阴数码管,同时P0口送入段选信号,即完成动态扫描显示功能。显示时调用disp_play()即可完成日期、时间数据的显示,下面给出具体的驱动程序。

void disp(uchar x,uchar y) {

P0=0x00;

Delay(2);

//清零段选信号

P0=disp_code[x]; //送段码 }

void disp_play() {

P2=y;//送位码 Delay(100);

uchar j; for(j=0;j<12;j++) {

if(j<4)//显示年月日 {

disp(disp_buffer[j]/16,2*j); disp(disp_buffer[j],2*j+1); }

17

电子科技大学成都学院课程设计

else if(j==4) disp(disp_buffer[j]-1,2*j);//显示星期 else if(j<8)//显示时分秒 {

disp(disp_buffer[j]/16,2*j-1); disp(disp_buffer[j],2*j); } { if(disp_buffer[9]<0) {

disp(16,16);

disp_buffer[9]=~disp_buffer[9]+1; disp(disp_buffer[9]0/10,17); disp(disp_buffer[9],18); } else { if(disp_buffer[9]>99)

{

disp(disp_buffer[9]/100,16); disp(disp_buffer[9]0/10,17); disp(disp_buffer[9],18); } else {

disp(disp_buffer[9]/10,17);

disp(disp_buffer[9],18);

18

第四章 软件设计

}

}

}

}

{

disp(disp_buffer[j]/16,2*j-1); disp(disp_buffer[j],2*j); }

4.2 时钟DS1302模块程序

DS1302的时间地址信息保存在ds1302_write_address[ ]数组中,时间数据信息保存在disp_buffer []数组中。时钟数据写入函数为write_time( ),调用write_time( )即可完成自动写入;时钟数据读取函数为read_time( ),调用read_time( )即可完成自动读取。具体程序如下所示。

void write_time( ) {

uchar i=0;

Clock_Write_Time(0x8e,0x00); //WP=0 写允许 for(i=0; i<7; i++)

{

Clock_Write_Time(ds1302_write_address[i], disp_buffer[1+i]); //循环写入

}

Clock_Write_Time( 0x8e,0x80); //WP=1 写保护 }

void read_time() { uchar i=0;

19

电子科技大学成都学院课程设计

for(i=0; i<7; i++)

{disp_buffer[1+i]=Clock_Read_Time(ds1302_read_address[i]); }//循环读出

20

第五章 电路板的设计与制作

第5章 电路板的设计与制作

5.1 Protel 2004背景

Protel 2004是澳大利亚Protel Technology 公司于2001年推出的具有PDM功能的强大EDA综合设计环境的一个全32位的电路板设计软件。该软件功能强大,人机界面友好,易学易懂,使用该软件设计者可以容易地设计电路原理图、画元件图、设计电路板图、层次原理图设计、报表制作、画元件封装、电路仿真以及逻辑器件设计等功能,是业内人士首选的电路板设计工具。使用电脑设计电路原理图和电路板图是把电子技术从理论应用到实际的第一步,在学习了模拟和数字电路之后,首先应该学的就是画电路图和电路板图。只有会设计电路原理图和电路板图才能进行电子产品的研究与开发。

5.2 制作过程

绘制原理图是产品设计的初步,在设计中,本环节显得格外重要,它影响着后期制作的成败,如果原理图绘制出错,那么在PCB制作以后的阶段将出现众多问题,使得修改电路线路和调试更为艰难,由此可见这一环节的重要性是不可忽略的。因此在绘制原里图过程中应再三细心,按照正确的步骤和方式进行原里图的绘制。

①:设置原理图设计环境。在画原理图之前应该把设计环境设置好。工作环境设置是使用Design/options和Tool/preferences菜单进行,画原理图环境主要包括图纸大小,捕捉栅格,电气栅格,模板设置等。

②:放置元件。将电气和电子元件放置到图纸上。一般情况下元件的原理图符号在元件库中都可以找到,只需要将元件库中的元件从库中调出,放置在图上。由于元件种类非常多,都被分别放在不同的元件库中,所以应该知道哪类元件在那些库中。

③:原理图布线。元件一旦放置在原理图上,就需要用导线将元件连接起来,连接时一定要符合电气检测。

④:编辑与调整。编辑元件的属性。这些属性包括元件名,参数,封装图等。调整元件和导线的位置操作。

21

电子科技大学成都学院课程设计

⑤:检查原理图。使用Protel 2004的电气规则检查原理图的连接是否合理与正确,给出检查报告。若有错误就需要根据错误情况进行改正。 ⑥:生成网络表。生成原理图的网络表,所谓网络表就是元件名,封装,参数及元件之间的连接表,通过该表可以确认各个元件和它们之间的连接关系。

⑦:打印输出。打印输出原理图。在原理图设计环境放置以后,就该用原理图绘图工具绘图,进行放置连接。 5.2.2 绘制PCB板图

电路板(又称PCB板)是电子产品中电路元件和器件的支撑件。它提供电路元件和器件之间的电气连接。随着电子技术的飞速发展,PCB的密度越来越高。PCB设计的好坏对抗干扰能力影响很大。实践证明,即使电路原理图设计正确,印制电路板设计不当,也会对电子产品的可靠性产生不利影响。例如,如果印制板两条细平行线靠得很近,则会形成信号波形的延迟,在传输线的终端形成反射噪声。因此,在设计印制电路板的时候,应注意采用正确的方法,遵守PCB设计的一般原则,并应符合抗干扰设计的要求。

打开PCB板设计环境,对PCB板进行层面的设置(禁止布线层)和尺寸大小的设置。在画PCB边框时要考虑PCB尺寸大小,当PCB尺寸过大时,印制线条长,阻抗增加,抗噪声能力下降,成本也增加,若过小,则散热不好,且邻近线条易受干扰。再回到原理图环境中,使用原理图编辑器设计,对原理图进行电气检查(ERC)并生成网络表(Netlist)。使用 Design/Netlist菜单,调入网络表。如

在此过程中ERC检查有错误,那么应回到原理图中对其进行修改,直至显示正确无误。之后可以用调入网络表或在原理图中直接更新PCB板的方法把元件调入到PCB图中,再把元件一一拖进PCB板图框内,先确定特殊元件的位置后,再对其它元件的位置进行摆放,然后再对线宽进行设置(VCC、GND、以及其它线宽的设置)。接着就在PCB环境下的自动布线(Auto Route)菜单下点击全部(All)选项对PCB图进行自动布线,若自动布线不成功,就应该对元件进行重新摆放(以交叉线越少越好,同时应注意连线越短越好),再次进行自动布线。另外,如果在布线后出现绿线交叉应进行手动调整,比如用飞线的方法对其进行修改,或者适量缩小焊盘大小来增加焊盘间的距离,以便较宽的线路通过。经多次布线调整线路走向,布线完成后,就对焊盘进行泪滴处理,对PCB图进行加工修饰。如图:

22

第五章 电路板的设计与制作

5.2.3制作PCB板

打印出底层和丝印层,在通过热转印,将电路转印在已经准备好的覆铜板上,再把覆铜板放在腐蚀液(40%三氯化铁加60%水)中。待腐蚀完成后,取出PCB板,用清水洗净后再用沙纸将其打磨干净涂上松香水,这样既可以助焊,又可以防止氧化,PCB的制作完成。 5.2.4元件的焊接

在PCB板制作完成后,就应该进行元件放置和焊接了,根据原理图和顶部丝印层对元件进行正确的放置,比如二极管和电解电容等元件的极性。接着就是焊接,根据自己已有的焊接经验,对元件从小到大,从里到外一一进行焊接,在焊接过程中仍有很多的要点需要注意的,焊锡不能多也不能少,焊锡要填满焊盘和引脚,焊接时要注意不能有短路,焊接集成块时要注意焊接时间,避免温度过高导致烧坏元件。注意这一系列的焊接要点和步骤后,焊接就完成了。

23

电子科技大学成都学院课程设计

5.2.5 电路的仿真

LM016LGNDLCD1VSSVDDVEERSRWEC122pFC2GNDD0D1D2D3D4D5D6D71234567891011121314+5V22pFRP1U112345678910KXTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617+5V+5VX11912MHz18XTAL2C3GND9RST20uF1k293031PSENALEEAAT89C52R1+5VGND+5V1.5V1.5V10kU2232768p1081+5VX1VCC1VCC2X23RSTSCLKX2I/ODS130257612345678P1.0/T2P1.1/T2EXP1.2P1.3P1.4P1.5P1.6P1.7R2470+5vD1LED-BIBYGNDRV1 24

第六章 系统调试

第6章 系统调试

完成了硬件的设计、制作和软件编程之后,要使系统能够按设计思路正常运行,必须进行系统调试。

调试的基本过程如下:将所要调试的程序输入到keil中,然后进行编译,根据系统的提示,将出错的地方改正,之后再编译,直到编译通过后保存。例如:有的是标号未定义;有的是少标点符号;有的是标号重复定义;有的是多输入一个空格符等。

将在keil中调试通过的程序产生的hex文件调入到protel画好的原理图中,运行此程序,根据显示部分所显示的结果分析程序,检查其功能是否达到设计要求。如没有达到设计要求,应修改源程序,并编译、下载、调试,直到达到设计要求。

在调试过程中出现的问题:

(1)七段数码管全部显示的是“888888”或者乱码,经分析原因在P0、P2口接线有误,显示数据无法正常的送到段码口和位码口,经调整以后,显示正常。

(2)数码管显示年月日和星期的数字和设计的对不上号,经讨论分析,问题出在读取DS1302时的地址上,DS1302的地址为:秒-分-时-日-月-星期-年;而我在设计时把地址看成:秒-分-时-星期-日-月-年来进行设计,所以显示的结果有误。地址交换后问题解决。

25

电子科技大学成都学院课程设计

第7章 结 论

经过前期的资料查阅,和董老师的答疑,我终于完成了大学期间最后的也是最为重要的作业——课程设计。在这次完成课程设计的过程中,也不断地拓展和加深了专业知识,且在其他各个方面都有提高。具体而言,经过了对数字日历时钟的深入的设计和制作,我加深了解了单片机在实际生活中的应用,使自己所学知识在现实中得以运用,加深我对于本专业的认识。

在学习和设计的过程,我掌握了Protel原理图的绘画,以及单片机在编程方面的技巧和知识。而又通过对单片机的学习和了解,加深了对专业的理解。

通过这次日历时钟的课程设计,我已经掌握了设计电子系统的基本方法和过程。用C语言设计实现的数字日历时钟电路,是一个以硬件设计为主,软件配结合使用的过程。这种软件设计与硬件设计的结合,以一片器件代替由多片小规模集成数字电路组成的电路,其优势已经越来越明显。由此可见,在进行系统设计时,如果系统比较复杂,所需器件数目多,并要求体积小、速度快、功耗低时,首先应该考虑用C语言来进行芯片设计,然后再进行整体设计。

通过对这个设计任务进行实际设计和调试,使我对电子技术产生了更加浓厚的兴趣,相信这种兴趣会在今后的工作中起到很大推动作用,在今后,我会更深一步的去接触电子产品以及这个行业。

26

参考文献

参考文献

[1]刘建英.基于单片机的时钟设计.内蒙古.内蒙古石油化工学报.2005

[2]陈华兵,傅成华,方景杰.基于单片机的高精度时钟设计.四川.中国西部科技. 2009 [3]王为青,邱文勋.51单片机应用开发案例精选.北京.人民邮电出版社.2007 [4]彭伟.单片机C语言程序设计实训100例.北京.电子工业出版社.2009 [5]张淑骅.基于单片机的温度电子钟显示系统.山东.科技信息. 2009

[6]孙凌燕,黄允千.Protel与Keil软件的整合在单片机实验开发中的应用.上海.实验室研究与探索. 2008

[7]王新颖.单片机原理及应用.北京.北京大学出版社.2008.

[8]谢维成.单片机原理与应用及C51程序设计.北京.清华大学出版社.2006. [9]求是科技.单片机典型设计应用.北京.人民邮电出版社.2006. [10]周功海.单片机控电子时钟的设计.山东.煤矿现代化.2007.

27

电子科技大学成都学院课程设计

致 谢

本课题在选题及研究过程中得到董老师的亲切关怀和悉心指导下完成的。他严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我。从课题的选择到项目的最终完成,董老师都始终给予我细心的指导和不懈的支持。董老师不仅在学业上给我以精心指导,同时还在思想、生活上给我以无微不至的关怀,在此谨向董老师致以诚挚的谢意和崇高的敬意。

28

附录

附录 元件清单

品名 电阻 图中编号 规格型号 数量 备注 R1 10K 1 R2 4.7k 1 R3 1K 1 C1,C2 33pF 2 C3 470uF 1 C4 10uF 1 C5 22uF 1 U1 AT89S51 1 U3 DS1302 1 U4 24C02C 1 U5-U7 74LS138 3 U8 7805 1 Q1 NPN 1 ADD,BACK,DEC BUTTON 4 MODE,RST BAT1 3V 1 BR1 2W005G 1 LS1 SOUNDER 1 RP1 RESPACK-8 1 TR1 TRAN-2P2S 1 X1 11.05926 1 X2 32768Hz 1 7SEG-MPX1 1 一位共阴 7SEG-MPX2 7 二位共阴 7SEG-MPX4 2 四位共阴 电容 单片机 时钟芯片 I2C储存器 38译码器 稳压管 三极管 按钮 备用电池 桥式整流管 喇叭 排阻 变压器 晶振 数码管 29

电子科技大学成都学院课程设计

实物图

30

本文来源:https://www.bwwdw.com/article/f06g.html

Top