带语音报时功能的万年历的设计毕业设计

合集下载

数字万年历的设计毕业设计

数字万年历的设计毕业设计

数字万年历的设计摘要电子万年历是一种非常广泛日常计时工具,对现代社会越来越流行。

它可以对年、月、日、周日、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。

对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒和温度等信息,还具有时间校准等功能。

该电路采用AT89S52单片机作为核心,功耗小,能在3V的低压工作,电压可选用3~5V电压供电。

本设计是基于51系列的单片机进行的电子万年历设计,可以显示年月日时分秒及周信息,具有可调整日期和时间功能。

万年历的设计过程在硬件与软件方面进行同步设计。

硬件部分主要由AT89C52单片机,LED显示电路,以及调时按键电路等组成。

在单片机的选择上本人使用了AT89C52单片机,该单片机适合于许多较为复杂控制应用场合。

74HC164 是 8 位边沿触发式移位寄存器,串行输入数据,然后并行输出。

软件方面主要包括日历程序、时间调整程序,公历转阴历程序,显示程序等。

所有程序编写完成后,在wave软件中进行调试,确定没有问题后,在Proteus软件中嵌入单片机内进行仿真。

最后总在老师同学的帮助以及自己的努力下完成了此次电子万年历的设计。

关键词:时钟电钟 DS1302 DS18B20 动态扫描单片机AbstractE-calendar day time is a very wide range of tools, increasingly popular in modern society. It can be year, month, day, Sunday, hours, minutes, seconds for time, but also has a leap year compensation to a variety of functions, and the DS1302's long life, small error. For the digital electronic calendar using an intuitive digital display can simultaneously display year, month, day, Sunday, hours, minutes, seconds, and temperature and other information, but also a time-calibration and other functions. The circuit uses AT89S52 microcontroller as the core, power consumption, low-voltage work in 3V, the voltage can choose 3 ~ 5V voltage supply.The design is based on 51 series of microcontrollers to the design of electronic calendar, you can display date information on when the minutes and seconds, and weeks, with adjustable date and time functions. At the same time in the design of the theoretical basis of the MCU and peripheral expansion of knowledge of the more comprehensive preparation. The hardware and software design, there is no good basic knowledge and practical experience will be greatly limited, each feature is required to achieve the kind of hardware, procedures, how to write, how to implement such algorithms, there is no certain foundation can not be good implementation. Found during the preparation process to the existing knowledge to complete the preparation of the task alone difficult,In the help of teachers and students to complete the program part of the preparation.Calendar of the design process in hardware and software to synchronize the design. Hardware mainly by the AT89C52 microcontroller, LED display circuit, and the tune composed of the circuit when the button. In the SCM choice I used the AT89C52 microcontroller, which is suitable for many of the more complex control applications. Monitor the use of two 7SEG-MPX8-CA and a 7SEG-MPX4-CA. 7SEG-MPX8-CA is a total of eight-yang diode display, 7SEG-MPX4-CA is a total offour-yang diode display. In order to more easily control the three monitors, I use three 74HC164 to drive.74HC164 is an 8-bit edge-triggered shift register, serial input data, and parallel output. The software includes calendar program, time to adjust procedures, turn the lunar calendar programs, display programs. Programs written in assembly language used in order to more easily adjust the time and the realization of the lunar calendar display. All programming is complete, the wave software debugging, make sure that no problems, in the Proteus software within a microcontroller embedded in the simulation. The final overall the teacher to help students, as well as their own efforts to complete the design of the electronic calendar.Keywords:Clock electric clock DS1302 DS18B20 Dynamic scan SCM目录第一章设计要求与方案论证 (1)第一节设计要求 (1)第二节系统基本方案选择和论证 (1)第三节电路设计最终方案决定 (3)第二章系统的硬件设计与实现 (4)第一节电路设计框图 (4)第二节系统硬件概述 (4)第三节主要单元电路的设计 (4)第三章系统的软件设计 (8)第一节程序流程框图 (8)第四章指标测试 (12)第一节测试仪器 (12)第二节硬件测试 (12)第三节软件测试 (13)第四节测试结果分析与结论 (13)致谢词 (15)参考文献 (16)附录一系统电路图 (1)附录二系统使用说明书 (2)第一章设计要求与方案论证第一节设计要求一、基本要求:1.具有年、月、日、星期、时、分、秒等功能;2.时间与阴、阳历能够自动关联;3.具有温度计功能;4.具备年、月、日、星期、时、分、秒校准功能。

推荐-基于51单片机控制的语音报时万年历课程设计1 精品

推荐-基于51单片机控制的语音报时万年历课程设计1  精品

基于51单片机控制的语音报时万年历-----20/11/20XX SDU(WH)一.实验要求运用单片机及相关外设实现以下功能:1)万年历及时钟显示2)时间日期可调3)可对时间进行整点报时和随机报时二.方案分析根据实验要求,选用STC公司的8051系列,STC12C5A16S2增强型51单片机。

此单片机功能强大,具有片内EEPROM、1T分频系数、片内ADC转换器等较为实用功能,故选用此款。

实验中,对日期和时间进行显示,显示的字符数较多,故选用12864LCD屏幕。

该屏幕操作较为便捷,外围电路相对简单,实用性较强。

为了实现要求中的时间日期可调,故按键是不可缺少的,所以使用了较多的按键。

一方面,单片机的I/O口较为充足;另一方面,按键较多,选择的余地较大,方便编程控制。

实验中,并未要求对时间和日期进行保存和掉电续运行,所以并未添加EEPROM和DS12C887-RTC芯片。

实际上,对万年历来说,这是较为重要的,但为了方便实现和编程的简单,此处并未添加,而是使用单片机的定时器控制时间,精度有差别。

且上电默认时间为20XX-01-01 09:00:00 之后需要手动调整为正确时间。

要求中的语音报时功能,这里选用ISD1760芯片的模块来帮助实现。

此模块通过软件模拟SPI协议控制。

先将所需要的声音片段录入芯片的EEPROM区域,之后读出各段声音的地址段,然后在程序中定义出相应地址予以控制播放哪一声音片段。

