万年历程序设计说明书
万年历程序设计..

{ printf("4月1日:愚人节4月5日:清明节4月7日:世界卫生日 \n");
printf("4月22日:世界地球日4月26日:世界知识产权日\n");}
else if(month==4)
{ printf("5月1日:国际劳动节5月3日:世界哮喘日5月4日:中国青年节 \n");
printf("\n是否返回目录(1.是;0.否)");
fflush(stdin);
scanf("%d",&y);
}while(y!=1);
return ;
}
void nianli( )
{ int i,j,a,n,m,k,y,h,s;
char ** p;
char * week[]={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};
五、程序的源代码:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int judge(int year,int month)/*定义一个函数,把月分为四类(28,29,30,31)*/
{
if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)
printf("\n\n================================================================================");
万年历程序设计..

printf("6月25日:全国土地日6月26日:国际禁毒日\n");}
else if(month==6)
{ printf("7月1日:中国建筑日7月7日:中国人民抗日战争纪念日7月11日:世界人口日\n");}
else if(month==7)
{ printf("8月1日:中国人民解放军建军节8月12日:国际青年节\n");}
else if(month==8)
{ printf("9月8日:国际扫盲日9月10日:中国教师节9月16日:中国脑健康日\n");
printf("9月16日:国际臭氧层保护日9月20日:全国爱牙日9月21日:世界停火日 \n");
else if(month==3)
{ printf("4月1日:愚人节4月5日:清明节4月7日:世界卫生日 \n");
printf("4月22日:世界地球日4月26日:世界知识产权日\n");}
else if(month==4)
{ printf("5月1日:国际劳动节5月3日:世界哮喘日5月4日:中国青年节 \n");
}
void holiday(int month)/*定义阳历节日函数*/
{ printf("友情提示:\n");
if(month==0)
{ printf("1月1日:元旦\n");}
else if (month==1)
{ printf("2月2日:世界湿地日2月14日:情人节\n");}
《万年历程序系统》一.系统设计及功能要求 1.系统封面.设计 ....ppt

**January**
===============================
SUN|MON|TUE|WED|THU|FAI|SAT
====|===|===|===|===|===|=====
|1|2|3|4|5|6
----|---|---|---|---|---|---
7 | 8 | 9 | 10| 11| 12| 13
----|---|---|---|---|---|---
==============================
显示要求:设置显示滚动区;在该区中每次显示4个月的日历(并列排列)。 ② 日历打印设计:将日历按年存入磁盘不同的文件中保存,供打印或再次显 示使用。 二.交付的文档资料 1.程序系统 ② 程序系统详细的程序框图(每个子程序的流程图); ③ 打印:.系统封面,输入画面图,日历图;
《万年历程序系统》 一.系统设计及功能要求
1.系统封面设计 内容:题目名称,设计日期,设计者姓名。 要求:具有动感,如题目名称移动;字体具有立体感。可插入
一些图画,如学校的校徽图。 2.输入画面设计 内容及要求:①密码及口令:输入,核查及修改功能。②年份:
输入及判断功能。如:年份值是否为4位整数,不为4位,提示用户 重输。
二月份是否为平年(28天)或闰年(29天)的算法:
y/400=0∨y/4=0∧y/100≠0 (y为年份;“/”整除)
,则y为以闰年;否则,y为平年。
根据①②可求出一年中的日历。
4.日历输出功能设计。
① 格式及显示设计
格式:如: *********** 2001 *************
**1**
.系统源程序。 2.系统设计及实现的技术特点,不足及改进的建议。 3.课程设计的体会要点。 将1,2,3三部分内容装订成册上交。
基于单片机的电子万年历硬件设计说明书

硬件详细设计说明书——基于单片机电子万年历设计姓名:部门:编号:目录一、系统概述 (1)二、硬件详细设计 (1)2.1主控模块 (1)2.2 电源模块 (2)2.3 时钟模块 (2)2.4 键盘输入模块 (3)2.5 显示模块 (3)2.6 闹钟模块 (4)2.7 温度采集模块 (4)2.8 ISP下载电路 (5)一、系统概述基于单片机的万年历是运用51系列单片机为主处理器实现日期、时间、温度等信息的显示,并带有闹钟提示功能。
该系统主要由主控模块、电源模块、时钟模块、键盘输入模块、显示模块、闹钟模块、温度采集模块、ISP下载模块共八个模块组成。
系统框图如图1.1所示。
图1.1 电子万年历系统框图二、硬件详细设计2.1主控模块P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RDU7STC12LE5A60S2-35I-PDIP40RST9XTAL218XTAL119GND20PSEN29ALE/PROG30EA/VPP31VCC40P1.0/T21P1.1/T2-EX2P1.23P1.34P1.45P1.56P1.67P1.7821P2.0/A8P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427P2.7/A1528P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.5/T115P3.6/WR16P3.7/RD17P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732VCC_3.3VR144.7KP2.[0..7]RSTXTAL1XTAL2P0.0P0.1P0.2P0.3P0.4VCC_3.3VP0.5P0.6P0.7图1.1 主控模块电路主控模块电路如图1.1所示。
万年历说明书

湄洲湾职业技术学院万年历说明书系别:自动化工程系年级:10级专业:电气自动化姓名:小清学号:1001020254导师姓名:佘明辉职称:副教授2013年 5 月27日目录1.前言 (1)2.系统设计参数要求 (2)3.系统设计 (3)3.1系统设计总体框图 (3)3.2 各模块原理说明 (3)3.2.1 AT89C51单片机最小系统模块 (3)3.2.2 液晶显示模块 (4)3.2.3 蜂鸣器模块 (5)3.2.4 独立键盘模块 (5)3.3 系统总原理图说明 (6)3.4系统印刷电路板的制作图 (6)3.5系统的操作说明 (6)3.6 系统操作注意事项 (6)参考文献 (7)致谢词 (8)附录 (9)附录1:电路总原理图 (9)附录2:印刷电路板 (10)附录3:原件清单 (11)1.前言随着半导体技术的迅速发展,特别是大规模集成电路出现,给人类生活带来了很多的改变。
尤其是单片机技术的应用产品已经随着社会前进的步伐走进我们的生活。
电子产品的应用可谓多不胜数,电子万年历就是其中的一种。
电子万年历的出现给人们的生活带来的极大的方便。
单片机以体积小、功能全、性价比高等诸多优点,在工业控制、家用电器、通信设备、信息处理、尖端武器等各种测控领域的应用中独占鳌头,单片机开发技术已成为电子信息、电气、通信、自动化、机电一体化等专业技术人员必须掌握的技术。
本设计是制作一个万年历,系统以单片机的C语言进行软件设计,增加了程序的可读性和可移植性,为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了。
系统通过点阵式液晶为载体显示数据,所以具有人性化的操作和美观的页面效果。
本系统硬件部分由AT89C51单片机、液晶显示器、DS18B20温度测量、键盘、蜂鸣器系统等部分构成。
软件部分在keil环境下用C51语言编写,包括时间设置、时间显示、定时闹钟、温度显示。
2.系统设计参数要求该系统要求参数具体如下:[1] 能显示年、月、日、星期、时、分、温度[2] 用液晶显示器来显示时间[3] 用PROUTEUS设计,仿真基于AT89C51单片机的万年历实验的硬件电路[4] 可设置定时时间,当定时时间到时,蜂鸣器发出报警声音3.系统设计3.1系统设计总体框图采用AT89C51作为主控单片机,温度模块选用DS18B20作为温度传感器,显示模块选用LCD1602,设置部分选用按键电路,其框图如图3.1所示。
万年历课程设计任务书

try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
} //异常抛出
}
//带日期设置的构造函数
public JCalendar(int year, int month, int day) {
cal.set(year, month, day);
//初始化年、月、日
iniCalender();
this.setLayout(new BorderLayout());
this.setBorder(BorderFactory.createRaisedBevelBorder());
this.setMaximumSize(new Dimension(200, 200));
另外值得一提的是,我认为合作也是很有价值的一件事,这也是我感悟的。
大家都知道术业有专攻之说。确实如此,不同的人对不同的领域有不同的领悟能力。
要完成一件综合性的任务,并非那么简单,不单指这任务内容多么难,而是指它所涉及的知识点很广。这次任务书,不仅仅是要求我们写一个程序,打几个字,还要求我们画流程图。对于计算机,我是个们外汉。流程图,前所未闻,更别提画了。面对这个难题,我开始很疑惑,很郁闷。天无绝人之路,我碰到一计算机高手,在他的帮助之下,我现在不光画出了所需流程图,还懂的流程图的基本作图方法。
//主日历
private GregorianCalendar cal=new GregorianCalendar(l);
//星期面板
private JPanel weekPanel=new JPanel();
//日期按钮组
基于vhdl万年历设计说明书

目录摘要......................................... (错误!未定义书签。
) Abstract . (1)绪论.......................................... (错误!未定义书签。
)第1章基本概念简介. (2)1.1 EDA技术和FPGA/CPLD简介 (2)1.2 VHDL的简介 (3)1.3 Quartus II的简介 (4)第2章系统设计 (5)2.1 设计思想 (5)2.2 设计原理图 (6)2.3 设计流程图 (6)第3章模块分析 (7)3.1 计数器模块分析 (7)3.1.1 秒和分计数器模块 (7)3.1.2 时计数器模块 (8)3.1.3 日计数器模块 (9)3.1.4 月计数器模块 (12)3.1.5 年计数器模块 (14)3.2 校时模块 (16)3.3 显示及显示方式切换模块 (18)3.4 顶层原理图 (20)第4章引脚设定与验证 (21)4.1 引脚设定 (21)4.2 下载验证 (23)总结 (23)参考文献 (25)致谢.......................................... (错误!未定义书签。
)摘要随着EDA(电子设计自动化)技术的发展和应用领域的扩大,EDA技术在电子信息、通信、自动化控制及计算机应用领域的重要性日益突出。
EDA技术作为现代电子设计技术的核心,它依赖功能强大的计算机,在EDA工具软件平台上,对以硬件描述语言HDL (Hardware Description language)为系统逻辑描述手段完成的设计文件,自动完成逻辑化简、逻辑分割、逻辑综合(布局布线)、逻辑优化和仿真测试等项功能,直至实现既定性能的电子线路系统功能。
EDA的关键技术之一是用形式化方法来描述数字系统的硬件电路、即用所谓的硬件描述语言来描述硬件电路。
本设计是基于VHDL语言的万年历。
单片机万年历设计说明

单芯片万年历设计教学目标一、课程设计的性质本课程是在预先验证的认知实验和相关理论课程编制依据上,设计更高层次命题的教学环节。
它是一种供学生在教师指导下自主获取资料、设计、安装和编程特定功能的电子程序。
电路课程。
对提高学生的电子工程素质和科学实验能力具有十分重要的意义。
2.课程设计的目的本课程旨在培养学生综合数字电路和单片机知识的能力,解决电子信息中常见的实际问题,了解一般电子电路和单片机形成简单系统和更复杂的编程方法的能力。
是参加各类大学生电子竞赛前的技能训练课程,促进学生积累单片机系统开发经验,为更复杂、更实际的应用领域做准备。
目的是夯实基础,专注设计,发展技能,追求创新,变得实用。
二、课程设计专题(万年历设计)功能要求:1、显示年、月、日、时、分、秒;2、分、时、年、月、日可调;技术要求:课程设计通过制作PCB完成。
三、编程1.液晶1602初始化;PB口为数据输入输出口#define LCD_DDR PB_DDR MOV LCD_DDR,#0MOV PB_CR1,#0FFHMOV PB_CR2,#0#define Data_IN PB_IDR #define Data_Out PB_ODR;初始化PE5为RSBSET PE_DDR,#5BSET PE_CR1,#5BRES PE_CR2,#5BSET PE_ODR,#5#define RS PE_ODR, #5;初始化PE6为RWBSET PE_DDR,#6BSET PE_CR1,#6BRES PE_CR2,#6BSET PE_ODR,#6#define RW PE_ODR, #6;初始化PE7为E(片选信号)BSET PE_DDR,#7BSET PE_CR1,#7BRES PE_CR2,#7BRES PE_ODR,#7定义E PE_ODR,#7;液晶初始化MOV R03,#15呼叫延迟MOV LCD_COM,#38H ;调用 LCDWR_NDMOV R03,#05呼叫延迟MOV LCD_COM,#38H调用 LCDWR_ND移动 R03,#05 ;显示关闭呼叫延迟MOV LCD_COM,#08H调用 LCDWR_NDMOV R03,#05 ;显示清屏呼叫延迟MOV LCD_COM,#01H调用 LCDWR_NDMOV R03,#12 ;读或写一个字符后,地址指针减一呼叫延迟MOV LCD_COM,#04H调用 LCDWR_NDMOV R03,#15 ;显示开,光标不显示呼叫延迟MOV LCD_COM,#0CH调用 LCDWR_NDMOV R03,#15呼叫延迟2.子程序LCDWR_ND.LCDWR_ND.LBSET RW布雷斯 RS ;选择命令;阅读模式MOV LCD_DDR,#00H ;0,数据总线处于输入状态灯带1.LBSET E无无MOV LCD_D1,数据_IN布雷斯BTJT LCD_D1,#7,灯带1;写模式MOV LCD_DDR,#0FFHBRES RWMOV Data_Out, LCD_COMBSET E无无布雷斯RET3.子程序W_CODE.W_CODE.L ;读取数据布雷斯 RS ;数据指令BSET RWMOV LCD_DDR,#00HW_CODE_1.LBSET E无无LD A,Data_IN布雷斯LD R11,ABTJT R11,#7,W_CODE_1MOV LCD_DDR,#0FFHBSET RSBRES RWMOV Data_Out, LCD_COMBSET E无无布雷斯RETRETRETRETRET4. Subroutine Delay(起到延时作用)(1) TIM3初始化;计数器初始化MOV TIM3_PSCR,#01H移动 TIM3_ARRH,#27HMOV TIM3_ARRL,#10HMOV TIM3_CR1,#04HBRES TIM3_IER,#0BSET TIM3_CR1,#0(2)中断程序中断 TIM3_Interrupt_OverTIM3_Interrupt_Over.lBRES TIM3_SR1,#0十二月 R03IRET(3) 主要部分.延迟.LBSET TIM3_EGR,#0BSET TIM3_IER,#0延迟_1.lLD A, R03CP A,#00JRUGT 延迟_1BRES TIM3_IER,#0RET5、计时部分:(1) TIM1初始化;计数器初始化MOV TIM1_SMCR,#00HBRES TIM1_ETR,#6MOV TIM1_PSCRL,#01HMOV TIM1_ARRH,#{HIGH 10000} ;初始化自动重载初值寄存器TIM1_ARR MOV TIM1_ARRL,#{LOW 10000}MOV TIM1_RCR,#00H ;初始化重复计数寄存器 TIM1_RCRMOV TIM1_CR1,#05H BSET TIM1_CR1,#0 ;启动定时器 TIM1 (2) 中断程序中断 TIM1_Interrupt_OverTIM1_Interrupt_Over.lBRES TIM1_SR1,#0十二月 R19JRNE TIM1MOV R19,#100公司 R05 ; R05 是秒的一位数CLR ALD A, R05CP A,#10JRNE TIM1CLR R05INC R06 ;R06 是第二个的十位LD A, R06CP A,#6JRNE TIM1CLR R06公司 R07 ; R07 是分钟的一位数TIM1.LIRET6、LCD1602显示部分(1) 年、月、日的显示无限循环1.l移动地址,#08CHMOV LCD_COM,地址调用 LCDWR_ND无限循环2.lCLRW XCLR ACLRW YLDW X, R22LDW Y,#4DIVW X,YLD A, YLCP A,#0JRNE FRNCLRW YCLRW XCLR ALDW Y,#100LDW X, R22DIVW X,YLD A, YLCP A,#0JRNE润年CLRW YCLRW XCLR ALDW Y,#400LDW X,R22DIVW X,YLD A, YLCP A,#0JRNE FRN润年.lCLR ALD A,R21CP A,#2JRNE AS8LD A,R20CP A,#30JRC SD1MOV R20,#1INC R21JPF ASFRN.lCLR ALD A,R21CP A,#2JRNE AS8LD A,R20CP A,#29JRC SD1MOV R20,#1INC R21JPF ASAS8.LLD A,R21CP A,#1JRNE AS1LD A,R20CP A,#32JRC SD1MOV R20,#1INC R21 SD1.LJPF ASAS1.LLD A,R21CP A,#3JRNE AS2LD A,R20CP A,#32JRC SD2MOV R20,#1INC R21 SD2.LJPF ASAS2.LLD A,R21CP A,#5JRNE AS3LD A,R20CP A,#32JRC SD3INC R21 SD3.LJPF ASAS3.LLD A,R21CP A,#7JRNE AS4LD A,R20CP A,#32JRC SD4MOV R20,#1INC R21 SD4.LJPF ASAS4.LLD A,R21CP A,#8JRNE AS5LD A,R20CP A,#32JRC SD5MOV R20,#1INC R21 SD5.LJPF ASAS5.LLD A,R21CP A,#10JRNE AS6LD A,R20CP A,#32JRC SD6MOV R20,#1INC R21 SD6.LJPF ASAS6.LLD A,R21CP A,#12JRNE AS7LD A,R20CP A,#32JRC SD7INC R21 SD7.LJPF ASAS7.LIKELD A,R20CP A,#31JRC ASMOV R20,#1INC R21升学CLRW XCLR ALD A,R20LD XL,ALDW Y,#10DIVW X,YLD A,XLLD R31,ALD A, YLLD R30,ALD A,R21CP A,#13JRNE DFMOV R21,#1LDW X,R22INCW XLDW R22,X东风CLRW XCLR ALD A,R21LD XL,ALDW Y,#10DIVW X,YLD A,XLLD R33,ALD A, YLLD R32,ACLRW XCLR ALDW X,R22LDW Y,#1000DIVW X,YLD A,XLLD R37,ALDW X,YLDW Y,#100DIVW X,YLD A,XLLD R36,ALDW X,YLDW Y,#10DIVW X,YLD A,XLLD R35,ALD A,YLLD R34,A;日;个位LD A,R30CLRW XCLR ALD A,R30LD XL,ALD A,(树子,X)LD LCD_COM,A调用 W_CODE;十位CLRW XCLR ALD A,R31LD XL,ALD A,(树子,X)LD LCD_COM,A调用 W_CODECLR ALD A,{风哥2+0}LD LCD_COM,A调用 W_CODE;月;个位CLRW XCLR ALD A,R32LD XL,ALD A,(树子,X)LD LCD_COM,A调用 W_CODE;十位CLRW XCLR ALD A,R33LD XL,ALD A,(树子,X)LD LCD_COM,A调用 W_CODECLR ALD A,{风哥2+0}LD LCD_COM,A调用 W_CODELD A,R34CP A,#10JRNE条112CLR R34INC R35条112.lCLRW XCLR ALD A,R34LD XL,ALD A,(ShuZi,X) ;年的个位LD LCD_COM,A调用 W_CODELD A,R35CP A,#10JRNE条113CLR R35INC R36条113.lCLRW XCLR ALD A,R35LD XL,ALD A,(ShuZi,X) ;年的十位LD LCD_COM,A调用 W_CODELD A,R36CP A,#10JRNE条114CLR R36INC R37条114.lCLRW XCLR ALD A,R36LD XL,ALD A,(ShuZi,X) ;百岁LD LCD_COM,A调用 W_CODECLRW XCLR ALD A,R37LD XL,ALD A,(树子,X) ;年以千计LD LCD_COM,A调用 W_CODE(2) 时、分、秒显示部分.鲜食.l;秒的一位数条1.lCLRW XCLR ALD A, R05LD XL,ALD A,(树子,X)LD LCD_COM,A调用 W_CODE;几十秒条2.lCLRW XCLR ALD A, R06LD XL,ALD A,(树子,X)LD LCD_COM,A调用 W_CODECLR ALD A,{风哥+0}LD LCD_COM,A调用 W_CODE;分钟的一位数LD A, R07CP A,#10JRNE条3CLR R07INC R08条3.lCLRW XCLR ALD A, R07LD XL,ALD A,(树子,X)LD LCD_COM,A调用 W_CODE;分钟的十位LD A,R08CP A,#6JRNE条4CLR R08INC R09条4.lCLRW XCLR ALD A,R08LD XL,ALD A,(树子,X)LD LCD_COM,A调用 W_CODECLR ALD A,{风哥+0}LD LCD_COM,A调用 W_CODE;小时的个位LD A,R10CP A,#2JRNE庆玲LD A,R09CP A,#4JRNE条5CLR R09CLR R10INC R20MOV R24,#0FFHJRT条5青灵.lLD A,R09CP A,#10JRNE条5CLR R09INC R10条5.lCLRW XCLR ALD A,R09LD XL,ALD A,(树子,X)LD LCD_COM,A调用 W_CODE;小时的十位LD A,R10CP A,#3JRNE条6CLR R10条6.lCLRW XCLR ALD A,R10LD XL,ALD A,(树子,X)LD LCD_COM,A调用 W_CODELD A,{WEL_1+0}LD LCD_COM,A调用 W_CODECLR ALD A,R24CP A,#0FFHJRNE QCLR R24JPF 无限循环1QLJPF 无限循环RET7、键盘调时部分中断 TIM3_Interrupt_OverTIM3_Interrupt_Over.lBRES TIM3_SR1,#0十二月 R03IRETIRETIRETIRETIRET中断 TIM2_Interrupt_Over TIM2_Interrupt_Over.lBRES TIM2_SR1,#0十二月 R12JRNE 中断_TIM2_Key1MOV R12,#20BSET KeySTU,#4中断_TIM2_Key1.lLD A,KeySTU和 A,#07HJRNE 中断_TIM2_Key_exitLD A,KeyTIMECP A,#125JRNC 中断_TIM2_Key_exitINC KeyTIME中断_TIM2_Key_exit.lSCAN_Key.lBTJT KeySTU,#4,SCAN_Key_NEXT1JPF SCAN_Key_EXIT SCAN_Key_NEXT1.LBRES PG_ODR,#1无无无LD A,PC_IDR和 A,#0FEHCP A,#0FEHJRNE SCAN_Key_NEXT2供应链金融JRT SCAN_Key_NEXT3 SCAN_Key_NEXT2.LRCFSCAN_Key_NEXT3.LLD A,KeySTURLC A和 A,#07HLD KeySTU,AJREQ SCAN_Key_NEXT41CP A,#010BJRNE SCAN_Key_NEXT4BRES KeySTU,#1SCAN_Key_NEXT41.LLD A,KeyTIMECP A,#125JPF SCAN_Key_EXITCLR 密钥时间JRT SCAN_Key_NEXT6 SCAN_Key_NEXT4.LCLR 密钥时间CP A,#101BJRNE SCAN_Key_NEXT5BSET KeySTU,#1JPF SCAN_Key_EXITSCAN_Key_NEXT5.LCP A,#100BJREQ SCAN_Key_NEXT6IRETSCAN_Key_NEXT6.LCALL Key_Check_ProcSCAN_Key_EXIT.LIRETIRETIRETIRETIRET.Key_Check_Proc.lBTJT PC_IDR,#1,Key_Check_Proc_1INC R18LD A,R18CP A,#6JRNE 一号CLR R18MOV R24,#0FFH一个.lJPF Key_Check_Proc_6Key_Check_Proc_1.lLD A,R18CP A,#1JRNE Key_Check_Proc_2BTJT PC_IDR,#2,JianYi_1CLR R05CLR R06INC R07JPF Key_Check_Proc_6简一_1.lBTJT PC_IDR,#6,Key_Check_Proc_1_1LD A,R07CP A,#0JRNE建一_1_1MOV R07,#10LD A,R08CP A,#0JREQ建一_1_1十二月 R08建一_1_1.lCLR R05CLR R06十二月 R07Key_Check_Proc_1_1.LJPF Key_Check_Proc_6Key_Check_Proc_2.lLD A,R18CP A,#2JRNE Key_Check_Proc_3BTJT PC_IDR,#2,JianYi_2INC R09JPF Key_Check_Proc_6简一_2.lBTJT PC_IDR,#6,JianYi_2_2LD A,R09CP A,#0JRNE建一_2_1MOV R09,#10LD A,R10CP A,#0JREQ建一_2_1十二月 R10简一_2_1.l十二月 R09简一_2_2.lJRT Key_Check_Proc_6Key_Check_Proc_3.lLD A,R1CP A,#3JRNE Key_Check_Proc_4BTJT PC_IDR,#2,JianYi_3INC R20MOV R24,#0FFHJRT Key_Check_Proc_6简一_3.lBTJT PC_IDR,#6,Key_Check_Proc_6CP A,#0JRNE建一_3_1MOV R20.29建一_3_1.l十二月 R20MOV R24,#0FFHJRT Key_Check_Proc_6Key_Check_Proc_4.lLD A,R18CP A,#4JRNE Key_Check_Proc_5BTJT PC_IDR,#2,JianYi_4INC R21MOV R24,#0FFHJRT Key_Check_Proc_6简一_4.lBTJT PC_IDR,#6,Key_Check_Proc_6LD A,R21CP A,#1JRNE建一_4_1MOV R21,#13简一_4_1.l十二月 R21MOV R24,#0FFHJRT Key_Check_Proc_6Key_Check_Proc_5.lLD A,R18CP A,#5JRNE Key_Check_Proc_6BTJT PC_IDR,#2,JianYi_5CLRW XLDW X,R22INCW XLDW R22,XMOV R24,#0FFHJRT Key_Check_Proc_6简一_5.lBTJT PC_IDR,#6,Key_Check_Proc_6CLRW XLDW X, R22DECW XMOV R24,#0FFHJRT Key_Check_Proc_6 Key_Check_Proc_6.lRETRETRETRETRET4.硬件设计一、一般电路原理图2、LCD1602电路3、微控制器最小系统[1]世伟.印刷电路板的排版设计:科技文献,1983[2]永雄,沙河等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
万年历程序设计说明书
一、引言
万年历是一款方便用户查询日期、农历、节假日等信息的应用程序。
本文档将详细介绍万年历程序的设计和功能实现,以帮助开发人员理解和使用该程序。
二、需求分析
1. 用户可以通过程序查询指定日期的公历和农历信息。
2. 用户可以查看指定日期是否为节假日,并显示节假日名称。
3. 用户可以选择查询某个年份的所有节假日。
4. 用户可以设置提醒功能,当指定日期到来时,程序会发送通知提醒用户。
5. 界面友好,操作简单,用户体验良好。
三、系统设计
1. 技术选型
本程序将使用Python语言进行开发,使用以下库和框架:
- tkinter:用于创建程序的图形用户界面。
- datetime:用于处理日期和时间相关的操作。
- requests:用于发送HTTP请求,获取节假日数据。
- plyer:用于发送系统通知。
2. 模块划分
本程序将分为以下几个模块:
- 主界面模块:负责显示程序的主界面,包括日期选择框、查询按钮等。
- 日期查询模块:负责处理用户输入的日期,查询公历和农历信息,并显示在界面上。
- 节假日查询模块:负责查询指定日期是否为节假日,并显示节假日名称。
- 节假日提醒模块:负责设置提醒功能,当指定日期到来时发送系统通知提醒用户。
3. 数据获取与处理
- 公历和农历信息:使用datetime库获取指定日期的公历和农历信息。
- 节假日数据:通过发送HTTP请求获取节假日数据,并使用json库进行解析和处理。
四、功能实现
1. 主界面设计
主界面应包括日期选择框、查询按钮、显示区域等组件,用户可以通过日期选择框选择查询日期,并点击查询按钮进行查询操作。
查询结果将显示在显示区域中。
2. 日期查询功能实现
用户选择查询日期后,程序将使用datetime库获取公历和农历信息,并将其显示在界面上。
3. 节假日查询功能实现
用户可以选择查询某个年份的所有节假日。
程序将通过发送HTTP请求获取节假日数据,并使用json库进行解析和处理。
查询结果将显示在界面上。
4. 节假日提醒功能实现
用户可以设置提醒功能,当指定日期到来时,程序将发送系统通知提醒用户。
程序将使用plyer库发送系统通知,提醒用户注意节假日或重要日期。
五、测试与优化
1. 单元测试
对每个模块进行单元测试,确保功能的正确性和稳定性。
2. 用户测试
邀请用户参与测试,收集用户的反馈意见和建议,及时修复和优化程序。
3. 性能优化
对程序进行性能优化,提高程序的响应速度和稳定性。
六、总结
本文档详细介绍了万年历程序的设计和功能实现,包括需求分析、系统设计、
功能实现等内容。
通过合理的模块划分和技术选型,我们可以开发出一个功能强大、界面友好的万年历应用程序,为用户提供便捷的日期查询和节假日提醒服务。