资源描述:
《51单片机制作诺基亚5110时间可调的时钟》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、#include"reg52.h"#include"shu.h"★include"zi.h"#include"xzimu.h"sbitsce=P2A0;sbitres=P2Al;sbitdc=P2A2;sbitsdin=P2A3;sbitsclk=P2A4;sbitk4=PlA3;sbitk3=PlA2;sbitk2=PlAl;sbitkl=PlAO;unsignedcharshi=12,fen=0’miao二0,count=O,dingwei=O;bitwei;voiddelay_lms(void){unsignedinti;for(i=0;i<50;i+
2、+);}voidLCD_write_byte(unsignedchardt,unsignedcharcommand){unsignedchari;sce=O;dc=command;for(i=0;i<8;i++){if(dt&0x80)sdin=l;elsesdin=O;dt=dt«l;sclk=O;sclk=l;}dc=l;sce=l;sdin=l;voidLCD」nit(void){res=0;delay_lms();res=l;LCD_write_byte(0x21,0);LCD_write_byte(OxdO,O);LCD_write_byte(0x
3、20,0);LCD_write_byte(OxOC,O);}voidLCD_set_xy(unsignedchary,unsignedcharx){LCD_write_byte(0x40
4、y,0);LCD_write_byte(0x801xz0);}voidLCD_write_shu(unsignedcharx,unsignedchary,unsignedcharz){unsignedchari;LCD_set_xy(x,y*8);for(i=l;i<=8;i++){LCD_write_byte(shu[z*16+i],l);}LCD_set_xy(x+l,
5、y*8);for(i=9;i<=16;i++)LCD_write_byte(shu[z*16+i],l);}voidLCD_write_zi(unsignedcharx,unsignedchary,unsignedcharz){unsignedchari;LCD_set_xy(x,y*8);for(i=l;i<=16;i++){LCD_write_byte(zi[z*32+i]/l);}LCD_set_xy(x+l,y*8);for(i=17;i<=32;i++)LCD_write_byte(zi[z*32+i],l);voidLCD_write_xzimu
6、(unsignedcharx,unsignedchary,unsignedcharz){unsignedchari;LCD_set_xy(x,y*8);for(i=l;i<=8;i++){LCD_write_byte(xzimu[z*16+i],l);}LCD_set_xy(x+l,y*8);for(i=9;i<=16;i++){LCD_write_byte(xzimu[z*16+i],l);}}voidLCD_clear(void){unsignedchart;unsignedchark;LCD_set_xy(OzO);for(t=0;t<=6;t++){
7、for(k=0;k<84;k++){LCD_write_byte(OxOO,l);}}}timerO()interrupt1using1{TH0=0x4b;TL0=0xff;count++;}voidLCD_san(unsignedcharx,unsignedchary,unsignedcharz){if(count==8){LCD_write_xzimu(x/y/4);if(count==18){LCD_write_shu(x,y,z);}voidLCD_tiaoshi(void){if(k4==0){delay_lms();if(k4!=0){wei=~
8、wei;dingwei=l;讦(wei==0){LCD_write_shu(2,l,shi/10);LCD_write_shu(2,2,shi%10);LCD_write_shu(2,4,fen/10);LCD_write_shu(2,5,fen%10);}}}讦(wei==l){switch(dingwei){case1:LCD_san(2,l,shi/10);break;case2:LCD_san(2z2,shi%10);break;case3:LCD_san(2,4,fen/10);break;case4:LCD_san(2,5,fen%10);bre
9、ak;default:break;}if(k3==O