搜档网
当前位置:搜档网 › 万年历汇编语言程序

万年历汇编语言程序

万年历汇编语言程序
万年历汇编语言程序

F_S bit 00H ;计时1S的标志位

ORG 0000H

LJMP START

ORG 001BH

LJMP PINTT1

ORG 0003H

LJMP PINT0

ORG 0013H

LJMP PINT1

ORG 0030H

START:

CLR P1.4

MOV SP,#60H

MOV TMOD,#10H ;设置定时器T1方式字

MOV

DPTR,#(65536-50000)

MOV TH1,DPH

MOV TL1,DPL

SETB EA

SETB ET1

SETB TR1 ;启动定时器T1

SETB EX0 ;启动外部中断0

SETB IT0 ;设定外部中断0为下降沿

MOV IP,#01H ;设定外部中断0优先级最高

SETB EX1

SETB IT1

MOV R4,#20

MAIN: JNB F_S,ABCD ; 标志位为0(定时时间为1s),则跳转

CLR F_S ;标志位置零

LCALL JISHI ;调用计时ABCD: MOV 53H,#0FH ;

MOV 40H,#35H

MOV 41H,#00H

MOV 42H,#06H

LCALL DISP ;调用显示程序

;LCALL KEYS

SJMP MAIN

;定时中断程序

PINTT1: MOV DPTR,#(65536-50000)

MOV TH1,DPH ;重新设置初值

MOV TL1,DPL

DJNZ R4,ABC ;是否为1S?,不是则返回

MOV R4,#20 ;重新设置计数初值

SETB F_S ;标志位置1

ABC: RETI

;外部中断0程序,用于调节年月日************************************ *********

PINT0:

CLR EA ;关中断

CLR TR1 ;关定时器

PUSH ACC

PUSH PSW

PUSH 49H

PUSH 40H

PUSH 41H

PUSH 42H

PUSH 43H

;MOV 55H,#00H ;给55H初值,刚进入中断时使显示秒的数码管闪亮MOV 55H,#06H

MOV 40H,#32H

MOV 41H,#06H

MOV 42H,#03H

MOV 43H,#0AH

LOOP:

;灭灯

MOV 54H,#01FH ;设置灭灯定时初值

LOP1: SETB P1.5 ;标志位为1,则表示数码管灭灯

MOV A,55H ;

MOV 53H,A

LCALL DISP

JMP FINDKEY

MIEDNEG:

DJNZ 54H,LOP1 ;灭灯时间

;开灯

MOV 54H,#01FH ;设置灭灯定时初值

LOP2: CLR P1.5 ;标志位为0,则表示数码管开灯

MOV 53H,#0FH

LCALL DISP

JMP FINDKEY

KAIDENG:

DJNZ 54H,LOP2

LJMP LOOP

FINDKEY:;查询按键

JB P1.0,JKEY1 ;消抖查询P1.0

CALL DL

JNB P1.0,KEY0

JKEY1:

JB P1.1,JKEY2 ;消抖查询P1.1

CALL DL

JNB P1.1,KEY1

JKEY2: ;消抖查询P1.2

JB P1.2,JKEY3

CALL DL

JNB P1.2,KEY2

JKEY3: ;消抖查询P1.3

JB P1.3,RETRET

CALL DL

JNB P1.3,JMP333

AJMP RETRET

JMP333:LJMP KEY3

RETRET:

JNB P1.5,KAIDENG

JMP MIEDNEG

;按键处理

;按键0 显示年

KEY0:

;MOV 55H,#04H ;给55H值,使显示年的数码管闪亮

MOV 55H,#0AH

MOV 49H,#06FH ;延时初值

KEY00: CALL DL ;延时防止识别按键多于两次

DJNZ 49H,KEY00

;MOV A,33H

MOV A,30H

ADD A,#01 ;每按一下年加一

CJNE A,#100,KEY01

MOV A,#00H ;

KEY01:

MOV 30H,A

LJMP LOOP

;按键1 显示月

KEY1:

;MOV 55H,#02H

; ;给55H值,使显示月的数码管闪亮

MOV 55H,#08H

MOV 49H,#06FH

;延时初值

KEY11: CALL DL ;延时防止识别按键多于两次

DJNZ 49H,KEY11

MOV A,31H

;31H存储地址值送A

ADD A,#01

;每按一下月份加一

CJNE A,#13,KEY12

MOV A,#01H

;分钟计数到13时清零

KEY12:

;MOV 34H,A

MOV 31H,A

LJMP LOOP

;按键2 显示月

KEY2:

;MOV 55H,#00H

;给55H值,使显示日的数码管闪亮

MOV 55H,#06H

MOV 49H,#06FH

;延时初值

KEY22: CALL DL ;延时防止识别按键多于两次

DJNZ 49H,KEY22

;MOV A,30H

MOV A,32H

ADD A,#01

;每按一下日加一

MOV 48H,A

MOV A,30H

MOV B,#4

DIV AB

MOV A,B

CJNE A,#0H,KEY2201

AJMP KEY2202

;平年

KEY2201: MOV DPTR,#TAB1

MOV A,31H

MOVC A,@A+DPTR

INC A

MOV 47H,A

MOV A,48H

CJNE A,47H, KEY23

MOV A,#1

LJMP KEY23

;闰年

KEY2202: MOV DPTR,#TAB2

MOV A,31H

MOVC A,@A+DPTR

INC A

MOV 47H,A

MOV A,48H

CJNE A,47H,KEY23

MOV A,#1

LJMP KEY23

KEY23:

;MOV 35H,A

MOV 32H,A

LJMP LOOP

;按键3

KEY3: POP 42H

POP 41H

POP 40H

POP 49H

POP PSW

POP ACC

SETB TR1

SETB EA

RETI

;外部中断1,用于调节时分秒************************

PINT1:

CLR EA ;关中断

CLR TR1 ;关定时器

PUSH ACC

PUSH PSW

PUSH 49H

PUSH 40H

PUSH 41H

PUSH 42H

PUSH 43H

MOV 55H,#00H ;给55H初值,刚进入中断时使显示秒的数码管闪亮

MOV 40H,#35H

MOV 41H,#00H

MOV 42H,#03H

