文档库 最新最全的文档下载
当前位置:文档库 › 多功能时钟设计报告

多功能时钟设计报告

多功能时钟设计报告
多功能时钟设计报告

多功能数字钟设计报告

山东大学控制学院王睿陈宝栋姜全喜2011年11月6日

目录

摘要

1.设计任务

1)基本要求

2)发挥部分

2.方案论证与比较

1)显示部分

2)数字时钟

3)温度采集

4)闹铃部分

5)电源模块

6)电网电压测量、频率显示

7)环境温度控制

3.总体方案

1)工作原理

2)总体设计

4.系统硬件设计

1)AT89sc52单片机最小系统

2)测温模块

3)时钟模块

4)存储器模块

5)LCD显示模块

6)电源模块

7)电压测量模块

8)环境温度控制模块

5.单片机程序部分

1)程序编写

6.测试与结果分析

1)基本部分测试与分析

2)发挥部分测试与分析

3)创新部分测试与分析

7.设计总结

摘要本设计采用LCD液晶屏幕显示系统,由键盘、温度采集、定时闹铃、日期提醒等功能模块组成。基于题目基本要求,本系统对时间显示、闹铃方式进和温度采集系统行了重点设计。此外,扩展了整点报时、非易失闹铃信息存储、国内外重要节日提醒等功能。本系统大部分功能由软件来实现,吸收了硬件软件化的思想,大部分功能通过软件来实现,使电路简单明了,系统稳定性大大提高。采用单片机控制,由于采用软硬件结合的方式,实现起来电路相对简单并且易于调试,最终采用ATMEL公司的AT89sc52单片机,功耗低高性能,可以很好的实现对此多功能数字钟的控制。

本系统不仅成功的实现了要求的基本功能,多数发挥部分也得到了实现,而且还具有一定的创新功能。

关键字:AT89sc52单片机、LCD液晶显示、双电源供电、温度采集、非易失定时闹铃、生日提醒、重要节日提醒、整点报时

1、任务设计

1)基本要求

(1)采用LED数码管能清晰、准确地显示?时?、?分?、?秒?功能。

(2)通过键盘可对?时?、?分?、?秒?任意设置。

(3)具有?闹钟?功能,且时间任意设置。

(4)具有环境温度显示功能,温度范围0~60度,温度分辨率为0.1℃。

(5)要求自制保证该数字钟正常工作的直流稳压电源。

2)发挥部分

(1)具有电网电压测量、频率显示功能,电压分辨率1V。

(2)具有具有环境温度控制功能,假设控制对象是一台家用电风扇,当环境温度大于?设定值?时,开启电风扇;当温度低于?设定值-2℃?时,停止电风扇。温度?设定值?可在?20~30℃?范围内任意设置。

(3)其它。

2、方案论证

1)显示部分:

显示部分是本次设计的重要部分,一般有以下两种方案:

方案一:采用LED显示,分静态显示和动态显示。对于静态显示方式,所需的译码驱动装置很多,引线多而复杂,且可靠性也较低。而对于动态显示方式,虽可以避免静态显示的问题,但设计上如果处理不当,易造成亮度低,有闪烁等问题。

方案二:采用LCD显示。LCD液晶显示具有丰富多样性、灵活性、电路简单、易于控制而且功耗小等优点,对于信息量多的系统,是比较适合的。

鉴于上述原因,我们采用方案二。

2)数字时钟

数字时钟是本设计的核心的部分。根据需要可采用以下两种方案实现:

方案一:方案完全用软件实现数字时钟。原理为:在单片机内部存储器设三个字节分别存放时钟的时、分、秒信息。利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应

的秒值加1;若秒值达到60,则将其清零,并将相应的分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将时字节清零。该方案具有硬件电路简单的特点,但当单片机不上电,程序将不执行。而且由于每次执行程序时,定时器都要重新赋初值,所以该时钟精度不高。

方案二:方案采用Dallas公司的专用时钟芯片DS1302。该芯片内部采用石英晶体振荡器,其芯片精度不大于10ms/年,且具有完备的时钟闹钟功能,因此,可直接对其以用于显示或设置,使得软件编程相对简单。为保证时钟在电网电压不足或突然掉电等突发情况下仍能正常工作,芯片内部包含锂电池。当电网电压不足或突然掉电时,可使系统自动转换到内部锂电池供电系统。而且即使系统不上电,程序不执行时,锂电池也能保证芯片的正常运行,以备随时提供正确的时间。

基于时钟芯片的上述优点,本设计采用方案二完成数字时钟的功能。

3)温度采集

由于现在用品追求多样化,多功能化,给系统加上温度测量显示模块,能够方便人们的生活,使该设计具有人性化。

方案一:采用热敏电阻,可满足40摄氏度至90摄氏度测量范围,但热敏电阻精度、重复性、可靠性较差,对于检测小于1摄氏度的信号是不适用的。

方案二:采用温度传感器DS18B20。DS18B20可以满足从-55摄氏度到+125摄氏度测量范围,且DS18B20测量精度高,增值量为0.5摄氏度,在一秒内把温度转化成数字,测得的温度值的存储在两个八位的RAM中,单片机直接从中读出数据转换成十进制就是温度,使用方便。

基于DS18B20的以上优点,我们决定选取DS18B20来测量温度。

4)闹铃部分

一般的时钟都带有闹铃,实现闹铃方式可采用以下两种:

方案一:将闹钟信息存放在单片机自带的存储器中。该方案成本低而且易于实现,但是一但掉电会造成之前信息的丢失。

方案二:将闹钟信息存放在非易失储存器AT24C02中。该方案即使在完全的掉电的情况下也不会造成闹钟信息的丢失,可避免方案一带来的麻烦。

5)电源模块

方案一:采用干电池作为系统电源。但需经常换电池,不符合节约型社会的要求。

方案二:采用直流稳压电源作为系统主电源,干电池作为辅助电源。不仅不需要经常更换电源,并且当市电停止时能够采用干电池做为系统电源,使用更加安全可靠。

基于以上分析,我们决定采用方案二。

3、总体方案

1)工作原理:

本设计采用AT89sc52单片机作为本系统的控制模块。单片机可把由DS18B20、DS1302、AT24C02中的数据利用软件来进行处理,从而把数据传输到显示模块,实现温度、日历和闹铃的显示。以LCD液晶显示器为显示模块,把单片机传来的数据显示出来,并且显示多样化。在显示电路中,主要靠按键来实现各种显示要求的选择与切换。

2)总体设计:

总体框架图如图1

S6

S7

S8

S9

S2

S3

S4

S5

S13

S17

S22

S12

S16

S21

S11

S15

S19

S10

S14

S18

LCDEN

RS

WR

RD

P3.0

P3.1

INT1LCDEN RS WR RD

CSDA

C430p F

C530p F

Y1

11.0592M Hz

X1

X2

S22

R161K R17

10K

+

CJ310u F

VCC

RST

FM

Q1PNP

R1818Ω

VCC

FM

VCC

I/O

GND

DS18B20

R2010K

VCC

Vin

1

G N D

2

Vout

3

U?

VOLTREG 1

23

4

Ci 0.33uF

C01uF

+C

1000uF

12345678910111213141516P4

HEADER 16

VCC

VCC

R2110Ω

10K 1602

VCC

RS LCDEN D0DB1D1DB2D2DB3D3DB4D4DB5D5DB6D6DB7D7

DB8INT1CSDA VCC

X1X2RST

RD WR

89S52

123456789P1

10K

VCC

12345678

131231191891716

29

30111028272625242322213938373635343332

D0D1D2D3D4D5D6D7

40

20

SDA SCL 18B20FM CSUSB DIOLA DULA WELA

P3.0P3.1ALE

RS

LCDEN

1514P10/T P11/T P12P13P14P15P16P17

INT1INT0T1T0EA/P

X1X2RESET RD WR PSEN ALE/P TXD RXD P27P26P25P24P23P22P21P20P07

P06P05P04P03P02P01P0012345678910J7

AI

IC3

1543

C90.1uF

C100.1uF

R61K

U1431

R410K R510K

+5V

12345678910

20191817161514131211

P21P22P23P24REF+

+5V

12

3

R15.1M

R3100Ω

R210K

Q

+

C1

100uF

AC18vD1

1N4007

强电控制

峰值输出频率输出

J1

J2

J3

J4J5

图1 总体框架

4、系统硬件设计(单元电路设计及分析) 1) AT89sc52单片机最小系统:

最小系统包括晶体振荡电路、复位开关和电源部分。图2为AT89sc52单片机的最小系统。

C430p F

C530p F

Y1

11.0592M Hz

X1

X2

S22

R161K R17

10K

+

CJ3

10u F

VCC

RST

VCC

DB1DB2DB3DB4DB5DB6DB7DB8INT1CSDA VCC

X1X2RST

RD WR

89S52

123456789P1

10K

VCC

12345678

131231191891716

29

30111028272625242322213938373635343332

D0D1D2D3D4D5D6D7

40

20

SDA SCL 18B20FM CSUSB DIOLA DULA WELA

P3.0P3.1ALE

RS

LCDEN

1514P10/T P11/T P12P13P14P15P16P17

INT1INT0T1T0EA/P

X1X2RESET RD WR PSEN ALE/P TXD RXD P27P26P25P24P23P22P21P20P07

P06P05P04P03P02P01P00

2)温度测量模块:

温度测量传感器采用DALLAS 公司DS18B20的单总线数字化温度传感器,测温范围为-55℃~125℃,可编程为9位~12位A/D 转换精度,测温分辨率达到0.0625℃,采用寄生电源工作方式,CPU 只需一根口线便能与DS18B20通信,占用CPU 口线少,可节省大量引线和逻辑电路。接口电路如图3所示。

图2 最小系统电路图

VCC

I/O

GND

DS18B20

R2010K

VCC

图3 DS18B20测量电路

3)时钟模块:

时钟模块采用DS1302芯片,DS1302是DALLAS 公司推出的涓流充电时钟芯片内含有一个实时时钟/日历和31字节静态RAM 通过简单的串行接口与单片机进行通信实时时钟/日历电路提供秒分时日日期月年的信息每月的天数和闰年的天数可自动调整时钟操作可通过AM/PM 指示决定采用24或12小时格式DS1302与单片机之间能简单地采用同步串行的方式进行通信仅需用到三个口线:

RST 复位、I/O 数据线、SCLK 串行时钟。时钟/RAM 的读/写数据以一个字节或多达31个字节的字符组方式通信。DS1302工作时功耗很低,保持数据和时钟信息时功率小于1mW ,其接线电路如4 4)存储器模块: 存储器采用Atmel 公司的AT24C02芯片。该芯片带有2KB 的串行COMS EEPROM ,内部含有256个8位字节,可通过I2C 总线对其接口进行读写操作,而且带有写保护功能。其接线图如图4所示。

12345678910J7

AI

IC3

1543C90.1uF

C100.1uF

R61K

U1431

R410K R510K

+5V

12345678910

20191817161514131211

P21P22P23P24REF+

+5V

12

3

图4 AT24C02存储器电路

5) LCD 液晶显示模块:

LCD 液晶显示模块采用LCD1602型号,具有很低的功耗,正常工作时电流仅2.0mA/5.0V 。通过编程实现自动关闭屏幕能够更有效的降低功耗。LCD1602分两行显示,每行可显示多达16个字符。LCD1602液晶模块内部的字符发生存储器(CGROM )已经存储了160个不同的点阵字符图形,通过内部指令可实现对其显示多样的控制,并且还能利用空余的空间自定义字符。其接线如图5 12345678910111213141516

P4

HEADER 16

VCC

VCC

R21

10Ω

10K 1602

RS LCDEN

D0D1D2D3D4D5D6D7

图5 LCD 显示电路

6)系统电源:

双电源设计是本设计的重点。220V交流转5V直流稳压电源会更加安全、实用。当没有交流电时,系统采用干电池供电;当接通交流电时,则电路自动切换到交流电供电,并且对干电池进行慢性充电。电路图如图6:

Vin

1

G

N

D

2

Vout

3

U?

VOLTREG

1

2

3

4

Ci

0.33uF

C0

1uF

+C

1000uF

7)电网电压、频率测量模块

方案一:测的电压有效值测电压的有效值相对来说比较简单,并且可以反应一段时间内的电压情况,但是不能反映电压的瞬时变化,并且无法测量出电压的频率。

方案二:采用采样测量和峰值测量相结合的方法电网电压经过变压器到达二次侧经过整流滤波后得到的直流电压就是二次侧电压的最大值,而由二次侧一次侧的电压关系与峰值和有效值的关系可以得到电网电压的有效值。此外采用高速AD转换模块对二次侧电压进行采样可以得到电网电压的频率。因此,我们采用方案二。如图7

R1

5.1M

R3

100Ω

R2

10K

Q

+

C1

100uF

AC18vD1

1N4007

强电控制

峰值输出

频率输出

J1

J2

J3

J4

J5

图7电网电压、频率测量模块

5、单片机程序部分

1)程序编写

#include

sbit led = P3^7; //电源指示

sbit key1 = P2^0;

sbit led6 = P2^1; //模拟灯指示

sfr smdis = 0x80;

sbit weishuang0 = P2^6; //数码管第一个位选

sbit weishuang1 = P2^7; //数码管第二个位选

unsigned char shu0,shu1,tc=0;

unsigned int times;

unsigned char code md[]={0x7d,0x18,0xb5,0xb9,0xd8,0xe9,0xed,0x38,0xfd,0xf9,

0x7f,0x1a,0xb7,0xbb,0xda,0xeb,0xef,0x3a,0xff,0xfd,0x40,0x00};

//0,1,2,3,4,5,6,7,8,9,1.,2.,3.,4.,5.,6.,7.,8.,9., -,灭,

void delayt(unsigned int t)

图6 电源电路

{

unsigned int i,j;

for(i=t;i>0;i--)

for(j=0;j<10000;j++) ;

}

void int00() interrupt 0

{

EX0 = 0;

IE0 =0;

if(key1==0)

{

led = 1;

led6 = 0;

times = 3200;

while(times)

{

shu1 = (times/200)%10 ; shu0 = (times/200)/10 ;

}

delayt(2);

shu0=shu1=21;

}

//IE0 =0;

EX0 = 1;

}

void int_t0() interrupt 1

{

TR0 = 0;

times--;

tc++;

if(tc>=2) {tc=0;}

TH0 = 0xee;

TL0 = 0x00;

if(tc==0) { smdis=md[shu0]; weishuang0 = 0; weishuang1 = 1;}

else if(tc==1) { smdis=md[shu1]; weishuang0 = 1; weishuang1 = 0; }

TR0 = 1;

}

void main()

{

TMOD=0x01; //定时器0方式1

TH0 = 0xee;//0xa6; //25ms定时常数

TL0 = 0x00;

EA = 1;

ET0 = 1;

TR0 = 1;

EA = 1;

EX0 = 1;

IT0 = 1;

PT0 =1;PX0 = 0;

tc = 0;

shu0=shu1=21;//7;

times = 0;

while(1)

{ key1 = 1;

led = 0;

led6 = 1;

}

}

6、测量及其结果分析

1)基本部分测试与分析

1测试仪器:秒表、温度表、万用表

2基本要求部分的测试与分析:

(1)系统上电后,首先显示欢迎词,接着进入显示时间和温度。按各功能键执行相应的功能。

(2)显示时间时通过与秒表对比,测试的系统时钟走时准确,误差很小。

(3)设定闹铃时间,当闹铃时间到时响铃。响铃长度为1分钟,期间按除E键(屏幕背光键)外的任意一键退出响铃。

(4)显示温度与温度计对比,测试系统温度的精度。将温度传感器DS18B20和温度计放入不同的测试环境中进行测试,所得测试结果如表1所示。

表1 数字温度计与标准温度计测量值比较表

温度计示值(摄氏度) 28.7 30.7 33.5 45.0

温度输出(摄氏度) 29.0 30.8 33.3 45.1 由测试知,数字钟的输出与温度计值基本上相等,误差不大于0.5度。

(5)上电后记录下时间,去掉220V和干电池电源,隔5分钟过再次通电,测得系统时钟仍旧走时准确。经测试,本系统的时钟掉电保护时间长达9分钟。

2)发挥部分测试与分析:

(1)系统可显示温度00.0~99.9摄氏度。

(2)拔掉交流电,装上干电池系统工作,说明干电池作为电源为系统供电;卸掉干电池接上交流电系统也工作,表明交流电也能适合系统使用。同时装上干电池,测得干电池回路中的二极管压降为0,表明二极管截止,干电池不作为系统的电源工作;同时测得对干电池的充电电流约为10mA,即交流电对充电池进行慢性充电。

(3)当生日和闹铃设置为开时,主显单上有标志显示(闹铃为‘A’,生日为‘B’)。当设定时间或日期到时,系统开始响铃,期间按A~D键可退出。生日响铃范围:生日当日7:00开始第一次响铃,以后每隔一小时再响铃一次,直至晚上22:00最后一次响铃;为闹铃则不受时间限制,在任意时刻只要时间到就开始响铃。

3)创新部分测试与分析:

(1)在时间显示界面中长按C键进入日期提醒查看。

(2)系统具备整点报时功能,报时范围为:早上7点整——晚上22点整。

(3)系统中的生日和闹铃设定信息均存放在存储器中,即使掉电也不会丢失。

7、设计总结

经过大家多天的努力,终于完成了第一次任务,设计出了汇集外观精美、方便实用、功能强大于一体的数字电子钟。该数字钟采用桌面式摆放设计,精美雅观;附带双电源装备,可供不时之需,

而且具有温度、闹铃、生日一些列常用的附加功能,更加方便实用,符合现实要求;多功能时钟还具有掉电也不会丢失时间、闹铃、生日等信息的优点,可避免不必要的烦恼,设计更加的人性化和智能化。同时还能够自定义调整显示灰度和屏幕背光亮度,带背光功能,夜里更实用!

经过这次的实践,也可以说是经过了多天的学习,尽管期间苦难重重,但我们还是从中学习了不少新的知识和解决困难的方法,也体验到了自主创作的快乐。

多功能数字时钟的功能和特点

多功能数字时钟的功能和特点: 1. 上电1s复位功能,手动复位功能,复位会给出1s振铃信号; 2. 基本时钟计时功能; 3. 闹钟功能; 4. 计数器倒计时功能; 5. 整点报时功能; 6. 闹钟具有懒人模式功能,如果启动懒人模式,闹钟振铃每隔一分钟就响一次,如果不启动懒人模式,闹钟振铃响一分钟就停止; 7. 任意键关闭闹钟振铃功能(与懒人模式有关); 8. 计数器自动装载功能,可实现00h:00m:15s---99h:59m:59s的循环定时振铃; 9. 计数器手动启动功能; 10. 一键启动或关闭闹钟或者计数器功能; 11. 自动检验时钟、闹钟、和计数器设置数字的正确性,不正确的数字不能被输入系统; 12. 液晶LCD1602显示,可同时查看时间和闹钟设置时间或者计数器时间; 13. 菜单设置功能,人机界面友好; 14. 30秒不操作,自动退出菜单功能; 15. 8个基本按键:“↑”、“↓”、“←”、“→”、“确定”、“取消”、“闹钟开关alarm_sw”和“计数器开关cntalm_sw”完成全部操作; 16. 可以插上4×4小键盘进行快速操作; 17. 键盘自动消抖; 18. 4×4小键盘快捷键; 19. 用4×4小键盘设置时间或闹钟或计数器数字时,正确设置一位数字后,自动移到下一位数字进行设置; 20. “↑”、“↓”键连击功能实现快速数字设定; 21. 时钟后台计时功能,查看菜单不会影响时钟计时。 22. 各种振铃声音不同,容易分辨,声音洪亮(要换成脉冲型的蜂鸣器)。 ************************************************************************ 多功能数字时钟的使用方法: 一、时钟的设定和显示: 1. 正常显示时间的界面下,液晶上第一行显示当前时钟的时间,格式为:“Time : h1h0:m1m0:s1s0”,其中“:”会0.5s亮0.5s灭。 第二行可以显示设定的闹钟时间、或当前的计数器计数值、或计数器的设定时间,可以通过接口板或者4×4小键盘上的“↑”、“↓”、“←”、“→”键来选择某一个来显示。 例如:选择显示设定的闹钟时间,格式为:“Alarm : h1h0:m1m0:s1s0”,其中“:”一直亮。例如:选择显示当前的计数器计数值,格式为:“CntTim: h1h0:m1m0:s1s0”,其中“:”一直亮。 例如:选择显示计数器的设定时间,格式为:“CntBuf: h1h0:m1m0:s1s0”,其中“:”一直亮。 2. 首先,在正常显示时间的界面下按“确定”键(接口板s6键或者4×4小键盘上的“确定”

多功能数字时钟设计

课程设计报告 学生姓名:刘佳 学 号:2017307010102 学院:电气工程学院 班级:通信171 题目:多功能数字时钟设计 指导教师:刘晓峰职称: 高级实验师指导教师:杨修宇职称: 实验师 2018 年 12 月 28 日

目录 1. 设计要求 (3) 2. 设计原理及框图 (3) 2.1 模块组成 (3) 3. 器件说明 (4) 4. 设计过程 (8) 4.1显示电路模块设计 (8) 4.2时钟脉冲电路模块设计 (9) 4.3计时模块电路设计 (10) 4.4计时校时控制模块电路设计 (11) 4.5整点报时与定点报时模块电路设计 (12) 5. 仿真调试过程 (13) 6. 收音机原理及焊接调试 (14) 6.1收音机原理 (14) 6.2收音机焊接工艺要求 (16) 6.3收音机调试过程 (16) 7. 设计体会及收获 (17)

1. 设计要求 (1)以24小时为一个计时周期,稳定的显示时、分、秒。 (2)当电路发生走时误差时,可以对所设计的时钟进行校时。 (3)电路有整点报时功能。报时声响为四低一高,最后一响高音正好为整点。 (4)电路具有闹钟功能,当闹钟所设定时间与时钟计时相同时,发出提示音, 时长为一分钟。 2. 设计原理及框图 2.1 模块组成 多功能数字时钟由时钟脉冲电路模块、秒计时模块、分计时模块、时计时模块、显示模块、计时校时控制模块、定点报时模块与整点报时模块组。如图1所示。 图1 多功能数字时钟原理框图 多功能数字时钟由时钟脉冲电路模块、秒计时模块、分计时模块、时计时模块、显示模块、计时校时控制模块、定点报时模块与整点报时模块组成。时钟脉冲电路模块由振荡电路与分频电路组成,为数字时钟提供秒脉冲信号、定点整点报时信号以及调试信号。计时电路包括“秒”计时、“分”计时与“时”计时电

简易电子闹钟的设计报告

编号:基础工程设计说明书 题目:LED强度可调驱动电路设计 院(系):电子工程与自动化学院 专业:光电信息科学与工程 学生姓名:李朝庭 学号: 指导教师:彭智勇 职称:高级实验师 2017年1 月1日

摘要 目前,LED 灯的亮度可调通过有两种可行方案:第一种是通过占空比电压来输出不同的电压,从而实现亮度可调;第二种通过控制数模转换器来输出不同的电流,然后经过放大器来进行发大,从而实现输出不同的电压,来实现亮度可调。对于第一种方案,优点是设计简单,且使用的电子器件类较少,造价成本低,其集成度低,电路原理不复杂,适于现代社会发展的需求。对于第二种方案,它设计图复杂,其集成度不高,且使用了数模转换器,因此和第一种设计方案相比略高。所以本设计采用了第一种方案。本设计的结果是设计制作一种路LED光强独立可调的 led 调光电路;自动调光时可使等在熄灭、微亮、较量及最亮四种状态中不断循环;实现灯光的循环调节功能(循环时间分别为为 2s、4s、6s、8s、10s、12s);关键词:LED;色温;RGB;驱动;调光 Abstract At the end of twentieth Century, the electronic technology has developed rapidly. In the promotion, the modern electronic products have penetrated almost all areas of the society. It has greatly promoted the development of social productive forces and the improvement of social information. Time is always so valuable to people, the work of the busy and complicated and easy to make people forget the current time. Forget to do, when it is not very important, this not hurt the important essentials. Simple electronic alarm clock is a used to after a certain period of time through the alarm sounds and wakes up the user a simple electronic circuit and is used to prevent nap sleep overdo the instrument from time to time to wake up the user's role. This system mainly consists of 555 timer square wave signal generator and the input control through the key input control of the two bit counter timing circuit can be input to the input of a time of the electronic clock, simulation and time interval can be within 99 seconds of continuous adjustable. Key words: timing circuit; 555 timer; multi harmonic oscillator; time clock 目录

Java万年历课程设计报告

杭州师范大学钱江学院课程设计 题目万年历 学院钱江学院 专业信电分院计算机科学与技术 班级计算机1101 姓名崔伊平 指导教师王李冬 2013 年9 月20 日

目录 一.概述 (1) 二.总体方案设计 (2) 三.详细设计 (3) 四.最终输出 (7) 五.课程设计总结 (8) 参考文献 (9)

一、概述 1.课程设计的目的 通过显示年日历程序的设计,培养学生综合利用java语言进行程序设计的能力,加强函数的运用及学生对软件工程方法的初步认识,提高软件系统分析能力和程序文档建立、归纳总结的能力。 通过本项课程设计,可以培养独立思考、综合运用所学有关相应知识的能力,能更好的巩固《java语言程序设计》课程学习的内容,掌握工程软件设计的基本方法,强化上机动手编程能力,闯过理论与实践相结合的难关!更加了解了java语言的好处和其可用性! 2.课程设计的要求 2.1 输入查询的年份与月份,单击“更新”按扭,则可得到相应的日历。本实验是对图形用户界面,布局管理器的综合运用。要掌握APPLET容器中添加组件的方法,理解JAVA 的事件处理机制,编写独立的运行窗口。 2.2 输出形式 使用独立的运行窗口进行显示。界面主要由两部分组成——查询输入部分和结果显示部分。查询输入部分包括两个文本域,一个用于输入年份:一个用于选择月份:一个更新按扭,用来触发查询事件。

二总体方案设计 1.程序开发环境 a.开发环境:eclipse b.系统环境:windows xp/7 c.设计工具:Microsoft office 2003 2.整体流程图 图1 流程图 3.功能模块图

多功能时钟(万年历)设计

多功能时钟(万年历) 设 计 报 告 专业电子信息科学与技术 班级13级电子专升本 姓名韩科峰 学号130522012 考勤成绩设计成绩 调试成绩报告成绩 总成绩

一、课题名称 多功能时钟(万年历)设计 二、内容摘要 美国DALLAS公司推出的具有涓细电流充电能的低功耗实时时钟电路DS1302。它可以对年、月、日、周日、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒和温度等信息,还具有时间校准等功能。该电路采用AT89S52单片机作为核心,功耗小,能在3V的低压工作,电压可选用3~5V电压供电。 综上所述此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。 本设计是基于单片机进行的电子万年历设计,可以显示年月日时分秒及周信息,具有可调整日期和时间功能。在设计的同时对单片机的理论基础和外围扩展知识进行了比较全面准备。 关键词: 三、设计指标(要求); 1、显示时间、日期由按键选择显示(日期时间可调整)。 2、可设置闹钟功能; 3、制作PC机设置界面软件,由PC机可完成对时钟的各项设置 四、系统框图;

STC12C5A08S2 单片机 DS1302时钟模块 五、各单元电路设计、参数计算和元器件选择 4位共阴极数码管 按键

六、工作原理 DS1302在每次进行读、写程序前都必须初始化,先把SCLK端置“0”,接着把RST端置“1”,最后才给予SCLK脉冲;DS1302的控制字的位7必须置1,若为0则不能把对DS1302进行读写数据。对于位6,若对程序进行读/写时RAM=1,对时间进行读/写时,CK=0,位1至位5指操作单元的地址。位0是读/写操作位,进行读操作时,该位为1;该位为0则表示进行的是写操作。控制字节总是从最低位开始输入/输出的。 “CH”是时钟暂停标志位,当该位为1时,时钟振荡器停止,DS1302处于低功耗状态;当该位为0时,时钟开始运行。“WP”是写保护位,在任何的对时钟和RAM的写操作之前,WP必须为0。当“WP”

通讯录管理系统课程设计报告完整版

通讯录管理系统课程设 计报告 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

设计课题题目 一、课程设计目的与要求 1.课程设计目的 (1)综合运用之前所学知识(选择控制,循环控制,数组,函数,指针,结构体和文件等)来完成一个简单的信息管理程序的设计。 (2)充分体现和体会函数在程序设计中的必要性和实用性,并反映主函数main ()在程序设计中的实现思路和方法。 2. 课程设计要求 制作一个通讯录系统。 (1)该程序具有查找、添加、修改、删除功能。 (2)通讯录包括:姓名、电话、街道、城市、省、邮编等。 二、总体设计 根据系统的要求,系统总体设计如图1所示。 1

printf("\t--------------------\n"); printf("\t请您选择(0-7):"); scanf("%d",&c); }while(c>7&&c<0); return(c); } int Input(struct date per[10],int n) { int i=0; char sign,x[10]; while(sign!='n'&&sign!='N') { printf("\t姓名:"); scanf("%s",per[n+i].name); printf("\t电话号码:"); scanf("%s",per[n+i].phone); printf("\t电子邮箱:"); scanf("%s",per[n+i].email); printf("\tQQ:"); scanf("%s",per[n+i].QQ); gets(x); printf("\n\t是否继续添加?(Y/N)"); fflush(stdin); ame,per[i-1].phone,per[i-1].QQ,per[i-1].email); if(i>1&&i%10==0) { printf("\t-----------------------------------\n"); printf("\t"); system("pause"); printf("\t-----------------------------------\n"); } } printf("----------------------------------------------------------------------\n"); system("pause"); } int Delete_a_record(struct date per[10],int n) { char s[20]; int i=0,j; printf("\t请输入想删除记录中的名字:"); scanf("%s",s); while(strcmp(per[i].name,s)!=0&&i

多功能数字时钟的设计

多功能数字钟设计与制作 一、引言 中国是世界上最早发明计时仪器的国家。有史料记载,汉武帝太初年间(纪元前104-101年)由落下闳创造了我国最早的表示天体运行的仪器——浑天仪。东汉时期(公元130年)张衡创造了水运浑天仪,为世界上最早的以水为动力的观测天象的机械计时器,是世界机械天文钟的先驱。盛唐时代,公元725年张遂(又称一行)和梁令瓒等人创制了水运浑天铜仪,它不但能演示天球和日、月的运动,而且立了两个木人,按时击鼓,按时打钟。第一个机械钟的灵魂——擒纵器用于计时器,这是中国科学家对人类计时科学的伟大贡献。它比十四世纪欧洲出现的机械钟先行了六个世纪。 第一只石英钟出现在二十世纪二十年代,从三十年代开始得到了推广,从六十年代开始,由于应用半导体技术,成功地解决了制造日用石英钟问题,石英电子技术在计时领域得到了广泛的应用。并取代机械钟做了更精确的时间标准。早在1880年,法国人皮埃尔·居里和保罗·雅克·居里就发现了石英晶体有压电的特性,这是制造钟表“心脏”的良好材料。科学家以石英晶体制成的振荡计时器和电子钟组合制成了石英钟。经过测试,一只高精度的石英钟表,每年的误差仅为 3~5秒。1942年,著名的英国格林尼治天文台也开始采用了石英钟作为计时工具。在许多场合,它还经常被列为频率的基本标准,用于日常测量与检测。大约在 1970 年前后,石英钟表开始进入市场,风靡全球。随着科学的进步,精密的电子元件不断涌现,石英钟表也开始变得小巧精致,它既是实用品,也是装饰品。它为人们的生活提供方便,更为人们的生活增添了新的色彩。在现行情况下根据简单实用强的、走时准确进行设计。而实验证明,钟表的振荡部分采用石英晶体作为时基信号源时,走时更精确、调整更方便。钟是一种计时的器具,它的出现开拓了时间计量的新里程。提起时钟大家都很熟悉,它是给我们指明时间的一种计时器,并且我们每天都要用到它。二十世纪八十年代中国的钟表业经历了一场翻天覆地的大转折。其表现在三个方面: 1)从生产机械表转为石英电子表; 2)曾占据中国消费市场四十多年的大型国有企业突然被刚刚冒起的“组业”

简易数字电子钟 2

XXX大学 《电子技术》课程设计报告(仿真电路使用proteus7.7制作) 题目简易数字电子钟 学院(部) 专业 班级 学生姓名 12 月27 日至1 月7 日共2 周 指导教师(签字)

目录 摘要-------------------------------------------------------------------------------------2 1.课程设计名称----------------------------------------------------------------------3 2.关键字-------------------------------------------------------------------------------3 3.课程设计要求----------------------------------------------------------------------3 4.课程设计内容----------------------------------------------------------------------3—10 第一章系统概述-----------------------------------------------------------------3—4 第二章单元电路设计与分析--------------------------------------------------4—8 第三章系统综述,总体电路图-----------------------------------------------8—9 第四章总结结束语------------------------------------------------------------10 5.元器件明细表---------------------------------------------------------------------10—12 6.设计中的收获与体会-------------------------------------------------------------12—13 7.参考文献---------------------------------------------------------------------------13

C语言万年历设计报告

C语言课程 设计报告题目:编写万年历系统 年级: 专业: 班级: 姓名: 学号:

目录 第1章设计目的 第2章需求分析 第3章概要设计 第4章源程序清单 第5章执行结果 1)登陆界面 2)显示当前日月历 3)显示具体日期信息 第6章程序问题调试与课程设计心得

