当前位置:文档之家› 基于单片机的实时时钟

基于单片机的实时时钟

基于单片机的实时时钟
基于单片机的实时时钟

目录

1. 设计要求与方法论证 (3)

1.1 设计要求 (3)

1.2 系统基本方案选择和论证 (3)

1.2.1 单片机芯片的选择方案和论证 (3)

1.2.2 显示模块选择方案和论证 (4)

1.3 电路设计最终方案决定 (4)

2. 系统的硬件设计与实现 (4)

2.1 电路设计框图 (4)

2.2 系统硬件概述 (5)

2.3 系统硬件模块 (5)

2.3.1 AT89C51 (5)

2.3.2 DS1302 (6)

2.3.3点阵式LCD (7)

3.系统的软件设计 (7)

4. 硬件电路调试 (7)

5. 结论 (9)

6. 致谢 (9)

参考文献 (10)

附录 (11)

实时时钟

摘要:二十一世纪是数字化技术高速发展的时代,而单片机在数字化高速发展的时代扮演着极为重要的角色。实时时钟的开发与研究在信息化时代的今天亦是当务之急,因为它有极广阔的应用市场,可以说遍及人们生活的每一个角落。本文设计的实时时钟属于小型智能家用电子产品。利用单片机进行控制,实时时钟芯片DS1302时钟芯片进行记时,本文设计的实时时钟具有读数方便,操作简单,适用范围宽等特点。

关键字:实时时钟,Proteus,51单片机,DS1302

1.设计要求与方案论证

1.1设计要求

(1)采用DS1302作为实时时钟芯片进行计时

(2)读出DS1302中的时间数据

(3)能显示时间数据,包括年月日,时分秒

(4)显示方式不限

1.2系统基本方案选择和论证

1.2.1 单片机芯片的选择方案和论证

方案一:

用中小规模集成电路74/54系列和CC4000系列及555集成电路构建秒脉冲源,再利用分频器、计数器、缓存器等得到分、时、日、月、年的计时信号,最后用译码器驱动数码管显示,得到时钟功能。

方案二:

采用AT89C51单片机,完全兼容MCS-51系列单片机的所有功能,并且本身带有2K的内存储器,可以在编程器上实现闪烁式的电擦写达几万次以上,比以往惯用的8031CPU外加EPROM为核心的单片机系统在硬件上具有更加简单方便等优点,具体如下:

1)AT89C51单片机是最早期也最典型的产品,低功耗、高性能、采用CHMOS 工艺的8位单片机。

2)它在硬件资源和功能、软件指令及编程上与Intel 80C3X单片机完全相同。在应用中可直接替换。

3)在AT89C51内部有FLASH程序存储器,既可用常规的编程器编程,也可用在线使之处于编程状态对其编程。编程速度很快,擦除时也无需紫外线,非常方便。

4)AT89C5X系列可认为是Intel 80C3X的内核与Atmel FLASH技术的结合体。它为许多嵌入式控制系统提供了灵活、低成本的解决方案。

方案比较:由两种方案可以看出,用方案一实现设计要求需要使用大量的集成电路,系统结构复杂,电路连接困难。单个芯片的质量对系统的稳定性影响甚

大,逻辑功能出现错误不易定位,整体调试费时费力。扩展系统功能工作量极大,甚至有可能要将整个设计方案推倒重来。方案二利用单片机作为控制核心,硬件按照技术手册要求连接后基本不需要调试,相关的逻辑功能全部由软件实现,修改方便。功能扩展只需要在现有程序的基础上增加函数即可实现,无需对已实现功能的程序进行改动,调试方便,问题定位快捷、准确。

综上所述,我们采用方案二实现系统总体要求。

1.2.2 显示模块选择方案和论证

方案一:

采用LED数码管动态扫描, LED数码价格适中,对于显示数字最合适,而且采用动态扫描方法与单片机连接时,占用的单片机口线少,驱动电路简单,且LED在亮度、功耗、可视角度和刷新速率等方面,都更具很大的优势。但所需数码管太多焊接困难极易出错,所以不采用LED数码管作为显示。

方案二:

采用点阵式LCD显示,LCD1602是字符型液晶,显示字母和数字比较方便,控制简单,功耗低,体积小,显示内容丰富,超薄轻巧,可以用电池供电,便于携带,成本较低。在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。

本设计需要显示较多的数字和字符,因此,采用点阵式LCD显示。

1.3 电路设计最终方案决定

综上各方案所述,对此次作品的方案选定:采用AT89C51作为主控制系统;点阵式LCD作为显示;DS1302提供时钟。

2.系统的硬件设计与实现

2.1 电路设计框图

01234567

76543210

XTAL218

XTAL1

19

ALE 30EA

31

PSEN

29RST

9

P0.0/AD0

39P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78

P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD

17

P3.6/WR 16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1

AT89C51

C S 1

1

C S 22G N

D 3V C C 4V 05R S 6R /W 7

E 8D B 09D B 110D B 211D B 312D B 413D B 514D B 615D B 716R S T 17-V o u t 18LCD1

AMPIRE128X64

X1

CRYSTAL

C1

33p

C2

33p

R110k R210k R310k R410k R510k R610k R710k R8

10k

50%

RV1

1k

RST 5SCLK 7I/O

6

X12

X2

3

VCC1

8VCC2

1

U2

DS1302

BAT1

3V

X2

32.768MHz

C3

1pF

C4

10pF

C5

10pF

R10

1k C6

10u

R9

10k

2.2 系统硬件概述

本电路是由AT89C51单片机为控制核心,具有在线编程功能,低功耗,能在4.5V 超低压工作;显示部分用LCD1602实现,能够同时显示16x02即32个字符;时钟电路由DS1302提供,它是一种高性能、低功耗、带RAM 的实时时钟电路,可以对年、月、日、星期、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V.采用三线接口与单片机进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM 数据。DS1302内部有一个31×8的用于临时性存放数据的RAM 寄存器。可产生年、月、日、周日、时、分、秒,具有使用寿命长,精度高和低功耗等特点,同时具有掉电自动保存功能,本设计中为DS1302增加了备用电池,当主电源掉电时,备用电池自动为其供电。

2.3 系统硬件模块

2.3.1 AT89C51 各引脚的功能为:

VCC :供电电压。 GND :接地。

P0口:P0口为一个8位双向I/O 口。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O 口,P1口缓冲器能接收输

出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,P3.0 RXD(串行输入口),P3.1 TXD(串行输出口),P3.2 /INT0(外部中断0),P3.3 /INT1(外部中断1),P3.4 T0(记时器0外部输入),P3.5 T1(记时器1外部输入)。

2.3.2 DS1302

各引脚的功能为:

1:Vcc2:5V电源。当Vcc2>Vcc1+0.2V时,由Vcc2向DS1302供电,当Vcc2< Vcc1时,由Vcc1向DS1302供电;

2、3:X1、X2 是外接晶振脚(32.768KHZ的晶振);

4:地(GND);

5:CE/RST:复位脚;

6:I/O:数据输入输出口(双向);

7:SCLK:串行时钟,输入;

8:Vcc1:备用电池端。

2.3.3 点阵式LCD

3. 系统的软件设计

4. 硬件电路调试

76543210

C S 1

1C S 22G N D 3V C C 4V 05R S 6R /W 7E 8D B 09D B 110D B 211D B 312D B 413D B 514D B 615D B 716R S T 17-V o u t 18LCD1

AMPIRE128X64

50%

RV1

1k

当连接完电路、编写完程序以后,需要进行对各个器件进行检测,特别注意DS1302芯片。进行仿真时如果LCD不显示数据应该检测编写的程序是否正确。DS1302存在时钟精度不高,易受环境影响,出现时钟混乱等缺点。DS1302可以用于数据记录,特别是对某些具有特殊意义的数据点的记录,能实现数据与出现该数据的时间同时记录。这种记录对长时间的连续测控系统结果的分析及对异常数据出现的原因的查找具有重要意义。传统的数据记录方式是隔时采样或定时采样,没有具体的时间记录,因此,只能记录数据而无法准确记录其出现的时间;若采用单片机计时,一方面需要采用计数器,占用硬件资源,另一方面需要设置中断、查询等,同样耗费单片机的资源,而且,某些测控系统可能不允许。但是,如果在系统中采用时钟芯片DS1302,则能很好地解决这个问题。

DS1302 与微处理器进行数据交换时,首先由微处理器向电路发送命令字节,命令字节最高位MSB(D7)必须为逻辑1,如果D7=0,则禁止写DS1302,即写保护;D6=0,指定时钟数据,D6=1,指定RAM数据;D5~D1指定输入或输出的特定寄存器;最低位LSB(D0)为逻辑0,指定写操作(输入), D0=1,指定读操作(输出)。在DS1302的时钟日历或RAM进行数据传送时,DS1302必须首先发送命令字节。

若进行单字节传送,8位命令字节传送结束之后,在下2个SCLK周期的上升沿

输入数据字节,或在下8个SCLK周期的下降沿输出数据字节。

5. 结论

本次设计使我对课堂上的理论知识有了进一步的了解,并增强了对单片机这门课程的兴趣,如点阵式液晶显示器LCD1602、时钟日历芯片DS1302,同时也暴露了我在知识上掌握不足的缺点,其次在设计中我使用了Proteus绘图软件,也熟悉了Proteus的常用操作。

在整个设计过程中,我到图书馆查阅了大量的资料,在网上浏览了大量的与课程设计课题有关的信息,较好的完成了设计,达到了预期的目的。对硬件电路的设计、布局要先有一个总体的好的构思,才显得电路板美观、大方、直观;其次,对电路各个模块要实现的功能、芯片的原理和设计方法要在反复设计操作中不断熟悉,并且考虑和软件的协调工作关系;再次,对电路中各个原件的属性参数要多次推敲修改以达到合理而正确的设定。

在此次设计中,知道了做凡事要有一颗平常的心,不要想着走捷径,一步一脚印。也练就了我们的耐心,做什么事都在有耐心。在此次课程设计中我收获了很多很多东西,这是最重要的,同时整个设计过程使我学习新知识综合运用所学知识解决实际问题的能力得到了提高,为以后的学习打下良好的知识基础和技能基础。

6. 致谢

在此设计即将完成之际,我首先要特别感谢我的指导老师刘宏老师,在设计的自始至终,他给予我们耐心细致的的指导与不断的鼓励,循循善诱,我才能顺利地完成我的课程设计。他那种对待学生和蔼亲切,对待工作一丝不苟的品质和精神值得我们每一个人学习。

其次我还要由衷地感谢这四年来专业老师对我的谆谆教诲和帮助,使我学会了电子专业的各门学科知识和电子电路的设计等。使自己四年来所学的理论知识和实践做到了有机的结合,进一步深化巩固自己的理论知识,获益匪浅。

通过课程设计我不但学到了新知识,而且对大学所学的知识进行了复习和巩固,在不断的学习和进步中也一次次地感到自己能力的有限和学习知识的永无止境。再次感谢所有理解、关心和帮助过我的人。

参考文献

[1]蒋辉平.周国雄.基于Proteus的单片机系统设计与仿真实例[M].第一版.北京.机械工业出版社.2009年7月.

[2]冯乔.基于单片机的实时时钟设计[J].2009年06期.中国知网机构数字图书馆.

附录:

#include

#include"ds1302.h"

#include

sbit sclk=P1^6;

sbit io=P1^7;

sbit rst=P1^5;

uchar time_data[7]={12,1,11,12,18,5,55};//年周月日时分秒

uchar time2[]={0x8c,0x8a,0x88,0x86,0x84,0x82,0x80};//写地址

uchar time1[]={0x8d,0x8b,0x89,0x87,0x85,0x83,0x81}; // 读地址uchar disp[19];

void write_ds1302_byte(uchar temp)//写单个字节

{

uchar i;

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

{

sclk=0;

io=temp&0x01;

temp>>=1;

sclk=1;

}

}

void write_ds1302(uchar add,uchar date)//写数据

{

rst=0;

_nop_();

sclk=0;

_nop_();

rst=1;

_nop_();

write_ds1302_byte(add);

write_ds1302_byte(date);

rst=0;

_nop_();

io=1;

sclk=1;

}

uchar read_ds1302(uchar add)//读数据{

uchar i,num;

rst=0;

_nop_();

sclk=0;

_nop_();

rst=1;

_nop_();

write_ds1302_byte(add);

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

{

num>>=1;

sclk=0;

if(io)

num|=0x80;

sclk=1;

}

rst=0;

_nop_();

sclk=0;

_nop_();

sclk=1;

io=1;

return num;

}

void set_rtc() //对时间

{

uchar i,j;

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

{

j=time_data[i]/10;

time_data[i]=time_data[i]%10;

time_data[i]=time_data[i]+j*16;

}

write_ds1302(0x8e,0x00); //去除写保护

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

{

write_ds1302(time2[i],time_data[i]);

}

write_ds1302(0x8e,0x80);

}

void set_rtc1(uchar cc,uchar dd) //对时间{

uchar j;

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

// {

j=dd/10;

dd=dd%10;

dd=dd+j*16;

// }

write_ds1302(0x8e,0x00); //去除写保护

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

// {

write_ds1302(cc,dd);

// }

write_ds1302(0x8e,0x80);

}