MOV 43H,#04H

L11OOP:

;灭灯

MOV 54H,#01FH ;设置灭灯定时初值

L11OP1: SETB P1.5 ;标志位为1,则表示数码管灭灯

MOV A,55H ;

MOV 53H,A

LCALL DISP

JMP F11INDKEY

M11IEDNEG:

DJNZ 54H,L11OP1 ;灭灯时间

;开灯

MOV 54H,#01FH ;设置灭灯定时初值

L11OP2: CLR P1.5 ;标志位为0,则表示数码管开灯

MOV 53H,#0FH

LCALL DISP

JMP F11INDKEY

K11AIDENG:

DJNZ 54H,L11OP2

LJMP L11OOP

F11INDKEY:;查询按键

JB P1.0,J11KEY1

;消抖查询P1.0

CALL DL

JNB P1.0,K11EY0

J11KEY1:

JB P1.1,J11KEY2

;消抖查询P1.1

CALL DL

JNB P1.1,K11EY1

J11KEY2:

;消抖查询P1.2

JB P1.2,J11KEY3

CALL DL

JNB P1.2,K11EY2

J11KEY3:

;消抖查询P1.3

JB P1.3,R11ETRET

CALL DL

JNB P1.3,K11EY3

R11ETRET:

JNB P1.5,K11AIDENG

JMP M11IEDNEG

;按键处理

;按键0

K11EY0:

MOV 55H,#04H ;给55H值,使显示小时的数码管闪亮

MOV 49H,#06FH ;延时初值

K11EY00: CALL DL ;延时防止识别按键多于两次

DJNZ 49H,K11EY00

MOV A,33H

ADD A,#01 ;每按一下小时加一

CJNE A,#24,K11EY01

MOV A,#00H ;小时计数到24时清零

K11EY01:

MOV 33H,A

LJMP L11OOP

;按键1

K11EY1:

MOV 55H,#02H ; ;给55H值,使显示分钟的数码管闪亮

MOV 49H,#06FH

;延时初值

K11EY11: CALL DL ;延时防止识别按键多于两次

DJNZ 49H,K11EY11

MOV A,34H ;小时存储地址值送A

ADD A,#01

;每按一下分钟加一

CJNE A,#60,K11EY12

MOV A,#00H

;分钟计数到60时清零

K11EY12:

MOV 34H,A

LJMP L11OOP

;按键2

K11EY2:

MOV 55H,#00H

;给55H值,使显示秒的数码管闪亮

MOV 49H,#06FH

;延时初值

K11EY22: CALL DL

;延时防止识别按键多于两次

DJNZ 49H,K11EY22

MOV A,35H

ADD A,#01

;每按一下秒加一

CJNE A,#60,K11EY23

MOV A,#00H ;分钟计数到60时清零

K11EY23:

MOV 35H,A

LJMP L11OOP

;按键3

K11EY3: POP 43H

POP 42H

POP 41H

POP 40H

POP 49H

POP PSW

POP ACC

SETB TR1

SETB EA

RETI

; 定时器计数调整************************************ **********

TAB1:DB

0,31,28,31,30,31,30,31,31,30,31,30,31

TAB2:DB

0,31,29,31,30,31,30,31,31,30,31,30,31

JISHI:PUSH ACC

PUSH DPH

PUSH DPL

MOV R0,#35H ;对秒计数

MOV A,@R0

ADD A,#01H

MOV @R0,A

CJNE A,#60, JRET

MOV @R0,#0

DD1: DEC R0 ;对分钟计数

MOV A,@R0

ADD A,#1

MOV @R0,A

CJNE A,#60,JRET

MOV @R0,#0

DD2: DEC R0 ;对时钟计数

MOV A,@R0

ADD A,#1

MOV @R0,A

CJNE A,#24,JRET

MOV @R0,#0

DD3: DEC R0

MOV A,@R0

ADD A,#1

MOV @R0,A

MOV 48H,A

MOV A,30H

MOV B,#4

DIV AB

MOV A,B

CJNE A,#0H,DD30

AJMP DD31

;平年

DD30: MOV DPTR,#TAB1

MOV A,31H

MOVC A,@A+DPTR

INC A

MOV 47H,A

MOV A,48H

CJNE A,47H,JRET

MOV @R0,#1

LJMP DD4

;闰年

DD31: MOV DPTR,#TAB2 MOV A,31H

MOVC A,@A+DPTR

INC A

MOV 47H,A

MOV A,48H

CJNE A,47H,JRET

MOV @R0,#1

DD4: DEC R0

MOV A,@R0

ADD A,#1

MOV @R0,A

CJNE A,#13,JRET

MOV @R0,#1

DD5: DEC R0

MOV A,@R0

ADD A,#1

MOV @R0,A

JRET: POP DPL

POP DPH

POP ACC

RET

;七段数码管段码表(共阴极)TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7F H;0-8

DB 6FH;9

; 显示子程序

DISP:

PUSH DPH

PUSH DPL

PUSH ACC

PUSH PSW

PUSH 49H

SETB RS0

;MOV R1,#32H ;需要显示的初始地址

MOV R1,40H

;MOV R2,#06H ;初始化需要显示的数码管

MOV R2,41H

MOV R5,42H

;MOV R5,#03H ;显示地址次数

DISP1: MOV A,@R1

LCALL ZHUAN

MOV 49H,A ;将十位送临时区域49H

MOV A,B ;将个位送A

MOV DPTR,#TAB

MOVC A,@A+DPTR

MOV 52H,A

;52H为中间值,将个位送52H

MOV A,R2

CJNE A,53H,STAA ;位控是否与53H相等,否则显示本地址的个位和十位

INC R2 ;相等则不显示本地址内容,位控左转移两位

INC R2

DEC R1 ;需要显示的地址则转移到下一位

DEC R5 ;显示次数减一

; CJNE

A,#04H,DISP1 ; R2不等于04H,则继续显示

CJNE A,43H,DISP1

JMP DISP2

;R2=04H,则结束

STAA:

MOV A,52H ;个位送A

MOV P2,R2 ;

送位控

MOV P0,A ;个位送P0口

LCALL DL ;调用延时

INC R2

;更改位控

MOV P2,R2