第1章设计目的 设计目的(实验要求): 1.模仿现实生活中的挂历. 2.当前页以系统当前日期的月份为准显示当前月的每一天(显示出日及对应的星期几). 3.当系统日期变到下一月时,系统自动翻页到下一月. 第2章需求分析 (1)程序运行时,首先给出菜单选项和输入提示: (2)用户可以通过主菜单选择不同选项。输入1,通过输入当前日期可显示当前月的日历;输入2,通过输入具体日期(中间以空格分开)可显示该日具体信息;输入3,则退出查询系统。

第3章概要设计 1.菜单选择界面可通过下面所示函数时现; 主要思路: 通过while语句与swich…case以及if条件语句实现菜单的循环功能和不同选 项的功能实现。 闰年与平年的判断: 代码如下: void main() { int year,month,day,a,b; while(1) { printf("\n\n\n\n"); printf(" **********************************************************\n\n"); printf(" * * \n");

printf(" Welcome to enter calendar system \n"); printf(" * * \n\n"); printf(" **********************************************************\n\n\n" ); printf(" 1 The month of current date 2 Date 3 Exit\n"); printf(" please import your choose<1~3>,press Enter to define: "); scanf("%d",&b); switch(b) { case 1: printf("\n Please import the year,month and day which you want to check,the year,month and day separation by blank space: "); scanf("%d%d%d",&year,&month,&day); a=x3(year,month,1); if(a==0) { printf("Error!Please import again.\n"); break;} yueli(year,month,day); break; case 2: printf("\n Please import the year,month and day which you want to check, the year,month and day separation by blank space: "); scanf("%d%d%d",&year,&month,&day); a=x3(year,month,day); if(a==0) { printf("Error!Please import again.\n"); break;} rili(year,month,day); break; case 3: exit(0); default: printf("Error!Please import again.\n\n"); } }

多功能时钟方案报告(免费)

多 功 能 数 字 钟 设 计 报 告 中国计量学院 2018年5月3日 目录 摘要

1.设计任务 1)基本要求 2)发挥部分 2.方案论证与比较 1)显示部分 2)数字时钟 3)温度采集 4)闹铃部分 5)电源模块 3.总体方案 1)工作原理 2)总体设计 4.系统硬件设计 1)STC89C52RC单片机最小系统 2)测温模块 3)时钟模块 4)存储器模块 5) LCD显示模块 6)电源模块 5.单片机程序部分 1)程序编写 6.测试与结果分析 1)基本部分测试与分析 2)发挥部分测试与分析 3)创新部分测试与分析 7.设计总结 摘要本设计采用LCD液晶屏幕显示系统,以STC89C52RC单片机为核心,由键盘、温度采集、定时闹铃、日期提醒等功能模块组成。基于题目基本要求,本系统对时间显示、闹铃方式进和温度采集系统行了重点设计。此外,扩展了整点报时、非易失闹铃信息存储、国内外重要节日提醒等功能。本系统大部分功能由软件来实现,吸收了硬件软件化的思想,大部分功能通过软件来实现,使电路简单明了,系统稳定性大大提高。本系统不仅成功的实现了要求的基本功能,多数发挥部分也得到了实现,而且还具有一定的创新功能。

关键字:STC89C52RC单片机、LCD液晶显示、双电源供电、温度采集、非易失定时闹铃、生日提醒、重要节日提醒、整点报时 1、任务设计 1)基本要求 <1)具有时间设置<小时和分钟)、闹钟时间设置、闹钟开、闹钟关功能。 <2)数字显示小时、分钟,有AM、PM指示器,闹钟就绪灯,蜂鸣器。 <3)利用键盘或其它方式切换,数字显示年、月、日、周次。 <4)利用键盘或其它方式切换,数字显示当前环境温度<0~60℃0.2℃)。 <5)利用手势或其它任意方式非接触停止闹钟。 2)发挥部分 <1)220VAC供电,具有测量、显示电网频率、电压有效值功能。 <2)产生0-100k方波,频率10Hz步进可调,峰峰值〉20V<100欧姆负载),频率可以键盘控制。 <3)断电后,可保存电压、频率测量值,断电时间,闹钟设置值等参数,可自动保存20次,系统来电后,无需手动设置,即可恢复正常工作。 <4)遥控设置闹钟、时间等参数。 2、方案论证 1)显示部分: 显示部分是本次设计的重要部分,一般有以下两种方案: 方案一:采用LED显示,分静态显示和动态显示。对于静态显示方式,所需的译码驱动装置很多,引线多而复杂,且可靠性也较低。而对于动态显示方式,虽可以避免静态显示的问题,但设计上如果处理不当,易造成亮度低,有闪烁等问题。 方案二:采用LCD显示。LCD液晶显示具有丰富多样性、灵活性、电路简单、易于控制而且功耗小等优点,对于信息量多的系统,是比较适合的。 鉴于上述原因,我们采用方案二。 2)数字时钟 数字时钟是本设计的核心的部分。根据需要可采用以下两种方案实现: 方案一:方案完全用软件实现数字时钟。原理为:在单片机内部存储器设三个字节分别存放时钟的时、分、秒信息。利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将时字节清零。该方案具有硬件电路简单的特点,但当单片机不上电,程序将不执行。而且由于每次执行程序时,定时器都要重新赋初值,所以该时钟精度不高。 方案二:方案采用Dallas公司的专用时钟芯片DS1302。该芯片内部采用石英晶体振荡器,其芯片精度不大于10ms/年,且具有完备的时钟闹钟功能,因此,可直接对其以用于显示或设置,使得软件编程相对简单。为保证时钟在电网电压不足或突然掉电等突发情况下仍能正常工作,芯片内部包含锂电池。当电网电压不足或突然掉电时,可使系统自动转换到内部锂电池供电系统。而且即使系统不上电,程序不执行时,锂电池也能保证芯片的正常运行,以备随时提供正确的时间。 基于时钟芯片的上述优点,本设计采用方案二完成数字时钟的功能。 3)温度采集 由于现在用品追求多样化,多功能化,给系统加上温度测量显示模块,能够方便人们的生活,使该设计具有人性化。 方案一:采用热敏电阻,可满足40摄氏度至90摄氏度测量范围,但热敏电阻精度、重复

