实时钟设计Word格式.docx

上传人:b****3 文档编号:14150112 上传时间:2022-10-19 格式:DOCX 页数:18 大小:18.95KB
下载 相关 举报
实时钟设计Word格式.docx_第1页
第1页 / 共18页
实时钟设计Word格式.docx_第2页
第2页 / 共18页
实时钟设计Word格式.docx_第3页
第3页 / 共18页
实时钟设计Word格式.docx_第4页
第4页 / 共18页
实时钟设计Word格式.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

实时钟设计Word格式.docx

《实时钟设计Word格式.docx》由会员分享,可在线阅读,更多相关《实时钟设计Word格式.docx(18页珍藏版)》请在冰豆网上搜索。

实时钟设计Word格式.docx

intled=0x200;

intlcddata[5][2]={0};

intrunnian=1,flag=2,dian=0,flag2=1,timer=0;

charrtc[30];

charno=0;

charlcd_code[16]= 

//编码

 

0xeb,//0

0x0a,//1

0xad,//2

0x8f,//3

0x4e,//4

0xc7,//5

0xe7,//6

0x8a,//7

0xef,//8

0xcf,//9

0x7e,//A

0x37,//B

0x71,//C

0x1f,//D

0x75,//E

0x74//F

};

//privatefunction

voidLCD_Write(intdata,intbit);

voidSystick_Proc(void);

voidLcd_Proc(void);

voidlcd_display0(void);

voidlcd_display1(void);

voidlcd_display2(void);

voidlcd_display3(void);

voidlcd_display4(void);

voidlcd_display5(void);

voidlcd_display6(void);

voidUart_IO_Config(void);

voidLCD_IO_Config(void);

voidLed_IO_Config(void);

voidButton_IO_Config(void);

voidEXTILineConfig(void);

voidNVIC_Configuration(void);

voidUart_Init(void);

voidLCD_Init(void);

voidSystick_Init(void);

voidLED_Proc(void);

voidUart(void);

voiduartPuts(u8*s);

voidUart_r(void);

voidUSART_GetS_Time(void);

intmain(void)

{

//SystemInit();

//Systick_Init();

SystemInit();

SysTick_Config(9000000);

LCD_IO_Config();

Led_IO_Config();

Uart_IO_Config();

Button_IO_Config();

EXTILineConfig();

NVIC_Configuration();

Uart_Init();

LCD_Init();

while

(1)

Systick_Proc();

Lcd_Proc();

Uart_r();

}

voidSystick_Proc(void)

if(NVIC_STCSR&

0x10000)

dian^=1;

if((++time[0])>

=60)

{time[0]=0;

if((++time[1])>

{time[1]=0;

if((++time[2])>

=24)

time[2]=0;

switch(time[4])

{

case1:

case3:

case5:

case7:

case8:

case10:

case12:

if(++time[3]>

=32){if(++time[4]>

=13)time[4]=1;

}break;

case2:

if(runnian){if(++time[3]>

=30){if(++time[4]>

=13)time[4]=0;

}}

else{if(++time[3]>

=29){if(++time[4]>

}}break;

case4:

case6:

case9:

case11:

=31){if(++time[4]>

default:

break;

//time[4]=0;

time[3]=0;

}

sprintf(rtc,"

%d-%d%d:

%d:

%d"

time[4],time[3],time[2],time[1],time[0]);

//格式化输入出处

//sprintf(rtc2,"

"

);

lcddata[0][0]=time[0]%10;

lcddata[0][1]=time[0]/10;

lcddata[1][0]=time[1]%10;

lcddata[1][1]=time[1]/10;

lcddata[2][0]=time[2]%10;

lcddata[2][1]=time[2]/10;

lcddata[3][0]=time[3]%10;

lcddata[3][1]=time[3]/10;

lcddata[4][0]=time[4]%10;

lcddata[4][1]=time[4]/10;

//之前开始以分钟之后才能显示 

放在前边

日期与时间是:

Uart();

while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==RESET);

USART_SendData(USART1,0xd);

USART_SendData(USART1,0xa);

LED_Proc();

voidLcd_Proc(void)

/*inttemp[8];

temp[0]=((lcd_code[min_display_h]&

0xf0)>

>

4);

//分钟十位高四位

temp[1]=(lcd_code[min_display_h]&

0x0f);

//分钟十位低四位

temp[2]=((lcd_code[min_display_l]&

//分钟个位高四位

temp[3]=(lcd_code[min_display_l]&

//分钟个位低四位

temp[4]=((lcd_code[sec_display_h]&

//秒钟十位高四位

temp[5]=(lcd_code[sec_display_h]&

//秒钟十位低四位

temp[6]=((lcd_code[sec_display_l]&

//秒钟个位高四位

temp[7]=(lcd_code[sec_display_l]&

//秒钟个位低四位*/

switch(flag)

case0:

lcd_display0();

lcd_display1();

lcd_display2();

case3:

lcd_display3();

case4:

lcd_display4();

case5:

lcd_display5();

case6:

lcd_display6();

voidlcd_display0(void)//时分显示

LCD_Write((5<

<

14)+(0<

8)+lcd_code[lcddata[2][1]]+(dian<

4),17);

//移位出现问题

14)+(2<

8)+lcd_code[lcddata[2][0]],17);

//移位这一块

14)+(4<

8)+lcd_code[lcddata[1][1]],17);

14)+(6<

8)+lcd_code[lcddata[1][0]],17);

voidlcd_display1(void)//月日显示

8)+lcd_code[lcddata[4][1]],17);

8)+lcd_code[lcddata[4][0]],17);

8)+lcd_code[lcddata[3][1]],17);

8)+lcd_code[lcddata[3][0]],17);

voidlcd_display2(void)//分秒显示

8)+lcd_code[lcddata[1][1]]+(dian<

8)+lcd_code[lcddata[0][1]],17);

8)+lcd_code[lcddata[0][0]],17);

voidlcd_display3(void)//月设置显示

{

if(dian)

8)+no,17);

8)+lcd_code[lc

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1