;送位控

MOV A,49H

;十位送A

MOVC A,@A+DPTR

MOV P0,A

;十位送段控

LCALL DL

INC R2 ;更改位控

DEC R1 ;更改段控

DJNZ R5, DISP1

;R5不为0,跳转继续显示

DISP2:

;显示子程序返回

// MOV A,#0FFH

// MOV P2,A

POP 49H

POP PSW

POP ACC

POP DPH

POP DPL

RET

ZHUAN: MOV B,#10

DIV AB

RET

;延时1ms子程序(晶振频率12MHz)DL

DL: MOV 50H, #10

DL1: MOV 51H, #100

DL2: DJNZ 51H, DL2

DJNZ 50H, DL1

RET

END

万年历(c++设计)

西安科技大学2009级C++实验报告 创作编号:BG7531400019813488897SX 创作者:别如克* 面向对象技术实验报告 (万年历)

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++)

单片机课程设计—万年历[1]

郑州轻工业学院 软件学院 单片机与接口技术课程设计总结报告 设计题目:电子万年历 学生姓名: 系别: 专业: 班级: 学号: 指导教师: 2011年12月16日

设计题目: 电子万年历 设计任务与要求: 1、显示年月日时分秒及星期信息 2、具有可调整日期和时间功能 3、增加闰年计算功能 方案比较: 方案一:系统分为主控制器模块、显示模块、按键开关模块,主控制模块采用 AT89C52单片机为控制中心,显示模块采用普通的共阴LED数码管,键输入采用中断实现 功能调整,计时使用AT89C52单片机自带的定时器功能,实现对时间、日期的操作,通 过按键盘开关实现对时间、日期的调整。 方案二:系统分为主控模块、时钟电路模块、按键扫描模块,LCD显示模块,电源 电路、复位电路、晶振电路等模块。主控模块采用AT89C52单片机,按键模块用四个按键,用于调整时间,显示模块采用LCD1602,时钟电路模块采用DS1302时钟芯片实现对 时间、日期的操作。 两个方案工作原理大致相同,只有显示模块和时钟电路不同。LED数码管价格适中,对于数字显示效果较好,而且使用单片机的端口也较少; LCD1602液晶显示屏,显示功 能强大,可以显示大量文字、图形,显示多样性,清晰可见,价格相对LED数码管来说 要昂贵些,但是基于本设计显示的东西较多,若采用LED数码管的话,所需数码管较多,而且不利于控制,因此选择LCD1602作为显示模块。DS1302是一款高性能的实时时钟芯片,以计时准确、接口简单、使用方便、工作电压范围宽和低功耗等优点,得到广泛的 应用,实时时钟有秒、分、时、星期、日、月和年,月小于31天时可以自动调整,并具 有闰年补偿功能,而且在掉电时能够在外部纽扣电池的供电下继续工作。单片机有定时 器的功能,但时间误差较大,且需要编写时钟程序,因此采用DS1302作为时钟电路。 对比以上方案,结合设计技术指标与要求我们选择了方案二进行设计。

电子万年历设计

课程论文论文题目基于单片机的电子万年历设计 课程名称单片机原理及接口技术 专业年级 2014级自动化3班 学生姓名孙宏远贾腾飞 学号 2016年12 月3 日

摘要: 本文介绍了基于AT89C51单片机的多功能电子万年历的硬件结构和软硬件设计方法。系统以AT89C51单片机为控制器,以串行时钟日历芯片DS1302记录日历和时间,它可以对年、月、日、时、分、秒进行计时,还具有闰年补偿等多种功能。万年历采用直观的数字显示,可以在LED上同时显示年、月、日、周日、时、分、秒,还具有时间校准等功能。此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,具有广阔的市场前景。。 关键词:AT89C51单片机,DS1602时钟芯片,LCD1602显示屏。串口通信。 一:引言 本设计的基于单片机控制的电子万年历,具有年、月、日、星期、时、分、秒的显示等功能,实现过程就是由主控制发送信息给DS1302时钟芯片再由时钟芯片反馈给单片机,再由主控制器传送给LCD1602显示屏显示信息。并且可以在键盘设置模块输入修改时间,当键盘设置时间、日期时,单片机主控制根据输入信息,通过串口通信传送给DS1302时钟芯片,DS1302芯片读取当前新信息产生反馈传送给单片机,然后单片机根据控制最后输送显示信息到LCD1602液晶显示屏模块上显示。 二:硬件设计: 2.0.硬件的设计总框图 2.1 DS1032时钟电路 DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768kHz晶振。芯片如图。 DS1302的内部主要由移位寄存器、指令和控制逻辑、振荡分频电路、实时时钟以及RAM组成。每次操作时,必须首先把CE置为高电平。再把提供地址和命令信息的8位装入移位寄存器。数据在SCLK的上升沿串行输入。无论是读周期还是写周期发生,也无论传送方式是单字节还是多字节,开始8位将指定内部何处被进行访问。在开始 8个时钟周期把含有地址信息的命令字装入移位寄存器之后。紧随其后的时钟在读操作时输出数据。 2.2 LCD1602与AT89C52的引脚接线 LCD1602采用总线式与单片机相连,AT89c52的P1口直接与液晶模块的数据总线D0~D7相连;P2 口的0,1,2脚分别与液晶模块的RS、RW、E脚相连。滑动变阻器用于调整液晶显示的亮度。电路如图

单片机AT89c52电子万年历设计(带程序)

目录 一、摘要 (2) 二、设计 (3) 三、设计任务. (2) 四、设计要求 (3) 五、系统方案设计 (3) 1、系统 (3) 1)原理构成框图 (3) 2)设计思路 (4) 2、主程序设计 (4) 3、中断程序设计 (5) 5、时间调整电路的设计 (7) 六、系统评价 (7) 七、c语言程序注释及说明 (8)