单片机课程设计--简易电子钟.doc

单片机课程设计报告设计课题:简易电子时钟的设计 专业班级:07通信1班 学生姓名:黎捐 学号:0710618134 指导教师:曾繁政 设计时间:2010.11.5—2010.12.20

一、设计任务与要求 (1)设计任务: 利用单片机设计并制作简易的电子时钟,电路组成框图如图所示。 (2)(2) 设计要求:1)制作完成简易的电子时钟,时间可调整。 2)有闹钟功能。 二、方案设计与论证 简易电子时钟电路系统由主体电路和扩展功能电路两主题组成,总体功能原理是以STC89C52单片机为主要的控制核心,通过外接4个独立式键盘作为控制信号源,八个七段数码管作为显示器件,蜂鸣器作为定时器件,单片机实时的去执行相应的功能。在数码管上显示出来,此时通过不同的按键来观看和调节各种数据。CPU 控制原理图如图1所示。 图1. CPU 控制原理图 三、硬件系统的设计 3.1 STC89C52控制模块 STC89C52是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O )端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,STC89C51可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash 存储器结合在一起,特别是可反复擦写的Flash 存储器可有效地降低开发成本。 MCS-52单片机内部结构 8052单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明: 中央处理器: 中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU 负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。 数据存储器(RAM): 8052内部有128个8位用户数据存储单元和128 个专用寄存器单元,它们是统一编 时间显示显示 主控器(51单片机) 时间 调整 声音报 时 (选做)

多功能时钟设计

可编程逻辑器件及其应用 设计报告 姓名:王克勤 院系:******* 学号:******* 日期:2012-04-09

多功能数字钟设计 一、设计内容及要求 用Verilog HDL设计一个多功能数字钟 基本功能描述: 1.时钟功能:包括时、分、秒的显示; 2.定时与闹钟功能:能在设定的时间发出闹铃音; 3.校时功能:能非常方便地对小时、分钟和秒进行手动调整以校准时间; 4.整点报时功能:每逢整点,产生“嘀嘀嘀嘀--嘟”,四短一长的报时音。 二、仿真环境说明 用Verilog在Altera公司的Quartus2软件环境下编写RTL代码,并进行综合,行为仿真。时序仿真采用Mentor公司旗下的ModelsimSE-6.1f软件。Modelsim 软件是业界最著名的波形仿真软件,仿真效果比Quartus2下编写波形文件仿真效果要好很多,而且仿真相当简单,只不过要编写测试向量(testbench),有点麻烦。 三、系统框图与说明 Figure1系统框图 1.数字钟电路系统由主体电路和扩展电路两大部分所组成。 2. 秒计数器计到59后,下一秒到来时,秒计时器满60,接着清零后向分计数器进位;同样分计数器计满60后向小时计数器进位;小时计数器按照“24进制”

规律计数,每当小时计到23小时时,当分计数和秒计数分别59,59时,即到23小时59分,59秒时候,时分秒全部清零,从新开始计数。 3. 计数器的输出经译码器送显示器,显示器用6个数码管表示,每两个数码管分别表示小时,分钟,秒钟。每个数码管用BCD码表示。 四、设计步骤 (一)列写多功能数字钟设计结构图 (二)在QuartusП软件下编写Verilog代码 (三)在QuartusП环境下进行综合 Figure2综合结果 从Fig.2可以看出,该设计采用Altera公司CycloneП系列下的EP2C35F672C8芯片。从图中可以看出,采用了162个逻辑单元,其中组合逻辑147个,总共的寄存器数为102个。

通讯录管理系统课程设计报告书(C语言)

二〇〇八~ 二〇〇九学年第二学期 信息科学与工程学院课程设计报告书 课程名称:C语言课程设计 班级: 学号: 姓名:薛其乐 指导老师:

二〇〇九年九月 通讯录管理系统 一.需求分析 设计题目及要求: ◆建立通讯录信息,信息至少包含编号、姓名、年龄、电话、通讯地址、电子 邮箱等; ◆能够提供添加、删除和修改通讯录信息的功能; ◆能够提供安不同方式查询的功能;如按姓名或年龄、电话等查询; ◆将通讯录保存在文件中; ◆能够按表格方式输出通讯录信息。 系统功能需求分析: 主要包含一下多种功能: 添加:添加通讯录记录 显示:显示通讯录记录 删除:删除通讯录记录 查询:查询通讯录记录 修改:修改通讯录记录 保存:将信息保存到文件 二.概要设计 系统功能模块图:

添加:可以添加通讯录记录,依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱后,会提示是否继续添加。 显示:可以以表格形式输出所有通讯录里的记录 删除:输入欲删除的那个人的名字后,会自动删除他(她)的记录内容 查询:可以选择用姓名、电话、地址三种方式查询 修改:输入欲修改的那个人的名字后,再依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱即可完成修改 保存:,输入文件名(带后缀名)后,即可将通讯录信息保存到文件 三.详细设计 (1).通讯录: typedef struct { char score; /*编号*/ char name[10]; /*姓名*/ char num[15]; /*号码*/ char email[20]; /*邮箱*/

char age[8]; /*年龄*/ char adds[20]; /*住址*/ }Person; void main() /*主函数*/ { int n=0; for(;;) { switch(menu_select()) { case 1: printf("\n\t添加记录到通讯录\n"); /*添加记录*/ n=Input(pe,n); break; case 2: printf("\n\t\t\t 通讯录记录表\n"); /*显示记录*/ Display(pe,n); break; case 3: printf("\n\t从通讯录中删除记录\n");

基于C51单片机的多功能电子时钟设计完美实现版

单片机课程设计报告——电子时钟作业名: 指导老师: 戴胜华 学生姓名: lycaner 班级: 北京交通大学电子信息工程学院自动化 学号: XXXXXXXX 电子时钟实验报告

一,实验目的 1. 学习8051定时器时间计时处理、按键扫描及LED数码管显示的设计方法。 2. 设计任务及要求利用实验平台上4个LED数码管,设计带有闹铃功能的数字时钟 二,实验要求 A.基本要求: 1. 在4位数码管上显示当前时间。显示格式“时时分分” 2. 由LED闪动做秒显示。 3. 利用按键可对时间及闹玲进行设置,并可显示闹玲时间。当闹玲时间到蜂鸣器发出声响,按停止键使可使闹玲声停止。 4.实现秒表功能(百分之一秒显示) B.扩展部分: 1.日历功能(能对年,月,日,星期进行显示,分辨平年,闰年以及各月天数,并调整) 2.音乐闹铃(铃音可选择,闹铃被停止后,闪烁显示当前时刻8秒后,或按键跳入正常时间显示状态) 3.定时功能(设定一段时间长度,定时到后,闪烁提示) 4.倒计时功能(设定一段时间长度,能实现倒计时显示,时间长减到0时,闪烁提示) 5.闹铃重响功能(闹铃被停止后,以停止时刻开始,一段时间后闹铃重响,且重响时间的间隔可调) 三,实验基本原理 利用单片机定时器完成计时功能,定时器0计时中断程序每隔0.01s中断一次并当作一个计数,设定定时1秒的中断计数初值为100,每中断一次中断计数初值减1,当减到0时,则表示1s 到了,秒变量加1,同理再判断是否1min钟到了,再判断是否1h到了。 为了将时间在LED数码管上显示,可采用静态显示法和动态显示法,由于静态显示法需要译码器,数据锁存器等较多硬件,可采用动态显示法实现LED显示,通过对每位数码管的依次扫描,使对应数码管亮,同时向该数码管送对应的字码,使其显示数字。由于数码管扫描周期很短,由于人眼的视觉暂留效应,使数码管看起来总是亮的,从而实现了各种显示。 四,实验设计分析 针对要实现的功能,采用AT89S51单片机进行设计,AT89S51 单片机是一款低功耗,高性能CMOS8位单片机,片内含4KB在线可编程(ISP)的可反复擦写1000次的Flash只读程序存储器,器件采用高密度、非易失性存储技术制造,兼容标准MCS- 51指令系统及80C51引脚结构。这样,既能做到经济合理又能实现预期的功能。. 在程序方面,采用分块设计的方法,这样既减小了编程难度、使程序易于理解,又能便于添加各

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

目录 1、引言·3 2、总体设计·4 3、详细设计·5 3.1硬件设计·5 3.2软件设计·10 4、实验结果分析·26 5、心得体会·27 6、参考文献·27

摘要 单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。由于具有上述优点,在我国,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面,而51单片机是各单片机中最为典型和最有代表性的一种。这次毕业设计通过对它的学习、应用,以AT89S51芯片为核心,辅以必要的电路,设计了一个简易的电子时钟,它由4.5V直流电源供电,通过数码管能够准确显示时间,调整时间,从而到达学习、设计、开发软、硬件的能力。 关键词:单片机 AT89C51

1.引言 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。 目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路装化等几个方面发展。下面是单片机的主要发展趋势。单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。

万年历设计

面向对象技术实验报告 (万年历)

1.实验目的 掌握一种编程工具和面向对象程序设计的基本思想和方法,培养我们学生综合利用某种语言进行程序设计的能力,培养我们学生利用系统提供的功能进行创新设计的能力,培养我们学生充分利用计算机的功能和特点分析实际问题及解决实际问题的能力。 为我们提供一个综合运用所学知识解决实际问题的机会,增强我们学生的实践动手能力和工程实践能力,并培养和锻炼我们学生的自学创新能力。 为了能更好地了解C++语言,因此开设了此次课程设计,程序设计教学课程的目的不是为了单独的课堂学习,而是要让我们学生掌握程序设计的基本思想及方法。一方面,在课程设计过程中,可以明确的指导为什么而学,还能对所学知识得到应用,更重要的是可以让我们学生掌握一些基本函数的用法,从而不在对编程序感到茫然,经过设计,可以让我们熟悉简单程序的设计方法和编写,对程序设计及该门课程设计语言的应用得到理解。 2.功能简介 万年历,输入年份,可以显示出这一年的每个月份和所对应的星期天,可以查询每一天.

3.流程图 4.代码 #include #include using namespace std; int i,c,day,year,k,a[50]; void f1(int x) //大月 { for( i=0;i<50;i++) a[i]=33; for(i=k-1;i>=0;i--) a[i]='\000'; //1号前均为空格 for(i=k;i<31+k;i++) a[i]=a[i-1]+1; }

void f2(int x) //小月 { for( i=0;i<50;i++) a[i]=33; for(i=k-1;i>=0;i--) a[i]='\000'; for(i=k;i<30+k;i++) a[i]=a[i-1]+1; } void f3(int x) //闰年二月 { for( i=0;i<50;i++) a[i]=33; for(i=k-1;i>=0;i--) a[i]='\000'; for(i=k;i<29+k;i++) a[i]=a[i-1]+1; } void f4(int x) //非闰年二月 { for( i=0;i<50;i++) a[i]=33; for(i=k-1;i>=0;i--) a[i]='\000'; for(i=k;i<28+k;i++) a[i]=a[i-1]+1; } void g(int y[],int z) // 输出日历表 { cout<<"日"<<'\t'<<"一"<<'\t'<<"二"<<'\t'<<"三"<<'\t'<<"四"<<'\t'<<"五"<<'\t'<<"六"<

电子综合设计-基于单片机多功能数字时钟的设计(附完整程序)

课题:基于51单片机的多功能数字时钟系统设计 一、概述、设计思路 该设计方案是以MC51单片机为核心,采用LCD液晶屏幕显示系统,辅以闹钟模块,温度采集模块、日期提醒、键盘时间调整预设置等模块,所构建的数字时钟系统,能动态显示实时时钟的时、分、秒,数据显示(误差限制在30每天),对闹铃方式与温度调节模块进行了重点设计实现SB0、SB1、SB2、SB3四个键实现时钟正常显示,调时,及闹钟时间设置。本系统设计大部分功能有软件来实现,使电路简单明了,系统稳定性也得大大提高。 二、系统组成与工作原理 1、工作原理: 本设计采用STC89C51单片机作为本次课程设计的控制模块。单片机可把由DS18B20、DS1302、AT24C02中的数据利用软件来进行处理,从而把数据传输到显示模块,实现温度、日历和闹铃的显示。以LCD液晶显示器为显示模块,把单片机传来的的数据显示出来,并且显示多样化,在显示电路中,主要靠按键来实现各种显示要求的选择与切换。 2、总是设计框架图:

图二:系统总体电路图 三、单元电路的设计与分析 整个电子时钟系统电路可分为六大部分:中央处理单元(CPU)、复位电路部分、显示部分、键盘输入部分、温度采集部分。 1、MCS-51单片机 VCC: 89S51 电源正端输入,接+5V。 VSS: 电源地端。 XTAL1: 单芯片系统时钟的反相放大器输入端。 XTAL2: 系统时钟的反相放大器输出端,一般在设计上只 要在XTAL1 和XTAL2 上接上一只石英振荡晶体系 统就可以动作了,此外可以在两引脚与地之间加入一 20PF 的小电容,可以使系统更稳定,避免噪声干扰而 死机。

相关文档
相关文档 最新文档