lCD时钟日历设计报告

lCD时钟日历设计报告
lCD时钟日历设计报告

此报告供参考,剩下自己修改添加完善

LCD屏幕显示硬件系统设计电路图(a)

一方案设计及方案论证

1.时钟温度的总体设计思路

按照老师的设计功能要求,电话机LCD屏幕显示系统设计必须采用单片机软件系统实现,用单片机的自动控制能力配合现有的按键控制,来控制时钟、日历星期的调整及显示。获得时钟日历星期数据信息,单片机对其进行一系列的处理,最后通过LCD液晶屏幕显示出来。

2.时钟温度系统方案论证

2.1时钟系统方案选择

方案1:通过单片机内部的定时器/计数器,用软件实现,直接用单片机的定时器编程以实现时钟、日历、星期;(原理为:在单片机内部存储器设三个字

节分别存放时钟的时、分、秒信息。利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将时字节清零。该方案具有硬件电路简单的特点,但当单片机不上电,程序将不执行。而且由于每次执行程序时,定时器都要重新赋初值,所以该时钟精度不高。)括号部分可不要

方案2:用专门的时钟芯片实现时钟的记时,再把时间日历数据送入单片机,由单片机控制显示。(该芯片内部采用石英晶体振荡器,其芯片精度不大于10ms/年,且具有完备的时钟闹钟功能,因此,可直接对其以用于显示或设置,使得软件编程相对简单。为保证时钟在电网电压不足或突然掉电等突发情况下仍能正常工作,芯片内部包含锂电池。当电网电压不足或突然掉电时,可使系统自动转换到内部锂电池供电系统。而且即使系统不上电,程序不执行时,锂电池也能保证芯片的正常运行,以备随时提供正确的时间。)括号部分可不要

虽然用软件实现时钟硬件线路简单,但是程序运行的每一步都需要时间,多一步或少一步程序都会影响记时的准确度,对定时器定时也不是十分准确,时钟精度很低,对于我们实现所需要的功能造成软件编程非常复杂。用专用时钟芯片硬件成本相对较高,但它的精度很高,软件编程很简单。但考虑方案1节省成本,对内部的定时器/计数器方面的知识比较了解熟悉,因此采用方案1。

2.2单片机的选择

对于单片机的选择,如果用8031系列,由于它没有内部RAM,系统又需要大量内存存储数据,因而不可用;51系列单片机的ROM为4K,对于我们设计的系统可能有点小;52系列单片机与51系列的结构一样,而ROM扩大为8K,对我们设计系统提供充足的空间进行功能的扩展。再有51系列单片机与52系列的单片机价格差不多。因此,我们选择52系列的单片机。

2.3 显示系统的方案比较

方案1:用数码管或LED显示。

方案2:用液晶162显示。

方案3:用液晶12864显示。

时钟和日历星期的显示可以用数码管或LED,而且价格便宜。但是数码管的只能显示简单的设计的系统,与我们设计要求也不相符。有很多东西需要显示,还是用显示功能更好的液晶显示器比较好,它能显示更多的数据,用162液晶显示数据有限,显示数据的可读性不好,用可以显示汉字的12864液晶显示器还可以增加显示信息的可读性,让人看起来会很方便。另外它们在价格上差距很大,考虑成本我们首选162。所以选择方案2。

2.4 报警系统的方案比较

方案1:用单片机板上长鸣的蜂鸣器实现定时闹钟功能。

方案2:用喇叭加语音芯片实现定时闹钟功能。

用喇叭加语音芯片成本很高,但声音还不错,再有喇叭体积庞大。用用单片机板上蜂鸣器,节约了成本和设计的时间。限于设计所需要的功能,用蜂鸣器是最佳选择。所以我们采用方案1.

2.5 键盘控制方案选择

方案1:采用矩阵键盘,采用矩阵形式连接。

方案2:采用单片机实验板上固有的按键作为校时调整控制。

虽然矩阵键盘调整简单快速,考虑到程序设计的便捷但我们觉得还是用方案2。

二、硬件系统方框图

三、硬件电路设计

硬件系统设计电路图如(a)所示,单片机的P1口为LCD液晶显示的引脚

接口。单片机的P2^0~P^3、P3^3引脚作为按键接口,其中P2^0为设置闹

钟项选择键,P2^1为调整时间项选择键,P2^2为调整时间或设置闹钟加1键,P2^3为调整时间或设置闹钟减1键,P3^3为闹钟停止键。Reset为复

位键,P1-0为蜂鸣器接口,高电平驱动蜂鸣器鸣叫,模拟闹钟起闹。

LCD 162的相关说明

(LCD液晶显示的资料介绍和外观图形,)

四、软件系统程序设计流程图

(自己参考书本P245~P251及参考资料)

五、调试结果分析及使用操作说明

1)软件调试

软件调试,我是在keil软件平台和单片机学习板上来完成的。当我写部分程序在keil软件经过调试,开始出现很多错误和警告。通过逐个错误排错及修改。得出下列经验,(1)调用函数最好在头文件中进行申明,主函数写在最后;(2)特别注意一些字母的大小写,一般要用英语文字写,不要用中文汉写,这是最不容易检查的,如我在检查液晶显示程序时,时钟没检查到错误,最后我删掉此行重新写,错误排除了,据我分析可能是中英文变换时出现问题。

经过一系列排错,最后文件没有错误但还有警告。由于c语言中有警告是没关系的,我将HEX文件下在到单片机竟显示一些乱码。我有回到文件,经过对警告的分析及上网查阅。将程序稍微修改警告慢慢被排除,最后没有错误和警告了,下载到单片机,发现乱码竟然还出现,还有多个界面叠加显示,里面还有一些乱码。经过分析,叠屏现象是没有对液晶清平所致。于是我又在不同界面程序前加入调用填充空格函数,然后又下载,结果与前面一样。经过几个小时后,无意间我去掉调用函数前void,结果叠屏现象解决。还有在定时计数时出现了计数不准确,通过修改定时器部分程序,问题也得到了解决。还另外在闹钟部分不能起闹,原因是由于LCD液晶函数部分和闹铃比较函数出现了小问题,经过不断调试才得已解决。

调试正确后,第一行显示年月日星期和"@_@",第二行显示时分秒和"Tu Nian ",并且能正常行走,按下相应键能实现相应的功能。

2)使用操作说明

程序修改编译无误后,将HEX文件下在到单片机,按下单片机电源开关键,刚开始如出现乱码,按一下复位键,LCD液晶显示屏正常显示。当按下P2^0键时,设置闹钟功能,第一次调整时,第二次调整分,第三次调整秒,调整完3秒后恢复正常模式,闹铃设鸣叫5s;当按下P2^1键时,对应调整项闪烁,定时器停止计数,开始对日历和时间调整,前三次为年月日星期调整,后三次为时分秒调整;当按下P2^2键时,设置日历时间或闹钟加1,加1调整完3秒后恢复正常行走;当按下P2^3键时,设置日历时间或闹钟减1,减1调整完3秒后恢复正常行走;当按下P3^3键时,可对闹钟终止鸣叫。

源程序:

#include

#include

#define uchar unsigned char

#define uint unsigned int

//#define LCD_EN_PORT P1

//#define LCD_RS_PORT P1

#define LCD_DATA_PORT P1

#define LCD_EN P1_3

#define LCD_RS P1_2

/**********************函数声明***************************/

void LCD_write_char (unsigned char Data,unsigned char command);//写命令或写数据函数void LCD_init (void);//液晶初始化函数

void LCD_en_write (void);//液晶使能函数

void LCD_write_char (uchar command,uchar Data);//写命令或写数据函数

void LCD_set_xy (uchar x, uchar y); //设置显示位置函数

void LCD_write_string (uchar X,uchar Y,uchar *s);//写字符串函数