一、摘要 单片机就是微控制器,是面向应用对象设计、突出控制功能的芯片。单片机接上晶振、复位电路和相应的接口电路,装载软件后就可以构成单片机应用系统。将它嵌入到形形色色的应用系统中,就构成了众多产品、设备的智能化核心。本设计是基于AVR单片机强大的控制功能制作而成的电子万年历,该电子万年历包括四大功能:实时显示年、月、日、时、分、秒、星期;人为的校正年、月、日、时、分、星期;第一次开机显示12-00-30。 二、设计目的 1、掌握C52程序用于实践并实现相应的功能; 2、掌握时钟程序的使用方法; 3、掌握时间函数的使用方法; 4、掌握键盘的程序使用方法; 三、设计任务 通过与单片机连接数码管动态显示年、月、日、时、分、秒、星期等功能,并能准确计算闰年闰月的显示,

七个按钮连接P0口可以精确调整每一个时间数值,通过对所设计的万年历时钟电路进行实验测试,达到了动态显示时间,随时调整时间等技术指标。 四、设计要求 (1)能够准确的计时,时间可在数码管上显示出来,默认显示为时、分、秒,每隔一分钟自动显示年、月、日及星期,也可通过按键控制显示,并可通过按键调节时间。 (2)第一次开机显示12-30-30。 (3)每半秒led彩灯闪烁一次 五、系统方案设计: 1、系统总体设计: 1) 原理构成框图 本设计用AT89C52作为核心控制部分,外接晶振电路与复位电路,以两个四位数码管作为显示部分,开关控制显示时间与日期,具体框图如图1所示,数码管框图如图2所示:

万年历C语言课程设计(内附程序)

石家庄铁道大学课程设计 C语言课程设计 万年历 单位电气与电子工程学院(系) 班级 学号 学生姓名 指导教师 完成日期 2013 年7 月 8日

摘要 本课程设计报告介绍的是C语言实习中的万年历项目。该报告共分五章,第一章介绍选题意义,也就是我选择万年历作为课题项目的理由。第二章是系统的分析,包括系统概述,系统的构成,其中包括各个模块功能的分析介绍,该章节的最后介绍了各部分的功能,即组成程序的各个函数的功能介绍。第三章是系统的实现,即为各个功能的实现而服务的十个自定义函数的流程图,通过这十个流程图,您可以快速地明白程序功能的实现过程。第四章是总结,即本人在设计万年历程序过程中的心得,以及在整个程序设计过程中我的工作过程,也体现了我的设计思路。第五章是参考文献,在这里我主要查阅了《C程序设计(第三版)》中的C函数附表,另外有几处欠缺的知识,我借鉴了另一本书上的相关部分。第六章,也是最后一章,我把整个程序的源代码及其注释附上。由于本人水平所限,程序也不可能很完美,必定有一些漏洞和拖沓,还请谅解。好了,从这里开始,我将与你们分享我我在整个万年历程序设计中的所做所想。

目录 1.选题的意义 (4) 2.系统的分析 (5) 2.1系统概述 (5) 2.2系统的构成 (5) 2.3各模块的功能 (5) 2.4系统的运行环境 (5) 3.系统实现 (6) 4.总结 (11) 5.参考文献 (12) 6.附录(程序源代码) (13)

第一章 选题的意义 (1)通过万年历的设计,使我们掌握软件开发过程的问题分析、系统设计、程序编写、测试等基本方法和技能。 (2)通过万年历的设计,熟练掌握C语言中的分支、循环、数组、函数、文件操作等的综合运用。 (3)通过万年历的设计,可以培养独立思考、综合运用所学有关相应知识的能力,更好地巩固《C程序设计》课程中的所学内容。 (4)通过万年历的设计,可以强化自己的动手编程能力,更加深刻地感受C语言的优点。 (5)万年历与我们的生活联系密切,通过万年历的设计,我们可以感受知识与实践相结合的乐趣。

电子万年历

河北科技师范学院课程设计说明书 题目: 学院(系): 年级专业: 学号: 学生姓名: 指导教师:

摘要 本设计是电子万年历。具备三个功能:能显示:年、月、日、时、分、秒及星期信息,并具有可调整日期和时间功能。 我选用的是单片机8052来实现电子万年历的功能。该电子万年历能够成功实现时钟运行,调整,显示年月日时分秒及星期,温度等信息。 该电子万年历使用12MHZ晶振与单片机8052相连接,通过软件编程的方法实现了以24小时为一个周期,同时显示小时、分钟和秒的要求。利用单片机定时器及计数器产生定时效果通过编程形成数字钟效果,再利用数码管动态扫描显示单片机内部处理的数据。同时通过端口读入当前外部控制状态来改变程序的不同状态,实现不同功能。 电子万年历设计与制作可采用数字电路实现,也可以采用单片机来完成。若用数字电路完成,所设计的电路相当复杂,大概需要十几片数字集成块,其功能也主要依赖于数字电路的各功能模块的组合来实现,焊接的过程比较复杂,成本也非常高。若用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成,这样一来就降低了硬件电路的复杂性,从而使得其成本降低,更适合我们大学生自主研发。所以在该设计与制作中我选用了单片机8052,它是低功耗、高性能的CMOS型8位单片机。片内带有4KB的Flash存储器,且允许在系统内改写或用编程器编程。另外, 单片机8052的指令系统和引脚与8051完全兼容,片内有128B 的RAM、32条I/O口线、2个16位定时计数器、5个中断源、一个全双工串行口等。 因此,采用单片机8052原理制作的电子万年历,不仅仅在原理上能够成功实现计时等功能,也更经济,更适用,更符合我们实际生活的需要,对我们大学生来说也更加有用。

电子万年历的设计与实现

毕业设计(论文)任务书 题目:电子万年历的设计与实现 任务与要求: 设计一以单片机为核心控制的万年历,具有多项显示和控制功能。要求:准确计 时,以数字形式显示当前年月日、星期、时间; 具有年月日、星期、时间的设置和调整功能;自行设计所需直流电源 时间: 2010年9 月 27 日至 2010 年 11 月 23 日共 8 周 所属系部:电子工程系

