基于stc89c52rc单片机的电子时钟设计内容摘要:
设计的制作过程。 在这个过程中我收获的不只是制作成了一个能实现特定功能的电路 板,更重要的是在自己亲自的制作过程中发现任何小的问题都至关重要,任何大的问题基本不应该出现。 只有通过亲自操作才能发现问题,最重要的是要能在老师同学的帮助下解决问题,达到设计要求。 致谢 通过这次毕业设计的制作及论文的完成,我得到了鹤壁职业技术学院司老师的悉心指导和帮助,使我能够顺利完成毕业论文及电路板的制作在此表示衷心的感谢。 同时也得到了同学们的密切合作和帮助在此一并表示真诚的感谢。 附录 1(程序) //include define uint unsigned int include include include sbit k4=P1^3。 char k=0。 char shi,fen,miao,nian,yue,ri。 char baojingshi,baojingfen,baojingmiao。 void sjdisplay()。 void rqdisplay()。 void baojingdisplay()。 void delay(uint ms)。 void display(char shu,char wei)。 char table[]={0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8, 0x80,0x90,0x88,0x83, 0xc6,0xa1,0x86,0x8e}。 void main() { ds1302_write(0x80,0x55)。 ds1302_write(0x82,0x45)。 ds1302_write(0x84,0x00)。 ds1302_write(0x8c,0x11)。 ds1302_write(0x88,0x10)。 ds1302_write(0x86,0x07)。 while(1) { if(k4==0) { delay(5)。 if(k4==0) { while(k4==0)。 k++。 if(k==3) { k=0。 } } } if(k==0) sjdisplay()。 if(k==1) rqdisplay()。 if(k==2) baojingdisplay()。 if((shi==baojingshi)amp。 amp。 (fen==baojingfen)amp。 (miao==baojingmiao)) { didi(10)。 } key()。 } } void sjdisplay() { shi=ds1302_read(0x85)。 //hour fen=ds1302_read(0x83)。 //minites miao=ds1302_read(0x81)。 //second display((shi4)amp。 0x07,0)。 display(shiamp。 0x0f,1)。 display((fen4)amp。 0x07,3)。 display(fenamp。 0x0f,4)。 display((miao4)amp。 0x07,6)。 display(miaoamp。 0x0f,7)。 } void rqdisplay() { nian=ds1302_read(0x8d)。 //nian yue=ds1302_read(0x89)。 //yue ri=ds1302_read(0x87)。 //ri display((nian4)amp。 0x07,0)。 display(nianamp。 0x0f,1)。 display((yue4)amp。 0x07,3)。 display(yueamp。 0x0f,4)。 display((ri4)amp。 0x07,6)。 //0000 0111 display(riamp。 0x0f,7)。 } void baojingdisplay() { display(baojingshi/10,0)。 display(baojingshi%10,1)。 display((baojingfen/10,3)。 display(baojingfen%10,4)。 display((baojingmiao/10,6)。 display(baojingmiao%10,7)。 } void delay(uint ms) { uint i,j。 for(i=ms。 i0。 i) for(j=124。 j0。 j)。 } void display(char shu,char wei) { P0=table[shu]。 P2=~(1wei)。 delay(3)。 P2=0xff。 } // // include define uchar unsigned char define uint unsigned int sbit rst=P1^2。 sbit dat=P1^1。 sbit clk=P1^0。 void ds1302_write(char m,char dat1) { char temp,t。 rst=0。 clk=0。 rst=1。 temp=m。 for(t=0。 t8。 t++) { if(tempamp。 0x01) dat=1。 else dat=0。 clk=1。 temp=(temp1)。 clk=0。 } temp=dat1。 for(t=0。 t8。 t++) { if((tempamp。 0x01)==1)//0000 0001 dat=1。 else dat=0。 clk=1。 temp=temp1。 clk=0。 } rst=0。 } uchar ds1302_read(char m) { char temp,t。 rst=0。 clk=0。 rst=1。 temp=m。 for(t=0。 t8。 t++) { if(tempamp。 0x01) dat=1。 else dat=0。 clk=1。 temp=temp1。 clk=0。 } temp=0。 //00000000 for(t=0。 t8。 t++) { temp=temp1。 if(dat==1) temp=temp|0x80。 else temp=tempamp。 0x7f。 clk=1。 clk=0。 } rst=0。 return temp。 } ////include define char signed char define uint unsigned int sbit mode=P1^4。 sbit add=P1^5。 sbit sub=P1^6。 char mod=0。 extern void delay(uint ms)。 extern char shi,fen,nian,yue,ri。 extern char baojingshi,baojingfen。 extern char ds1302_read(char)。 extern void ds1302_write(char,char)。 void key() { shi=ds1302_read(0x85)。 fen=ds1302_read(0x83)。 if(mode==0) { delay(5)。 if(mode==0) { while(mode==0)。 mod++。 if(mod==8) { mod=0。 } } } if(add==0) { delay(5)。 if(add==0) { while(add==0)。 if(mod==1) { shi=(((shi4)amp。 0x03)*10+(shiamp。 0x0f))+1。 if(shi==24) { shi=0。 } ds1302_write(0x84,((sh。基于stc89c52rc单片机的电子时钟设计
相关推荐
08 a8255 table[hour_zhi_2_c10] delay void display_1 b8255 0x01 a8255 table[1] delay void display_2 b8255 0x02 a8255 table[2] delay 六 声光报警子程序 程序清单如下 void baojing_1 if INT1 1 display_1 J8 0 光报警程序开始位置
序存储器或数据存储器时, ALE(地址锁存允许)输出脉冲用于锁存地址的低 8 位字节。 一般情况下, ALE 仍以时钟振荡频率的 1/6 输出固定的脉冲信号,因此它可对外输出时钟或用 于定时目的。 要注意的是:每当访问外部数据存储器时将跳过一个 ALE 脉冲。 对 Flash 存储器编程期间,该引脚还用于输入编程脉冲( PROG)。 如有必要,可通过对特殊功能寄存器( SFR)区中的 8EH
2 627P 2 021P 2 526P 2 122P 2 425P 2 223P 2 324G N D208 0 5 2R12 0 0R21 0 K复位按键C11 0 u FC23 0 u FC33 0 u FC41 0 u FC50 .1 u FXTG N DG N DV C C+ 5 VV C C+ 5 VG N D 图 STC89C52 最小系统 LCD1602 液晶显示器介绍 LCD
储器 RCAP2L和 RCAP2H中的数值是通过软件编程预设置的 ( 3) 波特率发生 模式 : T2CON的控制位 TCLK以及 RCLK允许 T/C1或者 T/2从串行口发送和接收波特率,寄存器 TCLK=0, T/C1作 为串行口发送波特率的发生器,当寄存器 TCLK=1时, T/C2作为串行口波特率发生器,寄存器 RCLK对接收的波特率作用是相同的,通过 TCLK和 RCLK两个寄存器
重、高难度的新工作,要谦虚谨慎,戒骄戒躁,主动向老同 志求教,虚心听取别人意见。 工作中,要有宽广的胸怀,要有容人、容言、容事之大气量。 现在这个浮躁的社会,大家都带着有色眼镜看待公务员。 而我们作为新进公务员,不必理会外人的眼光,唯一需要做的是:不忘初心,方得始终。 我的演讲到此结束,谢谢大家。 市委书记在第一季度党建工作调度会上的讲话 最 新精 品 资料推荐 提 供全程指导服务 2020
分为三类:反应式步进电动机、永磁式步进电动机、混合式步进电动机。 按照相数又分为:两相、三相、五相,等步进电动机。 本设计中 以最简单的两相五线步进电动机为例来说明问题。 两相五线制 步进电动机的结构: 基于 STC89C51单片机的步进电机脉 冲分配器设计 8 图 31两相五线制步进电动机定、转子结构图 两相五线制 步进电动机的旋转: 如下图 33所示,若 A 相通电, 其他 相不通电时