三.电路硬件设计实际效果图四.程序代码部分Main.h#ifndef _MAIN_H#define _MAIN_H#include "reg52.h"#include "INTRINS.H"#include "math.h"#include "string.h"#include "key.h"#include "led.h"#include "12864.h"#include "main.h"#include "isd1700.h"#include "sound.h"extern unsigned int count;extern unsigned int key_time[8]; extern unsigned char key_new; extern unsigned char key_old; extern unsigned char stop_flag; extern unsigned char key_follow[8]; extern unsigned int key_num[8];sbit BEEP=P3^7;sbit ISD_SS=P0^7;sbit ISD_MISO=P0^4;sbit ISD_MOSI=P0^5;sbit ISD_SCLK=P0^6;extern unsigned char date_show[]; extern unsigned char time_show[]; extern unsigned char sec;extern unsigned char min;extern unsigned char hour;extern unsigned char day;extern unsigned char month; extern unsigned char year_f; extern unsigned char year_l; extern unsigned char leap_year_flag;extern unsigned char update_flag;extern unsigned char adjust_flag;extern unsigned char key;unsigned char report();#endifMain.c#include "main.h"unsigned int count=0;unsigned int key_num[8]=0;unsigned char key_new=0;unsigned char key_old=0;unsigned char stop_flag=0;unsigned char key_follow[8]=0;unsigned char sec=1;unsigned char min=0;unsigned char hour=9;unsigned char day=1;unsigned char month=1;unsigned char year_f=20;unsigned char year_l=14;unsigned char leap_year_flag=0;unsigned char date_show[]="20XX-01-01"; unsigned char time_show[]="09:00:00";unsigned char update_flag=1;unsigned char key=0;unsigned char adjust_flag=0;unsigned char adjust_pos=0;unsigned char report_flag=0;void main(){unsigned char i;P2=0XFF;BEEP=0;init();initinal(); //调用LCD字库初始化程序TMOD=0x01; //使用定时器T0TH0=(65536-1000)/256; //定时器高八位赋初值TL0=(65536-1000)%256; //定时器低八位赋初值*/ EA=1; //开中断总允许ET0=1; //允许T0中断TR0=1; //启动定时器T0while(1){if(update_flag){lcd_pos(1,0);for(i=0;i<10;i++)write_dat(date_show[i]);lcd_pos(2,4);for(i=0;i<8;i++)write_dat(time_show[i]);update_flag=0;}if(key!=keyscan_nor()){key=keyscan_nor();if(key==8&&!adjust_flag)adjust_flag=1;if(key&&adjust_flag){if(key==1){adjust_pos++;if(adjust_pos==14)adjust_pos=0;}else if(key==2){if(!adjust_pos)adjust_pos=13;elseadjust_pos--;}else if(key==6){if(!adjust_pos)sec++;else if(adjust_pos==1)sec=sec+10;else if(adjust_pos==2)min++;else if(adjust_pos==3)min=min+10;else if(adjust_pos==4)hour++;else if(adjust_pos==5)hour=hour+10;else if(adjust_pos==6)day++;else if(adjust_pos==7)day=day+10;else if(adjust_pos==8)month++;else if(adjust_pos==9)month=month+10;else if(adjust_pos==10)year_l++;else if(adjust_pos==11)year_l=year_l+10;else if(adjust_pos==12)year_f++;else if(adjust_pos==13)year_f=year_f+10; }else if(key==7){if(!adjust_pos)sec--;else if(adjust_pos==1)sec=sec-10;else if(adjust_pos==2)min--;else if(adjust_pos==3)min=min-10;else if(adjust_pos==4)hour--;else if(adjust_pos==5)hour=hour-10;else if(adjust_pos==6)day--;else if(adjust_pos==7)day=day-10;else if(adjust_pos==8)month--;else if(adjust_pos==9)month=month-10;else if(adjust_pos==10)year_l--;else if(adjust_pos==11)year_l=year_l-10;else if(adjust_pos==12)year_f--;else if(adjust_pos==13)year_f=year_f-10;}else if(key==3)adjust_flag=0;if(key==6||key==7){if(sec>=80)sec=0;if(min>=80)min=0;if(hour>=40)hour=0;if(month>30)month=1;if(day>50)day=0;if(year_f>=120)year_f=0;if(year_l>=120)year_l=0;}}}if(key==3)report_flag=1;if(report_flag){clrram();Dingwei(2,1);lcd_mesg("REPORTING!!!");report();clrram();}}}void time0() interrupt 1{static unsigned char timer=0;TH0=(65536-50000)/256; //定时器高八位赋初值TL0=(65536-50000)%256; //定时器低八位赋初值timer++;if(timer==20){sec++;time_show[6]=sec/10+48;time_show[7]=sec%10+48;if(sec>=60){sec=0;min++;time_show[6]=sec/10+48;time_show[7]=sec%10+48;time_show[3]=min/10+48;time_show[4]=min%10+48;}if(min>=60){min=0;hour++;time_show[3]=min/10+48;time_show[4]=min%10+48;time_show[0]=hour/10+48;time_show[1]=hour%10+48;}if(hour>=24){hour=0;day++;time_show[0]=hour/10+48;time_show[1]=hour%10+48;date_show[8]=day/10+48;date_show[9]=day%10+48;}if((day>=29&&!leap_year_flag&&month==2)||(day==30&&leap_year_flag&&month==2)||(day==31&&(month==4||month==6||month==9||month==11))||(month==32)){day=1;month++;date_show[8]=day/10+48;date_show[9]=day%10+48;date_show[5]=month/10+48;date_show[6]=month%10+48;}if(month>=13){month=1;year_l++;date_show[5]=month/10+48;date_show[6]=month%10+48;date_show[0]=year_f/10+48;date_show[1]=year_f%10+48;date_show[2]=year_l/10+48;date_show[3]=year_l%10+48;}if(year_l>=100){year_l=0;year_f++;if(((!((year_f*100+year_l)%4))&&((year_f*100+year_l)%100))||(!((year_f*100+year_l)%40 0)))leap_year_flag=1;elseleap_year_flag=0;date_show[0]=year_f/10+48;date_show[1]=year_f%10+48;date_show[2]=year_l/10+48;date_show[3]=year_l%10+48;}timer=0;update_flag=1;if(adjust_flag){time_show[7]=sec%10+48;time_show[6]=sec/10+48;time_show[4]=min%10+48;time_show[3]=min/10+48;time_show[1]=hour%10+48;time_show[0]=hour/10+48;date_show[9]=day%10+48;date_show[8]=day/10+48;date_show[6]=month%10+48;date_show[5]=month/10+48;date_show[3]=year_l%10+48;date_show[2]=year_l/10+48;date_show[1]=year_f%10+48;date_show[0]=year_f/10+48;}}if(adjust_flag&&timer==10){if(!adjust_pos)time_show[7]=' ';else if(adjust_pos==1)time_show[6]=' ';else if(adjust_pos==2)time_show[4]=' ';else if(adjust_pos==3)time_show[3]=' ';else if(adjust_pos==4)time_show[1]=' ';else if(adjust_pos==5)time_show[0]=' ';else if(adjust_pos==6)date_show[9]=' ';else if(adjust_pos==7)date_show[8]=' ';else if(adjust_pos==8)date_show[6]=' ';else if(adjust_pos==9)date_show[5]=' ';else if(adjust_pos==10)date_show[3]=' ';else if(adjust_pos==11)date_show[2]=' ';else if(adjust_pos==12)date_show[1]=' ';else if(adjust_pos==13)date_show[0]=' ';update_flag=1;}if(!min&&!sec&&!adjust_flag)report_flag=1;}unsigned char report(){PlaySoundTick(11);long_delay();if(!min){if(hour<=10){PlaySoundTick(hour);short_delay();PlaySoundTick(12);short_delay();PlaySoundTick(14);short_delay();}else if(hour>10&&hour<20){PlaySoundTick(10);short_delay();PlaySoundTick(hour-10);short_delay();PlaySoundTick(12);short_delay();PlaySoundTick(14);short_delay();}else if(hour==20){PlaySoundTick(2);short_delay();PlaySoundTick(10);short_delay();PlaySoundTick(12);short_delay();PlaySoundTick(14);short_delay();}else{short_delay();PlaySoundTick(10);short_delay();PlaySoundTick(hour-20);short_delay();PlaySoundTick(12);short_delay();PlaySoundTick(14);short_delay();}}else{if(hour<=10){PlaySoundTick(hour);short_delay();PlaySoundTick(12);short_delay();}else if(hour>10&&hour<20){PlaySoundTick(10);short_delay();PlaySoundTick(hour-10);short_delay();PlaySoundTick(12);short_delay();}else if(hour==20){PlaySoundTick(2);short_delay();PlaySoundTick(10);short_delay();PlaySoundTick(12);short_delay();}else{PlaySoundTick(2);short_delay();short_delay();PlaySoundTick(hour-20);short_delay();PlaySoundTick(12);short_delay();}if(min<=10){PlaySoundTick(min);short_delay();PlaySoundTick(13);short_delay();}else if(min>10&&min%10){PlaySoundTick(min/10);short_delay();PlaySoundTick(10);short_delay();PlaySoundTick(min-10*(min/10));short_delay();PlaySoundTick(13);short_delay();}else{PlaySoundTick(min/10);short_delay();PlaySoundTick(10);short_delay();PlaySoundTick(13);short_delay();}}report_flag=0;time_show[7]=sec%10+48;time_show[6]=sec/10+48;time_show[4]=min%10+48;time_show[3]=min/10+48;time_show[1]=hour%10+48;time_show[0]=hour/10+48;date_show[9]=day%10+48;date_show[8]=day/10+48;date_show[6]=month%10+48;date_show[5]=month/10+48;date_show[3]=year_l%10+48;date_show[2]=year_l/10+48;date_show[1]=year_f%10+48;date_show[0]=year_f/10+48;return 0;}Isd1700.h#ifndef _ISD1760_H#define _ISD1760_H#include "main.h"#define ISD1700_PU 0x01#define ISD1700_STOP 0X02 #define ISD1700_REST 0x03 #define ISD1700_CLR_INT 0x04 #define ISD1700_RD_STAUS 0x05 #define ISD1700_RD_PLAY_PTR 0x06 #define ISD1700_PD 0x07#define ISD1700_RD_REC_PTR 0x08 #define ISD1700_DEVID 0x09#define ISD1700_PLAY 0x40 #define ISD1700_REC 0x41 #define ISD1700_ERASE 0x42 #define ISD1700_G_ERASE 0x43 #define ISD1700_RD_APC 0x44 #define ISD1700_WR_APC1 0x45 #define ISD1700_WR_APC2 0x65#define ISD1700_WR_NVCFG 0x46 #define ISD1700_LD_NVCFG 0x47 #define ISD1700_FWD 0x48 #define ISD1700_CHK_MEM 0x49 #define ISD1700_EXTCLK 0x4A #define ISD1700_SET_PLAY 0x80 #define ISD1700_SET_REC 0x81 #define ISD1700_SET_ERASE 0x82 #define NULL 0x00 #define ISD_LED 0x10extern unsigned char data ISD_M_RAM_C[7];extern void init(void);extern void delay_isd(int x);extern void m_sate(void);extern void rest_isd_m_ptr(void);extern unsigned char T_R_m_byte(unsigned char m_data );extern void isd1700_par2_m(unsigned char m_par, unsigned int data_par);extern void isd1700_Npar_m(unsigned char m_par,m_byte_count);extern void isd1700_7byte_m(unsigned char m_par, unsigned int star_addr, unsigned int end_addr);extern void spi_pu (void);extern void spi_stop (void);extern void spi_Rest ( void );extern void spi_CLR_INT(void);extern void spi_RD_STAUS(void);extern void spi_RD_play_ptr(void);extern void spi_pd(void);extern void spi_RD_rec_ptr(void);extern void spi_devid(void);extern void spi_play(void);extern void spi_rec (void);extern void spi_erase (void);extern void spi_G_ERASE (void);extern void spi_rd_apc(void);extern void spi_wr_apc1 (void);extern void spi_wr_apc2 (void);extern void spi_wr_nvcfg (void);extern void spi_ld_nvcfg (void);extern void spi_fwd (void);extern void spi_chk_mem(void);extern void spi_CurrRowAddr(void);extern void seril_back_sate(unsigned char byte_number);extern void spi_set_opt(unsigned char spi_set_m);void init(void);#endifIsd1700.c//#pragma src#include "isd1700.h"#include "sound.h"#define uchar unsigned char#define uint unsigned intsbit DAC_sync=P2^0;sbit DAC_sclk=P2^1;sbit DAC_din =P2^2;bit re_fig;uchar data m_temp;uchar data ISD_M_RAM[7];uchar data ISD_M_RAM_C[7];uchar data *isd_m_ptr;uchar data *back_data_ptr;void init(void);void isd_delay(int x);void m_sate(void);void rest_isd_m_ptr(void);uchar T_R_m_byte( uchar m_data );void isd1700_par2_m(uchar m_par, uint data_par);void isd1700_Npar_m(uchar m_par,m_byte_count); //no parameter m void isd1700_7byte_m(uchar m_par, uint star_addr, uint end_addr);void spi_pu (void);void spi_stop (void);void spi_Rest ( void );void spi_CLR_INT(void);void spi_RD_STAUS(void);void spi_RD_play_ptr(void);void spi_pd(void);void spi_RD_rec_ptr(void);void spi_devid(void);void spi_play(void);void spi_rec (void);void spi_erase (void);void spi_G_ERASE (void);void spi_rd_apc(void);void spi_wr_apc1 (void);void spi_wr_apc2 (void);void spi_wr_nvcfg (void);void spi_ld_nvcfg (void);void spi_fwd (void);void spi_chk_mem(void);void spi_CurrRowAddr(void);void seril_back_sate(uchar byte_number); void spi_set_opt(uchar spi_set_m);void m_sate(void){uchar sate_temp;uint apc_temp;if(RI){ sate_temp=SBUF;if(sate_temp==0x09){ spi_devid();}if(sate_temp==0x44){spi_rd_apc();}if(sate_temp==0x40){spi_play();}if(sate_temp==0x04){spi_CLR_INT();}if(sate_temp==0x05){spi_RD_STAUS();}if(sate_temp==0x43){ spi_G_ERASE();}if(sate_temp==0x01){ spi_pu ();}if(sate_temp==0x02){ spi_stop();}if(sate_temp==0x03){ spi_Rest ();}if(sate_temp==0x06){spi_RD_play_ptr();}if(sate_temp==0x07){spi_pd();}if(sate_temp==0x08){ spi_RD_rec_ptr();}if(sate_temp==0x41){ spi_rec();}if(sate_temp==0x42){ spi_erase();}if(sate_temp==0x45){spi_wr_apc1 ();}if(sate_temp==0x65){ spi_wr_apc2 ();}if(sate_temp==0x46){ spi_wr_nvcfg ();}if(sate_temp==0x47){ spi_ld_nvcfg ();}if(sate_temp==0x48){ spi_fwd ();}if(sate_temp==0x49){ spi_chk_mem();}if(sate_temp==0x60){ spi_CurrRowAddr();}if(sate_temp==0x80){spi_set_opt(ISD1700_SET_PLAY|ISD_LED);//spi_set_opt(ISD1700_SET_PLAY);}if(sate_temp==0x81){spi_set_opt(ISD1700_SET_REC|ISD_LED);//spi_set_opt(ISD1700_SET_REC);ISD_M_RAM_C[0]=ISD1700_SET_REC ;seril_back_sate(1);}if(sate_temp==0x82){spi_set_opt(ISD1700_SET_ERASE|ISD_LED);//spi_set_opt(ISD1700_SET_ERASE);}if(sate_temp==ISD1700_WR_APC2){RI=0;while(!RI);apc_temp=SBUF;apc_temp=apc_temp<<8;RI=0;while(!RI);apc_temp|=SBUF;RI=0;ISD_SS=0;isd1700_par2_m(ISD1700_WR_APC2,apc_temp);ISD_SS=1;}RI=0;}if(re_fig){rest_isd_m_ptr();sate_temp=0;do{SBUF=*back_data_ptr++;while(!TI);TI=0;}while(++sate_temp<=2);re_fig=0;}}void spi_set_opt(uchar spi_set_m){uint start_addr,end_addr;RI=0;while(!RI);start_addr=SBUF;start_addr=start_addr<<8;RI=0;while(!RI);start_addr|=SBUF;RI=0;while(!RI);end_addr=SBUF;end_addr=start_addr<<8;RI=0;while(!RI);end_addr|=SBUF;RI=0;ISD_SS=0;isd1700_7byte_m(spi_set_m, start_addr, end_addr);ISD_SS=1;}void spi_pu (void){ISD_SS=0;isd1700_Npar_m(ISD1700_PU,2);ISD_SS=1;}void spi_stop (void){ISD_SS=0;isd1700_Npar_m(ISD1700_STOP,2);ISD_SS=1;ISD_M_RAM_C[0]=ISD1700_STOP ;seril_back_sate(1);}void spi_Rest (void){ISD_SS=0;isd1700_Npar_m(ISD1700_REST,2);ISD_SS=1;}void spi_CLR_INT(void){ISD_SS=0;isd1700_Npar_m(ISD1700_CLR_INT,2);ISD_SS=1;}void spi_RD_STAUS(void){ uchar i;ISD_SS=0;isd1700_Npar_m(ISD1700_RD_STAUS,3);ISD_SS=1;i=ISD_M_RAM_C[1];//j=ISD_M_RAM_C[2];ISD_M_RAM_C[1]=ISD_M_RAM_C[0];ISD_M_RAM_C[0]=i;seril_back_sate(3);}void spi_CurrRowAddr(void){ uchar i;ISD_SS=0;isd1700_Npar_m(ISD1700_RD_STAUS,3);ISD_SS=1;i=ISD_M_RAM_C[1];ISD_M_RAM_C[1]=ISD_M_RAM_C[0]>>5|ISD_M_RAM_C[1]<<3;ISD_M_RAM_C[0]= i >>5;seril_back_sate(3);}void spi_RD_play_ptr(void){ uchar i;ISD_SS=0;isd1700_Npar_m(ISD1700_RD_PLAY_PTR,4);ISD_SS=1;i=ISD_M_RAM_C[3]&0x03;ISD_M_RAM_C[3]=ISD_M_RAM_C[2];ISD_M_RAM_C[2]=i;seril_back_sate(4);}void spi_pd(void){ISD_SS=0;isd1700_Npar_m(ISD1700_PD,2);ISD_SS=1;}void spi_RD_rec_ptr(void){ uchar i;ISD_SS=0;isd1700_Npar_m(ISD1700_RD_REC_PTR,4);ISD_SS=1;i=ISD_M_RAM_C[3]&0x03;ISD_M_RAM_C[3]=ISD_M_RAM_C[2];ISD_M_RAM_C[2]=i;seril_back_sate(4);}void spi_devid(void){ISD_SS=0;isd1700_Npar_m(ISD1700_DEVID,3);ISD_SS=1;ISD_M_RAM_C[2]=ISD_M_RAM_C[2]&0xf8;seril_back_sate(3);}void spi_play(void){ISD_SS=0;isd1700_Npar_m(ISD1700_PLAY|ISD_LED,2);ISD_SS=1;}void spi_rec (void){ISD_SS=0;isd1700_Npar_m(ISD1700_REC|ISD_LED,2);ISD_SS=1;ISD_M_RAM_C[0]=ISD1700_REC ;seril_back_sate(1);}void spi_erase (void){ISD_SS=0;isd1700_Npar_m(ISD1700_ERASE|ISD_LED,2);ISD_SS=1;}void spi_G_ERASE (void){ISD_SS=0;isd1700_Npar_m(ISD1700_G_ERASE|ISD_LED,2);ISD_SS=1;}void spi_rd_apc(void){ISD_SS=0;isd1700_Npar_m(ISD1700_RD_APC,4);ISD_SS=1;seril_back_sate(4);}void spi_wr_apc1 (void){}void spi_wr_apc2 (void){ISD_SS=0;isd1700_par2_m(ISD1700_WR_APC2, 0x0400);ISD_SS=1;}void spi_wr_nvcfg (void){ISD_SS=0;isd1700_Npar_m(ISD1700_WR_NVCFG,2);ISD_SS=1;}void spi_ld_nvcfg (void){ISD_SS=0;isd1700_Npar_m(ISD1700_LD_NVCFG ,2);ISD_SS=1;}void spi_fwd (void){ISD_SS=0;isd1700_Npar_m(ISD1700_FWD,2);ISD_SS=1;}void spi_chk_mem(void){ISD_SS=0;isd1700_Npar_m(ISD1700_CHK_MEM,2);ISD_SS=1;}void seril_back_sate(uchar byte_number){uchar sate_temp;rest_isd_m_ptr();sate_temp=0;do{SBUF=*back_data_ptr++;while(!TI);TI=0;}while(++sate_temp<byte_number);}void rest_isd_m_ptr(void){isd_m_ptr=ISD_M_RAM;back_data_ptr=ISD_M_RAM_C;}void isd1700_Npar_m (uchar m_par,m_byte_count){uchar i;i=0;ISD_M_RAM[0]=m_par;isd_m_ptr=&ISD_M_RAM[1];do{*isd_m_ptr++=NULL;}while(++i<m_byte_count-1);rest_isd_m_ptr();i=0;do{*back_data_ptr++=T_R_m_byte(*isd_m_ptr++);i++;}while(i<m_byte_count);}void isd1700_par2_m(uchar m_par, uint data_par){uchar i;ISD_M_RAM[0]=m_par;ISD_M_RAM[1]=data_par;ISD_M_RAM[2]=data_par>>8;rest_isd_m_ptr();i=0;do{*back_data_ptr++=T_R_m_byte(*isd_m_ptr++);i++;}while(i<3);}void isd1700_7byte_m(uchar m_par, uint star_addr, uint end_addr) {uchar i;ISD_M_RAM[0]=m_par;ISD_M_RAM[1]=NULL;ISD_M_RAM[2]=star_addr;ISD_M_RAM[3]=star_addr>>8;ISD_M_RAM[4]=end_addr;ISD_M_RAM[5]=end_addr>>8;ISD_M_RAM[6]=NULL;rest_isd_m_ptr();i=0;do{*back_data_ptr++=T_R_m_byte(*isd_m_ptr++);i++;}while(i<=7);}uchar T_R_m_byte( uchar m_data ){uchar bit_nuber;uchar temp;bit_nuber=0;temp=0;do{ISD_SCLK=0;isd_delay(1);if((m_data>>bit_nuber&0x01)!=0){ISD_MOSI=1;}else{ISD_MOSI=0;}if(ISD_MISO){temp=(temp>>1)|0x80;}else{temp=temp>>1;}ISD_SCLK=1;isd_delay(1);}while(++bit_nuber<=7);ISD_MOSI=0;return (temp);}void isd_delay(int x){uchar i;for(; x>=1; x--){for(;i<=20;i++);}}void init(void){TMOD=0x21;SCON=0x50;TL0=0x00; //25msTH0=0x70; //25msTH1=0xE8;TL1=0xE8; //波特率:1200bps(12MHz:0xE6 11.0592MHz:0xE8)ET0=1;EA=1;TR1=1;IT0 = 0;EX0 = 0;spi_pu();spi_devid();}12864.h#ifndef _12864_H#define _12864_H#include "main.h"sbit RS =P3^2;sbit RW=P3^3;sbit EN=P3^4;void buzy();void TransferData(char data1,bit DI);void Dingwei(unsigned char line,unsigned char row);void delayms(unsigned int n);void delay(unsigned int m);void lcd_mesg(unsigned char code *adder1);void displayonechar(unsigned int data2);void initinal(void) ; //LCD字库初始化程序void clrram(void);void lcd_pos(unsigned char ,unsigned char );void write_dat(unsigned char);extern unsigned char time_show[];extern unsigned int aaa;#endif12864.c#include "12864.h"#define DataPort P1void initinal(void) //LCD字库初始化程序{TransferData(0x30,0); //8BIT设置,RE=0: basic instruction setTransferData(0x08,0); //Display on ControlTransferData(0x10,0); //Cursor Display Control光标设置TransferData(0x0C,0); //Display Control,D=1,显示开TransferData(0x01,0); //Display Clear}void buzy(){DataPort=0xff;RW=1;RS=0;EN=1;while(DataPort&0x80);EN=0;}void Dingwei(unsigned char line,unsigned char row) //定位在哪行哪列显示{unsigned int i;switch(line){case 1: i=0x80+row;break;case 2: i=0x90+row;break;case 3: i=0x88+row;break;case 4: i=0x98+row;break;default: i=0x80;break;}TransferData(i,0);delay(1);}void lcd_mesg(unsigned char code *addr) //传送一个字符串{while(*addr>0){TransferData(*addr,1);addr++;}}void TransferData(char data1,bit DI) //传送数据或者命令,当DI=0,传送命令,当DI=1,传送数据.{buzy();RW=0;RS=DI;DataPort=data1;EN=1;EN=0;}void delayms(unsigned int n) //延时10×n毫秒程序{unsigned int i,j;for(i=0;i<3*n;i++)for(j=0;j<2000;j++);}void delay(unsigned int m) //延时程序,微妙级{while(m--){_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();}}void write_cmd(unsigned char cmd){RS=0;RW=0;EN=0;P1=cmd;delayms(1);EN=1;delayms(1);EN=0;}void write_dat(unsigned char dat)RS=1;RW=0;EN=0;P1=dat;delayms(1);EN=1;delayms(1);EN=0;}void lcd_pos(unsigned char x,unsigned char y){unsigned char pos;if(x==0)x=0x80;else if(x==1)x=0x90;else if(x==2)x=0x88;else if(x==3)x=0x98;pos=x+y;write_cmd(pos);}void clrram(void){write_cmd(0x30);write_cmd(0x01);}Sound.h#ifndef _SOUND_H#define _SOUND_H#include "main.h"//以下为语音信息对应播放起始地址定义,A为开始,B为结束#define sound_0A 0x0012#define sound_0B 0x0017#define sound_1A 0x0019#define sound_1B 0x0025#define sound_2A 0x0027#define sound_2B 0x002e#define sound_3A 0x002f#define sound_3B 0x0039#define sound_4A 0x003b#define sound_4B 0x0048#define sound_5A 0x004a#define sound_5B 0x004f#define sound_6A 0x0052#define sound_6B 0x0159#define sound_7A 0x005c#define sound_7B 0x0062#define sound_8A 0x0065#define sound_8B 0x0131#define sound_9A 0x006f#define sound_9B 0x015F#define sound_10A 0x0079#define sound_10B 0x015E#define sound_11A 0x0082#define sound_11B 0x018A#define sound_12A 0x0091#define sound_12B 0x0100#define sound_13A 0x009f#define sound_13B 0x0100#define sound_14A 0x00ac#define sound_14B 0x0100void GetSound(unsigned char soundtick); void PlaySoundTick(unsigned char number); void delay_isd(unsigned int time);void short_delay();void long_delay();#endifSound.c#include "sound.h"void GetSound(unsigned char soundtick){ISD_SS=0;switch(soundtick){case 0:{ isd1700_7byte_m(ISD1700_SET_PLAY|ISD_LED, sound_0A, sound_0B); }break;case 1:{ isd1700_7byte_m(ISD1700_SET_PLAY|ISD_LED, sound_1A, sound_1B); }break;case 2:{ isd1700_7byte_m(ISD1700_SET_PLAY|ISD_LED, sound_2A, sound_2B); }break;case 3:{ isd1700_7byte_m(ISD1700_SET_PLAY|ISD_LED, sound_3A, sound_3B); }break;case 4:{ isd1700_7byte_m(ISD1700_SET_PLAY|ISD_LED, sound_4A, sound_4B); }break;case 5:{ isd1700_7byte_m(ISD1700_SET_PLAY|ISD_LED, sound_5A, sound_5B); }break;case 6:{ isd1700_7byte_m(ISD1700_SET_PLAY|ISD_LED, sound_6A, sound_6B); }break;case 7:{ isd1700_7byte_m(ISD1700_SET_PLAY|ISD_LED, sound_7A, sound_7B); }break;case 8:{ isd1700_7byte_m(ISD1700_SET_PLAY|ISD_LED, sound_8A, sound_8B); }break;case 9:{ isd1700_7byte_m(ISD1700_SET_PLAY|ISD_LED, sound_9A, sound_9B); }break;case 10:{ isd1700_7byte_m(ISD1700_SET_PLAY|ISD_LED, sound_10A, sound_10B); }break;case 11:{ isd1700_7byte_m(ISD1700_SET_PLAY|ISD_LED, sound_11A, sound_11B); }break;case 12:{ isd1700_7byte_m(ISD1700_SET_PLAY|ISD_LED, sound_12A, sound_12B); }break;case 13:{ isd1700_7byte_m(ISD1700_SET_PLAY|ISD_LED, sound_13A, sound_13B); }break;case 14:{ isd1700_7byte_m(ISD1700_SET_PLAY|ISD_LED, sound_14A, sound_14B); }break;default: break;}ISD_SS=1;}void PlaySoundTick(unsigned char number) {spi_stop ();delay_isd(30000);GetSound(number);}void delay_isd(unsigned int time){while(time--!=0);}void short_delay(){delay_isd(30000);delay_isd(30000);delay_isd(30000);delay_isd(30000);delay_isd(30000);delay_isd(30000);delay_isd(30000);delay_isd(30000);delay_isd(30000);}void long_delay(){short_delay();short_delay();short_delay();short_delay();}Key.h#ifndef _KEY_H#define _KEY_H#include "main.h"sbit KEY1=P2^0;sbit KEY2=P2^1;sbit KEY3=P2^2;sbit KEY4=P2^3;sbit KEY5=P2^4;sbit KEY6=P2^5;sbit KEY7=P2^6;sbit KEY8=P2^7;sbit KEY_SURE=P3^6;void key_delay(unsigned char z); unsigned char keyscan_nor();#endifKey.c#include "key.h"unsigned char keyscan_nor() {if(!KEY1){key_delay(20);if(!KEY1){LED1=0;return 1;}}if(!KEY2){key_delay(20);if(!KEY2){LED2=0;return 2;}}if(!KEY3){key_delay(20);if(!KEY3){LED3=0;return 3;}}if(!KEY4){key_delay(20);if(!KEY4){LED4=0;return 4;}}if(!KEY5){key_delay(20);if(!KEY5){LED5=0;return 5;}}if(!KEY6){key_delay(20);if(!KEY6){LED6=0;return 6;}}if(!KEY7){key_delay(20);if(!KEY7){LED7=0;return 7;}}if(!KEY8){key_delay(20);if(!KEY8){LED8=0;return 8;}}return 0;}void key_delay(unsigned char z) {unsigned char x,y;for(x=z;x>0;x--)for(y=110;y>0;y--); }五.参与制作人员ZYL。