摘要 随着微电子技术的高速发展,单片机在国民经济的个人领域得到了广泛的运用。单片机以体积小、功能全、性价比高等诸多优点,在工业控制、家用电器、通信设备、信息处理、尖端武器等各种测控领域的应用中独占鳌头,单片机开发技术已成为电子信息、电气、通信、自动化、机电一体化等专业技术人员必须掌握的技术。 而电子万年历作为电子类小设计不仅是市场上的宠儿,也是是单片机实验中一个很常用的题目。因为它的有很好的开放性和可发挥性,因此对作者的要求比较高,不仅考察了对单片机的掌握能力更加强调了对单片机扩展的应用。而且在操作的设计上要力求简洁,功能上尽量齐全,显示界面也要出色。数字显示的日历钟已经越来越流行,特别是适合在家庭居室、办公室、大厅、会议室、车站和广场等使用,壁挂式LED数码管显示的日历钟逐渐受到人们的欢迎。LED数字显示的日历钟显示清晰直观、走时准确、可以进行夜视,并且还可以扩展出多种功能。所以,电子万年历无论作为比赛题目还是练习题目都是很有价值。 关键词:单片机;万年历 1

目录 1 概述 (5) 1.1单片机原理及应用简介 (5) 1.2系统硬件设计 (6) 1.3结构原理与比较.............................. 错误!未定义书签。2系统总体方案及硬件设计......................... 错误!未定义书签。 2.1系统总体方案................................ 错误!未定义书签。 2.2硬件电路的总体框图设计 (12) 2.3硬件电路原理图设计 (12) 3软件设计 (13) 3.1主程序流程图 (13) 3.2显示模块流程图 (14) 4P ROTEUS软件仿真 (15) 4.1仿真过程 (15) 4.2仿真结果 (16) 5课程设计体会 (17) 参考文献 (18) 附录:源程序代码附 (18) 结束语 (25) 2

单片机电子万年历含程序

CHANGZHOU INSTITUTE OF TECHNOLOGY 科研实践 项目名称:电子万年历设计 二级学院:电子信息与电气工程学院 专业:电气工程及其自动化班级: 10 电二 学生姓名:祝学东学号: 指导教师:庄志红职称:副教授 起止时间: 2013年12月9日—2013年12月20日 摘要 本设计是电子万年历。具备三个功能:能显示:年、月、日、时、分、秒、星期,并具有可调整日期和时间功能。 该电子万年历使用12MHZ晶振与单片机AT89C52相连接,通过软件编程的方法实现了以24小时为一个周期,同时显示小时、分钟和秒的要求。利用单片机定时器及计数器产生定时效果通过编程形成数字钟效果,再利用数码管动态扫描显示单片机内部处理的数据。同时通过端口读入当前外部控制状态来改变程序的不同状态,实现不同功能。 电子万年历设计与制作可采用数字电路实现,也可以采用单片机来完成。若用数字电路完成,所设计的电路相当复杂,大概需要十几片数字集成块,其功能也主要依赖于数字电路的各功能模块的组合来实现,焊接的过程比较复杂,成本也非常高。若用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成,这样一来就降低了硬件电路的复杂性,从而使得其成本降低,更适合我们大学生自主研发。 AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。

C语言程序设计 万年历程序

#include"stdio.h" int mon_day[]={31,28,31,30,31,30,31,31,30,31,30,31}; int judge(int year,int month) { if(month==1||month==3||month==5||month==7||month==8||month==10||month ==12) return(1); else if(month==2) { if(year%4!=0||year%100==0&&year%400!=0) return(2); else return(3); } else return(4); } void show2() { int year,i,j,a,n,m,k; char ** p; char * week[]={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"}; char*month[]={"January","February","March","April","May","June","July","Augu st","September","October","November","December"}; printf("please inter the year:"); scanf("%d",&year); printf("\n"); printf("the calendar of the year%d.",year); printf("\n"); a=(year+(year-1)/4-(year-1)/100+(year-1)/400)%7; for(i=0;i<12;i++) { n=judge(year,i+1); p=month+i; printf("%s\n",*p); printf("\n"); for(j=0;j<7;j++) {p=week+j; printf("%6s",*p);}

电子万年历设计(基于AT89C51单片机和DS1302时钟芯片)1

随着人们生活水平的提高和生活节奏的加快,对时间的要求越来越高,精准数字计时的消费需求也是越来越多。 二十一世纪的今天,最具代表性的计时产品就是电子万年历,它是近代世界钟表业界的第三次革命。第一次是摆和摆轮游丝的发明,相对稳定的机械振荡频率源使钟表的走时差从分级缩小到秒级,代表性的产品就是带有摆或摆轮游丝的机械钟或表。第二次革命是石英晶体振荡器的应用,发明了走时精度更高的石英电子钟表,使钟表的走时月差从分级缩小到秒级。第三次革命就是单片机数码计时技术的应用(电子万年历),使计时产品的走时日差从分级缩小到1/600万秒,从原有传统指针计时的方式发展为人们日常更为熟悉的夜光数字显示方式,直观明了,并增加了全自动日期、星期、温度以及其他日常附属信息的显示功能,它更符合消费者的生活需求!因此,电子万年历的出现带来了钟表计时业界跨跃性的进步…… 我国生产的电子万年历有很多种,总体上来说以研究多功能电子万年历为主,使万年历除了原有的显示时间,日期等基本功能外,还具有闹铃,报警等功能。商家生产的电子万年历更从质量,价格,实用上考虑,不断的改进电子万年历的设计,使其更加的具有市场。 本设计为软件,硬件相结合的一组设计。在软件设计过程中,应对硬件部分有相关了解,这样有助于对设计题目的更深了解,有助于软件设计。基本的要了解一些主要器件的基本功能和作用。 除了采用集成化的时钟芯片外,还有采用MCU的方案,利用AT89系列单片微机制成万年历电路,采用软件和硬件结合的方法,控制LED数码管输出,分别用来显示年、月、日、时、分、秒,其最大特点是:硬件电路简单,安装方便易于实现,软件设计独特,可靠。AT89C51是由ATMEL 公司推出的一种小型单片机。95年出现在中国市场。其主要特点为采用Flash存贮器技术,降低了制造成本,其软件、硬件与MCS-51完全兼容,可以很快被中国广大用户接受。 本文介绍了基于AT89C51单片机设计的电子万年历。 首先我们在绪论中简单介绍了单片机的发展与其在中低端领域中的优

电子万年历

