已发,请采纳。这个在论文网上面有资源的呀,在上面能找到很多你想要的呢。
采用51单片机控制的简易数字钟设计(免费下载)采用51单片机控制的简易数字钟设计(免费下载)一、硬件电路(参见原理图图2)1、电源:51系列单片机需要 5V直流稳压电源。将 220V交流电降压,变压器选择5W,次级电压为 10V。桥式 整流,二极管选择 1 N4002。选三端稳压器7805。2个 1OO u F25V电容在输入和输出滤波。在5V输出端再加一个0 01 u F瓷片电容进行高频滤波。2、复位电路:复位电路采用上电复位和按钮复位。由一个 10 u F的电容和一个按钮以及 51kQ、!.2kQ电阻各一个构成。3、外部晶振电路:外部晶振电路由2个 30pF的电容和一个 12MHz的晶体振荡器构成。4、校时和校分电路:由P3.3外接一个按钮开关到地作为校时键。由P3 2外接一按钮到地作为校分键。5、显示电路:因为P口的灌电流在 15mA左右,可直接驱动数码管。由P0 口和P1口各外接一个共阳极数码管。直接驱动,P0所接数码管显示分,P1所接数码管显示十分,小数点不点亮。P2口外接一个数码管显示小时,但小数点要点亮,用以分隔时分。P3口的P3.1和P3.0分别外接到一数码管的b段和 c段,显示十小时,如果不到十小时,该两段灭。小时的显示为 12进制。二、软件系统软件系统分四个部分:主程序部分。计时显示中断子程序部分,校时中断子程序部分,校分中断子程序部分,分别介绍如下:
详细的单片机数字钟设计,已经发给你了。但是,我给你的没做蜂鸣器~~~~~~~~~~~~~就当是抛砖引玉吧
可以联系我的,有作好的防真,去我的百度空间看看。然后联系我,空间有我的联系方式
#include<>#include""#define uint unsigned int#define uchar unsigned charuchar a,miao,shi,fen,ri,yue,nian,week,flag,key1n,temp;//flag用于读取头文件中的温度值,和显示温度值#define yh 0x80 //LCD第一行的初始位置,因为LCD1602字符地址首位D7恒定为1(100000000=80)#define er 0x80+0x40 //LCD第二行初始位置(因为第二行第一个字符位置地址是0x40)//液晶屏的与C51之间的引脚连接定义(显示数据线接C51的P0口)sbit rs=P1^0;sbit en=P1^2;sbit rw=P1^1; //如果硬件上rw接地,就不用写这句和后面的rw=0了sbit led=P3^7; //LCD背光开关//DS1302时钟芯片与C51之间的引脚连接定义sbit IO=P2^2;sbit SCLK=P2^1;sbit RST=P2^2;sbit ACC0=ACC^0;sbit ACC7=ACC^7;/************************************************************ACC累加器= 就是ACC的第0位。Acc可以位寻址。累加器ACC是一个8位的存储单元,是用来放数据的。但是,这个存储单元有其特殊的地位,是单片机中一个非常关键的单元,很多运算都要通过ACC来进行。以后在学习指令时,常用A来表示累加器。但有一些地方例外,比如在PUSH指令中,就必须用ACC这样的名字。一般的说法,A代表了累加器中的内容、而ACC代表的是累加器的地址。 ***************************************************************///校时按键与C51的引脚连接定义sbit key1=P2^4; //设置键sbit key2=P2^5; //加键sbit key3=P2^6; //减键sbit buzzer=P2^0;//蜂鸣器,通过三极管9012驱动,端口低电平响/**************************************************************/uchar code tab1[]={"20 - - "}; //年显示的固定字符uchar code tab2[]={" : : "};//时间显示的固定字符//延时函数,后面经常调用void delay(uint xms)//延时函数,有参函数{ uint x,y; for(x=xms;x>0;x--) for(y=120;y>0;y--);}/********液晶写入指令函数与写入数据函数,以后可调用**************//*在这个程序中,液晶写入有关函数会在DS1302的函数中调用,所以液晶程序要放在前面*/write_1602com(uchar com)//****液晶写入指令函数****{ rs=0;//数据/指令选择置为指令 rw=0; //读写选择置为写 P0=com;//送入数据 delay(1); en=1;//拉高使能端,为制造有效的下降沿做准备 delay(1); en=0;//en由高变低,产生下降沿,液晶执行命令}write_1602dat(uchar dat)//***液晶写入数据函数****{ rs=1;//数据/指令选择置为数据 rw=0; //读写选择置为写 P0=dat;//送入数据 delay(1); en=1; //en置高电平,为制造下降沿做准备 delay(1); en=0; //en由高变低,产生下降沿,液晶执行命令}lcd_init()//***液晶初始化函数****{ write_1602com(0x38);//设置液晶工作模式,意思:16*2行显示,5*7点阵,8位数据 write_1602com(0x0c);//开显示不显示光标 write_1602com(0x06);//整屏不移动,光标自动右移 write_1602com(0x01);//清显示 write_1602com(yh+1);//日历显示固定符号从第一行第1个位置之后开始显示 for(a=0;a<14;a++) { write_1602dat(tab1[a]);//向液晶屏写日历显示的固定符号部分 //delay(3); } write_1602com(er+2);//时间显示固定符号写入位置,从第2个位置后开始显示 for(a=0;a<8;a++) { write_1602dat(tab2[a]);//写显示时间固定符号,两个冒号 //delay(3); }}/*********************over***********************//***************DS1302有关子函数********************/void write_byte(uchar dat)//写一个字节{ ACC=dat; RST=1; for(a=8;a>0;a--) { IO=ACC0; SCLK=0; SCLK=1; ACC=ACC>>1; }}uchar read_byte()//读一个字节{ RST=1; for(a=8;a>0;a--) { ACC7=IO; SCLK=1; SCLK=0; ACC=ACC>>1; } return (ACC);}//----------------------------------------void write_1302(uchar add,uchar dat)//向1302芯片写函数,指定写入地址,数据{ RST=0; SCLK=0; RST=1; write_byte(add); write_byte(dat); SCLK=1; RST=0;}uchar read_1302(uchar add)//从1302读数据函数,指定读取数据来源地址{ uchar temp; RST=0; SCLK=0; RST=1; write_byte(add); temp=read_byte(); SCLK=1; RST=0; return(temp);}uchar BCD_Decimal(uchar bcd)//BCD码转十进制函数,输入BCD,返回十进制{ uchar Decimal; Decimal=bcd>>4; return(Decimal=Decimal*10+(bcd&=0x0F));}//--------------------------------------void ds1302_init() //1302芯片初始化子函数(2010-01-07,12:00:00,week4){RST=0;SCLK=0;write_1302(0x8e,0x00); //允许写,禁止写保护 write_1302(0x80,0x00); //向DS1302内写秒寄存器80H写入初始秒数据00write_1302(0x82,0x00);//向DS1302内写分寄存器82H写入初始分数据00write_1302(0x84,0x12);//向DS1302内写小时寄存器84H写入初始小时数据12write_1302(0x8a,0x04);//向DS1302内写周寄存器8aH写入初始周数据4write_1302(0x86,0x07);//向DS1302内写日期寄存器86H写入初始日期数据07write_1302(0x88,0x01);//向DS1302内写月份寄存器88H写入初始月份数据01write_1302(0x8c,0x10);//向DS1302内写年份寄存器8cH写入初始年份数据10write_1302(0x8e,0x80); //打开写保护}//------------------------------------//温度显示子函数void write_temp(uchar add,uchar dat)//向LCD写温度数据,并指定显示位置{ uchar gw,sw; gw=dat%10;//取得个位数字 sw=dat/10;//取得十位数字 write_1602com(er+add);//er是头文件规定的值0x80+0x40 write_1602dat(0x30+sw);//数字+30得到该数字的LCD1602显示码 write_1602dat(0x30+gw);//数字+30得到该数字的LCD1602显示码 write_1602dat(0xdf);//显示温度的小圆圈符号,0xdf是液晶屏字符库的该符号地址码 write_1602dat(0x43); //显示"C"符号,0x43是液晶屏字符库里大写C的地址码 }//------------------------------------//时分秒显示子函数void write_sfm(uchar add,uchar dat)//向LCD写时分秒,有显示位置加、现示数据,两个参数{ uchar gw,sw; gw=dat%10;//取得个位数字 sw=dat/10;//取得十位数字 write_1602com(er+add);//er是头文件规定的值0x80+0x40 write_1602dat(0x30+sw);//数字+30得到该数字的LCD1602显示码 write_1602dat(0x30+gw);//数字+30得到该数字的LCD1602显示码 }//-------------------------------------//年月日显示子函数void write_nyr(uchar add,uchar dat)//向LCD写年月日,有显示位置加数、显示数据,两个参数{ uchar gw,sw; gw=dat%10;//取得个位数字 sw=dat/10;//取得十位数字 write_1602com(yh+add);//设定显示位置为第一个位置+add write_1602dat(0x30+sw);//数字+30得到该数字的LCD1602显示码 write_1602dat(0x30+gw);//数字+30得到该数字的LCD1602显示码 }//-------------------------------------------void write_week(uchar week)//写星期函数{ write_1602com(yh+0x0c);//星期字符的显示位置 switch(week) { case 1:write_1602dat('M');//星期数为1时,显示 write_1602dat('O'); write_1602dat('N'); break; case 2:write_1602dat('T');//星期数据为2时显示 write_1602dat('U'); write_1602dat('E'); break; case 3:write_1602dat('W');//星期数据为3时显示 write_1602dat('E'); write_1602dat('D'); break; case 4:write_1602dat('T');//星期数据为4是显示 write_1602dat('H'); write_1602dat('U'); break; case 5:write_1602dat('F');//星期数据为5时显示 write_1602dat('R'); write_1602dat('I'); break; case 6:write_1602dat('S');//星期数据为6时显示 write_1602dat('T'); write_1602dat('A'); break; case 7:write_1602dat('S');//星期数据为7时显示 write_1602dat('U'); write_1602dat('N'); break;}}//****************键盘扫描有关函数**********************void keyscan(){ if(key1==0)//---------------key1为功能键(设置键)-------------------- { delay(9);//延时,用于消抖动 if(key1==0)//延时后再次确认按键按下 { buzzer=0;//蜂鸣器短响一次 delay(20); buzzer=1; while(!key1); key1n++; if(key1n==9) key1n=1;//设置按键共有秒、分、时、星期、日、月、年、返回,8个功能循环 switch(key1n) { case 1: TR0=0;//关闭定时器 //TR1=0; write_1602com(er+0x09);//设置按键按动一次,秒位置显示光标 write_1602com(0x0f);//设置光标为闪烁 temp=(miao)/10*16+(miao)%10;//秒数据写入DS1302 write_1302(0x8e,0x00); write_1302(0x80,0x80|temp);//miao write_1302(0x8e,0x80); break; case 2: write_1602com(er+6);//按2次fen位置显示光标 //write_1602com(0x0f); break; case 3: write_1602com(er+3);//按动3次,shi //write_1602com(0x0f); break; case 4: write_1602com(yh+0x0e);//按动4次,week //write_1602com(0x0f); break; case 5: write_1602com(yh+0x0a);//按动5次,ri //write_1602com(0x0f); break; case 6: write_1602com(yh+0x07);//按动6次,yue //write_1602com(0x0f); break; case 7: write_1602com(yh+0x04);//按动7次,nian //write_1602com(0x0f); break; case 8: write_1602com(0x0c);//按动到第8次,设置光标不闪烁 TR0=1;//打开定时器 temp=(miao)/10*16+(miao)%10; write_1302(0x8e,0x00); write_1302(0x80,0x00|temp);//miao数据写入DS1302 write_1302(0x8e,0x80); break; }} }//------------------------------加键key2---------------------------- if(key1n!=0)//当key1按下以下。再按以下键才有效(按键次数不等于零) { if(key2==0) //上调键 { delay(10); if(key2==0) { buzzer=0;//蜂鸣器短响一次 delay(20); buzzer=1; while(!key2); switch(key1n) { case 1:miao++;//设置键按动1次,调秒 if(miao==60) miao=0;//秒超过59,再加1,就归零 write_sfm(0x08,miao);//令LCD在正确位置显示"加"设定好的秒数 temp=(miao)/10*16+(miao)%10;//十进制转换成DS1302要求的DCB码 write_1302(0x8e,0x00); //允许写,禁止写保护 write_1302(0x80,temp); //向DS1302内写秒寄存器80H写入调整后的秒数据BCD码 write_1302(0x8e,0x80); //打开写保护 write_1602com(er+0x09);//因为设置液晶的模式是写入数据后,光标自动右移,所以要指定返回 //write_1602com(0x0b); break; case 2:fen++; if(fen==60) fen=0; write_sfm(0x05,fen);//令LCD在正确位置显示"加"设定好的分数据 temp=(fen)/10*16+(fen)%10;//十进制转换成DS1302要求的DCB码 write_1302(0x8e,0x00);//允许写,禁止写保护 write_1302(0x82,temp);//向DS1302内写分寄存器82H写入调整后的分数据BCD码 write_1302(0x8e,0x80);//打开写保护 write_1602com(er+6);//因为设置液晶的模式是写入数据后,指针自动加一,在这里是写回原来的位置 break; case 3:shi++; if(shi==24) shi=0; write_sfm(2,shi);//令LCD在正确的位置显示"加"设定好的小时数据 temp=(shi)/10*16+(shi)%10;//十进制转换成DS1302要求的DCB码 write_1302(0x8e,0x00);//允许写,禁止写保护 write_1302(0x84,temp);//向DS1302内写小时寄存器84H写入调整后的小时数据BCD码 write_1302(0x8e,0x80);//打开写保护 write_1602com(er+3);//因为设置液晶的模式是写入数据后,指针自动加一,所以需要光标回位 break; case 4:week++; if(week==8) week=1; write_1602com(yh+0x0C);//指定'加'后的周数据显示位置 write_week(week);//指定周数据显示内容 temp=(week)/10*16+(week)%10;//十进制转换成DS1302要求的DCB码 write_1302(0x8e,0x00);//允许写,禁止写保护 write_1302(0x8a,temp);//向DS1302内写周寄存器8aH写入调整后的周数据BCD码 write_1302(0x8e,0x80);//打开写保护 write_1602com(yh+0x0e);//因为设置液晶的模式是写入数据后,指针自动加一,所以需要光标回位 break; case 5:ri++; if(ri==32) ri=1; write_nyr(9,ri);//令LCD在正确的位置显示"加"设定好的日期数据 temp=(ri)/10*16+(ri)%10;//十进制转换成DS1302要求的DCB码 write_1302(0x8e,0x00);//允许写,禁止写保护 write_1302(0x86,temp);//向DS1302内写日期寄存器86H写入调整后的日期数据BCD码 write_1302(0x8e,0x80);//打开写保护 write_1602com(yh+10);//因为设置液晶的模式是写入数据后,指针自动加一,所以需要光标回位 break; case 6:yue++; if(yue==13) yue=1; write_nyr(6,yue);//令LCD在正确的位置显示"加"设定好的月份数据 temp=(yue)/10*16+(yue)%10;//十进制转换成DS1302要求的DCB码 write_1302(0x8e,0x00);//允许写,禁止写保护 write_1302(0x88,temp);//向DS1302内写月份寄存器88H写入调整后的月份数据BCD码 write_1302(0x8e,0x80);//打开写保护 write_1602com(yh+7);//因为设置液晶的模式是写入数据后,指针自动加一,所以需要光标回位 break; case 7:nian++; if(nian==100) nian=0; write_nyr(3,nian);//令LCD在正确的位置显示"加"设定好的年份数据 temp=(nian)/10*16+(nian)%10;//十进制转换成DS1302要求的DCB码 write_1302(0x8e,0x00);//允许写,禁止写保护 write_1302(0x8c,temp);//向DS1302内写年份寄存器8cH写入调整后的年份数据BCD码 write_1302(0x8e,0x80);//打开写保护 write_1602com(yh+4);//因为设置液晶的模式是写入数据后,指针自动加一,所以需要光标回位 break;} } } //------------------减键key3,各句功能参照'加键'注释--------------- if(key3==0) { delay(10);//调延时,消抖动 if(key3==0) { buzzer=0;//蜂鸣器短响一次 delay(20); buzzer=1; while(!key3); switch(key1n) { case 1:miao--; if(miao==-1) miao=59;//秒数据减到-1时自动变成59 write_sfm(0x08,miao);//在LCD的正确位置显示改变后新的秒数 temp=(miao)/10*16+(miao)%10;//十进制转换成DS1302要求的DCB码 write_1302(0x8e,0x00); //允许写,禁止写保护 write_1302(0x80,temp); //向DS1302内写秒寄存器80H写入调整后的秒数据BCD码 write_1302(0x8e,0x80); //打开写保护 write_1602com(er+0x09);//因为设置液晶的模式是写入数据后,指针自动加一,在这里是写回原来的位置 //write_1602com(0x0b); break; case 2:fen--; if(fen==-1) fen=59; write_sfm(5,fen); temp=(fen)/10*16+(fen)%10;//十进制转换成DS1302要求的DCB码 write_1302(0x8e,0x00);//允许写,禁止写保护 write_1302(0x82,temp);//向DS1302内写分寄存器82H写入调整后的分数据BCD码 write_1302(0x8e,0x80);//打开写保护 write_1602com(er+6);//因为设置液晶的模式是写入数据后,指针自动加一,在这里是写回原来的位置 break; case 3:shi--; if(shi==-1) shi=23; write_sfm(2,shi); temp=(shi)/10*16+(shi)%10;//十进制转换成DS1302要求的DCB码 write_1302(0x8e,0x00);//允许写,禁止写保护 write_1302(0x84,temp);//向DS1302内写小时寄存器84H写入调整后的小时数据BCD码 write_1302(0x8e,0x80);//打开写保护 write_1602com(er+3);//因为设置液晶的模式是写入数据后,指针自动加一,所以需要光标回位 break; case 4:week--; if(week==0) week=7; write_1602com(yh+0x0C);//指定'加'后的周数据显示位置 write_week(week);//指定周数据显示内容 temp=(week)/10*16+(week)%10;//十进制转换成DS1302要求的DCB码 write_1302(0x8e,0x00);//允许写,禁止写保护 write_1302(0x8a,temp);//向DS1302内写周寄存器8aH写入调整后的周数据BCD码 write_1302(0x8e,0x80);//打开写保护 write_1602com(yh+0x0e);//因为设置液晶的模式是写入数据后,指针自动加一,所以需要光标回位 break; case 5:ri--; if(ri==0) ri=31; write_nyr(9,ri); temp=(ri)/10*16+(ri)%10;//十进制转换成DS1302要求的DCB码 write_1302(0x8e,0x00);//允许写,禁止写保护 write_1302(0x86,temp);//向DS1302内写日期寄存器86H写入调整后的日期数据BCD码 write_1302(0x8e,0x80);//打开写保护 write_1602com(yh+10);//因为设置液晶的模式是写入数据后,指针自动加一,所以需要光标回位 break; case 6:yue--; if(yue==0) yue=12; write_nyr(6,yue); temp=(yue)/10*16+(yue)%10;//十进制转换成DS1302要求的DCB码 write_1302(0x8e,0x00);//允许写,禁止写保护 write_1302(0x88,temp);//向DS1302内写月份寄存器88H写入调整后的月份数据BCD码 write_1302(0x8e,0x80);//打开写保护 write_1602com(yh+7);//因为设置液晶的模式是写入数据后,指针自动加一,所以需要光标回位 break; case 7:nian--; if(nian==-1) nian=99; write_nyr(3,nian); temp=(nian)/10*16+(nian)%10;//十进制转换成DS1302要求的DCB码 write_1302(0x8e,0x00);//允许写,禁止写保护 write_1302(0x8c,temp);//向DS1302内写年份寄存器8cH写入调整后的年份数据BCD码 write_1302(0x8e,0x80);//打开写保护 write_1602com(yh+4);//因为设置液晶的模式是写入数据后,指针自动加一,所以需要光标回位 break;} } } }}//-------------------------------void init() //定时器、计数器设置函数{ TMOD=0x11; //指定定时/计数器的工作方式为3 TH0=0; //定时器T0的高四位=0 TL0=0; //定时器T0的低四位=0 EA=1; //系统允许有开放的中断 ET0=1; //允许T0中断 TR0=1; //开启中断,启动定时器}//*******************主函数**************************//***************************************************void main(){ lcd_init(); //调用液晶屏初始化子函数 ds1302_init(); //调用DS1302时钟的初始化子函数 init(); //调用定时计数器的设置子函数 led=0; //打开LCD的背光电源 buzzer=0;//蜂鸣器长响一次 delay(80); buzzer=1; while(1) //无限循环下面的语句: { keyscan(); //调用键盘扫描子函数 }}void timer0() interrupt 1 //取得并显示日历和时间{ //Init_DS18B20();//温度传感器DS18b2初始化子函数,在头文件中 flag=ReadTemperature();//将18b2头文件运行返回的函数结果送到变量FLAG中,用于显示 //读取秒时分周日月年七个数据(DS1302的读寄存器与写寄存器不一样):miao = BCD_Decimal(read_1302(0x81)); fen = BCD_Decimal(read_1302(0x83)); shi = BCD_Decimal(read_1302(0x85)); ri = BCD_Decimal(read_1302(0x87)); yue = BCD_Decimal(read_1302(0x89)); nian=BCD_Decimal(read_1302(0x8d)); week=BCD_Decimal(read_1302(0x8b)); //显示温度、秒、时、分数据: write_temp(12,flag);//显示温度,从第二行第12个字符后开始显示 write_sfm(8,miao);//秒,从第二行第8个字后开始显示(调用时分秒显示子函数) write_sfm(5,fen);//分,从第二行第5个字符后开始显示 write_sfm(2,shi);//小时,从第二行第2个字符后开始显示 //显示日、月、年数据: write_nyr(9,ri);//日期,从第二行第9个字符后开始显示 write_nyr(6,yue);//月份,从第二行第6个字符后开始显示 write_nyr(3,nian);//年,从第二行第3个字符后开始显示 write_week(week);}
昨天才把我的毕业论文删掉。。
你看下这些对你是否有些帮助,1.基于labVIEW虚拟滤波器的设计与实现 2.双闭环直流调速系统设计 3.单片机脉搏测量仪 4.单片机控制的全自动洗衣机毕业设计论文 电梯控制的设计与实现 6.恒温箱单片机控制 7.基于单片机的数字电压表 8.单片机控制步进电机毕业设计论文 9.函数信号发生器设计论文 变电所一次系统设计 11.报警门铃设计论文 单片机交通灯控制 13.单片机温度控制系统 通信系统中的接入信道部分进行仿真与分析 15.仓库温湿度的监测系统 16.基于单片机的电子密码锁 17.单片机控制交通灯系统设计 18.基于DSP的IIR数字低通滤波器的设计与实现 19.智能抢答器设计 20.基于LabVIEW的PC机与单片机串口通信 设计的IIR数字高通滤波器 22.单片机数字钟设计 23.自动起闭光控窗帘毕业设计论文 24.三容液位远程测控系统毕业论文 25.基于Matlab的PWM波形仿真与分析 26.集成功率放大电路的设计 27.波形发生器、频率计和数字电压表设计 28.水位遥测自控系统 毕业论文 29.宽带视频放大电路的设计 毕业设计 30.简易数字存储示波器设计毕业论文 31.球赛计时计分器 毕业设计论文 数字滤波器的设计毕业论文 机与单片机串行通信毕业论文 34.基于CPLD的低频信号发生器设计毕业论文 变电站电气主接线设计 序列在扩频通信中的应用 37.正弦信号发生器 38.红外报警器设计与实现 39.开关稳压电源设计 40.基于MCS51单片机温度控制毕业设计论文 41.步进电动机竹竿舞健身娱乐器材 42.单片机控制步进电机 毕业设计论文 43.单片机汽车倒车测距仪 44.基于单片机的自行车测速系统设计 45.水电站电气一次及发电机保护 46.基于单片机的数字显示温度系统毕业设计论文 47.语音电子门锁设计与实现 48.工厂总降压变电所设计-毕业论文 49.单片机无线抢答器设计 50.基于单片机控制直流电机调速系统毕业设计论文 51.单片机串行通信发射部分毕业设计论文 52.基于VHDL语言PLD设计的出租车计费系统毕业设计论文 53.超声波测距仪毕业设计论文 54.单片机控制的数控电流源毕业设计论文 55.声控报警器毕业设计论文 56.基于单片机的锁相频率合成器毕业设计论文 57.基于Multism/protel的数字抢答器 58.单片机智能火灾报警器毕业设计论 59.无线多路遥控发射接收系统设计毕业论文 60.单片机对玩具小车的智能控制毕业设计论文 61.数字频率计毕业设计论文 62.基于单片机控制的电机交流调速毕业设计论文 63.楼宇自动化--毕业设计论文 64.车辆牌照图像识别算法的实现--毕业设计 65.超声波测距仪--毕业设计 66.工厂变电所一次侧电气设计 67.电子测频仪--毕业设计 68.点阵电子显示屏--毕业设计 69.电子电路的电子仿真实验研究 70.基于51单片机的多路温度采集控制系统 71.基于单片机的数字钟设计 72.小功率不间断电源(UPS)中变换器的原理与设计 73.自动存包柜的设计 74.空调器微电脑控制系统 75.全自动洗衣机控制器 76.电力线载波调制解调器毕业设计论文 77.图书馆照明控制系统设计 78.基于AC3的虚拟环绕声实现 79.电视伴音红外转发器的设计 80.多传感器障碍物检测系统的软件设计 81.基于单片机的电器遥控器设计 82.基于单片机的数码录音与播放系统 83.单片机控制的霓虹灯控制器 84.电阻炉温度控制系统 85.智能温度巡检仪的研制 86.保险箱遥控密码锁 毕业设计 变电所的电气部分及继电保护 88.年产26000吨乙醇精馏装置设计 89.卷扬机自动控制限位控制系统 90.铁矿综合自动化调度系统 91.磁敏传感器水位控制系统 92.继电器控制两段传输带机电系统 93.广告灯自动控制系统 94.基于CFA的二阶滤波器设计 95.霍尔传感器水位控制系统 96.全自动车载饮水机 97.浮球液位传感器水位控制系统 98.干簧继电器水位控制系统 99.电接点压力表水位控制系统 100.低成本智能住宅监控系统的设计 101.大型发电厂的继电保护配置 102.直流操作电源监控系统的研究 103.悬挂运动控制系统 104.气体泄漏超声检测系统的设计 105.电压无功补偿综合控制装置 型无功补偿装置控制器的设计 电机调速 频段窄带调频无线接收机 109.电子体温计 110.基于单片机的病床呼叫控制系统 111.红外测温仪 112.基于单片微型计算机的测距仪正文 113.智能数字频率计 114.基于单片微型计算机的多路室内火灾报警器 115.信号发生器 116.基于单片微型计算机的语音播出的作息时间控制器 117.交通信号灯控制电路的设计 118.基于单片机步进电机控制系统设计 119.多路数据采集系统的设计 120.电子万年历 121.遥控式数控电源设计 降压变电所一次系统设计 变电站一次系统设计 124.智能数字频率计 125.信号发生器 126.基于虚拟仪器的电网主要电气参数测试设计 127.基于FPGA的电网基本电量数字测量系统的设计 128.风力发电电能变换装置的研究与设计 129.电流继电器设计 130.大功率电器智能识别与用电安全控制器的设计 131.交流电机型式试验及计算机软件的研究 132.单片机交通灯控制系统的设计 133.智能立体仓库系统的设计 134.智能火灾报警监测系统 135.基于单片机的多点温度检测系统 136.单片机定时闹钟设计 137.湿度传感器单片机检测电路制作 138.智能小车自动寻址设计--小车悬挂运动控制系统 139.探讨未来通信技术的发展趋势 140.音频多重混响设计 141.单片机呼叫系统的设计 142.基于FPGA和锁相环4046实现波形发生器 143.基于FPGA的数字通信系统 144.基于单片机的带智能自动化的红外遥控小车 145.基于单片机AT89C51的语音温度计的设计 146.智能楼宇设计 147.移动电话接收机功能电路 148.单片机演奏音乐歌曲装置的设计 149.单片机电铃系统设计 150.智能电子密码锁设计 151.八路智能抢答器设计 152.组态控制抢答器系统设计 153.组态控制皮带运输机系统设计 154..基于单片机控制音乐门铃 155.基于单片机控制文字的显示 156.基于单片机控制发生的数字音乐盒 157.基于单片机控制动态扫描文字显示系统的设计 158.基于LMS自适应滤波器的MATLAB实现 功率放大器毕业论文 160.无线射频识别系统发射接收硬件电路的设计 161.基于单片机PIC16F877的环境监测系统的设计 162.基于ADE7758的电能监测系统的设计 163.智能电话报警器 164.数字频率计 课程设计 165.多功能数字钟电路设计 课程设计 166.基于VHDL数字频率计的设计与仿真 167.基于单片机控制的电子秤 168.基于单片机的智能电子负载系统设计 169.电压比较器的模拟与仿真 170.脉冲变压器设计 仿真技术及应用 172.基于单片机的水温控制系统 173.基于FPGA和单片机的多功能等精度频率计 174.发电机-变压器组中微型机保护系统 175.基于单片机的鸡雏恒温孵化器的设计 176.数字温度计的设计 177.生产流水线产品产量统计显示系统 178.水位报警显时控制系统的设计 179.红外遥控电子密码锁的设计 180.基于MCU温控智能风扇控制系统的设计 181.数字电容测量仪的设计 182.基于单片机的遥控器的设计 电话卡代拨器的设计 184.数字式心电信号发生器硬件设计及波形输出实现 185.电压稳定毕业设计论文 186.基于DSP的短波通信系统设计(IIR设计) 187.一氧化碳报警器 188.网络视频监控系统的设计 189.全氢罩式退火炉温度控制系统 190.通用串行总线数据采集卡的设计 191.单片机控制单闭环直流电动机的调速控制系统 192.单片机电加热炉温度控制系统 193.单片机大型建筑火灾监控系统 接口设备驱动程序的框架设计 195.基于Matlab的多频率FMICW的信号分离及时延信息提取 196.正弦信号发生器 197.小功率UPS系统设计 198.全数字控制SPWM单相变频器 199.点阵式汉字电子显示屏的设计与制作 200.基于AT89C51的路灯控制系统设计 201.基于AT89C51的宽范围高精度的电机转速测量系统 202.开关电源设计 203.基于PDIUSBD12和K9F2808简易USB闪存设计 204.微型机控制一体化监控系统 205.直流电机试验自动采集与控制系统的设计 206.新型自动装弹机控制系统的研究与开发 207.交流异步电机试验自动采集与控制系统的设计 208.转速闭环控制的直流调速系统的仿真与设计 209.基于单片机的数字直流调速系统设计 210.多功能频率计的设计 信息移频信号的频谱分析和识别 212.集散管理系统—终端设计 213.基于MATLAB的数字滤波器优化设计 214.基于AT89C51SND1C的MP3播放器 215.基于光纤的汽车CAN总线研究 216.汽车倒车雷达 217.基于DSP的电机控制 218.红外恒温控制器的设计与制作 219.串联稳压电源的设计 220.智能编码电控锁设计 221.多用定时器的电路设计与制作 222.基于单片机的数字电压表设计 223.智能饮水机控制系统 224.自行车 车速 报警系统 225.大棚仓库温湿度自动控制系统 226.浮点数运算FPGA实现 227.自行车里程,速度计的设计 228.等精度频率计的设计 229.人体健康监测系统设计 230.基于单片机的音乐喷泉控制系统设计 231.基于嵌入式系统的原油含水分析仪的硬件与人机界面设 232.基于LabVIEW环境下虚拟调幅波解调器的设计 233.虚拟示波器的设计 234.红外线遥控器系统设计 235.基于LabVIEW的虚拟频谱分析仪的研究与设计 236.低频功率放大器设计 237.银行自动报警系统 238.超媒体技术 239.数字电子钟的设计与制作 240.温度报警器的电路设计与制作 241.数字电子钟的电路设计 242.鸡舍电子智能补光器的设计 243.高精度超声波传感器信号调理电路的设计 245.电子密码锁的电路设计与制作 246.单片机控制电梯系统的设计 247.常用电器维修方法综述 248.控制式智能计热表的设计 249.电子指南针设计 250.汽车防撞主控系统设计 251.单片机的智能电源管理系统 252.电力电子技术在绿色照明电路中的应用 253.电气火灾自动保护型断路器的设计 254.基于单片机的多功能智能小车设计 255.对漏电保护器安全性能的剖析 256.解析民用建筑的应急照明 257.电力拖动控制系统设计 区域降压变电所电气系统的设计 AT89系列通用单片机编程器的设计 260.基于单片机的金属探测器设计 261.双闭环三相异步电动机串级调速系统 262.基于单片机技术的自动停车器的设计 263.自动剪板机单片机控制系统设计 264.单片机电器遥控器的设计 265.试论供电系统中的导体和电器的选择 266.浅论10KV供电系统的继电保护的设计方案 267.论无线通信技术热点及发展趋势 268.论工厂的电气照明 269.论供电系统中短路电流及其计算 270.电气设备的选择与校验 271.电气控制线路的设计原则 272.蓄电池性能测试仪设计 273.红外恒温控制器的设计与制作 274.串联稳压电源的设计 275.智能编码电控锁设计 276.多用定时器的电路设计与制作 277.基于单片机的数字电压表设计 278.智能饮水机控制系统 279.自行车 车速 报警系统 280.大棚仓库温湿度自动控制系统 281.浮点数运算FPGA实现 282.自行车里程,速度计的设计 283.等精度频率计的设计 284.声纳式高度计系统设计和研究 285.集约型无绳多元心脉传感器研究与设计 286.电气电子信息工程,通信工程,课程设计 交流接触器的工艺与工装 288.六路抢答器设计 双闭环不可逆直流调速系统设计 290.机床润滑系统的设计 291.塑壳式低压断路器设计 292.直流接触器设计 工艺流程及各流程分析介绍 294.大棚温湿自动控制系统 295.基于单片机的短信收发系统设计 ――硬件设计 296.三层电梯的单片机控制电路 297.交通灯89C51控制电路设计 298.基于D类放大器的可调开关电源的设计 299.直流电动机的脉冲调速 300.红外快速检测人体温度装置的设计与研制 301.基于8051单片机的数字钟 直流高频开关电源设计 303.继电器保护毕业设计 304.电力系统电压频率紧急控制装置研究 305.用单片机控制的多功能门铃 306.全氢煤气罩式炉的温度控制系统的研究与改造 307.基于ATmega16单片机的高炉透气性监测仪表的设计 308.基于MSP430的智能网络热量表 309.火电厂石灰石湿法烟气脱硫的控制 310.家用豆浆机全自动控制装置 311.新型起倒靶控制系统的设计与实现 312.软开关技术在变频器中的应用 313.中频感应加热电源的设计 314.智能小区无线防盗系统的设计 315.智能脉搏记录仪系统 316.直流开关稳压电源设计 317.用单片机实现电话远程控制家用电器 318.无线话筒制作 319.温度检测与控制系统 320.数字钟的设计 321.汽车尾灯电路设计 322.篮球比赛计时器的硬件设计 323.节能型电冰箱研究 324.交流异步电动机变频调速设计 325.基于单片机控制的PWM调速系统 326.基于单片机的数字温度计的电路设计 327.基于Atmel89系列芯片串行编程器设计 328.基于单片机的实时时钟 329.基于MCS-51通用开发平台设计 330.基于MP3格式的单片机音乐播放系统 331.基于单片机的IC卡智能水表控制系统设计 332.基于MATLAB的FIR数字滤波器设计 333.单片机水温控制系统 334.基于PIC16F74单片机串行通信中继控制器 335.火灾自动报警系统336.基于单片机的电子时钟控制系统337.基于单片机mega16L的煤气报警器的设计338.微机型高压电网继电保护系统的设计 339.智能毫伏表的设计 340.基于单片机的波形发生器设计341.国产化PLC的研制 342.串行显示的步进电机单片机控制系统 343.编码发射与接收报警系统设计:看护机 345.编码发射接收报警设计:爱情鸟346.基于IC卡的楼宇门禁系统的设计 347.基于DirectShow的视频监控系统 348.智能机器人的研究与设计 ——自动循轨和语音控制的349.基于CPLD的出租车计价器设计——软件设计 电子商务在线信任模型实证研究
数字温度计的毕业设计我有。专业毕业论文 如果觉得不会写的话,论文可以直接使用,没有在网上公布的
一篇完整的关于数字温度计的毕业设计或者毕业论文
温度计能够显示时间,温度,日历,这个我以前做过的
你好,我有你需要的设计!需要的联系回答者 目 录 一、引言 4 二、设计内容及性能指标 5 三、系统方案论证与比较 5 (一)、方案一 5 (二)、方案二 6 四、系统器件选择 7 (一)、 单片机的选择 7 1、 89S51 引脚功能介绍 8 (二)、温度传感器的选择 10 1、 DS18B20 简单介绍: 10 2、 DS18B20 使用中的注意事项 12 3、 DS18B20 内部结构 12 4、DS18B20测温原理 16 5、提高DS1820测温精度的途径 17 (三)、显示及报警模块器件选择 18 五、硬件设计电路 18 (一)、主控制器 19 (二)、显示电路 19 (三)、 温度检测电路 20 (四)、温度报警电路 25 六、 软件设计 26 (一)、 概述 26 (二)、主程序模块 26 (三)、各模块流程设计 27 1、 温度检测流程 28 2、报警模块流程 28 3、 中断设定流程 29 七、总结和体会 31 八、致谢 31 仪器简介 数字温度计是测温仪器类型的其中之一。根据所用测温物质的不同和测温范围的不同,有煤油温度计、酒精温度计、水银温度计、气体温度计、电阻温度计、温差电偶温度计、辐射温度计和光测温度计、双金属温度计等。编辑本段仪器参数和适用范围 数字温度计采用进口芯片组装精度高、高稳定性,误差≤, 内电源、微功耗、不锈钢外壳,防护坚固,美观精致。 数字温度计采用进口高精度、低温漂、超低功耗集成电路和宽温型液晶显示器,内置高能量电池连续工作≥5年无需敷设供电电缆,是一种精度高、稳定性好、适用性极强的新型现场温度显示仪。是传统现场指针双金属温度计的理想替代产品,广泛应用于各类工矿企业,大专院校,科研院所。 温度数我们日常生产和生活中实时在接触到的物理量,但是它是看不到的,仅凭感觉只能感觉到大概的温度值,传统的指针式的温度计虽然能指示温度,但是精度低,使用不够方便,显示不够直观,数字温度计的出现可以让人们直观的了解自己想知道的温度到底是多少度。 数字温度计采用温度敏感元件也就是温度传感器(如铂电阻,热电偶,半导体,热敏电阻等),将温度的变化转换成电信号的变化,如电压和电流的变化,温度变化和电信号的变化有一定的关系,如线性关系,一定的曲线关系等,这个电信号可以使用模数转换的电路即AD转换电路将模拟信号转换为数字信号,数字信号再送给处理单元,如单片机或者PC机等,处理单元经过内部的软件计算将这个数字信号和温度联系起来,成为可以显示出来的温度数值,如摄氏度,然后通过显示单元,如LED,LCD或者电脑屏幕等显示出来给人观察。这样就完成了数字温度计的基本测温功能。 数字温度计根据使用的传感器的不同,AD转换电路,及处理单元的不同,它的精度,稳定性,测温范围等都有区别,这就要根据实际情况选择符合规格的数字温度计。 数字温度计有手持式,盘装式,及医用的小体积的等等。仪器发展历史 最早的温度计是在1593年由意大利科学家伽利略(1564~1642)发明的。他的第一只温度计是一根一端敞口的玻璃管,另一端带有核桃大的玻璃泡。使用时先给玻璃泡加热,然后把玻璃管插入水中。随着温度的变化,玻璃管中的水面就会上下移动,根据移动的多少就可以判定温度的变化和温度的高低。温度计有热胀冷缩的作用所以这种温度计,受外界大气压强等环境因素的影响较大,所以测量误差大。 后来伽利略的学生和其他科学家,在这个基础上反复改进,如把玻璃管倒过来,把液体放在管内,把玻璃管封闭等。比较突出的是法国人布利奥在1659年制造的温度计,他把玻璃泡的体积缩小,并把测温物质改为水银,这样的温度计已具备了现在温度计的雏形。以后荷兰人华伦海特在1709年利用酒精,在1714年又利用水银作为测量物质,制造了更精确的温度计。他观察了水的沸腾温度、水和冰混合时的温度、盐水和冰混合时的温度;经过反复实验与核准,最后把一定浓度的盐水凝固时的温度定为0℉,把纯水凝固时的温度定为32℉,把标准大气压下水沸腾的温度定为212℉,用℉代表华氏温度,这就是华氏温度计。 在华氏温度计出现的同时,法国人列缪尔(1683~1757)也设计制造了一种温度计。他认为水银的膨胀系数太小,不宜做测温物质。他专心研究用酒精作为测温物质的优点。他反复实践发现,含有1/5水的酒精,在水的结冰温度和沸腾温度之间,其体积的膨胀是从1000个体积单位增大到1080个体积单位。因此他把冰点和沸点之间分成80份,定为自己温度计的温度分度,这就是列氏温度计。? 华氏温度计制成后又经过30多年,瑞典人摄尔修斯于1742年改进了华伦海特温度计的刻度,他把水的沸点定为0度,把水的冰点定为100度。后来他的同事施勒默尔把两个温度点的数值又倒过来,就成了现在的百分温度,即摄氏温度,用℃表示。华氏温度与摄氏温度的关系为 ℉=9/5℃+32,或℃=5/9(℉-32)。 现在英、美国家多用华氏温度,德国多用列氏温度,而世界科技界和工农业生产中,以及我国、法国等大多数国家则多用摄氏温度。数字温度测量仪表的精度等级和分度值 仪表名称 精度等级 分度值,℃(摄氏度) 双金属温度计 1,, 压力式温度计 1,, 玻璃液体温度计 热电阻 1~10 热电偶 5~20 光学高温计 1~ 5~20 辐射温度计(热电堆) 5~20 部分辐射温度计 1~ 1~20 比色温度计 1~
大学生啊,不会自己找资料,照着做一个出来吗?这还不是要求你独立设计一个呢,真的这么难吗?
数字时钟 电子时钟毕业设计 全路面起重机 玉米脱粒机的设计 毕业设计 连杆孔研磨装置设计毕业设计 硅胶(RB)手机按键模具分析与制作 注射器盖毕业课程设计说明书旁承上平面与下心盘上平面垂直距离检测装置的设计毕业论文 拉线套注射模设计 q 348414338
采用51单片机控制的简易数字钟设计(免费下载)采用51单片机控制的简易数字钟设计(免费下载)一、硬件电路(参见原理图图2)1、电源:51系列单片机需要 5V直流稳压电源。将 220V交流电降压,变压器选择5W,次级电压为 10V。桥式 整流,二极管选择 1 N4002。选三端稳压器7805。2个 1OO u F25V电容在输入和输出滤波。在5V输出端再加一个0 01 u F瓷片电容进行高频滤波。2、复位电路:复位电路采用上电复位和按钮复位。由一个 10 u F的电容和一个按钮以及 51kQ、!.2kQ电阻各一个构成。3、外部晶振电路:外部晶振电路由2个 30pF的电容和一个 12MHz的晶体振荡器构成。4、校时和校分电路:由P3.3外接一个按钮开关到地作为校时键。由P3 2外接一按钮到地作为校分键。5、显示电路:因为P口的灌电流在 15mA左右,可直接驱动数码管。由P0 口和P1口各外接一个共阳极数码管。直接驱动,P0所接数码管显示分,P1所接数码管显示十分,小数点不点亮。P2口外接一个数码管显示小时,但小数点要点亮,用以分隔时分。P3口的P3.1和P3.0分别外接到一数码管的b段和 c段,显示十小时,如果不到十小时,该两段灭。小时的显示为 12进制。二、软件系统软件系统分四个部分:主程序部分。计时显示中断子程序部分,校时中断子程序部分,校分中断子程序部分,分别介绍如下:
电子钟相关毕业设计 ·数字电子钟的电路设计 (字数:9242,页数:22 )·数字电子钟的设计与制作 (字数:8017,页数:22 )·数字钟的设计 (字数:6208,页数:21 )·基于8051单片机的数字钟 (字数:21638,页数:50)·基于单片机的电子时钟控制系统 (字数:7935,页数:42 )·数字电路数字钟设计 (字数:4846,页数:21 )·电子闹钟设计 (字数:4094,页数:19 )·定时闹钟设计 (字数:5714,页数:24 )·智能定时闹钟设计 (字数:3826,页数:18 )·下棋定时钟设计 (字数:5290,页数:24 )·多功能数字钟设计与制作 (字数:13129,页数:34)·基于单片机的电子钟设计 (字数:7710,页数:24 )·基于单片机的数字电子钟设计 (字数:10301,页数:42)·基于Labview的虚拟数字钟设计 (字数:17457,页数:32)·电子日历钟 (字数:10677,页数:33)·数字钟的设计与制作 (字数:4922,页数:23 )·单片机数字钟设计 (字数:15355,页数:47)·基于单片机的数字钟设计 (字数:12541,页数:27)·单片机定时闹钟设计 (字数:8450,页数:24 )·万年历可编程电子钟控电铃 (字数:14371.页数:41)·数字定时闹钟设计 (字数:7770,页数:28 )·基于EDA技术的数字电子钟设计 (字数:12247,页数:32)·多功能时钟打点系统设计 (字数:8353,页数:31 )·智能音乐闹钟设计 (字数:10002,页数:37)·基于AT89S51单片机的数字电子钟设计 (字数:14560,页数:39)
我不是学这个的,帮不上你。
3.数码管的扫描显示:LIBRARY IEEE;USE ; -字模输出模块USE ;ENTITY SEL IS PORT(CLK:IN STD_LOGIC; Q:OUT STD_LOGIC_VECTOR(2 DOWNTO 0)); --输入选通信号END SEL;ARCHITECTURE SELA OF SEL ISBEGIN PROCESS(CLK) VARIABLE CNT:STD_LOGIC_VECTOR(2 DOWNTO 0); BEGIN IF CLK'EVENT AND CLK='1' THEN CNT:=CNT+1; END IF; Q<=CNT; END PROCESS;END SELA;G:整点报时功能: library ieee; --整点报时模块use ;entity sst is port(h1,h0,m1,m0,s1,s0:in std_logic_vector(3 downto 0); q1,q0:in std_logic; -输入分,秒信号和时钟信号 q: out std_logic); --输出两个不同频率的音频信号end sst;architecture sss_arc of sst issignal q3,q4:std_logic;beginprocess(m1,m0,s1,s0)beginif h1="0000" and h0<"0111" then q3<='0';q4<='0';elsif m1="0101"and m0="1001"and s1="0101" thenif s0="0000"or s0="0010"or s0="0100" or s0="0110" or s0="1000" thenq3<='1' ;else --当计时到达59'50" 52" 54" 56" 58"鸣叫,鸣叫频率为500HZ, q3<='0';end if;end if;if h1="0000" and h0<"0111" then q3<='0';q4<='0';elsif m1="0000" and m0="0000"and s1="0000" and s0="0000" thenq4<='1'; 当整点时为最后一声整点报时,频率为1k HZ,elseq4<='0';end if;end process;q<=(q3 and q0)or(q4 and q1);end sss_arc; G:闹钟功能模块:LIBRARY IEEE;USE ;ENTITY NAL IS PORT(M1,M0,H1,H0:IN STD_LOGIC_VECTOR(3 DOWNTO 0); en: in STD_LOGIC; Q:OUT STD_LOGIC);END NAL;ARCHITECTURE NAO OF NAL ISBEGIN PROCESS(M1,M0,H1,H0,EN) BEGINIF EN='0' THENIF H0="1000"AND H1="0000" AND M1="0000" AND M0="0000" THEN Q<='1'; ELSE Q<='0';END IF;ELSE Q<='0';end if;END PROCESS;END NAO;
为期两周的课设已经接近尾声了,在这2周中,我学到了很多,对EDA的认识也进一步加深了。从一个刚入门的学习者,渐渐的爱上了这门技术,虽然说对于EDA的知识还有很多要学习和提高,但是在这2周中我还是感受到这门课程的魅力所在。 在拿到数字钟这个课题时,我和我的合作伙伴对这个课题感到比较轻松,脑海中一下子出现了许多设计念头,于是我们就分头去寻找这方面的资料,通过图书馆的书籍资料,网络上的虚拟资料。在2天的找资料的过程中,我开始觉得所谓的数字钟并非我想象的那么简单。一开始我想到的数字钟只是一般的计数功能并未涉及到调时,调分,和闹铃功能。在如何显示方面也没有细细的考虑过。在看过一些资料后,越来越感觉到数字钟课题并非手到擒来。 在与伙伴商量后,我们以一本参考书的资料为基础开始展开细致设计。我们一开始的输入是有三个模块 ,输入模块,计数模块,和显示模块。对于计数模块我们通过分频方法很快就得到了1HZ的频率用于计数,再通过计数进位标志实现秒,分,时的互相关联,再显示模块,我们通过7段数码管扫描显示也的到了实现。但是在输入模块,我们却遇到了障碍,如何通过硬件上的有限的开关和按钮来实现呢。我们首先想到了 ,做一个可以输入数字的键盘和开关(16*16),可是在想到键盘设计本身就是一个非常复杂的过程,想到2周能做好的话有一定的难度,于是我们果断的放弃了这一计划。那么如何实现输入,这个问题摆在我们面前,我感到了课设以来前所未有的压抑感。通过四个开关控制0—9的输入,但是如何控制是输入的是哪一位,如何进行调时,闹铃控制?都是难题。 在冥想了2天后,我才发现自己陷如了思维的局限性中,为什么一定通过输入来完成调时呢,我们不可以通过他本身的计数功能来调时,这样虽然没有像我们所想的输入调时那样方便,但是它的简单在于充分利用了1HZ频率,通过干扰进位标志进行调时。这一个方法想到后,其他的闹铃功能和报时功能也都迎刃而解了。经过3天的编程和功能完善,我们基本实现了所有的功能,各个模块的编译和仿真也都实现了,第二个星期,实验室开放,我和伙伴就开始进行硬件上的实现了,在完成顶层设计后,我们成功的下载在硬件上了。通过调时后,基本实现了全部功能,并通过了老师的检查。到此本次课设基本上实现了所有的功能,但在有些功能的实现中,还有待提高。比如说对于调时功能,只能等待调时,这样对于调时的机动性不好,如果控制不好,过了应调时间的话,就必须在等一次循环后才能调时,这样就很浪费时间了 。还有就是闹钟功能并未完全实现它,我们只是编写了一个特定的程序来闹铃,闹铃时间已经事先安排好了,无法再通过手动调节了,这样就缺少了人性化。这在课设结束以后,要进一步的改进,争取获得一款高性能的人性化的数字钟。 通过本次课设,我不仅学到了关于EDA的许多专业知识,同时也让我感觉到团队合作的重要性。其实如何有效和快速的找到资料也是课设给我的启发,利用好图书馆和网络,是资源的到最好的利用。如果我们一味的屋子里苦思冥想那么再给2周的时间或许也不会有数字钟诞生,所以我觉得与他人交流思想是取得成功的关键,在交流中,不仅强化了自己原有的知识体系也可以扩展自己的思维。通过思考、发问、自己解惑并动手、改进的过程,才能真正的完成课题。经过这次课程设计的过程,我相信在以后的课程设计中我们会吸取经验教训,做出更好的设计来。