多功能万年历毕业设计

多功能万年历毕业设计

多功能万年历毕业设计多功能万年历毕业设计在现代社会,人们对时间的管理变得越来越重要。

为了更好地规划和安排生活,人们需要一个方便实用的工具来帮助他们追踪日期、计划活动和提醒重要事件。

在这个背景下,我决定设计一个多功能的万年历,以满足人们对时间管理的需求。

首先,我的多功能万年历将具备传统日历的基本功能,包括显示年、月、日、星期和节假日。

用户可以通过触摸屏幕或旋转按钮来切换日期和月份,方便快捷。

同时,为了满足不同用户的需求,我还将提供多种显示模式,例如数字模式、文字模式和图标模式,用户可以根据自己的喜好选择合适的显示方式。

其次,我的万年历还将配备提醒功能。

用户可以设置重要的事件或活动,并在指定的日期和时间收到提醒。

这将帮助人们更好地规划和安排生活,不再错过重要的事情。

同时,为了提高用户体验,我还将为提醒功能设计多种提醒方式,例如声音、震动和闪光灯,用户可以根据自己的喜好选择合适的提醒方式。

除了基本的日期和提醒功能,我的多功能万年历还将提供一些额外的实用功能。

首先,它将配备天气预报功能,用户可以实时查看当地的天气情况,以便更好地安排出行和活动。