第一章绪论 1.1设计背景 从改革开放开始,电子工业已成为科技创新的重要领域,我国的电子产业也在新世纪开始高速发展,无论是产业结构,产业规模和技术水平都有了十分明显的进步和提升,而且电子产品在各个领域都有开创性的发展,使我们的生活变得更加智能化,为我国经济的发展做出了杰出的贡献。其中,单片机的大规模使用为我们的生活创造了极大的便利,可以说无时无刻不在影响着我们的生活。何为单片机,单片机全名为单片微控制器,它的结构组成就是将微型计算机的基本功能部件全都集成在一个半导体芯片上。尽管仅仅是一个芯片,但从单片机的构成和功能的角度来看充分具备一个计算机系统的中央处理功能。最重要的优点是,单片机体积小巧,可以任意嵌入到任何符合条件的应用系统中作为中央处理器进行指挥决策,是系统实现完全的智能化。当今世界,单片机已经无时无刻不在我们生活的周边存在,各类电子产品几乎都以单片机作为主控核心,通过单片机的控制使之更加智能快速,使我们的生活更加舒畅和方便。正是随着日常周边科学技术的进步,人们对待生活用品的要求也在逐步提高,时钟亦是如此,从古至今,人们对时间的概念就非常重视,从日晷到摆钟,经历了百年的发展,如今,人们对时钟的要求不仅仅是能够知道时间,还需要能够知道日期,星期,节气,天气情况等等,以便于满足人们对生活的各种需要,由此电子万年历就诞生了,正是因为电子万年历功能的多样性,使它在应用在各种场合,人们对它的需求量也就却来越大,电子万年历的发展空间也越来越广阔,成为了一项重要的产业。 1.2设计的目的及意义 中国从古至今就有重视时间的好传统,农民通过日照和鸡叫开始一天的劳作,商人通过古老的计时工具来确认是否应该开门迎客,学士知道时间后则开始一天的读书学习,这种传统一直绵延至今。当今社会,人们的生活节奏飞快,在工作中讲究快速和效率,需要在最短的时间内完成最合理的工作要求,所以人们通常需要在最短的时间内了解到最丰富的信息,人们不满足于只能看到此时此刻的时间信息,还需要了解过去和未来几天内的时间情况,包括农历,天

C语言程序的设计万年历

存档资料成绩: 华东交通大学理工学院 课程设计报告书 所属课程名称车 C语言程序设计课程设计 题目万年历查询 分院电信分院 专业班级 2013级电气工程及其自动化1班 学号 105 学生周利凯 指导教师肖盛文 2014年 6月 15日 摘要

通过C语言编程实现了一个万年历,能实现基本的万年历功能。通过本章的讲解,使读者能够明白万年历的实现原理和方法。万年历的实现核心是要判断闰年和根据给定的日期计算其对应的星期,并按照合适的方式输出日历.这都是本章向读者讲述的重点。 另外,在当今社会万年历在生活起着越来越重要的角色,它悄无声息的走进我们的生活,还向读者讲述了怎样突出显示某个日期的方法,这会在实际应用中经常遇到。除了讲述万年历的实现方法外,本章还回顾了前面章节的知识,如光标定位﹑设置寄存器﹑产生中断﹑输出一个字符等,以及讲述系统日期﹑屏幕输出的方法等。 关键字: C语言,函数,历法计算,万年历,中断。 目录

1.设计万年历目的--------------------------- P4 2.万年历程序设计思路图解及其讲解-----------P5 3.万年历程序清单与编码----------------------P7 4.万年历的调试与分析------------------------P12 5.万年历的使用环境与说明--------------------P14 6. 设计心得-----------------------------------P15 7.万年历参考文献------------------------------P16 8.致-----------------------------------------P17

万年历系统设计方案

电子万年历系统设计 The design of Electronic calendar system 专业:电子信息科学与技术 学号: 姓名:

电子万年历系统设计 摘要:近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,并且给人类生活带来了根本性的改变。尤其是单片机技术的应用产品已经走进了千家万户。电子万年历的出现给人们的生活带来的诸多方便。虽然在日常生活中,各种信息处理终端如电脑、手机等给我们提供了准确的时间信息。但是在大多数场合却仅仅局限于个人的适用围之。在家居生活中,一款悬挂余居室墙壁上大方得体的电子钟不仅能为我们提供准确的时间显示,而且魅惑了环境,给单调的居室带来了现代化的气息,因而成为许多家庭的必备之选。 本文设计了一种基于八位串行输入-并行输出移位寄存器74HC164芯片,以STC89C52单片机为核心、数码显示的电子万年历,主要介绍了时钟芯片、温度传感器、仿真模块,以及万年历硬件和软件的设计,实现了准确显示,公历年、月、日、农历月、日、时、分、秒功能。 关键字:单片机;时钟芯片;温度传感器;仿真

The Design of Electronic Calendar System Abtract:In recent years, with computer penetration in the social sphere and the development of large-scale integrated circuits, MCU applications are constantly deepening, as it has a function of strong, small size, low power consumption, cheap, reliable, easy to use , And other characteristics, and therefore particularly suited to control the system and to human life brought about fundamental changes. SCM is by the application of technology products have entered the tens of thousands of households. The emergence of electronic calendar to the lives of people of many convenience. While in everyday life, dealing with all kinds of information terminals such as computers, mobile phones has provided us with accurate time information. However, in most occasions is limited to individuals within the scope of the application. In home life, hoisted more than a generous living room walls of the appropriate electronic bell can not only provide us with accurate time, and tantalized by the environment, bring to the monotonous room a modern flavor, so many families must Of the election. In this paper, a design based on eight serial input - output parallel shift register 74 HC164 chip to STC89C52 microcontroller as the core, digital display electronic calendar, mainly on the clock chip temperature sensor, simulation modules, hardware and calendar And software design, to achieve an accurate, the calendar year, month, day and the Lunar month, day, hours, minutes and seconds functions. Key words:MCU;Clock chip;Temperature sensor;Simulation

课程设计万年历的设计52503328

课程设计万年历的设计52503328

兰州理工大学 计算机与通信学院 2014年秋季学期 面向对象课程设计 题目:万年历的设计

