• 大小: 7KB
    文件类型: .c
    金币: 1
    下载: 0 次
    发布日期: 2021-05-24
  • 语言: C/C++
  • 标签: ARM  电子时钟  

资源简介

利用ARM 7芯片和LCD显示器,通过C语言编译,完成实时时钟(RTC)的显示。 源程序编译、调试通过,下载到实验箱中,实现电子时钟功能,并在LCD上显示类似的时钟界面,动态显示当前的时间,包括:年、月、日、时、分、秒,时针,分针、秒针必须为动态实时指示当前的时间。

资源截图

代码片段和文件信息

#include “lcp21xx.h“
#include “config.h“
#define STACKSIZE 256
#define x_line 160
#define y_line 80
OS_STK_DATA  stk;
extern  GUI_FONT CHINESE_FONT12;
extern  GUI_FONT CHINESE_FONT16;
extern  GUI_FONT GUI_Font8x16;
OS_EVENT * Send_LCD_Sem;
OS_EVENT *Key_Mbox;

I8 Hour[3]Min[3]Sec[3];
I8 hour = 0 min = 0 sec = 0ms;
I8 YEA1[3]YEA2[3]MON[3]DAY[3];
int yea1 = 20yea2=11 mon = 6 day = 23;
I8 XH0[3]XH1[3]XH2[3]XH3[3];
I8 XH4[3]XH5[3]XH6[3]XH7[3];
char xh0=01xh1=62xh2=31xh3=03;
char xh4=32xh5=36xh6=02xh7=12;
//int TimeCount = 0;
int SpaceXS[61]={160165170175180185
189193197201205
206207208209210
209208207206205
201197193189185
180175170165160
155150145140135
131127123119115
114113112111110
111112113114115
119123127131135
140145150155160            
 }
 SpaceYS[61]={3031323334
  3539434751
  5560657075
  80859095100
  105109113117121
  125126127128129
  130129128127126
  125121117113109
  105100959085
  8075706560
  5551474339
  353433323130}
 SpaceXM[61]={160164168172176180183186189192
    195196197198199200199198197196
    195192189186183180176172168164
    160156152148144140137134131128
    125124123122121120121122123124
    125128131134137140144148152156
    160           
     }
 SpaceYM[61]={40414243444548515457
    60646872768084889296
    100103106109112115116117118119
    120119118117116115112109106103
    100969288848076726864
    60575451484544434241
    40
   }
 SpaceXH[13]={160175185190185175160145135130135145160}
 SpaceYH[13]={50556580951051101059580655550}
 *Placex=&SpaceXS[0]*Placey=&SpaceYS[0]*Placexm=&SpaceXM
[0]*Placeym=&SpaceYM[0]
 *Placexh=&SpaceXH[0]*Placeyh=&SpaceYH[0];
void Display_xh1(char xx1char yy1);
void Display_xh2(char xx2char yy2);
void Display_xh3(char xx3char yy3);


void Shows()
{
 show(sec);
     Set_Color(GUI_GRAY);      //擦除上一秒的
     Draw_Line(x_liney_line*Placex*Placey);
     Placex=Placex+1;
     Placey=Placey+1;
    
     Set_Color(GUI_YELLOW);   //显示下一秒的  
     Draw_Line(x_liney_line*Placex*Placey);

     Set_Color(GUI_RED);      //显示下一分的
     
     Draw_Line(x_liney_line*Placexm*Placeym);
     Set_Color(GUI_GREEN);   //显示下一时的  
     Draw_Line(x_liney_line*Placexh*Placeyh);
    
     if(Placex==&SpaceXS[60]&&Placey==&SpaceYS[60])
     {
      Placex=&SpaceXS[0];
      Placey=&SpaceYS[0];
     }   
}

void Showm()
{
     
 Set_Color(GUI_GRAY);      //擦除上一分的
 Draw_Line(x_liney_line*Placexm*Placeym);
     Placexm=Placexm+1;
 Placeym=Placeym+1;
 Set_Color(GUI_RED);      /

评论

共有 条评论