其次,它还将具备健康管理功能,用户可以记录自己的健康数据,例如体重、血压和运动情况,以便更好地掌握自己的健康状况。

此外,我的万年历还将提供备忘录功能,用户可以随时记录重要的事项和想法,方便日后查看和回顾。

为了使我的多功能万年历更加实用和便捷,我还将设计一个与手机或电脑的同步功能。

用户可以通过无线连接将万年历与手机或电脑同步,以便更好地管理和分享自己的日程安排和健康数据。

这将使用户可以随时随地访问自己的日历和数据,无需携带额外的设备。

总的来说,我的多功能万年历将成为人们生活中不可或缺的工具。

它不仅具备传统日历的基本功能,还提供了提醒、天气预报、健康管理和备忘录等实用功能。

通过与手机或电脑的同步,它将帮助人们更好地规划和安排生活,提高工作和生活的效率。

我相信,这个多功能万年历的毕业设计将为人们的时间管理带来全新的体验。

多功能万年历毕业设计(终稿)

多功能万年历毕业设计(终稿)

目录引言 (2)1 系统功能与方案论证 (2)1.1系统功能 (2)1.2 系统基本方案选择和论证 (2)1.2.1 单片机芯片的选择方案和论证 (2)1.2.2 显示模块选择方案和论证 (3)1.2.3 时钟芯片的选择方案和论证 (3)1.2.4 温度传感器的选择方案与论证 (4)1.3 电路设计最终方案决定 (4)2 系统的硬件设计与实现 (4)2.1 电路设计框图 (4)2.2 系统硬件概述 (5)2.3 各系统电路及工作原理 (5)2.3.1 AT89S52单片机最小系统设计 (5)2.3.2 时钟电路模块的设计 (7)2.3.3 温度采集电路的设计 (8)2.3.4 LCD1602液晶显示模块设计 (8)2.3.5 电源电路 (10)2.3.6 闹钟电路设计 (10)2.3.7 键盘输入电路 (11)3 软件设计 (11)3.1 主程序框图 (12)3.2 DS1302时间处理 (12)3.3 环境温度采集 (15)3.4 键盘扫描 (15)3.5 音乐播放 (15)3.6 公历转农历 (15)结束语 (17)参考文献 (18)附录 (19)附录A 程序 (19)附录B 原理图 (41)致谢 (41)多功能万年历的设计摘要:本设计采用了以广泛使用的单片机技术为核心,软硬件结合,使硬件部分大为简化,提高了系统稳定性,并采用LCD显示电路、键盘电路,使人机交互简便易行,此外还结合音乐闹铃电路、温度采集电路和供电电路。

本方案设计出的万年历可以显示日期、时间、温度、农历,并且设置了音乐闹铃功能。

该万年历可以应用于一般的生活和工作中,也可以通过改装,提高性能,增添新功能,从而给人们的生活和工作带来方便。

关键词:万年历;A T89S52;LCD1602;时钟日历芯片DS1302;音乐闹钟The Multi-functional Calendar DesignnaAbstract: This design has adopted by the extensive use of single chip microcomputer as the core. Hardware and software combination make the hardware parts greatly simplified and improve the stability of the system.The use of LCD display circuit, keyboard circuit makes the information exchange simple. In addition, the design is combined with music alarm circuit, temperature acquisition circuit and power supply circuit. It can show a calendar date, time, temperature, the lunar and set up music alarm function. On one hang the calendar can be applied to general life and work, on the other hang, it can improve performance by modification to add new functions, so that it can bring more convenience to people's life and work.Key words: calendar;AT89S52;LCD1602; clock calendar chip DS 1302; music alarm clock.引言电子万年历是实现对年、月、日、时、分、秒数字显示的计时装置,广泛用于个人、家庭、车站、码头、办公室、银行大厅等场所,成为人们日常生活中的必需品。

毕业设计方案范例一音乐铃声的数字日历钟的设计方案与制作

毕业设计方案范例一音乐铃声的数字日历钟的设计方案与制作

江门市新会技工学校
技能课教案
编号:QD-19-06 流水号:4
电气自动化专业 10G3 班共20 页
授课老师:肖正光审阅签名:
新会高级技工学校
毕业设计论文
课题:带音乐铃声的数字日历钟的设计与制作
系部:电子信息系
专业、班级:电气自动化设备安装与维修
姓名:XXX
指导教师:
完成时间: 2018.6.15
最终的连接实物图
)具有年、月、日、星期、时、分、秒显示功能秒。

S21S25
sq rt art/Home PB-250PB-250

电源后,数码管会显示【
键就会显示
00分
Ad→AE ,数字的修改操作如上所说。

键就会显示
点报时,铃声选择3首铃
个人收集整理资料,仅供交流学习,勿作商业用途
共 19页第19页
21 / 21。

毕业设计(论文)-基于MCS-51的万年历设计

毕业设计(论文)-基于MCS-51的万年历设计

毕业设计(论文)-基于MCS-51的万年历设计1 引言1.1 万年历的背景与意义万年历作为一种常见的时间计数工具,被广泛应用于日常生活和工业生产中。

随着电子技术的飞速发展,电子万年历以其准确、方便、易操作等特点逐渐取代了传统的机械万年历。

基于MCS-51单片机的万年历设计,不仅满足了人们对时间精确计量的需求,同时也为单片机技术在时间测量领域的应用提供了新的思路。

1.2 MCS-51单片机的介绍MCS-51单片机是美国Intel公司推出的一种高性能的8位单片机,具有较高的性价比、丰富的指令集和灵活的I/O端口。

由于其结构简单、易于编程和扩展,MCS-51单片机被广泛应用于工业控制、家用电器、智能仪表等领域。

1.3 论文结构及内容安排本文主要分为七个章节,首先介绍万年历的背景与意义以及MCS-51单片机的基本情况;其次,阐述万年历的原理与设计要求,并提出基于MCS-51单片机的万年历设计方案;接着,详细介绍MCS-51单片机的硬件设计和软件设计;然后,进行系统调试与性能测试;在此基础上,探讨万年历的实际应用与拓展;最后,总结全文并指出创新与不足之处,展望未来的研究方向。

2. 万年历的原理与设计2.1 万年历的基本原理万年历是一种可以显示公历日期、时间,并且可以自动调整闰年和平年的日历。

它的核心是通过算法处理时间的流逝,计算出当前的日期。

基本原理涉及以下几个核心概念:•时间单位:秒、分、时、日、月、年•时间算法:通过累计秒数,进行时、日、月、年的进位处理•闰年规则:四年一闰,百年不闰,四百年再闰2.2 万年历的设计要求在设计万年历时,需要遵循以下要求:•准确性:确保时间显示准确无误•可靠性:系统稳定运行,适应不同的环境条件•易用性:用户界面友好,操作简便•经济性:在满足功能要求的前提下,尽可能降低成本2.3 基于MCS-51单片机的万年历设计方案基于MCS-51单片机的万年历设计主要包括以下几个部分:2.3.1 时间计算模块利用单片机内部的定时器,以秒为单位递增计数,通过编写中断服务程序来处理时间进位,实现时、分、秒的计算。

毕业设计万年历功能电子时钟的设计

毕业设计万年历功能电子时钟的设计

摘要单片机应用技术飞速发展,纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡等,这些都离不开单片机。

单片机是集CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器。

它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。

而51系列单片机是各单片机中最为典型和最有代表性的一种。

这次毕业设计通过对它的学习,应用,从而达到学习、设计、开发软、硬的能力。

本文以单片机为核心,采用串行时钟芯片DS1302。

过去多用并行接口的时钟芯片,如MC146818、DS12887 等。

它们已能完全满足单片机系统对实时时钟的要求,但是这些芯片与单片机接口复杂、占用地址, 数据总线接线多、芯片体积大占用空间多。

显示电路采用LED动态扫描方式,动态扫描方式节省外部接口资源。

本文通过对一个基于单片机的能实现万年历功能电子时钟的设计,从而达到学习、了解单片机相关指令在各方面的应用。

系统由主控制器A T89C52、时钟电路DS1302、显示电路、按键电路、和复位电路等部分构成,能实现时钟日历显示的功能,能进行年、月、日、时、分及星期的显示。

关键词:AT89C52芯片DS1302芯片C语言Keil软件LED动态显示;AbstractSCM rapid development of applied technology, we now live Looking at the various fields, from the missile's navigation devices, to the various instruments on the aircraft control, computer network communications and data transmission, industrial automation to the process of real-time control and data Processing, and we live in the extensive use of the smart IC cards, these are inseparable from the SCM. S CM is set CPU, RAM, ROM, timing, counting on one interface and a variety of microcontrollers. Its small size, low cost, feature strong, smart widely used in industry and industrial automation. And 51 of the SCM SCM is the most typical and most representative one. The graduation project through its study, and thereby to study, design, develop software and hardware capabilities.Based on SCM as the core, a serial clock chip DS1302. Past the use of parallel interface chip's clock, such as the MC146818, DS12887, and so on. They have been able to fully meet the SCM system to the requirements of real-time clock, but these chips and microcontroller interface complex, occupied address, data bus wiring, chip size of the space and more. LED display circuit using dynamic scan mode, dynamic scan mode external interface save resources.Based on a microcontroller based on the calendar function to achieve the design of electronic clock, so as to achieve learning and understanding of SCM related instructions in all aspect s of the application. System by the main controller AT89C52, clock circuit DS1302, show circuit, the circuit keys, and reset circuit, and other components, to achieve the clock showed that the calendar function, capable of year, month, day, hour, minute an d weeks of shows.Key W ords:AT89C52 Chip DS1302 Chip Keil C language software LED dynamic display;目录摘要 (I)Abstract (II)目录........................................................................................................... 错误!未定义书签。