void read_rtc()//读时间

{

uchar i;

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

{

time_data[i]=read_ds1302(time1[i]);

}

}

void time_pros()//处理函数把BCD码变成十进制{

uchar year,week,month,day,hour,minute,second;

year=time_data[0];

week=time_data[1];

month=time_data[2];

day=time_data[3];

hour=time_data[4];

minute=time_data[5];

second=time_data[6];

time.year=year/16*10+year%16;

time.week=week/16*10+week%16;

time.month=month/16*10+month%16;

time.day=day/16*10+day%16;

time.hour=hour/16*10+hour%16;

time.minute=minute/16*10+minute%16;

time.second=second/16*10+second%16; }

#ifndef __DS1302_H__

#define __DS1302_H__

#define uchar unsigned char

#define uint unsigned int

void write_ds1302_byte(uchar temp);

void write_ds1302(uchar add,uchar date); uchar read_ds1302(uchar add);

void set_rtc();

void read_rtc();

void time_pros();

void set_rtc1(uchar cc,uchar dd);

struct Time

{

uchar year;

uchar month;

uchar day;

uchar week;

uchar hour;

uchar minute;

uchar second;

};

extern struct Time time;

#endif

#include

#include"zifuku.h"

#include"ds1302.h"

#define uchar unsigned char

#define uint unsigned int

sbit CS1=P2^0; //LCD右屏幕

sbit CS2=P2^1; //LCD左屏幕

sbit RS=P2^2; //LCD数据、指令寄存器

sbit RW=P2^3; //LCD读、写操作

sbit E=P2^4; //LCD使能信号,下降沿有效

struct Time time;

/*

自定义延时子函数

*/

void delayms(uchar z)

{

int x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

/*

判断LCD忙信号状态

*/

void buys()

{

int dat;

RW=1;

do

{

P0=0x00;

E=1;

dat=P0;

E=0;

dat=0x80 & dat;

} while(!(dat==0x00)); }

/*

LCD写指令函数

*/

void w_com(uchar com)

{

//buys();

RW=0;

RS=0;

E=1;

P0=com;

E=0;

}

/*

LCD写数据函数

*/

void w_date(uchar date)

{

//buys();

RS=1;

E=1;

P0=date;

E=0;

}

/*

LCD选屏函数

*/

void select_screen(uchar screen)

{

switch(screen)

{

case 0: //选择全屏

CS1=0;

CS2=0;

break;

case 1: //选择左屏

CS1=0;

CS2=1;

break;

case 2: //选择右屏

CS1=1;

CS2=0;

break;

/* case 3: //选择右屏

CS1=1;

CS2=1;

break;

*/

}

}

/*

LCDx向上滚屏显示

*/

void lcd_rol()

{

int x;

for(x=0;x<64;x++)

{

select_screen(0);

w_com(0xc0+x);

delayms(500);

}

}

/*

LCD清屏函数:清屏从第一页的第一列开始,总共8页,64列

*/

void clear_screen(screen)

{

int x,y;

select_screen(screen); //screen:0-选择全屏,1-选择左半屏,2-选择右半屏

for(x=0xb8;x<0xc0;x++) //从0xb8-0xbf,共8页

{

w_com(x);

w_com(0x40); //列的初始地址是0x40

for(y=0;y<64;y++)

{

w_date(0x00);

}

}

}

/*

LCD显示汉字字库函数

*/

void lcd_display_hanzi(uchar screen,uchar page,uchar col,uint mun)

{ //screen:选择屏幕参数,page:选择页参数0-3,col:选择列参数0-3,mun:显示第几个汉字的参数

int a;

mun=mun*32;

select_screen(screen);

w_com(0xb8+(page*2));

w_com(0x40+(col*16));

for ( a=0;a<16;a++)

{

w_date(hanzi[mun++]);

}

w_com(0xb8+(page*2)+1);

w_com(0x40+(col*16));

基于51单片机的电子时钟的设计

目录 0 前言 (1) 1 总体方案设计 (2) 2 硬件电路设计 (2) 3 软件设计 (5) 4 调试分析及说明 (7) 5 结论 (9) 参考文献 (9) 课设体会 (10) 附录1 电路原理 (12) 附录2 程序清单 (13)

电子时钟的设计 许山沈阳航空航天大学自动化学院 摘要:传统的数字电子时钟采用了较多的分立元器件,不仅占用了很大的空间而且利用率也比很低,随着系统设计复杂度的不断提高,用传统时钟系统设计方法很难满足设计需求。 单片机是集CPU、RAM、ROM、定时器/计数器和多种接口于一体的微控制器。它体积小、成本低、功能强,广泛应用于智能产品和工业自动化上。而51系列的单片机是各单片机中最为典型和最有代表性的一种。,本次设计提出了系统总体设计方案,并设计了各部分硬件模块和软件流程,在用C语言设计了具体软件程序后,将各个模块完全编译通过过后,结果证明了该设计系统的可行性。该设计给出了以AT89C2051为核心,利用单片机的运算和控制功能,并采用系统化LED显示模块实时显示数字的设计方案,适当地解决了实际生产和日常生活中对计时高精确度的要求,因此该设计在现代社会中具有广泛的应用性。 关键字:AT89C2051,C语言程序,电子钟。 0前言 利用51单片机开发电子时钟,实现时间显示、调整和闹铃功能。具体要求如下: (1)按以上要求制定设计方案,并绘制出系统工作框图; (2)按要求设计部分外围电路,并与单片机仿真器、单片机实验箱、电源等正确可靠的连接,给出电路原理图; (3)用仿真器及单片机实验箱进行程序设计与调试;

(4)利用键盘输入调整秒、分和小时时刻,数码管显示时间; (5)实现闹钟功能,在设定的时间给出声音提示。 1总体方案设计 该电子时钟由89C51,BUTTON,1602 LCD液晶屏等构成,采用晶振电路作为驱动电路,利用单片机内部定时计数器0通过软件扩展产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天。闹钟和时钟的时分秒的调节是由一个按键控制,而另外一个按键控制时钟和闹钟的时间的调节。 图1 系统结构框图 该电子时钟由STC89C51,BUTTON,1602 LCD液晶屏等构成,采用晶振电路作为驱动电路,晶振电路的晶振频率为12MHZ,使用的定时器/计数器工作方式0,通过软件扩展产生的一秒定时,达到时分秒的计时,60秒为一分钟,60分钟为一小时,24小时为一天,又重00:00:00开始计时。没有按键按键按下时,时钟正常运行,当按下调节时钟按键K1,就会关闭时钟,当按下闹钟按键K3时时钟就会进入设置时间界面,但是时钟不会停止工作,按K2键,,就可以对时钟和闹钟要设置的时间进行调整。 2硬件电路设计

实时时钟设计实验报告

实验报告

源代码: #pragma sfr //使用特殊功能寄存器 #pragma EI //开中断 #pragma DI //关中断 #pragma access //使用绝对地址指令 #pragma interrupt INTTM000 Time //定义时间中断函数为Time #pragma interrupt INTKR OnKeyPress //定义按键中断为OnKeyPress #pragma interrupt INTP5 OnKeyOver //定义INT中断为OnKeyOver void Init_Led(); void InitKey_INTKR(); void Init_Lcd(); void Init_Inter(); void LightOneLed(unsigned char ucNum); void LightOff(); int Count_Day(int month); char i=0; //定义变量i,是切换时间的标志 int key=0; //定义key=0 int temp=1; //用于存放当前月的天数 int temp1=1; int second=0; //默认的秒second=0 int minute=0; //默认的分minute=0 int hour=12; //默认的时hour=12 int day=1; //默认的天day=1 int month=5; //默认的月month=5 int year=2014; //默认的年year=2014 int c_hour=1; //默认的闹钟时=1 int c_minute=1; //默认的闹钟分=1 int buffs[2]; //秒的数码显示缓存区 int buffm[2]; //分的数码显示缓存区 int buffh[2]; //时的数码显示缓存区 int buffday[2]; //天的数码显示缓存区 int buffmonth[2]; //月的数码显示缓存区 int buffyear[4]; //年的数码显示缓存区 int buffmd[4]; //月,天的数码显示缓存区 int buffhm[4]; //时,分的数码显示缓存区 int buffms[4]; //分,秒的数码显示缓存区 int buffch[2]; //闹钟时的数码显示缓存区 int buffcm[2]; //闹钟分的数码显示缓存区 unsigned char Que = 0; //INT中断中间变量 int LCD_num[10]={0X070d,0x0600,0x030e,0x070a,0x0603,0x050b,0x050f,0x0700,0x070f,0x070b};// 数字0~~9的显示码 unsigned char Scond; //…………………………延时函数1……………………// void Delay(int k){ i nt i,j; f or(i=0;i

基于51单片机的实时时钟设计报告

课程设计(论文)任务书 信息工程学院信息工程专业(2)班 一、课程设计(论文)题目嵌入式课程设计 二、课程设计(论文)工作自 2014 年 6 月 9 日起至2014年 6月15日止。 三、课程设计(论文) 地点: 5-402 单片机实验室 四、课程设计(论文)内容要求: 1.本课程设计的目的 (1)使学生掌握单片机各功能模块的基本工作原理; (2)培养学生单片机应用系统的设计能力; (3)使学生能够较熟练地使用proteus工具完成单片机系统仿真。 (4)培养学生分析、解决问题的能力; (5)提高学生的科技论文写作能力。 2.课程设计的任务及要求 1)基本要求: (1)分析所设计系统中各功能模块的工作原理; (2)选用合适的器件(芯片); (3)提出系统的设计方案(要有系统电路原理图); (4)对所设计系统进行调试。 2)创新要求: 在基本要求达到后,可进行创新设计,如改善单片机应用系统的性能。 3)课程设计论文编写要求 (1)要按照书稿的规格打印撰写论文。 (2)论文包括目录(自动生成)、摘要、正文、小结、参考文献、附录等。 (3)论文装订按学校的统一要求完成。 4)答辩与评分标准: (1)完成原理分析:20分; (2)完成设计过程:30分; (3)完成调试:20分; (4)回答问题:20分; (5)格式规范性(10分)。

5)参考文献: (1)张齐.《单片机原理与嵌入式系统设计》电子工业出版社 (2)周润景.《PROTUES入门实用教程》机械工业出版社 (3)任向民.《微机接口技术实用教程》清华大学出版社 (4)https://www.doczj.com/doc/007024695.html,/view/a5a9ceebf8c75fbfc77db2be.html 6)课程设计进度安排 内容天数地点 构思及收集资料1图书馆 系统设计与调试 4 实验室 撰写论文2图书馆、实验室 学生签名: 2014 年6 月9日 课程设计(论文)评审意见 (1)完成原理分析(20分):优()、良()、中()、一般()、差(); (2)设计分析(30分):优()、良()、中()、一般()、差(); (3)完成调试(20分):优()、良()、中()、一般()、差(); (4)回答问题(20分):优()、良()、中()、一般()、差(); (5)格式规范性(10分):优()、良()、中()、一般()、差(); 评阅人:职称: 2014 年6 月15 日

基于单片机的数字时钟

郑州科技学院 《单片机原理及应用》课程设计

目 录 0 引言3 1 设计方案4 2 系统设计7 2.1 硬件原理12 2.2 软件原理16 3 实验与仿真19 4 结论21 参考文献22 附录1 程序23 附录2 仿真电路图26 0 引言 近年来,随着电子产品的发展,随着社会竞争的激烈,人们对数字时钟的要求越来越高。时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间,忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。 因此从人们的日常生活到工厂的自动控制,从民用时钟到科学发展所需的时钟,现代人对时间的精度和观察时间的方便有了越来越多的需求。人们要求随时随地都能快速准确的知道时间,并且要求时钟能够更直观、更可靠、价格更便宜。这种要求催生了新型时钟的产生。 除此之外,由于对社会责任的更多承担,人们要求所设计的产品能够产生尽量少的垃圾、能够消耗尽量少的能量。因此人们对时钟的又有

了体积小、功耗低的要求。 传统的机械表由于做工的高精细要求,造价的昂贵,材料的限制,时间指示精度的限制,使用寿命方面,以及其它方面的限制,已不能满足人们的需求。另外,近些年随着科技的发展和社会的进步,人们对时钟的要求也越来越高,而使得新型电子钟表成了大势所趋。 另外单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。 单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。 1 设计方案 1.1 任务及要求 ①通过单片机内定时器控制走时,准确持续走时,调时不影响走时。 ②在八个数码管上显示时、分、秒及两个小数点。 ③含有闹钟功能,可以选择闹钟开关,可以设定闹铃时间。 ④到达闹钟时刻蜂鸣器警报,可以关掉警报。 1.2 系统功能说明 电子钟的格式为:XX.XX.XX ,由左向右分别为:时、分、秒。完成显示由秒01一直加1至59,再恢复为00;分加1,由00至01,一直加1至59,再恢复00;时加1,时由00加至23之后秒、分、时全部清清零。该钟使用T0作250us的定时中断。 走时调整:走时过程中直接调整且不影响走时准确性,按下时间选择键对“时、分、秒”显示进行调整,每按一下时间加,即加1,时间减,即减1。

51定时器和lcd12864做的实时时钟显示(附图)

#include #include"intrins.h" #define uchar unsigned char #define uint unsigned int sbit rs=P1^0; sbit rw=P1^1; sbit e=P2^5; sbit psb=P1^2; sbit rst=P1^4; uchar hour,fen,miao,num; uchar code table[]="时间:"; uchar sbuf[]={0,0,0,0,0,0}; void delay(uint x) { uchar i,j; for(i=x;i>0;i--) for(j=110;j>0;j--); } void Timer0Init(void) //50??@11.0592MHz { TMOD |= 0x01; //??????? TL0 = 0x00; //??????

TH0 = 0x4C; //?????? EA=1; ET0=1; TR0=1; //???0???? } void Delay2ms() //@11.0592MHz { unsigned char i, j; _nop_(); i = 4; j = 146; do { while (--j); } while (--i); } void Delay100us() //@11.0592MHz { unsigned char i, j; i = 2; j = 109; do { while (--j); } while (--i);

void Delay50ms() //@11.0592MHz { unsigned char i, j, k; i = 3; j = 207; k = 28; do { do { while (--k); } while (--j); } while (--i); } void write_12864com(uchar com) { rs=0; rw=0; Delay100us(); P0=com; e=1; Delay100us(); e=0; Delay100us(); }

电子科技大学本科论文格式要求定稿版

电子科技大学本科论文 格式要求 HUA system office room 【HUA16H-TTMS2A-HUAS8Q8-HUAH1688】

电子科技大学 UNIVERSITY OF ELECTRONIC SCIENCE AND TECHNOLOGY OF CHINA 学士学位论文 BACHELOR DISSERTATION 论文题目 学生姓名 学号 学院 专业 指导教师 指导单位 年月日

电子科技大学 20 级本科毕业设计(论文)任务书 拟题单位_________________________ 审题人(签名)__________ 题目及副标题______________________________________________ 题目来源: 1.科研 2.生产 3.教学(含实验) 4.其它(选择其中一种) 主要任务: 预期成果或目标: 预期成果形式:1.硬件 2.硬件+软件 3.软件4.纯论文(选择其中一种) 指导教师签名: _____________起止时间:年月日至年月日 学生姓名_______ 专业 _________________ 学号__________ 指导单位________________________________________________ 指导教师姓名、职称______________________________________ 设计地点________________________________________________ 年月日

备注:1.此任务书应由指导教师填写,签名处须由教师亲笔签名。 2. 此任务书必须在学生毕业设计开始前....... 下达给学生。

单片机实时时钟电路的原理及应用

单片机实时时钟电路的原理及应用 1 引言现在流行的串行时钟电路很多,如DS1302、DS1307、PCF8485 等。这些电路的接口简单、价格低廉、使用方便,被广泛地采用。本文介绍的 实时时钟电路DS1302 是DALLAS 公司的一种具有涓细电流充电能力的电路, 主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并 且可以关闭充电功能。采用普通32.768kHz 晶振。 2 DS1302 的结构及工作原理DS1302 是美国DALLAS 公司推出的一种高性能、低功耗、带RAM 的实 时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补 偿功能,工作电压为2.5V~5.5V。采用三线接口与CPU 进行同步通信,并可 采用突发方式一次传送多个字节的时钟信号或RAM 数据。DS1302 内部有一个31×8的用于临时性存放数据的RAM 寄存器。DS1302 是DS1202 的升级产品,与DS1202 兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电 源进行涓细电流充电的能力。 2.1 引脚功能及结构图1 示出DS1302 的引脚排列,其中Vcc1 为后备电源,VCC2 为主电源。在主电源关闭的情况下,也能 保持时钟的连续运行。DS1302 由Vcc1 或Vcc2 两者中的较大者供电。当Vcc2 大于Vcc1+0.2V 时,Vcc2 给DS1302 供电。当Vcc2 小于Vcc1 时,DS1302 由Vcc1 供电。X1 和X2 是振荡源,外接32.768kHz 晶振。RST 是复位/片选线,通过把RST 输入驱动置高电平来启动所有的数据传送。RST 输入有两种功能:首先,RST 接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST 提供终止单字节或多字节数据的传送手段。当RST 为高电平时,所有的数据传 送被初始化,允许对DS1302 进行操作。如果在传送过程中RST 置为低电平, 则会终止此次数据传送,I/O 引脚变为高阻态。上电运行时,在Vcc≥2.5V之前,RST 必须保持低电平。只有在SCLK 为低电平时,才能将RST 置为高电平。

实时时钟实验报告

嵌入式系统开发实验报告 实验四:实时时钟实验 班级:应电112 姓名:张志可 学号: 110415151 指导教师:李静 实验日期: 2013年9月25日

实验四:实时时钟实验 一、实验目的 1. 了解实时时钟的硬件控制原理及设计方法。 2. 掌握 S3C2410X 处理器的 RTC 模块程序设计方法。 二、实验设备 硬件:Embest ARM 教学实验系统,ULINK USB-JTAG 仿真器套件,PC 机。 软件:MDK 集成开发环境,Windows 98/2000/NT/XP。 三、实验原理 1. 实时时钟(RTC) 实时时钟(RTC)器件是一种能提供日历/时钟、数据存储等功能的专用集成电路,常用作各种计算机系统的时钟信号源和参数设置存储电路。RTC 具有计时准确、耗电低和体积小等特点,特别是在各种嵌入式系统中用于记录事件发生的时间和相关信息,如通信工程、电力自动化、工业控制等自动化程度高的领域的无人值守环境。随着集成电路技术的不断发展,RTC 器件的新品也不断推出,这些新品不仅具有准确的 RTC,还有大容量的存储器、温度传感器和 A/D 数据采集通道等,已成为集 RTC、数据采集和存储于一体的综合功能器件,特别适用于以微控制器为核心的嵌入式系统。 RTC 器件与微控制器之间的接口大都采用连线简单的串行接口,诸如 I2C、SPI、MICROWIRE 和CAN 等串行总线接口。这些串口由2~3 根线连接,分为同步和异步。 2. S3C2410X 实时时钟(RTC)单元 S3C2410X 实时时钟(RTC)单元是处理器集成的片内外设。由开发板上的后备电池供电,可以在系统电源关闭的情况下运行。RTC 发送8 位BCD 码数据到CPU。传送的数据包括秒、分、小时、星期、日期、月份和年份。RTC 单元时钟源由外部32.768KHz 晶振提供,可以实现闹钟(报警)功能。 四、实验内容 学习和掌握 Embest ARM 教学实验平台中 RTC 模块的使用,编写应用程序,修改时钟日期及时间的设置,以及使用 EMBEST ARM 教学系统的串口,在超级终端显示当前系统时间。

(完整word版)基于单片机电子时钟的制作

毕业综合实训概述 实训目的: 对单片机电子时钟的制作及设计原理的掌握,利用本次实训对所学的理论课程进行实际论证,更好的掌握理论知识。能够更好的运用在实践当中。 实训时间: 2015年9月21日-2015年11月8日 实训要求: 1.独立完成实物的制作及理解设计原理; 2.分析及制作程序流程图; 3. 绘制电路图; 4.了解个元器件在电路中的作用。

目录 1 引言 (1) 1.1选题背景 (1) 1.2设计原理 (1) 1.3单片机简介 (2) 1.4单片机的发展历史 (2) 1.5单片机的应用领域及发展趋势 (2) 2 方案议论 (5) 2.1 设计要求 (5) 2.2 系统描述 (5) 2.3 设计方案 (5) 2.3.1 集成电路 (5) 2.3.2 单片机的最小系统 (6) 2.3.3结论 (7) 3 硬件设计 (8) 3.1硬件结构 (8) 3.2中心控制模块 (8) 3.3电源模块 (11) 3.4控制电路 (12) 3.5复位电路 (12) 4软件设计 (15) 4.1电子时钟的设计原理 (15) 4.2 软件设计流程 (15) 5 总结 (17) 致谢 (18) 参考文献 (18) 附录电子时钟程序 (19)

1 引言 1.1选题背景 单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。单片机由运算器,控制器,存储器,输入输出设备构成,相当于一个微型的计算机(最小系统),和计算机相比,单片机缺少了外围设备等。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。 INTEL的8080是最早按照这种思想设计出的处理器,当时的单片机都是8位或4位的。其中最成功的是INTEL的8051,此后在8051上发展出了MCS51系列单片机系统。因为简单可靠而性能不错获得了很大的好评。尽管2000年以后ARM 已经发展出了32位的主频超过300M的高端单片机,直到现在基于8051的单片机还在广泛的使用。现代人类生活中所用的几乎每件有电子器件的产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电子产品中都含有单片机。汽车上一般配备40多片单片机,复杂的工业控制系统上甚至可能有数百片单片机在同时工作! 利用单片机实现电子时钟有很多优点,例如外部电路简单,控制方便等,因而备受广大单片机爱好者的喜爱。通过电子时钟的制作方案,掌握C语言的编程方法。并熟练的运用89S52单片机定时器准确的实现时间的递进,按下按键可以设置时间,最重要的是自己还可以通过程序设计输入自己需要的定点时间。 1.2设计原理 通过单片机对时间准确的控制,实现时间的递进。 定时器:时钟周期T是时序中最小的时间单位,具体计算的方法是1/时钟源频率,我们KST-52单片机开发板上用的晶振是11.0592M,那么我们对于这个单

电子科技大学学位论文撰写格式规范

电子科技大学研究生学位论文撰写格式规范 根据《关于研究生提交学位论文电子版的通知》(校研[2001]257号)的精神,将与研究生学位论文撰写格式的有关内容摘录如下。(研究生在学位论文答辩通过后,须向图书馆提交论文全文的电子版和印刷版,提交的具体方式请仔细阅读图书馆(https://www.doczj.com/doc/007024695.html,/)主页上的“论文提交”的有关内容,并下载“学位论文提交单(回执)”)。 一、一般格式和顺序 1、封面: (1)题目:应能概括整个论文最重要的内容,具体、切题、不能太笼统,但要引人注目;题名力求简短,严格控制在25字以内。 (2)专业:以国务院学位委员会批准的专业目录中的专业为准,一般为二级学科,按一级学科培养的则填一级学科。 (3)导师:指导教师的署名一律以批准招生的为准,如有变动应正式提出申请并报研究生院备案,且只能填写指导教师一名。 (4)学生姓名和学号。 2、扉页:中文扉页(由文印中心统一制做);英文扉页(仅限博士论文)) 3、独创性声明:(单设一页,排在英文扉页后),论文送审前,学生本人及其导师均需在独创性声明上签字。 4、中文摘要:论文第一页为中文摘要,约800-1000字左右。 内容应包括工作目的、研究方法、成果和结论,要突出本论文的创造性成果,语言力求精炼。为了便于文献检索,应在本页下方另起一行注明论文的关键词(3-5个)。 5、英文摘要:中文摘要后为英文摘要。内容与中文摘要同。 6、目录:应是论文的提纲,也是论文组成部分的小标题,其内容从第一章开始。中英文摘要、主要符号表等前置部分不要放在目录里。 7、主要符号表:如果论文中使用了大量的物理量符号、标志、缩略词、专门计量单位、自定义名词和术语等,应编写成注释说明汇集表。假如上述符号和缩略词使用数量不多,可以不设专门的汇集表,而在论文中出现时加以说明。 8、引言(第一章):在论文正文前,内容为:该研究工作在国民经济中的实用价值与理论意义;本研究主题范围内国内外已有的文献综述;论文所要解决的问题。 9、正文:是学位论文的主体。写作内容可因研究课题性质而不同,一般可包括:理论分析、计算方法、实验装置和测试方法、经过整理加工的实验结果的分析讨论、与理论计算结果的比较,本研究方法与已有研究方法的比较等。 10、结论(最后一章):应明确、精炼、完整、准确,使人只要一看结论就能全面了解论文的意义、目的和工作内容。要认真阐述自己的创造性工作在本领域中的地位、作用和意义。应严格区分研究生的成果与导师科研工作的界限。 11、致谢:致谢对象限于在学术方面对论文的完成有较重要帮助的团体和人士。(限200字) 12、参考文献:只列作者直接阅读过、在正文中被引用过、正式发表的文献资料。参考

嵌入式ARM实时时钟实验报告

嵌入式ARM实时时钟实验报告 实验二实时时钟实验1 实验目的(1) 了解实时时钟在嵌入式系统中的作用;(2) 掌握实时时钟的使用。 2 实验设备(1) S3C2410嵌入式开发板,JTAG仿真器。 (2) 软件:PC机操作系统Win98、Win2000或Windows XP,集成开发环境,仿真器驱动程序,超级终端通讯程序。 3 实验内容(1) 编程实现实时时钟功能,每秒显示实时时钟;(2) 编程实现实时时钟告警功能。 4 实验步骤(1) 参照模板工程,新建一个工程RTC,添加相应的文件,并修改RTC 的工程设置;(2) 创建并加入到工程RTC中;(3) 编写程序每秒钟读取时钟滴答;关键代码如下:old_index=led_index; Uart_Printf; While{ /*每隔1秒更新一次数据*/ if { rtc_get_data;

old_index=led_index; /*实时时钟数据为BCD码格式,以16进制显示*/ Uart_Printf; } }; (4) 编写程序实现时间告警功能;关键代码如下; a.首先设置告警时间,如下例程设置每分钟的第5秒告警m_=0x05; rtc_alalm_set; 模式0x41表示使能RTC告警,以及使能秒时钟告警b.注册中断例程,打开中断install_isr_handlerrtc_int_isr); rINTMSK=; c.中断服务例程中清除中断事件rI_ISPC=BIT_RTC; if *0x20000000=0x0f; else *0x20000000=0xff; alarm_count++; (5) 编译RTC;(6) 运行超级终端,选择正确的串口号,并将串口设置位:波特率、奇偶校验、数据位数和停止位数,无流控,打开串口;(7) 装载程序并运行,如果运行正确,在超级终端中将会显示如图所示内容。图运行结果 5 实验总结通过这次实验我进一步掌握了RTCCON控制

基于单片机的简易时钟设计(毕业设计)

广西理工职业技术学院 毕业设计(论文)说明书题目:简易电子时钟设计 系别:电气工程系 专业班级:11机电2 姓名:黄武锦 学号:20112323 指导教师:黎有好 二〇一三年七月二十四日

目录 1.概论 (2) 2.整体设计思路 (3) 2.1硬件各部分所能完成的功能 (4) 2.2系统工作原理 (5) 2.3时钟各功能分析及图解 (5) 2.4.1电路各功能图解分析 (5) 2.4.2电路功能使用说明 (8) 3. 软件设计思路 (9) 3.1 主程序模块 (9) 3.2 数码管动态扫描模块 (10) 3.3 当前时间计时模块 (10) 3.4 闹钟输入输出模块 (11) 3.5 当前时间调整模块 (13) 3.6复位模块 (14) 4.系统的调试和性能分析 (15) 4.1系统的调试方法 (15) 4.1.1输入按键的调试 (15) 4.1.2复位电路的调试 (15) 4.1.3显示电路的调试 (15) 4.1.4整个系统的联调 (15) 4.2心得体会 (16) 参考文献 (16) 附录 (17) 附录A 系统原理图 (17) 附录B 程序源代码 (18) 电气信息学院课程设计评分表 (29)

1.概论 单片机系统作为一种典型的嵌入式系统,其系统设计包括硬件电路设计和软件编程设计两个方面,其调试过程一般分为软件调试、硬件测试、系统调试3个过程。如果采用单片机系统的虚拟仿真软件——Proteus,则不用制作具体的电路板也能够完成以上工作。数字钟是采用数字电路实现对时,分,秒,数字显示的计时装置,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表的报时功能。数字钟已成为人们日常生活中的必需品,广泛应用于家庭、车站、码头、剧院、办公室等场所,给人们的生活、学习、工作带来极大的方便[4]。不仅如此,在现代化的进程中,也离不开电子钟的相关功能和原理,比如机械手的控制、家务的自动化、定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。而且是控制的核心部分。因此,研究数字钟及扩大其应用,有着非常现实的意义。 电子钟在工业控制和日常生活中是很重要的,它不仅可以用于计时、提醒又可用于对机器的控制,在自动化的过程中必然有电子钟的参与,因此电子钟的应用会越来越广泛。而且向着精确、低功耗、多功能发展。基于单片机设计的数字钟精确度较高,因为在程序的执行过程中,任何指令都不影响定时器的正常计数,即便程序很长也不会影响中断的时间。从而,使数字钟的精度仅仅取决于单片机的产生机器周期电路和定时器硬件电路的精确度。另外,程序较为简洁,具有可靠性和较好的可读性。如果我们想将它应用于实时控制之中,只要对上述程序和硬件电路稍加修改,便可以得到实时控制的实用系统,从而应用到实际工作与生产中去。 数字电子钟的设计方法有多种,例如,可用中小规模集成电路组成电子钟,也可以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟还可以利用单片机来实现电子钟等等。这些方法都各有特点,其中,利用单片机实现的电子钟具有编程灵活,便于功能扩充,精确度高等特点。

基于ds1302的51单片机简易实时时钟-1602显示-源程序

。 ==================主程序================= #include

。#include "ds1302.h" #include "LCD1602.h" void change(); uchar times[9]; uchar date[9]; main() {LCD_init();//LCD初始化 init_1302(time_1302); gotoxy(1,1); LCD_display("Time:"); gotoxy(1,2); LCD_display("Date:"); times[8]='\0';// date[8]='\0'; while(1) {get_1302(time_1302); change(); gotoxy(7,1); LCD_display(times); gotoxy(7,2); LCD_display(date);

} } /*=========================== 转换子程序 ===========================*/ void change() { // 时间的转换 times[0]=time_1302[2]/10+'0'; times[1]=time_1302[2]%10+'0'; times[2]=':'; times[3]=time_1302[1]/10+'0'; times[4]=time_1302[1]%10+'0'; times[5]=':'; times[6]=time_1302[0]/10+'0'; times[7]=time_1302[0]%10+'0'; // 日期的转换 date[0]=time_1302[6]/10+'0'; date[1]=time_1302[6]%10+'0'; date[2]='-';

集成电路论文

我国集成电路发展状况 摘要 集成电路产业是知识密集、技术密集和资金密集型产业,世界集成电路产业发展异常迅速,技术进步门新月异。虽然目前中国集成电路产业无论从质还是从量来说都不算发达,但伴随着全球产业东移的大潮,中国的经济稳定增长,巨大的内需市场,以及充裕的各类人才和丰富的自然资源,可以说中国集成电路产业的发展尽得天时、地利、人和之势,将会崛起成为新的世界集成电路制造中心。 首先,本文介绍了集成电路产业的相关概念,并对集成电路产业的重要特点进行了分析。其次,在介绍世界集成电路产业发展趋势的基础上本文对我国集成电路产业发展的现状进行了分析和论述, 并给出了发展我国集成电路的策略。 集成电路产业是信息产业和现代制造业的核心战略产业,其已成为一些国家信息产业发展中的重中之重。相比于其它地区,中国是集成电路产业的后来者,但新世纪集成电路产业的变迁为中国集成电路产业的蚓起带来了机遇,如果我们能抓住这一有利时机,中国不仅能成为集成电路产业的新兴地区,更能成为世界集成电路产业强国。 关键词:集成电路产业;发展现状;发展趋势 ABSTRACT

Integrated circuit(IC) industry is of a knowledge,technology and capital concentrated nature. IC industry in the world develops extremely fast and the technology improves everyday.Although currently China’s IC industry is not fully developed,taking into consideration of either quality or quantity of the products.with the shifting of the global industry centre to the east and with the stable economic growth,enormous market demands and abundant human and nature resources available in China,the development of China’s IC industry has favourable conditions in all aspects.and it is expected that in the near future China will become tire new IC manufacturing centre in the world. Firstly, this paper introduce the concept of IC , and analysis the important points of it. Secondly, this paper introduces the developments of IC in the word especially in China. In the end, this paper gives some advices of the developments of IC in our country. The IC is the core of information industry and modern manufacturing strategic industries. IT has become some national top priority in the development of information industry. Compared with other regions, the latter of the China's integrated circuit industry, but the changes of the IC industry in the new century for China's integrated circuit industry vermis creates opportunity, if we can seize the favorable opportunity, China can not only a new region of the integrated circuit industry, more can become the integrated circuit industry in the world powers. Key words: IC current situations tendency 前言

单片机—实时时钟实验(汇编版)

实验二实时时钟实验 一、实验目的 1)数码管动态显示技术 2)定时器的应用 3)按键功能定义 二、实验实现的功能 实时时钟,可以设定当前时间,完成钟表功能(四位数码管分别显示分钟和秒)。 三、系统硬件设计

