内容发布更新时间 : 2024/11/19 21:26:02星期一 下面是文章的全部内容请认真阅读。
GPS时钟51单片机程序
网上看到的GPS时钟程序,特此收藏,给广大电子制作爱好者参考。GPS时钟,硬件非常简单,程序也算是不太高深,不需要按鍵,不用 DS1302 IC,只要了一个GPS模块,好处是不需要调整時间,只要有卫星信号就核对时间。
// 作者:antlu
#include;
#define DataPort P0 // display LED segment #define DrivePort P2 //display LED digit
//sbit Gok_LED =P1^2;// 收到"$GPRMC,"送出LED
bit disp_flag;
bit rec; // receive rs232 OK_flag
void DelayUs2x(unsigned char t);//us?延?函??明 void DelayMs(unsigned char t); //ms?延?
void Display(unsigned char n,unsigned char Num);// 把七段顯示出去 unsigned char code
segment[10]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};// VFD
unsigned char code grid[4]={ 0x01,0x02,0x04,0x08 }; // 10H H 10m m, 位碼3>;>;分, 位碼2>;>;10分,位碼1>;>;時, 位碼0>;>;10時, unsigned char TempData[4];
//,把段碼的資料存到要顯示的緩衝器上面,利用類似查表的對應方式,送出至顯示器. TempData[ ] 是放置要顯示的7段資料
unsigned char CLCK[6];
//void Display(char n,char Num); unsigned char count;
void Display_Data_Operation(void)//以時間分秒為共同語言, 數字轉換成7段顯示 {
TempData[3]= segment[CLCK[0]];//? // if (CLCK[2]==0) // TempData[3]=0;
TempData[2]= segment[CLCK[1]];// TempData[1]= segment[CLCK[2]]; //分 TempData[0]= segment[CLCK[3]];// //Display(0,4); }
//-------------------------------------------------------------------------------------------- void Display(unsigned char n,unsigned char Num)// 把七段顯示出去 {
unsigned char i;
n=0;//已經沒有用了,但先前程式設計關係還是把他設為0 for(i=0;i