基于单片机的电子万年历设计与实现毕业设计论文

基于单片机的电子万年历设计与实现毕业设计论文

毕业设计(论文)专业电子信息工程技术班次 _______姓名 ______指导老师 _______成都工业学院二0一二年基于单片机的电子万年历设计与实现摘要: 随着半导体技术的迅速发展,特别是大规模集成电路出现,给人类生活带来了很多的改变。

尤其是单片机技术的应用产品已经随着社会前进的步伐走进我们的生活。

电子产品的应用可谓多不胜数,电子万年历就是其中的一种。

电子万年历的出现给人们的生活带来的极大的方便。

电子万年历以硬件汇编语言为主体进行软件设计,增加了程序的可读性和可移植性。

系统通过数码管输出显示数据,可以显示当前时间、公农历日期、星期、温度。

本设计着重要描述的就是基于AT89S52的单片机的电子万年历。

本文首先描述系统硬件工作原理,随后介绍了本系统所应用的各硬件接口技术(即芯片驱动程序)和各个接口模块的功能及工作过程。

本设计的主导思想是软硬件相结合来进行各功能模块的编写。

[关键词] 单片机;万年历;AT89S52;DS1302;目录第1章绪论 (1)设计开发背景 (1)国内外研究现状 (1)设计需要解决的主要问题 (1)本文主要工作 (2)本文的组织结构 (2)第2章方案选择与论证 (3)单片机芯片的选择与论证 (3)显示模块选择方案和论证 (3)时钟芯片的选择方案和论证 (3)温度传感器的选择方案与论证 (4)电路设计最终方案决定 (4)第3章系统的设计与实现 (5)电路设计框图 (5)主要电路模块的设计 (5)3.2.1 单片机主控制模板 (5)3.2.2 时钟模块电路的设计 (7)3.2.3公历与农历转换模块 (9)3.2.4 DS18B20温度模块 (12)3.2.5 时间可调模块 (14)3.2.6 显示模块的设计 (14)第4章系统调试与分析 (16)系统软件开发 (16)系统硬件开发 (17)测试分析及设计发展 (17)4.3.1 测试分析 (17)4.3.2 本设计的发展 (18)结语 (19)致谢 (20)参考文献 (21)附录 (22)第1章绪论设计开发背景近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域,单片机往往是作为一个核心部件来使用,再根据具体硬件结构,以及针对具体应用对象的特点与软件结合,以作完善。

毕业设计---基于单片机的多功能电子万年历的设计

毕业设计---基于单片机的多功能电子万年历的设计

基于单片机的多功能电子万年历的设计摘要随着科技的快速发展,自从观太阳、摆钟到现在电子钟,人类不断研究,不断创新纪录。

本文主要介绍了基于单片机的智能电子万年历的研制,该万年历能够实时显示公历年、月、日、时、分、秒,以及对应的农历日期、24节气、天干地支、闹铃功能,同时还能够实时测取环境温度。

本系统的硬件部分主要由A VR单片机、时钟芯片、温度传感器等部件组成,文中给出了详细的硬件设计实现及相关电路图;软件部分主要包含公历转农历的算法设计模块、显示模块、时间的读取、温度的检测模块,按键的扫描输入模块等,文中给出了系统的软件程序流程图及各功能模块的软件程序清单,最后介绍了整体系统的设计实现、仿真及调试过程,给出了下一步的改进方案等。

关键词:单片机;液晶技术;万年历;时钟芯片Design of Multifunctional digital Perpetual Calendar Based on MCUAbstractWith the development of technology,Since the concept of the sun, Baizhong, andnow the electronic bell,human beings continue to study and constant innovation record。

This paper-based Microcontroller Development of Intelligent electronic calendar, The calendar can display real-time in the calendar year, month, day, hours, minutes and seconds,a nd the correspond ing date of the Lunar New Year, 24 Solar Terms,at the same time also to real-time measurement from the ambient temperature,In addition to the user through the keyboard input years of history,for the correspond ing period of the Lunar.The system hardware from some of the major A VR microcontroller, a number of digital control, decoder, the clock chip,temperature sensors and other components,the paper gives a detailed design and implementation of hardware and related circuit;Software contains some of the major Lunar calendar to the algorithm design module,dynamic digital display modules,time to read,temperature detection module,Press enter the scanning module.In this paper, the system software modules and flow chart of the list of software programs,Finally, the realization of the overall system design, simulation and debugging process, the next step is the improvement programmes.Keywords:MCU;crystal technology;Calendar;Clock chip目录引言 (1)第1章绪论 (2)1.1课题的背景与意义 (2)1.2 数字万年历的现状与发展 (2)1.3 论文的主要工作及章节安排 (3)1.4 本章小结 (3)第2章方案论证比较.............................................................................. (4)2.1 多功能数字万年历系统概述 (4)2.2计时方案 (4)2.3温度检测方案 (5)2.4显示方案 (5)2.5本章小结 (5)第3章系统硬件设计 (6)3.1 主控制器ATmega16 单片机介绍 (6)3.2 时钟电路DS1302 (6)3.3 温度检测DS18B20 (7)3.4 动态显示 (8)3.5 键盘接口 (8)3.6 语音闹铃模块 (8)3.7 电源设计 (9)3.8本章小结 (11)第4章系统软件设计 (12)4.1 公历计算显示程序设计 (13)4.1.1 DS1302 内部寄存器 (13)4.1.2 时间读取程序设计 (15)4.2 农历转换程序设计 (16)4.2.1 公历转农历算法研究 (16)4.2.2 干支纪年简介 (18)4.2.3 公历转农历程序 (18)4.3 温度测量程序设计 (20)4.3.1 DS18B20 的测温原理 (20)4.3.2 温度程序 (21)4.4 二十四节气算法研究 (23)4.5系统仿真 (24)4.6本章小结 (25)结论与展望 (26)致谢 (27)参考文献 (28)附录 A 电子万年历原理图 (29)附录 B 外文文献与译文 (30)英文原文: (30)中文译文: (33)附录 C 参考文献题录及摘要 (35)附录 D 电子万年历源程序 (37)插图清单图2-1 数字万年历系统框图 (4)图3-1 DS1302与ATmega16连接图 (7)图3-2 DS18B20与AtMEGA16连接图 (8)图3-3 报时电路 (9)图3-4 稳压电源原理图 (10)图3-5 电源电路 (10)图4-1 系统程序流程图 (13)图4-2 公历程序流程图 (14)图4-3 DS18B20测温原理 (21)表格清单表3-1 LCD12864显示内容 (8)表4-1 DS1302的寄存器及其控制字 (14)表4-2 RS位配置 (15)引言人类的日常生活离不开时间,任何具有周期性变化的自然现象都可以用来测量时间。

多功能的万年历的设计与实现毕业设计

多功能的万年历的设计与实现毕业设计

毕业设计论文论文题目:多功能的万年历的设计与实现学院:电子电气工程学院专业:电气自动化班级:2012级01班学生姓名:学号:指导教师:2016年04月 18 日目录摘要 (3)绪论 (5)第1章设计要求与方案论证 (7)引言 (7)功能要求 (7)方案论证 (7)第2章系统硬件电路设计 (11)电路设计 (11)系统硬件概述 (15)主要单元电路的设计 (15)第3章系统的软件设计 (22)程序设计 (22)程序设计流程图 (22)第4章结束语 (24)附录一(程序)…………………………………………..……………摘要随着社会的进步,人了解时间,从观察自然现象到不断发现和研究。

为了准确定义时间,万年历诞生了,它把时间、日期和温度等放在同一平面上,具有诸多优点,符合发展趋势,具有广阔的市场前景。

本次的设计制作主要是把STC89C52作为核心,由它自带的定时器提供时间、LCD1602液晶显示屏显示,通过键盘来调节个人所需的时间,日期,同时还增加显示现在的温度,并且在此基础上增加了火焰报警的功能。

STC89C51单片机是由美国Atmel公司推出的,具有小体积,低功耗,使用电压可选4V~6V电压供电,使用方便,易与学习,可使初学者快速掌握。

这次设计要的时钟是通过STC89C51单片机它自身的定时器中断提供时间变化,由秒的变化,使分变化,使时变化,依次使显示屏中的年、月、日、星期。

用来显示日期和时间的模块是准备使用LCD1602液晶显示屏来做的,同时,这个项目还加进去了调整不同时间的能力。

独立按键,通过按下不同的按键来调节显示屏上的时间,日期等。

项目中用DS18B20数字温度传感器来测试现在的温度,它和单片机接线方式十分简单,封装成后能应用于多种场合,主要根据应用场合的不同可以改变该数字温度传感器模块外观。

DS18B20是大家经常用的温度传感器,体积小,硬件简易,抗干扰能力很强,精度高的优点。

火焰传感器这个模块对火焰有敏感的反应,同时它也可以用来测试光线的明亮程度。

电子万年历的设计 毕业设计(论文)

