⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 显示时间设置.c

📁 这七个程序都是本人为51系列单片机开发的应用程序
💻 C
字号:
#include <AT89X55.H>
#include <absacc.h>

#define LCD_Wr_Cmd_Add	XBYTE[0xF000]
#define LCD_Rd_Cmd_Add	XBYTE[0xF002]
#define LCD_Wr_Data_Add	XBYTE[0xF001]
#define LCD_Rd_Data_Add	XBYTE[0xF003]




code unsigned char m[]={0x0B0,0x0B0};
code unsigned char Time_Lable[]={0x0CA,0x0B1,0x0BC,0x0E4,0x0C9,0x0E8,0x0D6,0x0C3};  /*时间设置*/
code unsigned char Hour_Lable[]={0x0CA,0x0B1};		/*时标签*/
code unsigned char Munite_Lable[]={0xB7,0xD6};		/*分标签*/
code unsigned char Second_Lable[]={0xC3,0xEB};		/*秒标签*/

/*延迟1ms*/
/*	void delay_Nms(unsigned char n)
	{
		unsigned char i,j; 
		for(j=0;j<n;j++)
		{
			for(i=0;i<250;i++);
			for(i=0;i<250;i++);
			for(i=0;i<100;i++);
			
		}
	}*/


	
	/*LCD read busy flag*/
	
	
 	void LCD_Rd_Busy()
	{	
		unsigned char temp;
		do
		{
			temp=LCD_Rd_Cmd_Add;
			temp=temp&0x80;
		}while(temp==0x80);
	}
	
	
	/*LCD write command*/
	void LCD_Wr_Cmd(unsigned char One_Byte)
	{
		LCD_Wr_Cmd_Add=One_Byte;
		LCD_Rd_Busy();
	}
	

	
	/*LCD write data*/
	void LCD_Wr_Data(unsigned char One_Byte)
	{
		LCD_Wr_Data_Add=One_Byte;
		LCD_Rd_Busy();
	}
	
	
	/*LCD read data*/
//	unsigned char LCD_Rd_Data()
//	{	
//		unsigned char temp;
//		temp=LCD_Rd_Data_Add;
//		return(temp);
//	}
	
	/*LCD initiate*/
	void LCD_init()
	{	
		LCD_Wr_Cmd(0x30);	/*0x30 8bits , base function*/
		LCD_Wr_Cmd(0x06);	/* 0x06 cussor right move ,ACC+1*/
		LCD_Wr_Cmd(0x0C);	/*0x0F Display on,无游标,无反白 */
		LCD_Wr_Cmd(0x01);	/*0x01 clear display*/
		LCD_Wr_Cmd(0x80);	/*0x80 DDRAM in 1line 1st word*/
	}
	
	/*设置显示位置, row:1,2,3,4; position 1,2...8 */
	void LCD_Set_DispPositon(unsigned char row,unsigned char position)
	{
		switch(row)
		{
			case 1:
				LCD_Wr_Cmd(0x7F+position);
				break;
			case 2:
				LCD_Wr_Cmd(0x8F+position);
				break;
			case 3:
				LCD_Wr_Cmd(0x87+position);
				break;
			case 4:
				LCD_Wr_Cmd(0x97+position);
				break;
			default:
				LCD_Wr_Cmd(0x7F+position);
				break;
		}
	}


	/*   时间设置窗口  */
void LCD_Time_Form()
	{
		 unsigned char i,hour,munite,second;
//LCD_Time_Form_St:	
		EA=0;
		LCD_Wr_Cmd(0x01);	/*清屏*/
		LCD_Set_DispPositon(1,3);
		for(i=0;i<8;i++)
		{
			LCD_Wr_Data(Time_Lable[i]);  /*时间标题*/
		}
		//Read_Time(&hour,&munite,&second);
		
		LCD_Set_DispPositon(3,2);		/*时*/
		LCD_Wr_Data(0x30+((hour>>4)&0x0F));
		LCD_Wr_Data(0x30+(hour&0x0F));
		
		LCD_Set_DispPositon(3,3);
		LCD_Wr_Data(Hour_Lable[0]);
		LCD_Wr_Data(Hour_Lable[1]);		/*时标签*/
		
		LCD_Set_DispPositon(3,4);		/*分*/
		LCD_Wr_Data(0x30+((munite>>4)&0x0F));
		LCD_Wr_Data(0x30+(munite&0x0F));

		LCD_Set_DispPositon(3,5);
		LCD_Wr_Data(Munite_Lable[0]);
		LCD_Wr_Data(Munite_Lable[1]);		/*分标签*/
		
		LCD_Set_DispPositon(3,6);		/*秒*/
		LCD_Wr_Data(0x30+((second>>4)&0x0F));
		LCD_Wr_Data(0x30+(second&0x0F));
		
		LCD_Set_DispPositon(3,7);
		LCD_Wr_Data(Second_Lable[0]);
		LCD_Wr_Data(Second_Lable[1]);		/*秒标签*/
		
	//	j=0;		/*0-还未改前半字符,1-改了前半字符,2-改了后半字符*/
	//	i=1;		/*按方向键的次数(循环)*/
	//	LCD_Wr_Cmd(0x0F);

	   }
main()
 	{
	
	LCD_init();

	LCD_Time_Form();
	while(1);

	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -