下载此文档

12864汉字液晶显示--按键电子时钟程序.doc


文档分类:IT计算机 | 页数:约8页 举报非法文档有奖
1/8
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/8 下载此文档
文档列表 文档介绍
12864汉字液晶显示--按键电子时钟程序 12864汉字液晶显示--按键电子时钟程序(具有闪烁,移位,加一,减一功能)
#include <>
#include <>
#define uchar unsigned char
void lcd_ini();
void ascii_change(void);
void delay();
void wri_add();
void wri_dat(1);
void shan(void);
void disp();
void tkey(void);
sbit cs=P1^7;
sbit sid=P1^6;
sbit sclk=P1^5;
bit flag=1;
uchar dat,count,f=1;//f测试哪个单元为当前闪烁状态  
uchar data clock[3]={23,45,12};
uchar code clockname[10]={"北京时间:"};  
uchar data num[6];
/*******主程序*************/
void main()
{
 lcd_ini();
 count=10;//机器周期为1us,每次定时50ms,此变量用来控制循环次数,在下面赋值为20,共定时1秒
 TMOD=0x01;
 TL0=0XB0;
 TH0=0X3C;
 EA=1;
 ET0=1;
 IT0=1;
 EX0=1;
 TR0=1;
 while(1)
 {
 back:ascii_change();
 disp();
 delay();
 if(flag==1)
 goto back;
 tkey();
 shan();
 delay();
 }
}
/****lcd初始化*******/
 
void lcd_ini()
{
 wri_add(0x30);
 delay();
 wri_add(0x0c);
 delay();
 wri_add(0x01);
 delay();
 
 wri_add(0x06);
 delay();
}
 
/********定时程序*************/
 void timer1() interrupt 1 using 2
{
 TL0=0XB0;
 TH0=0X3C;
 count--;
 if(count==0)
 {
  count=10;
  clock[2]++;//秒//
  }
  else
  goto out;
  if(clock[2]==60)
  {
   clock[2]=0;
   clock[1]++;//分//
   }
  if(clock[1]==60)
  {
   clock[1]=0;
   clock[0]++;
   }
  
  if(clock[0]==24)//时//
  clock[0]=0;
  
  out:_nop_();
}
/*******十位个位转换成ASCII码************/
 void ascii_change(void)
 {
   num[5]=clock[2]-(

12864汉字液晶显示--按键电子时钟程序 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数8
  • 收藏数0 收藏
  • 顶次数0
  • 上传人286919636
  • 文件大小0 KB
  • 时间2015-02-21