电子万年历的设计 毕业设计(论文)
年历数不胜数,不但满足了精准的计时需求,还将计时带上了科技时尚的味道。单片机 技术所应用的功能控制芯片可进行多种功能的设置,如闹钟、报时、日历查询、语音等;
并改善了很多原有石英钟不能解决的问题,例如:数字夜光显示、数据存储以及全自动 温度检测等功能;这给传统计时消费带来了新的动力,越来越多的消费者选择了电子万 年。
硬件设计及调试。 软件设计及调试。 整机联调。
完成硬件设计。 完成软件设计。 实现预期功能。
撰写毕业论文
准备答辩。
完成课题的现 有条件
审查意见
学院意见
AW60 开发系统、万用表、示波器。
指导教师: 主管领导:






天津工业大学毕业设计(论文)进度检查记录
题目 学生姓名
指导教师姓名
电子万年历的设计
任务与进 度要求
12.2.18-3.15 熟悉课题,收集课题相关资料。 12.3.16-4.10 确定设计方案 12.4.11-5.10 硬件设计。 12.5.11-5.20 软件设计。 12.5.21-6.01 系统整机联调。 12.6.02-6.10 撰写毕业论文。
主要参考 文献
[1] 王宜怀、张书奎、王林、吴瑾著.嵌入式技术基础与实践.北京:清 华大学出版社.2010 [2] Freescale.MC9S08AW60 Data Sheet,Rev.2,2006 [3] Morola(Freescale).HCS08 Family Reference Manual,Rev.1,2003 [4] 王庆利、袁建敏著.单片机设计案例实践教程.北京:北京邮电大学 出版社.2010
二、进度及预期结果:
起止日期 12.2.18-3.15

【完美升级版】多功能电子万年历设计_毕业论文设计

【完美升级版】多功能电子万年历设计_毕业论文设计

论文题目:多功能电子万年历的设计学院电气工程学院多功能电子万年历设计专业:自动化姓名:指导老师:摘要随着科学技术的快速发展,纵观太阳、摆钟到现在电子钟,人类不断研究,不断创新进步。

目前,单片机技术的应用产品已经走进了千家万户。

多功能电子万年历的出现给人们的生活带来了诸多方便。

此产品是基于STC89C52RC单片机的日历显示系统,它能显示公历年、月、日,以及时、分、秒、温度、星期等信息,而且还具有调整时间,温度采集,闹钟及个性化的闹铃等功能。

系统所用的时钟日历芯片DS1302具有高性能、低功耗、接口简单的特点,使本系统电路简化,编程方便,同时功能也很强。

采用STC89C52RC单片机的万年历系统可以很好的改善传统采用模拟电路引起的计时不准确,不可靠,一致性差等问题。

此系统计时精确,价格低廉,可以广泛应用在生活,学习和工作等任何领域,并且起到重要作用。

关键词:万年历,单片机,时钟芯片,温度芯片ABSTRACTAlong with the technical fast development, time passing, to from the view sun, the pendulum clock to the present electron clock, the humanity studies unceasingly, innovates unceasingly the record. At present, the monolithic integrated circuit technology's application product already entered everyone. The electronic ten thousand calendar's appearances have brought conveniently many for people's life.This design is one based on STC89C52RC single-chip microcomputer calendar display system, it can demonstrate years, the month, the date of the Gregorian calendar, and hour, minute, second, temperature, week and so on. Moreover it has also provided the lunar calendar information, adjustable time pattern, temperature sample, alarm system, individual quarter-bell and so on. The system clock calendar DS1302 with high performance, low power consumption and simple interface features Circuit enable the system to streamline programming convenience, but also highly functional. The problems of inaccurate, unreliable, and the uniform inferior can be come up when you use the analogous circuit. However, it can be improved when you use the clock system based on STC89C52RC single-chip microcomputer. The system time accurate, low cost and can be widely applied to the life, study and work in any field, and has played an important role.Key words:The Electronic Calendar Clock, Single-chip Microcomputer, The Time Calendar Clock, Temperature Chip目录ABSTRACT (3)1 绪论 (8)1.1多功能电子万年历的研究背景与意义 (8)1.2多功能电子万年历的发展现状 (9)1.3论文研究的内容 (9)1.4 本设计进行的主要工作 (10)1.5本多功能电子万年历系统主要要实现的功能 (10)2单片机的简介 (11)2.1单片机的介绍 (11)3 方案设计与论证 (13)3.1单片机芯片设计与论证 (13)3.2 电源模块设计与论证 (14)3.3 按键控制模块设计与论证 (14)3.4 时钟模块设计与论证 (15)3.5 温度采集模块的设计与论证 (15)3.6 显示模块设计与论证 (15)4 系统的硬件设计 (17)4.1 主控芯片STC89C52RC与复位电路和时钟振荡电路 (17)4.1.1 STC89C52RC的概述 (17)4.1.2复位电路和时钟振荡电路 (19)4.2 时钟芯片DS1302接口设计和性能分析 (20)4.2.1 DS1302性能简介 (20)4.2.2 DS1302接口电路设计 (21)4.3 温度芯片DS18B20接口设计和性能分析 (25)4.3.1 DS18B20的性能介绍 (25)4.3.2 DS18B20的接口电路设计 (26)4.4 闹钟模块系统设计于性能分析 (26)4.4.1 AT24C02器件分析 (27)4.4.2 接口电路的设计 (28)4.5 LCD显示模块 (28)4.5.1 LCM1602的特性及使用说明 (28)4.5.2 LCM1602与STC89C52RC单片机的接口电路 (30)4.6 按键模块设计 (31)4.7蜂鸣器设计 (32)5 软件设计 (34)5.1 软件总体部分的设计 (34)5.2 LCD驱动及液晶显示 (36)5.3 按键识别及处理 (36)5.4 温度数据采集 (36)5.5 时间数据采集 (38)5.6 闹钟程序 (40)6 系统的测试 (42)总结 (45)致谢 (46)参考文献 (47)附录 (48)1 绪论1.1多功能电子万年历的研究背景与意义伴随着单片机和电子技术的快速发展,人类不断研究,不断创新纪录。

多功能电子万年历

多功能电子万年历

泉州师范学院毕业论文(设计)题目多功能电子万年历物理与信息工程学院电子信息科学与技术专业07 级1班学生姓名李竞佳学号070303031指导教师洪清泉职称教授完成日期2011年3月教务处制多功能电子万年历物信学院电子信息工程与技术 070303031 李竞佳指导教师:洪清泉教授【摘要】:该电子万年历,主要是对时间、温度、湿度的显示和语音播报,并能使用红外遥控器对时间进行修改。

电子万年历的硬件部分采用STC89C52单片机为主控制芯片,DHT11、DS1302、ISD1730、红外一体化接头、LCD12864等组成外围电路。

软件部分主要是基于51单片机的C语言程序,编程环境是keil。

【关键词】:电子万年历单片机LCD12864 DHT11 ISD1730Multifunctional electronic calendarCollege of Physics and Information Engineering Electronic Information Science and T echnology070303031,Li JingjiaInstructor:Hong Qingquan, Professor【Abstract】:The electronic calendar is mainly to the time, temperature, humidity display and speech broadcast and can be applied to infrared time modified. Electronic calendar hardware part adopts mainly STC89C52 single-chip microcomputer control chip, DHT11, DS1302, ISD1730, infrared integrated joint, LCD12864 etc buffer circuit. Software part mainly based on 51 SCM C programming language ,programming environment is KEIL .【Keywords】:Electronic calendar 、MCU、LCD12864 、DHT11、ISD1730一、绪论1.1课题的背景和意义随着电子技术的迅速发展,特别是大规模集成电路出现,给人类生活带来了根本性的改变,尤其是单片机技术的应用产品已经走进了千家万户。

毕业设计-电子万年历

毕业设计-电子万年历

单片机课程设计姓名:xxx学号:xxx专业班级:xx计算机科学与技术x班指导老师:xxx2009年5月23日目录摘要 (1)1 概述 (2)1.1单片机原理及应用简介 (2)1.2系统硬件设计 (4)1.3结构原理与比较 (6)2 系统总体方案及硬件设计 (7)2.1系统总体方案 (7)2.2硬件电路的总体框图设计 (10)2.3硬件电路原理图设计 (11)3 软件设计 (12)3.1主程序流程图设计 (12)3.2显示模块流程图 (12)4 软件仿真 (13)4.1仿真过程 (13)4.2仿真结果 (14)5课程设计体会 (15)附1 源程序代码 (16)摘要本设计是电子万年历。

具备三个功能:能显示:年、月、日、时、分、秒及星期信息,并具有可调整日期和时间功能。

我选用的是单片机8052来实现电子万年历的功能。

该电子万年历能够成功实现时钟运行,调整,显示年月日时分秒及星期,温度等信息。

该电子万年历使用12MHZ晶振与单片机8052相连接,通过软件编程的方法实现了以24小时为一个周期,同时显示小时、分钟和秒的要求。

利用单片机定时器及计数器产生定时效果通过编程形成数字钟效果,再利用数码管动态扫描显示单片机内部处理的数据。

同时通过端口读入当前外部控制状态来改变程序的不同状态,实现不同功能。

电子万年历设计与制作可采用数字电路实现,也可以采用单片机来完成。

若用数字电路完成,所设计的电路相当复杂,大概需要十几片数字集成块,其功能也主要依赖于数字电路的各功能模块的组合来实现,焊接的过程比较复杂,成本也非常高。

若用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成,这样一来就降低了硬件电路的复杂性,从而使得其成本降低,更适合我们大学生自主研发。

所以在该设计与制作中我选用了单片机8052,它是低功耗、高性能的CMOS型8位单片机。

片内带有4KB的Flash存储器,且允许在系统内改写或用编程器编程。