序言 《面向对象的程序设计》是计算机专业一门重要的专业基础课。此次课程设计的目的是以面向对象程序设计语言为基础,通过完成一些具有一定难度的课程设计题目的编写、调试、运行工作,进一步掌握面向过程和面向对象程序设计的基本方法和编程技巧,巩固所学理论知识,使理论与实际相结合。从而提高自我分析问题、解决问题的能力。通过课程设计,学生在下述各方面的能力应该得到锻炼: (1)进一步巩固、加深学生所学专业课程《C++语言程序设计》的基本理论知识,理论联系实际,进一步培养学生综合分析问题、解决问题的能力。 (2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。 (3)利用所学知识,开发小型应用系统,掌握运用C++语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。 (4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。 (5)掌握面向对象的程序设计方法。 (6)进一步掌握在集成环境下如何调试程序、修改程序和程序的测试。

目录 摘要 (2) 第一章系统总体设计 (3) 一.理论说明 (3) 二.流程图说明 (4) 1.总体流程说明图 (4) 2.部分流程说明图 (4) 第二章系统详细设计 (7) 一.主要组成部分 (7) 二.源程序 (9) 第三章系统测试 (34) 四软件使用说明书 (40) 一.系统运行环境 (40) 二.系统操作提示 (40) 总结 (41) 参考文献 (42) 致谢 (42)

电子万年历设计

课程论文 论文题目基于单片机的电子万年历设计 课程名称单片机原理及接口技术 专业年级2014级自动化3班 学生姓名孙宏远贾腾飞 学号 2014485420144848 2016年12 月3 日

摘要: 本文介绍了基于AT89C51单片机的多功能电子万年历的硬件结构和软硬件设计方法。系统以AT89C51单片机为控制器,以串行时钟日历芯片DS1302记录日历和时间,它可以对年、月、日、时、分、秒进行计时,还具有闰年补偿等多种功能。万年历采用直观的数字显示,可以在LED上同时显示年、月、日、周日、时、分、秒,还具有时间校准等功能。此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,具有广阔的市场前景。。 关键词:AT89C51单片机,DS1602时钟芯片,LCD1602显示屏。串口通信。一:引言 本设计的基于单片机控制的电子万年历,具有年、月、日、星期、时、分、秒的显示等功能,实现过程就是由主控制发送信息给DS1302时钟芯片再由时钟芯片反馈给单片机,再由主控制器传送给LCD1602显示屏显示信息。并且可以在键盘设置模块输入修改时间,当键盘设置时间、日期时,单片机主控制根据输入信息,通过串口通信传送给DS1302时钟芯片,DS1302芯片读取当前新信息产生反馈传送给单片机,然后单片机根据控制最后输送显示信息到LCD1602液晶显示屏模块上显示。 二:硬件设计: 2.0.硬件的设计总框图 2.1 DS1032时钟电路 DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768kHz晶振。芯片如图。 DS1302的内部主要由移位寄存器、指令和控制逻辑、振荡分频电路、实时时钟以及RAM组成。每次操作时,必须首先把CE置为高电平。再把提供地址和命令信息的8位装入移位寄存器。数据在SCLK的上升沿串行输入。无论是读周期还是写周期发生,也无论传送方式是单字节还是多字节,开始8位将指定内部何处被进行访问。在开始 8个时钟周期把含有地址信息的命令字装入移位寄存

万年历汇编语言程序

F_S bit 00H ;计时1S的标志位 ORG 0000H LJMP START ORG 001BH LJMP PINTT1 ORG 0003H LJMP PINT0 ORG 0013H LJMP PINT1 ORG 0030H START: CLR P1.4 MOV SP,#60H MOV TMOD,#10H ;设置定时器T1方式字 MOV DPTR,#(65536-50000) MOV TH1,DPH MOV TL1,DPL SETB EA SETB ET1 SETB TR1 ;启动定时器T1 SETB EX0 ;启动外部中断0 SETB IT0 ;设定外部中断0为下降沿 MOV IP,#01H ;设定外部中断0优先级最高 SETB EX1 SETB IT1 MOV R4,#20 MAIN: JNB F_S,ABCD ; 标志位为0(定时时间为1s),则跳转 CLR F_S ;标志位置零 LCALL JISHI ;调用计时ABCD: MOV 53H,#0FH ; MOV 40H,#35H MOV 41H,#00H MOV 42H,#06H LCALL DISP ;调用显示程序 ;LCALL KEYS SJMP MAIN ;定时中断程序 PINTT1: MOV DPTR,#(65536-50000) MOV TH1,DPH ;重新设置初值 MOV TL1,DPL DJNZ R4,ABC ;是否为1S?,不是则返回 MOV R4,#20 ;重新设置计数初值 SETB F_S ;标志位置1 ABC: RETI ;外部中断0程序,用于调节年月日************************************ ********* PINT0: CLR EA ;关中断 CLR TR1 ;关定时器 PUSH ACC PUSH PSW PUSH 49H PUSH 40H PUSH 41H PUSH 42H PUSH 43H ;MOV 55H,#00H ;给55H初值,刚进入中断时使显示秒的数码管闪亮MOV 55H,#06H

C语言程序设计万年历

C语言课程设计报告 题目:万年历系统 设计者:李文杰 专业班级:软件工程(.net)一班 学号: 311009070118 指导教师:米爱中 2011年6月30日 河南理工大学计算机科学与技术学院

目录 一、C语言课程设计任务书 (3) 1、C语言课程设计目的和要求 (3) 1.1目的: (3) 1.2要求: (3) 二、本组课题及本人任务 (3) 三、程序功能简介 (4) 四、主题内容 (4) 1、题目与要求 (4) 1.1 问题提出 (4) 1.2 本系统涉及的知识点 (5) 1.3 功能要求 (5) 2、功能设计 (6) 2.1 算法设计 (6) 3、程序流程图.. (8) 4、程序代码设计 (9) 4.1输入及年份平润确定模块 (9) 4.2求星期天数模块 (9) 4.3求月份天数模块 (11) 4.4查询模块 (11) 4.5输出及验证模块 (12) 4.6说明: (12) 5、C程序设计总结 (12) 6、结束语 (13) 参考文献 (13)

一、C语言课程设计任务书 1、C语言课程设计目的和要求 1.1目的: 1)复习、巩固C语言的基础知识,进一步加深对C语言的理解和掌握; 2)课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生适应实际,实践编程的能力; 3)培养学生在项目开发中团队合作精神、创新意识及能力。 1.2要求: 1)、对系统进行功能模块分析、控制模块分析正确,符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理; 2)、系统设计要实用,编程简练,可用,功能全面 3)、说明书、流程图要清楚 4)、记录设计情况(备查,也为编写设计说明书作好准备); 5)、要求采用模块化程序设计方法,及锯齿型书写格式,要求上机调试通过和按设计报告格式。 6)、设计上交内容:设计报告一份(按格式书写);源程序盘一张(能编译成可执行文件并能正常运行,可一个班交一张光盘)。 二、本组课题及本人任务 经考虑及尝试,本人决定选择题目2.2编写一个万年历系统,完成对日期的查询输出。