void delay_nus (uint n);//延时函数

void delay_nms (uint n); //延时函数

void Set_Time(uchar sel,uchar sel_1);

void set_alarm(uchar sel,uchar sel_1);

extern void delay_nms(unsigned int n);

uchar Data1[13]={0,0,0,0,0,0,0,0,0,0,0,0,0};

uchar Data2[13]={0,0,0,0,0,0,0,0,0,0,0,0,0};

uchar Data3[9]={0,0,0,0,0,0,0,0,0};

uint run_nian();//判断是否为闰年

unsigned char tab[]="Tu Nian ";

unsigned char tab0[]="@_@";

uint count=0;

uchar count1=0;

uint count2=0;

uchar h,msec;

uchar SJ=0;//调整时间选择

uchar NZ=0;// 设置闹钟选项

uint nian=2011; //年初始值

uchar yue=4,ri=8,xq=5,hour=0,min=0,sec=0;//月、日。时。分。秒初始值

uchar alarm_hour=0,alarm_min=0,alarm_sec=0; //闹钟时。分。秒初始值

bit clear_flag=0; //液晶清除屏幕标志

bit Flicker; //调整时间及设置闹钟位闪烁标志

bit alarm_flag=0; //闹钟起闹标志

bit flag=0; //显示屏幕切换标志

bit start_alarm_flag=0;//

sbit key_alarm=P2^0;//设置闹钟项选择键

sbit key_moda=P2^1; //调整时间项选择键

sbit key_up=P2^2; //调整时间或设置闹钟加1键

sbit key_Down=P2^3; //调整时间或设置闹钟减1键

sbit alarm_stop=P3^3;//闹钟停止键

/********************液晶初始化函数************************/

void LCD_init(void)

{

delay_nms(5);

LCD_write_char(0x28,0); //4位显示

LCD_write_char(0x0c,0); //显示开

LCD_write_char(0x06,0);

LCD_write_char(0x01,0); //清屏

}

/********************液晶使能函数************************/

void LCD_en_write(void)

{ LCD_EN=0;

delay_nus(2);

LCD_EN=1;

delay_nus(2);

LCD_EN=0;

}

/*********************写命令或写数据函数*******************/

void LCD_write_data(unsigned char Data_command)

{ unsigned char temp;

temp=Data_command;

LCD_DATA_PORT&=0X0f; //LCD_DATA_PORT=LCD_DATA_PORT&0X0f LCD_DATA_PORT|=temp&0xf0; //写高四位

LCD_en_write();

temp=temp<<4;

LCD_DATA_PORT&=0x0f;

LCD_DATA_PORT|=temp&0xf0; //写低四位

LCD_en_write();

}

/*********************写命令和写数据函数*******************/

//参数:command=1,写数据,command=0写命令