四、系统软件设计 说明:1键进入和退出设置模式,4键选择调分或秒,2键加,3键减。 P1M1 EQU 91H P1M0 EQU 92H SEC0 DA TA 30H ;秒显示 SEC1 DA TA 31H MIN0 DA TA 32H ;分显示 MIN1 DA TA 33H DELAY_1 DA TA 34H ;延时参数 DELAY_2 DA TA 35H ;延时参数 ORG 0000H LJMP 0030H ORG 001BH LJMP INTR0 ORG 0030H MAIN: MOV P1M1,#00000000B MOV P1M0,#11111111B MOV R7,#000 ;记中断次数,R7=100为1秒 MOV R6,#000 ;记秒 MOV R5,#000 ;记分 MOV R4,#0FFH ;按键位置 MOV R1,#000 ;确定是否有按键按下的参数 MOV TMOD,#10H ;定时器初始化 MOV TH1,#0D8H ;定时时间10ms MOV TL1,#0F0H SETB EA SETB ET1 SETB TR1 LOOP0: CJNE R4,#000H,LOOP01 ;实时时钟显示 MOV R4,#0FFH LJMP LOOP1 LOOP01: LCALL TIME

LCALL KEY0 LJMP LOOP0 LOOP1: CJNE R4,#000H,LOOP11 ;调秒MOV R4,#0FFH LJMP LOOP0 LOOP11: CJNE R4,#003H,LOOP12 MOV R4,#0FFH LJMP LOOP2 LOOP12: CJNE R4,#001H,LOOP13 MOV R4,#0FFH INC R6 LOOP13: CJNE R6,#060,LOOP14 MOV R6,#000H LOOP14: CJNE R4,#002H,LOOP16 MOV R4,#0FFH CJNE R6,#000,LOOP15 MOV R6,#060 LOOP15: DEC R6 LOOP16: LCALL TIME LCALL KEY1 LJMP LOOP1 LOOP2: CJNE R4,#000H,LOOP21 ;调分MOV R4,#0FFH LJMP LOOP0 LOOP21: CJNE R4,#003H,LOOP22 MOV R4,#0FFH LJMP LOOP1 LOOP22: CJNE R4,#001H,LOOP24 MOV R4,#0FFH INC R5 LOOP23: CJNE R5,#060,LOOP24 MOV R5,#000H LOOP24: CJNE R4,#002H,LOOP26 MOV R4,#0FFH CJNE R5,#000,LOOP25 MOV R5,#060

嵌入式软件开发基础实验报告 实时时钟

上海电力学院 嵌入式软件开发基础实验报告 题目:【ARM】实时时钟实验 专业:电子科学与技术 年级: 姓名: 学号:

一、实验目的 1、了解实时时钟的硬件控制原理及设计方法。 2、掌握S3C44B0X 处理器的RTC 模块程序设计方法。 二、实验设备 1、硬件:Embest EduKit-III 实验平台,Embest ARM 标准/增强型仿真器套件,PC 机。 2、软件:Embest IDE Pro ARM 集成开发环境,Windows 98/2000/NT/XP。 三、实验内容 学习和掌握 Embest EduKit-III 实验平台中RTC 模块的使用,进行以下操作: 1、编写应用程序,修改时钟日期及时间的设置。 2、使用EMBEST ARM 教学系统的串口,在超级终端显示当前系统时间。 四、实验原理 1. 实时时钟(RTC) 实时时钟(RTC)器件是一种能提供日历/时钟、数据存储等功能的专用集成电路,常用作各种计算机系统的时钟信号源和参数设置存储电路。RTC 具有计时准确、耗电低和体积小等特点,特别是在各种嵌入式系统中用于记录事件发生的时间和相关信息,如通信工程、电力自动化、工业控制等自动化程度高的领域的无人值守环境。随着集成电路技术的不断发展,RTC 器件的新品也不断推出,这些新品不仅具有准确的RTC,还有大容量的存储器、温度传感器和A/D 数据采集通道等,已成为集RTC、数据采集和存储于一体的综合功能器件,特别适用于以微控制器为核心的嵌入式系统。 RTC 器件与微控制器之间的接口大都采用连线简单的串行接口,诸如I2C、SPI、MICROWIRE和CAN 等串行总线接口。这些串口由2~3 根线连接,分为同步和异步。 2. S3C44B0X 实时时钟(RTC)单元 S3C44B0X 实时时钟(RTC)单元是处理器集成的片内外设。由开发板上的后备电池供电,可以在系统电源关闭的情况下运行。RTC 发送8 位BCD 码数据到CPU。传送的数据包括秒、分、小时、星期、日期、月份和年份。RTC 单元时钟源由外部32.768KHz 晶振提供,可以实现闹钟(报警)功能。 S3C44B0X 实时时钟(RTC)单元特性: BCD 数据:秒、分、小时、星期、日期、月份和年份 1、闹钟(报警)功能:产生定时中断或激活系统 2、自动计算闰年 3、无2000 年问题 4、独立的电源输入 5、支持毫秒级时间片中断,为RTOS 提供时间基准 读/写寄存器 访问 RTC 模块的寄存器,首先要设RTCCON 的bit0 为1。CPU 通过读取RTC 模块中寄存器BCDSEC、BCDMIN、BCDHOUR、BCDDAY、BCDDATE、BCDMON 和 BCDYEAR 的值,得到当前的相应时间值。然而,由于多个寄存器依次读出,所以有可能产生错误。比如:用户依次读取年(1989)、月(12)、日(31)、时(23)、分(59)、秒(59)。当秒数为1 到59 时,没有任何问题,但是,当秒数为0 时,当前时间和日期就变成了1990 年1 月1 日0 时0 分。这种情况下(秒数为0),用户应该重新读取年份到分钟的值(参考程序设计)。

相关主题
文本预览
相关文档 最新文档