LCD12864单片机电子万年历程序

********************************* #include<> #include<> #define LCD_Data P0 #define uchar unsigned char unsigned char sec,min,hour,day,month,year,cen,week, next,aa,bb,cc,dd,mm,temp0,LunarMonth, LunarDay,LunarYear; int temp; uchar tt=1; bit c_moon; bit cenbit=1; bit w; sbit LCD_RS=P2^0; sbit LCD_RW=P2^1; sbit LCD_E=P2^2; sbit PSB=P2^3; sbit DS1302_CLK=P3^7; sbit DS1302_IO=P3^6; sbit DS1302_RST=P3^5; sbit DS18B20=P2^5; sbit speak=P2^7; sbit SetKey=P1^4; // 按键功 能:设置 sbit SureKey=P1^5; // 按键功 能:确认 sbit PlusKey=P1^6; // 按键功 能:加 sbit ReduceKey=P1^7; // 按键功 能:减 sbit scl=P1^1; sbit sda=P1^0; void DisplayShengXiao(void); void delay(unsigned int a) // 延时 1MS/ 次 { unsigned char i; while(--a) { for(i=0;i<125;i++) ; } }

电子万年历

Tianjin University of Technology and Education 课程设计 学院:电子工程学院 班级:应电1211班 学生姓名:马登桂(01) 张婵(20) 李春鹏(22) 指导教师:马宁梁彩凤 2015年7月

天津职业技术师范大学 应电专业课程设计任务书 电子工程学院应电1211 班学生: 课程设计课题: 一、课程设计工作日自 2015 年 7 月 6 日至 2015 年 7 月 24日 二、同组学生: 三、课程设计任务要求: 要求全班同学每3人一组自由分组,每组在下列题目中任选2题,完成电路设计仿真、硬件焊接以及软件的编程与调试(统一采用AT89系列单片机): 题目1:基于单片机的多功能计算器设计题目(显示设备采用1602液晶模块) 基本要求:以4×4键盘作为输入,通过软件设计实现加减乘除计算功能,并显示; 扩展功能:进一步实现乘方、开方、对数、阶乘等科学计算功能。 题目2:基于单片机的电子万年历设计(显示设备采用1602液晶模块) 基本要求:通过软件设计实现年月日时间显示及时间设定等功能; 扩展要求:进一步实现定时闹钟功能。 题目3:基于单片机的温度采集显示电路设计(显示设备采用4位数码管) 基本要求:实现用DS18B20采集温度,并实时显示; 扩展要求:进一步实现预设温度告警功能。 指导教师:梁彩凤、马宁

目录

1基于单片机的电子万年历设计 1.1设计任务 基本要求:通过软件设计实现年月日时间显示及时间设定等功能; 扩展要求:进一步实现定时闹钟功能。 1.2 设计方案 1.2.1总体方框图 图1.1总体方框图 1.2.2整体功能说明: 本论文一主要研究基于单片机的万年历设计。当程序执行后,LCD显示即时时间、年月日、星期、温度。设置3个操作键:K1:设置键;K2:上调键;K3:下调键。本设计的主要内容:1、了解单片机技术的发展现状,熟悉万年历各模块的工作原理;2、选择适当的芯片和元器件,确定系统电路,绘制电路原理图,尤其是各接口电路;3、熟悉单片机使用方法和C语言的编程规则,编写出相应模块的应用程序;4、分别在各自的模块中调试出对应的功能,在Proteus软件上进行仿真。 1.3电路设计与分析

c语言课程设计报告 万年历 最详细

C语言课程设计报告 -----万年历 设计人:贾伟涛 学号:2013010912 班级:13电信应电班 指导老师:张伟 日期:2014年6月9日 内容提要 通过大一下学期对C语言的学习,了解到了很多C语言的相关知识。学习的过程虽然有很多困惑,但是当自己能够独立的看懂和独立的完成一个简单的程序时,心中就会收获无限的喜悦和成就感。我虽然可以看懂一些简单的程序,编写一些简单的计算程序,更多的是学会了一种思想——编程,它让我在去思考很多日常生活中的事物是怎么样通过一个个小小的函数实现功能的,激发我对c语言的兴趣。 C语言是近年在国内外得到迅速推广应用的一种机器语言。C语言功能丰富,表达能力强,使用灵活方便,应用面广,目标程序效率高,可移植性好,既具有高级语言的优点,又具有低级语言的许多特点。因此,C语言特别适合于编写各种软件。 在这次的课程设计中我将把日常生活中最经常接触的——日历的查询,利用C

语言的程序编成一个简单的万年历查询系统。通过这个小小的系统可以实现很多功能。在程序中你能看到很多熟悉的C语言关键字,同时也加入了很多自己课外了解到的一些关键字。在不断的调试中最终才获得最为完整的程序。接下来就是我的C 语言课程设计的具体内容来了,大家拭目以待吧! 目录 一、系统功能和数据说明----------------------- 二、问题分析--------------------------------- 三、程序总体设计及功能结构框图--------------- 四、程序流程图------------------------------- 五、源程序代码------------------------------- 六、使用说明--------------------------------- 七、个人心得--------------------------------- 八、参考文献--------------------------------- 一、系统功能和数据说明 (一)功能简介 在日常生活中能接触到很多不同类型的日历,在日历上我们通常希望它能简单明了的给我们最想要的日期信息。在我的万年历系统当中,就是将日历,月历做的简

相关主题