void LCD_write_char(unsigned char Data_or_command,unsigned char command) {

if(command==0)

{LCD_RS=0; //RS=0,选择指令寄存器

LCD_write_data(Data_or_command);

else

{

LCD_RS=1; //RS=1,选择数据寄存器

LCD_write_data(Data_or_command);

}

}

/**********************设置显示地址函数********************/

void LCD_set_xy( unsigned char x, unsigned char y )

{

unsigned char address;

if (y == 0)

address = 0x80 + x;

else

address = 0xc0 + x;

LCD_write_char( address, 0 );

}

/*********************写字符串函数************************/

//参数:X为显示在第几列,Y为显示在第几行,s为待显示字符串

void LCD_write_string(unsigned char X,unsigned char Y,unsigned char *s) {

LCD_set_xy( X, Y ); //写地址

while (*s) // 写显示字符

{

LCD_write_char(*s,1);

s ++;

}

}

/*******************延时函数*************************/

//系统时钟:12MHZ

void delay_nus( uint n) //N us延时函数

{

unsigned int i=0;

for (i=0;i

_nop_();

}

void delay_nms( uint n) //N ms延时函数

{

uchar i=0;

while(n--)

{

for (i=0;i<125;i++);

}

/*******************定时器0初始化函数*********************/ void TIMER0_init()

{TMOD=0x12; //定时器T1方式1,定时器T0方式2

TH0=0x06; //12MHz晶振,250us定时初值

TL0=0x06;

TH1=0x3c; //12MHz晶振,50ms定时初值

TL1=0xb0;

EA=1;

ET0=1;

TR0=1;

ET1=1;

TR1=1;

}

/********************定时器0中断函数************************/ unsigned int run_nian()////判断是否为闰年

{

uint run;

if((nian%4==0&&nian%100!=0)||nian%400==0)//闰年的条件

run=1;

else

run=0;

return run;

}

void TIMER0_OVER(void) interrupt 1

{ unsigned int count; // 中断次数计数值

TH0=0x06;

TL0=0x06;

count++;

if(count==4000)

{count=0;

clear_flag=1;//置液晶清除屏幕标志为1

sec++; //秒加1

if(sec==60)

{sec=0;

min++; //分加1

if(min==60)

{min=0;

hour++; // 时加1

if(hour==24)

{hour=0; //时清0

ri++;xq++;

if (xq>7) xq=1;

if (yue==1||yue==3||yue==5||yue==7||yue==8||yue==10||yue==12)

if ( ri>31) { ri=1;xq++;yue++;} //大月31天

if (yue==4||yue==6||yue==9||yue==11)

if (ri>30) {ri=1;xq++;yue++;} //小月30天

if (yue==2)

{if( run_nian()) //闰年的条件

{if (ri>29) {ri=1;xq++;yue++;}} //闰年2月为29天

else

{if (ri>28) {ri=1;xq++;yue++;}} //平年2月为28天

}

if (yue>12) {yue=1;nian++;xq++;}

if (nian>2100) nian=0;

//{if (xq=7) xq=1;}

}

}

}

}

}

/***************年、月、日转换程序********************/

//作用:处理显示数据年、月、日

void RiQi_process(uchar *p1)

{ p1[0]=((uchar)(nian/1000))+0x30;

p1[1]=((uchar)(nian%1000/100))+0x30;

if(SJ==1&&Flicker==1)

{p1[2]=' ';

p1[3]=' ';

}

else

{p1[2]=((uchar)(nian%1000%100/10))+0x30;

p1[3]=((uchar)(nian%1000%100%10))+0x30;

}

p1[4]='-';

if(SJ==2&&Flicker==1)

{p1[5]=' ';

p1[6]=' ';

}

else

{p1[5]=yue/10+0x30;

p1[6]=yue%10+0x30;}

p1[7]='-';

if(SJ==3&&Flicker==1)

{p1[8]=' ';

p1[9]=' ';

}

else

{p1[8]=ri/10+0x30;

p1[9]=ri%10+0x30;

p1[10]='-';

}

if(SJ==3&&Flicker==1)

{p1[11]=' ';

p1[12]=' ';

}

else

{//p1[11]=xq/10+0x30;

p1[11]=xq%10+0x30; }

p1[12]='\0'; //结束标示

}

/***************时、分、秒转换程序********************/ //作用:处理显示数据时、分、秒

void ShiJian_process(uchar *p2)

{ if(SJ==4&&Flicker==1)

{p2[0]=' ';

p2[1]=' ';

}

else

{p2[0]=hour/10+0x30;

p2[1]=hour%10+0x30;

}

p2[2]=':';

if(SJ==5&&Flicker==1)

{p2[3]=' ';

p2[4]=' ';

}

else

{p2[3]=min/10+0x30;

p2[4]=min%10+0x30;

}

p2[5]=':';

if(SJ==6&&Flicker==1)

{p2[6]=' ';

p2[7]=' ';

}

else

{p2[6]=sec/10+0x30;

p2[7]=sec%10+0x30;

}

p2[8]='\0'; //结束标示

}

/***************闹钟处理子程序********************/ //作用:处理设置闹钟时的显示数据时、分、秒

void NaoZhong_process(uchar *p3)

{if(NZ==1&&Flicker==1)

{p3[0]=' ';

p3[1]=' ';

}

else

{p3[0]=alarm_hour/10+0x30;

p3[1]=alarm_hour%10+0x30;

}

p3[2]=':';

if(NZ==2&&Flicker==1)

{p3[3]=' ';

p3[4]=' ';

}

else

{p3[3]=alarm_min/10+0x30;

p3[4]=alarm_min%10+0x30;

}

p3[5]=':';

if(NZ==3&&Flicker==1)

{p3[6]=' ';

p3[7]=' ';

}

else

{p3[6]=alarm_sec/10+0x30;

p3[7]=alarm_sec%10+0x30;

}

p3[8]='\0'; //结束标示

}

/*****************定时器1中断函数*****************/ void timer_1(void) interrupt 3 //中断入口,闪烁

{

TH1=0x3C; //50ms定时晶振12M

TL1=0xB0;

if(count1++==10) //500ms

{count1=0;

Flicker=!Flicker;

if(msec++==20) //1000ms

{ msec=0;

if(h++==3) //3秒后进入正常走时。

{SJ=0;h=0;NZ=0;TR0=1;flag=0;clear_flag=1;} }

if(start_alarm_flag==1)

{if(count2++==100) //5秒后闹钟停止

{count2=0;alarm_flag=0;start_alarm_flag=0;} }

}

/*****************按键扫描程序****************************/ void key_scan()

{if(alarm_stop==0) //闹钟停止

{

delay_nms(10);

if(alarm_stop==0)

alarm_flag=0;

start_alarm_flag=0;

}

if(key_alarm==0) //设置闹钟

{

delay_nms(10);

if(key_alarm==0)

{NZ++;

flag=1;

SJ=0;

if(NZ>3)

{NZ=0;

flag=0;

clear_flag=1;

start_alarm_flag=1;

}

while(key_alarm==0)

{

LCD_write_string(0,0,Data1);

LCD_write_string(13,0,tab0);

LCD_write_string(0,1,"NaoLing:");

LCD_write_string(8,1,Data3);

}

h=0;msec=0;

}

}

if (key_moda==0) //调整时间选择项目键

delay_nms(10);

if(key_moda==0)

{

SJ++;

NZ=0;

flag=0;

if(SJ>6)

SJ=0;

TR0=1; //T0重新开始计时

clear_flag=1;

}

h=0;msec=0; //5秒后自动清除闪烁标志

while(key_moda==0)

{

LCD_write_string(0,0,Data1);

LCD_write_string(13,0,tab0);

LCD_write_string(0,1,Data2);

LCD_write_string(9,1,tab);

}

}

if(SJ!=0||NZ!=0)

{if(SJ!=0)

TR0=0; //调整时间,T0停止计时

clear_flag=0;

if (key_up==0) //增加

{ delay_nms(10);

if(key_up==0)

{

while(key_up==0)

{

if(flag==0) //时间显示

{LCD_write_string(0,0,Data1);

LCD_write_string(13,0,tab0);

LCD_write_string(0,1,Data2);

LCD_write_string(9,1,tab);

}

else

{LCD_write_string(0,0,Data1); //设置闹钟显示

LCD_write_string(13,0,tab0);

LCD_write_string(0,1,"NaoLing:");

LCD_write_string(8,1,Data3);

}

}

h=0;msec=0; //5秒后自动清除闪烁标志

if(SJ!=0)

Set_Time(SJ,0); //调用时间调整子程序

else if(NZ!=0)

set_alarm(NZ,0);

}

}

else if (key_Down==0) //减少

{ delay_nms(10);

if(key_Down==0)

{

while(key_Down==0)

{

if(flag==0)

{LCD_write_string(0,0,Data1);

LCD_write_string(13,0,tab0);

LCD_write_string(0,1,Data2);

LCD_write_string(9,1,tab);

}

else

{LCD_write_string(0,0,Data1);

LCD_write_string(13,0,tab0);

LCD_write_string(0,1,"NaoLing:");

LCD_write_string(8,1,Data3);

}

}

h=0;msec=0; //清闪烁标志

if(SJ!=0)

Set_Time(SJ,1); //调用时间调整子程序

else if(NZ!=0)

set_alarm(NZ,1);

}

}

}

}

/***********************时间调整函数******************/

//sel为调整项目,sel_1为0,加1调整,为1减1调整

void Set_Time(uchar sel,uchar sel_1)

{

if(sel==1) //调整年

{if (sel_1==0)

{nian++; //年加1

if(nian>2099)

nian=2010;

}

else

{nian--; //年减1

if(nian<2010)

nian=2099;

}

}

else if(sel==2) //调整月

{if (sel_1==0) //月加1

{yue++;

if(yue>12)

yue=1;

}

else //月减1

{yue--;

if(yue<1)

yue=12;

}

}

else if(sel==3) //调整日

{if (sel_1==0) //日加1

{ri++;xq++;

if(xq>7)

xq=1;

if(yue==4||yue==6||yue==9||yue==11) //4月,6月,9月,11月{if(ri>30)

ri=1;

}

else if(yue==2) //2月

{if((nian%4==0&&nian%100!=0)||nian%400==0)//闰年

{if(ri>29)

ri=1;

}

else //非闰年

{if(ri>28)

ri=1;

}

}

else //1月,3月,5月,7月,8月,10月,12月

{if(ri>31)

ri=1;

}

}

else //日减1

{ri--;xq--;

if(xq<1)

xq=7;

if(yue==4||yue==6||yue==9||yue==11) //4月,6月,9月,11月{if(ri<1)

ri=30;

}

else if(yue==2) //2月

{if((nian%4==0&&nian%100!=0)||nian%400==0)//闰年

{if(ri<1)

ri=29;

}

else //非闰年

{if(ri<1)

ri=28;

}

}

else //1月,3月,5月,7月,8月,10月,12月

{if(ri<1)

ri=31;

}

}

}

else if(sel==4) //调整时

{if (sel_1==0) //时加1

{hour++;

if(hour>23)

hour=0;

}

else //时减1

{hour--;

if(hour==-1)

hour=23;

}

}

else if(sel==5) //调整分

{if (sel_1==0) //分加1

{min++;

if(min>59)

min=0;

}

else //分减1

{min--;

if(min==-1)

min=59;

}

}

else if(sel==6) //调整秒

{if (sel_1==0) //秒加1

{sec++;

if(sec>59)

sec=0;

}

else //秒减1

{sec--;

if(sec==-1)

sec=59;

}

}

}

/****************设置闹钟函数***************/

//sel为调整项目,sel_1为0,加1调整,为1减1调整void set_alarm(uchar sel,uchar sel_1)

{if(sel==1) //调整时

{if (sel_1==0) //时加1

{alarm_hour++;

if(alarm_hour>23)

alarm_hour=0;

}

else //时减1

{alarm_hour--;

if(alarm_hour==-1)

alarm_hour=23;

}

}

else if(sel==2) //调整分

{if (sel_1==0) //分加1

{alarm_min++;

if(alarm_min>59)

alarm_min=0;

}

else //分减1

{alarm_min--;

if(alarm_min==-1)

alarm_min=59;

}

}

else if(sel==3) //调整秒

{if (sel_1==0) //秒加1

{alarm_sec++;

if(alarm_sec>59)

alarm_sec=0;

}

else //秒减1

{alarm_sec--;

if(alarm_sec==-1)

alarm_sec=59;

}

}

}

/*****************闹钟比较子程序*********************/

void alarm_compare()

{if((hour==alarm_hour)&&(min==alarm_min)&&(sec==alarm_sec)) {alarm_flag=1; //闹钟起闹标志置1

count2=0;msec=0;

}

if(alarm_flag==1) //闹钟起闹

{ P1_0=0;

delay_nms(200);

P1_0=1;

}

}

/***************主函数**********************/

void main(void)

{ TIMER0_init();

LCD_RS=1;

LCD_EN=1;

P1_1=1;

LCD_init(); //调用液晶初始化函数

while(1) //1秒到,清除液晶屏幕

{ if(clear_flag)

{LCD_write_char(0x01,0);

clear_flag=0;

}

RiQi_process(Data1);

if(flag==0) //调整时间及正常走时显示

{ShiJian_process(Data2);

LCD_write_string(0,0,Data1);

LCD_write_string(13,0,tab0);

LCD_write_string(0,1,Data2);

LCD_write_string(9,1,tab); //tab0

}

else //设置闹钟显示

{NaoZhong_process(Data3);

LCD_write_string(0,0,Data1);

LCD_write_string(13,0,tab0);

LCD_write_string(0,1,"NaoLing:");

LCD_write_string(8,1,Data3);

}

key_scan(); //调用按键扫描程序

if(start_alarm_flag==1)

alarm_compare(); //调用闹钟比较子程序}

}

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

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

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

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

大三机械课程设计说明书

机械设计课程设计 计算说明书 设计题目:带式输送机的传动装置设计 任务序号 2-3 专业班 学号 设计者 指导教师

目录 一、课程设计任务 ............................................................................... - 3 - 二、传动装置总体设计 ....................................................................... - 4 - 三、传动件设计 ................................................................................... - 8 - 四、装配草图设计 ............................................................................. - 18 - 五、轴的计算与校核 ......................................................................... - 20 - 六、轴承基本额定寿命计算 ............................................................. - 27 - 七、键的挤压强度校核计算 ............................................................. - 29 - 八、箱体结构的设计 ......................................................................... - 30 - 九、设计小结...................................................................................... - 32 - 附件一.................................................................................................. - 33 -

单片机课程设计-万年历、数字时钟

单片机课程设计-万年历、数字时钟 采用MAX7221可以极大的节省I/O口线,同时DS1302时钟芯片可以提供精确的时间信息 汇编语言程序编写 DSRST BIT P1.0 DSCLK BIT P1.1 DSIO BIT P2.2 DIN BIT P2.5 CS BIT P2.6 CLK BIT P2.7 D158 EQU 30H D70 EQU 31H ADDRESS EQU 32h CONTENT EQU 33h COMMAND EQU 34h SECOND equ 35h MINITE equ 36h HOUR equ 37h ORG 0000H LJMP MAIN ORG 0030H MAIN: LCALL INTI7221 LCALL INTI1302

LOOP: LCALL READ1302 LCALL CONVERT LCALL DELAY LCALL DISPLAY LCALL DELAY SJMP LOOP ;DS1302初始化 INTI1302:MOV ADDRESS, #8EH MOV CONTENT, #00H LCALL SENT_BYTE MOV ADDRESS, #90H MOV CONTENT, #0A7H ;慢充电寄存器LCALL SENT_BYTE READ1302: MOV ADDRESS, #81h LCALL REV_BYTE MOV SECOND, A MOV ADDRESS, #83h LCALL REV_BYTE MOV MINITE, A MOV ADDRESS, #85h LCALL REV_BYTE MOV HOUR, A RET SENT_BYTE: CLR DSRST CLR C NOP CLR DSCLK NOP SETB DSRST MOV A, ADDRESS MOV R3, #2 MOV R2, #8 LOOP0: RRC A MOV DSIO, C SETB DSCLK NOP CLR DSCLK DJNZ R2, LOOP0 MOV A, CONTENT MOV R2, #8 DJNZ R3, LOOP0 CLR DSRST RET

电子时钟课程设计.

单片机实训课题电子时钟 班级11电气本1班学号4110211140 姓名陈后亥 指导教师叶文通 日期2013.12.30~2014.1.3

摘要 随着时代的进步,越来越多的电子厂品趋向于低成本,高性能,耐用性好的方向发展。特别是趋向于自动化控制的方向走。89c51作为控制芯片是最好不过的选择啦。它具有强大的功能,并且简单易于操作,安全性与稳定性较高,价格便宜,适合中小型电子厂品开发中的控制器。就像我们的课程设计,基于89c51单片机的电子时钟的课程设计。 这款课程设计用到的主要材料有89c51单片机,1602液晶显示屏,矩阵键盘,以及一些电容电阻元件等等。 使用89c51作为电子时钟的控制器很简单,就是由于其经济型与稳定性和易操作性。显示电路上,选择使用1602液晶显示屏上。1602不仅操作上臂数码管简单许多,而且使用1602能在很大程度上是电路图尽量简化,便于操作与错误的检修。并且1602价格也比较便宜。 基于89c51电子时钟的设计,利用了单片机内部的一个自带定时/计数器来实现定时功能,并通过内部程序,实现对时分秒,年月日这几个输出数值的自增,并且通过编写程序,实现通过键盘控制时分秒,年月日大小的调整,这是必要的功能。最后通过1602液晶显示电路将时间显示在其上。 这样的电子时钟比较精准,其主要误差来源与晶振的误差,即使是这样,他的误差也只是微妙级别,对于日常生活中的时间计数是足够的。 关键词:89c51单片机;1602液晶显示屏;矩阵键盘;keil软件

目录摘要 1单片机简介 1.1 单片机概述 1.2 单片机基本结构 21602液晶显示屏简介 1.11602显示原理 1.21602指令集合 3 电子时钟硬件设计 3.1 功能框图 3.2 单片机复位与晶振电路 3.3 1602显示电路 3.4 总体电路设计 4 电子时钟软件设计 4.1 程序流程框图 4.2 程序源代码 参考文献 致谢

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

目录 一、引言········ 二、设计课题········· 三、系统总体方案········· 四、系统硬件设计······ 1.硬件电路原理图 2.元件清单 五、系统软件设计········· 1.软件流程图 2.程序清单 六、系统实物图········ 七、课程设计体会········ 八、参考文献及网站········· 九、附录·········

一.引言 单片机因将其主要组成部分集成在一个芯片上而得名,就是把中央处理器、随机存储器、只读存储器、中断系统、定时器/计数器以及I/O接口电路等部件集成在一个芯片上。 基于单片机设计的数字钟精确度较高,因为在程序的执行过程中,任何指令都不影响定时器的正常计数,即便程序很长也不会影响中断的时间。 数字钟是采用数字电路实现对日期、时、分、秒,数字显示的计时装置,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表的报时功能。数字钟已成为人们日常生活中的必需品,广泛应用于家庭、车站、码头、剧院、办公室等场所,给人们的生活、学习、工作带来极大的方便。不仅如此,在现代化的进程中,也离不开电子钟的相关功能和原理,比如机械手的控制、家务的自动化、定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。而且是控制的核心部分。因此,研究数字钟及扩大其应用,有着非常现实的意义。 本设计使用12MHZ晶振与单片机AT89C51相连接,以AT89C51芯片为核心,采用动态扫描方式显示,通过使用该单片机,加之在显示电路部分使用HD74LS373驱动电路,实现在8个LED数码管上显示时间,通过4个按键进行调时、复位等功能,在实现各功能时数码管进行相应显示。软件部分用C语言实现,分为显示、延迟、调时、复位等部分。通过软硬件结合达到最终目的。

大三课程设计模板

编号: 审定成绩: 重庆邮电大学 物联网工程课程设计(报告)设计题目:行走过程中的加速度测试节点设计 学院名称:自动化学院 学生姓名:张三 专业:物联网工程 班级:0000 学号:0000 指导教师:李四 填表时间:2015 年11 月 重庆邮电大学教务处制

一、题目:行走过程中的加速度测试节点设计 二、设计任务: 运用所学传感器技术、计算机网络和物联网工程等方面的知识,设计基于三轴加速度传感器的测试节点,获取行走过程中的手臂或小腿加速度,完成数字量输入或模拟量输入的硬件设计和低功耗无线通信协议软件设计等工作。具体任务如下: 三、设计要求: 1.画出加速度测试节点的结构图。 2.选择低功耗无线通信芯片和三轴加速度传感器,设计硬件电路。 3.开发完成zigbee协议,完成与上位机的通信。 4.画出程序流程图并编写调试代码。 四、参考资料: 1. 李朝青.《单片机原理及接口技术》(简明修订版).北京航空航天大学出版社,1998年. 2. 胡向东.《传感技术》.重庆大学出版社,2006年第1版. 3. 谭浩强.《C语言程序设计》.北京:清华大学出版社,2002年. 4. 谢希仁.《计算机网络》.北京:电子工业出版社,2003年.

摘要 一级标题使用三号宋体、二级标题使用四号宋体,正文使用小四宋体。正文用小四字体,中文为宋体,英文为Times New Roman,行距要求统一,推荐1.5倍行距。 关键词:小四字体,宋体,Times New Roman

目录 1 系统方案 (1) 1.1 传感器网络概述 (1) 1.2 系统结构 (1) 参考文献 (2)

最全最好的课程设计-51单片机电子日历时钟( 含源程序)

LED日历时钟课程设计 院系: 班级: 姓名: 学号: 指导教师: 2012 年06 月16 日

目录

摘要 单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。由于具有上述优点,在我国,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面,而51单片机是各单片机中最为典型和最有代表性的一种。这次毕业设计通过对它的学习、应用,以AT89S51芯片为核心,辅以必要的电路,设计了一个简易的电子时钟,它由4.5V直流电源供电,通过数码管能够准确显示时间,调整时间,从而到达学习、设计、开发软、硬件的能力。 第一章前言 数字电子钟具有走时准确,一钟多用等特点,在生活中已经得到广泛的应用。虽然现在市场上已有现成的电子钟集成电路芯片,价格便宜、使用也方便,但是人们对电子产品的应用要求越来越高,数字钟不但可以显示当前的时间,而且可以显示期、农历、以及星期等,给人们的生活带来了方便。另外数字钟还具备秒表和闹钟的功能,且闹钟铃声可自选,使一款电子钟具备了多媒体的色彩。单片机具有体积小、功能强可靠性高、价格低廉等一系列优点,不仅已成为工业测控领域普遍采用的智能化控制工具,而且已渗入到人们工作和和生活的各个角落,有力地推动了各行业的技术改造和产品的更新换代,应用前景广阔。 时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:一是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要求不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法,典型的时钟芯片有:DS1302,DS12887,X1203等都可以满足高精度的要求。 AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k B ytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。 AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。

数字电子钟课程设计

数字电子钟课程设计 The Standardization Office was revised on the afternoon of December 13, 2020

单片机技术课程设计说明书 数字电子钟 系、部:电气与信息工程学院 学生姓名:段仁亮 指导教师:王韧职称副教授 专业:电气自动化技术 班级:电气1001班 完成时间: 2012年10月10日

《单片机技术》课程设计任务书 一、设计题目:数字电子钟、数字频率计、数字电压表、交通灯、抢答器、密 码锁、波形发生器、数字温度计、计算器、数字式秒表。 二、适用班级:电气1001~3 三、指导教师:王韧 四、设计目的与任务: 学生通过理论设计和实物制作解决相应的实际问题,巩固和运用在《单片机技术》中所学的理论知识和实验技能,掌握单片机应用系统的一般设计方法,提高设计能力和实践动手能力,为以后从事电子电路设计、研发电子产品打下良好的基础。 五、设计内容与要求 设计内容 1、数字电子钟 设计一个具有特定功能的电子钟。该电子钟上电或按键复位后能自动显示系统提示符“P.”,进入时钟准备状态;第一次按电子钟启动/调整键,电子钟从0时0分0秒开始运行,进入时钟运行状态;再次按电子钟启动/调整键,则电子钟进入时钟调整状态,此时可利用各调整键调整时间,调整结束后可按启动/调整键再次进入时钟运行状态。 2、数字频率计 设计一个能够测量周期性矩形波信号的频率、周期、脉宽、占空比的频率计。该频率计上电或按键复位后能自动显示系统提示符“P.”,进入测量准备状态。按频率测量键则测量频率;按周期测量键则测量周期;按脉宽测量键则测量脉宽;按占空比测量键则测量占空比。 3、数字电压表 设计一个能够测量直流电压的数字电压表。测量电压范围0~5V,测量精度小数点后两位。该电压表上电或按键复位后能自动显示系统提示符“P.”,进入测量准备状态,按测量开始键则开始测量,并将测量值显示在显示器上,按测量结束键则自动返回“P.”状态。 4、交通灯

数字电子钟课程设计实验报告

中北大学 信息与通信工程学院 通信工程专业 《电子线路及系统》课程设计任务书2016/2017 学年第一学期 学生姓名:张涛学号: 李子鹏学号: 课程设计题目:数字电子钟的设计 起迄日期:2017年1月4日~2017年7月10日 课程设计地点:科学楼 指导教师:姚爱琴 2017年月日 课程设计任务书

中北大学 信息与通信工程学院 通信工程专业 《电子线路及系统》课程设计开题报告2016/2017 学年第一学期 题目:数字电子钟的设计 学生姓名:张涛学号: 李子鹏学号:

指导教师:姚爱琴 2017 年 1 月 6 日 中北大学 信息与通信工程学院 通信工程专业 《电子线路及系统》课程设计说明书2016/2017 学年第二学期 题目:数字电子钟的设计 学生姓名:张涛学号: 李子鹏学号: 指导教师:姚爱琴 2017 年月日

目录 1 引言 (6) 2 数字电子钟设计方案 (6) 2.1 数字计时器的设计思想 (6) 2.2数字电路设计及元器件参数选择 (6) 2.2.2 时、分、秒计数器 (7) 2.2.3 计数显示电路 (8) 2.2.5 整点报时电路 (10) 2.2.6 总体电路 (10) 2.3 安装与调试 (11) 2.3.1 数字电子钟PCB图 (11) 3 设计单元原理说明 (11) 3.1 555定时器原理 (12) 3.2 计数器原理 (12) 3.3 译码和数码显示电路原理 (12) 3.4 校时电路原理 (12) 4 心得与体会 (12) 1 引言 数字钟是一种用数字电子技术实现时,分,秒计时的装置,具有较高的准确性和直观性等各方面的优势,而得到广泛的应用。此次设计数字电子钟是为了了解数字钟的原理,在设计数字电子钟的过程中,用数字电子技术的理论和制作实践相结合,进一步加深数字电子技术课程知识的理解和应用,同时学会使用Multisim电子设计软件。 2数字电子钟设计方案 2.1 数字计时器的设计思想 要想构成数字钟,首先应选择一个脉冲源——能自动地产生稳定的标准时间脉冲信号。而脉冲源产生的脉冲信号地频率较高,因此,需要进行分频,使得高频脉冲信号变成适合于计时的低频脉冲信号,即“秒脉冲信号”(频率为1Hz)。经过分频器输出的秒脉冲信号到计数器中进行计数。由于计时的规律是:60秒=1分,60分=1小时,24小时=1天,就需要分别设计60进制,24进制计数器,并发出驱动信号。各计数器输出信号经译码器、驱动器到数字显示器,是“时”、“分”、“秒”得以数字显示出来。 值得注意的是:任何记时装置都有误差,因此应考虑校准时间电路。校时电路一般

太原理工大学热动大三锅炉课程设计

太原理工大学 热能 与动力

《锅炉原理》 课程设计示例说明

课程设计示例 1.设计任务书 2. 原始资料 锅炉型式:带有屏式过热器的汽包锅炉 额定蒸发量:D=220t/h 过热器温度:t=540℃ 过热器压力:p gr=100kgf/cm2(表压) 给水温度:t gs=215℃ 热空气温度:t rk=400℃ 排烟温度:θ=130℃ 冷空气温度:t lk=30℃ 设计煤种:某无烟煤,成分如下, C y=63%,H y=1.938%,O y=2.16%,N y=0.555%,S y=0.62%,A y=22.017%,W y=9.71%, Q y d=22558kJ/kg 制粉系统:本锅炉采用钢球磨煤机中间贮仓式热风送粉系统 锅炉给定参数: 给水温度:t gs=215℃,锅炉负荷:D=220t/h,过热蒸汽压力:p gr=100kgf/cm2(表压),过热蒸汽温度:t gr=540℃汽包工作压力:p=112 kgf/cm2(绝对) 3.改烧煤种的元素分析数据校核和煤种判别 3.1 改烧煤种数据 C y=66.70%,H y=3.20%,O y=2.10%,N y=1.25%,S y=2.47%,A y=17.97%,W y=6.31%, V r=9.41%,Q y d=25191kJ/kg t1=1190℃,t2=1340℃,t3=1450℃,K km=1.6 3.2 元素成分校核

C y+H y+O y+N y+S y+A y+W y=66.7+3.2+2.1+1.25+2.47+17.97+6.31=100.00%, 元素分析正确。 3.3 发热量计算 应用基低位发热量 Q y dw′=339C y+1030H y-109(O y-S y-25W y 3.4 煤种判别 V r=?<10%,煤种为无烟煤 S y zs=4187S y/ Q y dw A y zs=4187A y/ Q y dw W y zs=4187W y/ Q y dw 4.锅炉结构特性(见结构计算书) 5.锅炉汽水系统(见任务书)(附) 6.燃烧产物和锅炉热平衡计算 6.1 理论空气量和理论烟气容积 6.2 空气平衡表

dsp时钟日历课程设计

课程设计说明书(本科) 题目: 时钟日历 姓名: 专业: 电子信息工程 班级: 09级一班 2012年 6 月

目录 摘要 (1) 一、硬件设计 (1) 1、硬件方案设计 (1) 2、单元电路设计 (2) 3、电路原理图 (5) 4、硬件调试 (6) 二、软件设计 (6) 1、系统分析 (6) 2、软件系统设计 (7) 3、软件代码实现 (9) 4、软件调试 (24) 四、课程设计体会总结 (24) 五、参考文献 (24)

时钟日历 摘要:课程设计的主要目的是用tms320f2812芯片为核心控制部件,设计一个能用LCD液 晶显示屏显示当前年,月,日,时,分,秒以及星期的具有电子时钟功能的万年历。 ⑴学习并了解ICETEK-F2812-A板及教学实验箱的使用; ⑵学习DSP芯片的I/O端口的控制方法; ⑶熟悉字模的简单构建和使用; ⑷熟悉Emulator方式下的程序调试规程,并最终能够熟练掌握在DSP软硬件环境下 的程序开发流程;能够对现有器件进行简单地编程,实现各种简单地显示控制。 关键词:dsp 时钟日历 一、硬件设计 1、硬件方案设计 本系统以TMS2812为核心控制部件,利用软件编程,通过DS1302进行时钟控制,使用12864 LCD液晶显示器进行时钟显示,能实现题目的基本要求,尽量做到硬件电路简单稳定,减小电磁干扰和其他环境干扰,充分发挥软件编程的优点,减小因元器件精度不够引起的误差。由于时间有限和本身知识水平的发挥,我们认为本系统还有需要改进和提高的地方,例如选用更高精度的元器件,硬件电路更加精确稳定,软件测量算法进一步的改进与完善等。总体框图如图1所示。 GND +5V ADD PWM4 PWM3 VSS PWM2 V0 IOPA7 IOPA6 IOPA5 REST IOPA4 IOPA3 OSCBYP TXAL1 TXAL2 IOPB0- IOPB7 E CS1 CS2 R/W RS DB0-DB7 RST I/O SCLK VCC1/VCC2 X1/X2 GND 复位电路 OSCBYP为高电平。采 用内部振荡 双电源 32768hz 10K DS1302

数字电子钟课程设计报告-数电

华东交通大学理工学院课程设计报告书所属课程名称数字电子技术课程设计题目数字电子钟课程设计分院电信分院 专业班级10电信2班 学号20100210410201 学生姓名陈晓娟 指导教师徐涢基 20 12 年12 月18 日

目录 第1章课程设计内容及要求 (3) 第2章元器件清单及主要器件介绍 (5) 第3章原理设计和功能描述 (10) 第4章数字电子钟的实现 (15) 第5章实验心得 (17) 第6章参考文献 (18)

第1章课程设计内容及要求 1.1 数字钟简介 20世纪末,电子技术获得了飞速的发展。在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高、产品更新换代的节奏也越来越快。数字钟已成为人们日常生活中必不可少的生活日用品。广泛用于个人家庭以及车站、码头、剧场、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性能稳定、集成电路有体积小、功耗小、功能多、携带方便等优点。 因此本次设计就用数字集成电路和一些简单的逻辑门电路来设计一个数字式电子钟,使其完成时间及星期的显示功能。多功能数字钟采用数字电路实现对“时”、“分”、“秒”数字显示的计时装置。具有时间显示、走时准确、显示直观、精度、稳定等优点,电路装置十分小巧,安装使用也方便而受广大消费的喜爱。 1.2 设计目的 1. 掌握组合逻辑电路、时序逻辑电路及数字逻辑电路系统的设计、安装、测试方法;

2. 进一步巩固所学的理论知识,提高运用所学知识分析和解决实际问题的能力; 3. 提高电路布局,布线及检查和排除故障的能力。 1.3 设计要求 1. 设计一个有“时”、“分”、“秒”(23小时59分59秒)显示,且有校时功能的电子钟。 2. 用中小规模集成电路组成电子钟,并在实验箱上进行组 装、调试。 3. 画出框图和逻辑电路图、写出设计、实验总结报告。 4. 整点报时。在59分59秒时输出信号,音频持续1s,在结束时刻为整点。

课程设计心得体会3篇

课程设计心得体会3篇 课程设计的理论产生于对课程设计实践的考察。下面是为大家带来的课程设计心得体会,希望可以帮助大家。 课程设计心得体会范文1:机械设计课程设计心得体会 经过一个月的努力,我终于将机械设计课程设计做完了。在这次作业过程中,我遇到了许多困难,一遍又一遍的计算,一次又一次的设计方案修改这都暴露出了前期我在这方面的知识欠缺和经验不足。刚开始在机构设计时,由于对Matlab软件的基本操作和编程掌握得还可以,不到半天就将所有需要使用的程序调试好了。可是我从不同的机架位置得出了不同的结果,令我非常苦恼。后来在钱老师的指导下,我找到了问题所在之处,将之解决了。 同时我还对四连杆机构的运动分析有了更进一步的了解。在传动系统的设计时,面对功率大,传动比也大的情况,我一时不知道到底该采用何种减速装置。最初我选用带传动和蜗杆齿轮减速器,经过计算,发现蜗轮尺寸过大,所以只能从头再来。这次我吸取了盲目计算的教训,在动笔之前,先征求了钱老师的意见,然后决定采用带传动和二级圆柱齿轮减速器,也就是我的最终设计方案。至于画装配图和零件图,由于前期计算比较充分,整个过程用时不到一周,在此期间,我还得到了许多同学和老师的帮助。在此我要向他们表示最诚挚的谢意。整个作业过程中,我遇到的最大,最痛苦的事是最后的文档。一来自己没有电脑,用起来很不方便;最可恶的是在此期间,一种电脑病毒"Word杀手"四处泛滥,将我辛辛苦苦打了几天的文档全部毁了。那么多的公式,

那么多文字就这样在片刻消失了,当时我真是痛苦得要命。 尽管这次作业的时间是漫长的,过程是曲折的,但我的收获还是很大的。不仅仅掌握了四连杆执行机构和带传动以及齿轮,蜗杆传动机构的设计步骤与方法;也不仅仅对制图有了更进一步的掌握;Matlab和Auto CAD ,Word这些仅仅是工具软件,熟练掌握也是必需的。对我来说,收获最大的是方法和能力。那些分析和解决问题的方法与能力。在整个过程中,我发现像我们这些学生最最缺少的是经验,没有感性的认识,空有理论知识,有些东西很可能与实际脱节。总体来说,我觉得做这种类型的作业对我们的帮助还是很大的,它需要我们将学过的相关知识都系统地联系起来,从中暴露出自身的不足,以待改进。有时候,一个人的力量是有限的,合众人智慧,我相信我们的作品会更完美! 课程设计心得体会范文2: 三周半的机械课程设计结束了,说是三周半,实则两周半,第一周因连续有三门课程要考试,因而无暇搞设计,两周半的时间紧迫,于是不得不晚上和周末抽时间来继续搞设计,时间抓的紧也很充实。 作为一名机械设计制造及自动化大三的学生,我觉得能做这样的课程设计是十分有意义。在已度过的两年半大学生活里我们大多数接触的是专业基础课。我们在课堂上掌握的仅仅是专业基础课的理论面,如何去面对现实中的各种机械设计?如何把我们所学到的专业基础理论知识用到实践中去呢?我想做类似的大作业就为我们提供了良好的实践平台。在做本次课程设计的过程中,我感触最深的当属查阅了很多次设计书和指导书。为了让自己的设计更加完善,更加符合工

日历时钟单片机课程设计

单片机课程设计 ——日历时钟与键盘显示程序设计 姓名:管曌 学号:3081109003 班级:J通信0801 指导老师:熊书明

日历时钟与键盘显示程序设计 一、设计目的 (1)能在LED显示器上实现正常的时分秒计时 (2)能通过键盘输入当前时间,并从该时间开始计时 (3)有校时、校分功能 (4)有报时功能,通过指示灯表示 (5)有闹时功能,闹时时间可以设定,通过指示灯表示 二、设计内容 该课程设计是利用MCS-51单片机内部的定时/计数器、中断系统、以及行列键盘和LED显示器等部件,设计一个单片机电子时钟。设计的电子时钟通过数码管显示,并能通过按键实现设置时间和暂停、启动控制等。 三、MCS-51单片机系统简介 单片机应用系统由硬件系统和软件系统两部分组成。硬件系统是指单片机以及扩展的存储器、I\O接口、外围扩展的功能芯片以及接口电路。软件系统包括监控程序和各种应用程序。 在单片机应用系统中,单片机是整个系统的核心,对整个系统的信息输入、处理、信息输出进行控制。与单片机配套的有相应的复位电路、时钟电路以及扩展的存储器和I\O接口,使单片机应用系统能够运行。 在一个单片机应用系统中,往往都会输入信息和显示信息,这就涉及键盘和显示器。在单片机应用系统中,一般都根据系统的要求配置相应的键盘和显示器。配置键盘和显示器一般都没有统一的规定,有的系统功能复杂,需输入的信息和显示的信息量大,配置的键盘和显示器功能相对强大,而有些系统输入/输出的信息少,这时可能用几个按键和几个LED指示灯就可以进行处理了。在单片机应用系统在中配置的键盘可以是独立键盘,也可能是矩阵键盘。显示器可以是LED指示灯,也可以是LED数码管,也可以是LCD显示器,还可以使用CRT显示器。单片机应用系统中键盘一般用的比较多的是矩阵键盘,显示器用的比较多的是LED数码管还LCD显示器。 四、设计方案

电子课课程设计电子钟

南航数字电子技术课程设计报告 题目:数字钟的设计与制作 学年:06学年学期:第二学期 专业:机械工程及自动化 班级:0504107 学号姓名:李晓云 吉晶晶 时间:2006年6月30日— 2006年7月3日 数字电子技术课程设计报告 一、设计目的 数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。 数字钟从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。 因此,我们此次设计与制作数字钟就是为了了解数字钟的原理,从而学会制作数字钟.而且通过数字钟的制作进一步的了解各种在制作中用到的中小规模集成电路的作用及实用方法.且由于数字钟包括组合逻辑电路和时叙电路.通过它可以进一步学习与掌握各种组合逻辑电路与时序电路的原理与使用方法.

二、设计内容及要求 (1)设计指标 ①由晶振电路产生1HZ标准秒信号; ②分、秒为00~59六十进制计数器; ③时为00~23二十四进制计数器; ④周显示从1~日为七进制计数器; ⑤具有校时功能,可以分别对时及分进行单独校时,使其校正到标准时 间; ⑥整点具有报时功能,当时间到达整点前鸣叫五次低音(500HZ),整点 时再鸣叫一次高音(1000HZ)。 (2)设计要求 ①画出电路原理图(或仿真电路图); ②元器件及参数选择; ③电路仿真与调试。 (3)制作要求自行装配和调试,并能发现问题和解决问题。 (4)编写设计报告写出设计与制作的全过程,附上有关资料和图纸,有心得体会。 三、原理框图 数字钟实际上是一个对标准频率(1HZ)进行计数的计数电路。由于计数的起始时间不可能与标准时间(如北京时间)一致,故需要在电路上加一个校时电路,同时标准的1HZ时间信号必须做到准确稳定。通常使用石英晶体振荡器电路构成数字钟。数字电子钟的总体图如图(1)所示。由图

数字电子时钟课程设计总结报告

《数字逻辑电路设计》课程设计 总结报告 题目:数字电子钟设计 指导教师: 设计人员: (学号): 班级:

日期:2018年12月

一.设计任务书 任务:数字电子钟设计 基本设计要求:仿真实现数字电子钟 1.要求能显示“时”“分”“秒” 2.时24小时,分60分钟,秒60。 3.能够校时,校分 电路在实验箱上实现 二.设计框图及整机概述 设计框图: 概述:数字电子时钟电路系统由秒信号发生器、校分校时电路、“时、分、秒”计数器和“时、分、秒”显示器组成。秒信号发生器将秒信号送入秒计时器,秒计时器为六十进制计数器,每计六十个数便发送分脉冲信号给分计数器,分计数器也为六十进制计数器,每计六十个数便发送时脉冲信号给时计数器,时计数器是二十四进制计数器。“时、分、秒”显示器将计数器输

出的状态显示出来。 三.各单元电路的设计方案及原理说明 1.六十进制计数器 计数器是对cp脉冲进行计数的时序逻辑电路。“分”和“秒” 的计数由六十进制计数器实现,74LS161为16进制计数器, 两片74LS161EP和ET恒为1,均工作在计数状态,当分个位 和秒个位计数器计到9(1001)时,CLOR端为高电平,经反 相器后使时位CLK端为低电平。当下一个计数输入脉冲到达后,个位记成0(0000),此时CLOR端跳回低电平,时位计数1。 计数器从0开始计数,当计入60个脉冲时,经与非门产生低 电平,立即将两片74LS161同时置零,得到60进制计数器。 2.二十四进制计数器 时的计数由二十四进制计数器实现,当计入24个脉冲的

时候,经与非门产生的低电平信号即将两片74LS161同时置零,得到二十四进制计数器。 3.显示电路 计数器输出的是8421BCD码,需译码器将其转为阿拉伯数字。 4.校时电路 利用校时电路截断分十位和时十位的直接计数通路,当校时电路中的开关截断时,其中的与非门一端接高电平,另一端接秒/分十位的进位输出端,若秒/分十位的进位输出端输出的是低电平,则分/时个位的CLK有低电平的信号输入,此时得到

大三下期课程表

湖南文理学院芙蓉学院2015~2016学年度春(夏)季学期程表 专业:机械设计制造及其自动化班级:机自1302 39人星期一星期二星期三星期四星期五 1 . 2 节数控技术 46+8(7-14) T2-D201 王良 液压与气压传动 54+8(7-14,16-18)三节连上 T1-B102 陈克飞 塑料成型工艺及模具设计 32+4(7-14,16-18) T2-D201 陈克飞 液压与气压传动 54+8(7-14,16-18) T2-D201 陈克飞 数控技术 46+8(10-12)T2-D101 王良 塑料成型工艺及模具设计 32+4(13-14,16-18)T2-D101陈克飞 3 . 4 节 机械优化设计 32+4(7-14,16-18) T2-D101 罗佑新 机械优化设计 32+4(7-11) T2-D101 罗佑新 机械制造装备设计 54+4(7-14,16-18) T1-A602 李玲芳 微机原理与接口技术 54+12(12-14,16-17) T2-D101 陈丹 5 . 6 节微机原理与接口技术 54+12(7-14,16-18) T2-D101 陈丹 微机原理与接口技术 54+12(7-14,16-18) T2-D101 陈丹 数控技术 46+8(7-14)三节连上 T2-D201 王良 机械制造装备设计 54+4(7-14,16-18)三节连上 T2-D101 李玲芳 7 . 8 节 9 . 10 节大学生职业发展与就业指导 12(2-7) T2-D301 曾炜光 备注:1、第8-9节:19:00-20:40。机械制造技术课程设计1-2周机械楼502杨继荣生产实习3-6周数控技术课程设计15周机械楼机房李志刚

日历时钟单片机课程设计(附汇编程序+方案图+模块图+ddb模拟图)

;山东科技大学信电通信07-1 lfj 作品lifaji@https://www.360docs.net/doc/d112443410.html, 方案一:

方案二:

采用方案二。模块图

; ------------------------- 按键说明-------------------------;--------------------------1键——进入可调状态-------------------------; -------------------------2键——结束返回-------------------------; -------------------------3键——秒加1/日加1 -------------------------; -------------------------4键——分加1/月加1 -------------------------; -------------------------5键——显示24小时制/时加1/年加1-------------------------; -------------------------6键——显示12小时制-------------------------; -------------------------7键——可调时间-------------------------; -------------------------8键——可调日期-------------------------CLK BIT P1.6 ;时钟信号端 DISP BIT P1.7 ;串出锁存端 DBUF EQU 30H ;秒的最低位地址 LED BIT P1.1 CHANGE2 BIT 21H ;加12的标志位 AD1 EQU 40H ;秒 AD2 EQU 41H ;分 AD3 EQU 42H ;时 AD4 EQU 43H ;天 AD5 EQU 44H ;月 AD6 EQU 45H ;年 ; 初始化存储单元结束 ORG 0000H LJMP MAIN ORG 000BH ;T0中断入口 LJMP INT ORG 0030H MAIN: MOV R0,#AD1 MOV R7,#06H LOOP0: MOV A,#00H MOV @R0,A INC R0 DJNZ R7,LOOP0 ;R0~R7清零 MOV AD1,#37H MOV AD2,#22H MOV AD3,#0CH MOV AD4,#08H MOV AD5,#08H MOV AD6,#08H ;初始化时间为12:34:56,日期为08年08月08日 MOV IE,#82H ;允许T0中断

数电课程设计数字电子钟说明书

数字电子技术电路课程设计题目:数字钟课程设计 学院:XXXXX 专业:XXXXX 班级:XXXX 姓名:XXXX 学号:XXXXX 指导老师:XXXXX

一、设计目的 数字钟是一种用数字电子技术实现时,分,秒计时的装置,具有较高的准确性和直观性等各方面的优势,而得到广泛的应用。此次设计数字电子钟是为了了解数字钟的原理,在设计数字电子钟的过程中,用数字电子技术的理论和制作实践相结合,进一步加深数字电子技术课程知识的理解和应用,同时学会使用Multisim电子设计软件。 二、设计要求 1.显示时,分,秒,用24小时制 2.能够进行校时,可以对数字钟进行调时间 3.能够正点报时(用555产生断续音频信号); 三、设计方案比较 方案一、采用中小规模集成电路实现 采用集成逻辑电路设计具有能实现,时、分、秒计时功能和定点报时功能,计时模块采用时钟信号触发,不需要程序控制。 方案二:EDA技术实现 采用EDA作为主控制器外围电路进行电压,时钟控制、键盘和LED控制。但此方案逻辑电路复杂,外围设备多,灵活性较低,不利于扩展 方案三、单片机编程实现 此方案采用单片机编程来设计和控制。 综上,根据自身的知识和方案比较,采用方案一,因为方案一简便灵活,扩展性好,同时符合此次数子电子知识设计的要求。 四、设计过程和说明 1.数字电子钟计时和显示功能的实现 (1)采用两片十进制计数器74LS160N扩展连接,设计60进制的计数器,显示0到59,在59时采用置数的方法,将两片74LS160N同时置数至0,以循环显示0到59。(图)

(2)24进制亦采用两片十进制计数器74LS160N扩展连接,设计24进制的计数器,显示0到23,在23时采用置数的方法,将两片74LS160N同时置数至0,以循环显示0到23(图)

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

单片机电子时钟设计 一、作品功能介绍 该作品是个性化电子钟设计,技术上主要用单片机(AT89S52)主控,6位LED数码显示,分别显示“小时:分钟:秒”。该作品主要用于24小时计时显示,能整时报时,能作为秒表使用,能定时闹铃1分钟。 功能介绍: (1)上电以后自动进入计时状态,起始于00:00:00。 (2)设计键盘调整时间,完成时间设计,并设置闹钟。 (3)定时时间为1/100秒,可采用定时器实现。 (4)采用LED数码管显示,时、分,秒采用数字显示。 (5)采用24小时制,具有方便的时间调校功能。 (6)具有时钟和秒表的切换功能。 使用方法: 开机后时钟在00:00:00起开始计时。 (1)长按P3.2进入调分状态:分单元闪烁,按P3.2加1,按P3.3减1.再长按P3.2进入时调整状态,时单元闪烁,加减调整同调分.按长按退出调整状态。 (2)(2)按P3.3进入设定闹时状态: 12:00: ,可进行分设定,按P3.4分加1,再按P3.2为时调整,按P3.4时加1,按P3.3调闹钟结束.在闹铃时可按P3.2停闹,不按闹铃1分钟。 (3)按下P3.4进入秒表状态:再按P3.4秒表又启动,按P3.4暂停,再按P3.4秒表清零,按P3.4退出秒表回到时钟状态。 二、电路原理图 如原理图所示,硬件系统主要由单片机最小应用系统、LED数码管显示模块、电源模块、晶振模块、按键模块等组成。

电子时钟原理图 各个模块设计 1.单片机系统 AT89S52 AT89S52概述:是一款非常适合单片机初学者学习的单片机, 它完全兼容传统的8051,8031的指令系统,他的运行速度 要比8051快最高支持达33MHz的晶体震荡器,在此系统中 使用12MHz的晶振。 AT89S52具有以下标准功能: 8k字节Flash,256字节 RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三 个16 位定时器/计数器,一个6向量2级中断结构,全双 工串行口,片内晶振及时钟电路。另外,AT89S52 可降至 0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模 式下,CPU停止工作,允许RAM、定时器/计数器、串口、中 断继续工作。掉电保护方式下,RAM内容被保存,振荡器被

相关文档
最新文档