另外, 单片机8052的指令系统和引脚与8051完全兼容,片内有128B 的RAM、32条I/O口线、2个16位定时计数器、5个中断源、一个全双工串行口等。

带语音报时功能的万年历的设计毕业设计

带语音报时功能的万年历的设计毕业设计

毕业设计(论文)带语音报时功能的的万年历的设计毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。

尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。

对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。

作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

作者签名:日期:学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。

除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。

对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。

本人完全意识到本声明的法律后果由本人承担。

作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。

本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。

涉密论文按学校规定处理。

作者签名:日期:年月日导师签名:日期:年月日注意事项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。

万年历语音报时时钟

万年历语音报时时钟

Xxxxxxxx毕业设计题目基于MCS51单片机的语音万年历设计专业班级姓名指导教师姓名职称起止日期摘要本设计是基于51系列的单片机的电子万年历及语音报时设计,万年历可以显示年、月、日、时、分、秒、星期等,具有日期和时间校准、闰年补偿、温度显示、闹钟、光控开关,秒表等多种功能。

在设计的同时对单片机、语音芯片和外围扩展知识进行了比较全面准备。

本设计由万年历控制模块,显示模块,发声模块四个部分组成。

控制模块由单片机89C52,按键模块,DS1302时钟模块,温度感应模块等组成,其中89C52单片机作为核心,功耗小,电压可选用3~5V电压供电。

显示模块由12864液晶模块组成。

发声模块由喇叭和三极管组成。

利用单片机可以大大减小硬件的复杂程度。

综合以上各优点可知道该设备的确是一款经济、适用、多功能的万年历。

关键字: 51单片机 lcd12864液晶显示器语音报时目录1 电子万年历概述 (4)1.1 问题的提出和研究背景 (4)1.2 国内外研究现状及发展趋势 (4)1.3 本设计的任务和要求 (5)1.4 章节内容安排 (6)2 系统功能与元器件选择 (7)2.1 系统的主要功能 (7)2.1.1 时钟显示功能 (7)2.1.2 显示功能 (7)2.1.3 温度检测功能 (7)2.1.4 报时功能 (7)2.2 元器件选择 (7)2.2.1单片机芯片的选择 (7)2.2.2显示模块选择 (7)2.2.3时钟芯片的选择 (7)2.2.4 温度检测功能 (8)2.2.5 语音播报功能 (8)2.2.6元器件最终确定 (8)3 系统的硬件结构设计 (8)3.1 总体设计 (8)3.2 系统的模块电路设计 (9)3.2.1单片机最小应用系统电路 (9)3.2.2 DS1302时钟模块设计 (10)3.2.3 LCD显示电路设计 (11)3.2.4 按键电路设计 (11)3.2.5 语音电路设计 (12)3.3 电子万年历的硬件电路设计 (13)4 系统软件的设计 (13)4.1 阳历主程序流程图 (13)4.2 阳历天数程序流程图 ........................................................... 错误!未定义书签。

多功能电子钟及万年历毕业设计

多功能电子钟及万年历毕业设计

目 录...................................................................................................................... 1
第 1 章 引 言............................................................................................................ 3
2.3.5 显示模块方案确定..................................................................................... 6
2.2.5 显示模块选择方案..................................................................................... 6
2.3 方案确定............................................................................................................ 6
1.3 章节安排............................................................................................................ 4
第 2 章 方案论证与选型..................................................... 5
2.3.1 电路方案确定............................................................................................. 6
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

毕业设计(论文)带语音报时功能的的万年历的设计毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。

尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。

对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。

作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

作者签名:日期:学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。

除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。

对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。

本人完全意识到本声明的法律后果由本人承担。

作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。

本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。

涉密论文按学校规定处理。

作者签名:日期:年月日导师签名:日期:年月日注意事项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。

3.附件包括:任务书、开题报告、外文译文、译文原文(复印件)。

4.文字、图表要求:1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。

图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画3)毕业论文须用A4单面打印,论文50页以上的双面打印4)图表应绘制于无格子的页面上5)软件工程类课题应有程序清单,并提供电子文档5.装订顺序1)设计(论文)2)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订指导教师评价:一、撰写(设计)过程1、学生在论文(设计)过程中的治学态度、工作精神□优□良□中□及格□不及格2、学生掌握专业知识、技能的扎实程度□优□良□中□及格□不及格3、学生综合运用所学知识和专业技能分析和解决问题的能力□优□良□中□及格□不及格4、研究方法的科学性;技术线路的可行性;设计方案的合理性□优□良□中□及格□不及格5、完成毕业论文(设计)期间的出勤情况□优□良□中□及格□不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范?□优□良□中□及格□不及格2、是否完成指定的论文(设计)任务(包括装订及附件)?□优□良□中□及格□不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义□优□良□中□及格□不及格2、论文的观念是否有新意?设计是否有创意?□优□良□中□及格□不及格3、论文(设计说明书)所体现的整体水平□优□良□中□及格□不及格建议成绩:□优□良□中□及格□不及格(在所选等级前的□内画“√”)指导教师:(签名)单位:(盖章)年月日评阅教师评价:一、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范?□优□良□中□及格□不及格2、是否完成指定的论文(设计)任务(包括装订及附件)?□优□良□中□及格□不及格二、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义□优□良□中□及格□不及格2、论文的观念是否有新意?设计是否有创意?□优□良□中□及格□不及格3、论文(设计说明书)所体现的整体水平□优□良□中□及格□不及格建议成绩:□优□良□中□及格□不及格(在所选等级前的□内画“√”)评阅教师:(签名)单位:(盖章)年月日教研室(或答辩小组)及教学系意见教研室(或答辩小组)评价:一、答辩过程1、毕业论文(设计)的基本要点和见解的叙述情况□优□良□中□及格□不及格2、对答辩问题的反应、理解、表达情况□优□良□中□及格□不及格3、学生答辩过程中的精神状态□优□良□中□及格□不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范?□优□良□中□及格□不及格2、是否完成指定的论文(设计)任务(包括装订及附件)?□优□良□中□及格□不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义□优□良□中□及格□不及格2、论文的观念是否有新意?设计是否有创意?□优□良□中□及格□不及格3、论文(设计说明书)所体现的整体水平□优□良□中□及格□不及格评定成绩:□优□良□中□及格□不及格教研室主任(或答辩小组组长):(签名)年月日教学系意见:系主任:(签名)年月日带语音报时功能的的万年历的设计摘要万年历是现代人类生活中必不可少的工具,带语音功能的万年历在电子万年历多功能化发展的今天更是必不可少的一个方向。

语音万年历有突出的播报时间功能,它被广泛用在生活中的各种领域。

本设计就是从日常生活着手,通过对语音万年历的设计,让我对单片机已经进入到我们生活的每个领域有了更深的了解。

本系统采用凌阳公司的SPCE061A单片机为控制核心;语音报时系统使用凌阳单片机本身具有的特色语言功能。

本设计从语音万年历设计原理、设计方案着手,详细介绍了系统的硬件设计、软件设计和调试。

在语音万年历的设计中,要处理好:语音的识别,D/A(数/模)的转换,人机接口,程序的设计。

语音的识别技术和D/A(数/模)影响到时间的正确播报,播报时间和调整时间的关键是人机接口。

关键词:实时万年历SPCE061A单片机语音报时The Design of the Speech CalendarAbstractCalendar is an essential tool to the modern human life. The calendar with speech function is an indispensable direction in the development of various functions of electronic calendar today. Speech calendar have prominent broadcasting time function, which is widely used in various fields of life. This design is starting from the daily life. Designing the speech calendar let me have a deeper understanding of SCM which has being coming to our every areas of life.The system uses SPCE061A of the sunplus company as control core.Phonetic time systems use the characteristic speech function of sunplus microcontroller itself. The design is from the start that principle of design, design scheme of speech calendar to introduce in hardware design, software design and commissioning of the system in detail. In the design of speech calendar, we should deal with speech recognition, D/A (number/die) conversion, man-machine interface and the program design. Speech recognition technology and D/A (number/die) affect the correct time broadcasts, and the key of broadcast time and adjust time is man-machine interface.Key words:Calendar SPCE061A Speech Function目录前言 (1)第1章课题研究价值 (2)第1.1节选题背景 (2)第1.2节本设计的工作安排 (2)第2章语音电子万年历的原理和方案 (3)第2.1节设计原理 (3)第2.2节设计方案 (3)第3章语音电子万年历的硬件设计 (4)第3.1节系统硬件结构 (5)第3.2节系统硬件结构 (7)第3.3节程序下载区 (16)第3.4节音频模块 (17)第3.5节语音模块 (18)第3.6节数/模转换模块 (19)第3.7节电源模块 (19)第3.8节 SPLC501液晶显示模组 (20)第4章语音电子万年历的软件设计 (22)第4.1节 IDE集成开发环境 (23)第4.2节程序设计 (27)第5章测试与调试 (33)第5.1节硬件的测试 (33)北京化工大学北方学院毕业设计(论文)第5.2节 61板的测试 (34)第5.3节程序的调试 (35)附录 (39)参考文献 (45)致谢 (46)前言单片机自1976年由Intel公司推出MCS-48开始,迄今已有二十多年了。

由于单片机集成度高、功能强、可靠性高、体积小、功耗地、使用方便、价格低廉等一系列优点,目前已经渗入到人们工作和生活的方方面面,几乎“无处不在,无所不为”。

单片机的应用领域已从面向工业控制、通讯、交通、智能仪表等迅速发展到家用消费产品、办公自动化、汽车电子、PC机外围以及网络通讯等广大领域。

相关文档
最新文档