其然IT教育集团是广州腾科网络技术有限公司旗下运营的网站平台。其然IT 教育集团是一家以提供新型、**的IT技术培训(教育)解决方案为主要经营目标的专业公司,是中国高端IT培训的**品牌。联合思科(Cisco)、甲 骨文(Oracle)、红帽(Red Hat)、华为(Huawei)、微软(Microsoft)、美国计算机行业协会(CompTIA)等国际知名IT厂商以 及国内300多家高等院校, 开展IT认证技能培训和IT职业课程教育,培养新型IT高级人才,是Pearson VUE国际电子考试中心和Prometric(普尔文)授权考试中心,并是达索 (solidworks)、安氏(LinkTrust)的授权经销商。
其然IT教育集团下辖上海分公司、深圳分公司、武汉分公司、杭州分公司等 8个分支机构。以及30多个培训网点,业务涵盖全国主要大、中型城市。
Java工程师的工资待遇怎么样?
Java工程师的工资待遇怎么样?
Java软件工程师一般月薪范围在4000-10000元,远远超过了应届毕业生月薪 2500元的平均水平。通常来说,有一年工作经验的Java高级软件工程师的薪酬大致在年薪10—13万左右。
从Java的应用领域来分,Java语言的应用方向主要表现在以下三个方面:首 先是大中型的商业应用;其次是桌面应用,就是常说的C/S应用;再次是移动领域应用。
综上而言JAVA就业方向为:可以从事JSP网站开发、Java编程、Java游戏开 发、Java桌面程序设计,以及其他与Java语言编程相关的工作。可进入电信、银行、保险专业软件开发公司等从事软件设计和开发工作。
互联网类项目 项目一:CRM客户管理系统
互联网类项目 项目一:CRM客户管理系统
项目简介
CRM项目主要是管理企业与客户之间的关系。该项目主要实现功能:营销管 理、客户管理、服务管理、统计报表、基础数据、权限管理等。
技术特点
项目备战(git、Maven、shiro)、Struts2(表现层MVC框架)、 Hibernate(数据层持久化框架)、Spring(业务逻辑IoC和AOP框架)、JBPM(工作流支持)、Junit(单元测试)、Jquery(JS框架)。
学习效果
**项目使学员熟悉软件开发的整个流程(需求分析、设计、编码、测试以 及部署与维护);提升框架整合能力;成为具备一定的项目管理和架构设计能力的中高级Java工程师。
单片机lcd改进版时钟
>#include<reg52.h> #include<intrins.h> #define KeyPort P3//?¨ò?°′?ü???ú #define _Nop() _nop_() //?¨ò?????á? #define RS_CLR RS=0 #define RS_SET RS=1 #define RW_CLR RW=0 #define RW_SET RW=1 #define EN_CLR EN=0 #define EN_SET EN=1 #define DataPort P0 #define Led Port P1 //?¨ò?êy?Y???ú 3ìDò?Dó?μ?DataPort ?òó?P0 ì??? sbit SPK=P2^2; sbit SDA=P2^1; //?£?aI2Cêy?Y′??í?? sbit SCL=P2^0; //?£?aI2Cê±?ó?????? sbit RS = P2^4; //?¨ò????ú sbit RW = P2^5; sbit EN = P2^6; bit ack; //ó|′e±ê???? unsigned char hour,minute,second;//?¨ò?ê±·??? unsigned int num ; unsigned char flag1,flag2,flag3; unsigned char code dofly_DuanMa[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; unsigned char code dofly_WeiMa[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; unsigned char TempData[8]; //′?′¢??ê??μμ?è???±?á? void LCD_Init(void); bit LCD_Check_Busy(void); void LCD_Write_Com(unsigned char com); void LCD_Write_Data(unsigned char Data); void LCD_Clear(void); void LCD_Write_String(unsigned char x,unsigned char y,unsigned char *s); void LCD_Write_Char(unsigned char x,unsigned char y,unsigned char Data); void DelayUs2x(unsigned char t);//us???óê±oˉêyéù?÷ void DelayMs(unsigned char t); //ms???óê± void Display();//êy??1ü??ê?oˉêy unsigned char KeyScan(void);//?ü?ìé¨?è void Init_Timer0(void);//?¨ê±?÷3?ê??ˉ void ISR_Key(void) interrupt 0 using 1 { P1=~P1; //??è??D??3ìDò?′DD3ìDò£? //′?ê±?éò?í¨1y EA=0??á??Yê±1?μ??D?? } void Start_I2c() { SDA=1; //·¢?í?eê?ì??tμ?êy?YD?o? _Nop(); SCL=1; _Nop(); //?eê?ì??t?¨á¢ê±??′óóú4.7us,?óê± _Nop(); _Nop(); _Nop(); _Nop(); SDA=0; //·¢?í?eê?D?o? _Nop(); //?eê?ì??t???¨ê±??′óóú4|ì _Nop(); _Nop(); _Nop(); _Nop(); SCL=0; //?ˉ×?I2C×ü??£?×?±?·¢?í?ò?óê?êy?Y _Nop(); _Nop(); } /*------------------------------------------------ ?áê?×ü?? ------------------------------------------------*/ void Stop_I2c() { SDA=0; //·¢?í?áê?ì??tμ?êy?YD?o? _Nop(); //·¢?í?áê?ì??tμ?ê±?óD?o? SCL=1; //?áê?ì??t?¨á¢ê±??′óóú4|ì _Nop(); _Nop(); _Nop(); _Nop(); _Nop(); SDA=1; //·¢?íI2C×ü???áê?D?o? _Nop(); _Nop(); _Nop(); _Nop(); } /*---------------------------------------------------------------- ×??úêy?Y′??íoˉêy oˉêy?-Dí: void SendByte(unsigned char c); 1|?ü: ??êy?Yc·¢?í3?è¥,?éò?ê?μ??·,ò2?éò?ê?êy?Y,·¢íêoóμè′yó|′e,2¢?? ′?×′ì?????DD2ù×÷.(2?ó|′e?ò·?ó|′e??ê1ack=0 ?ù) ·¢?íêy?Y?y3££?ack=1; ack=0±íê?±????÷?Tó|′e?ò?e?μ?£ ------------------------------------------------------------------*/ void SendByte(unsigned char c) { unsigned char BitCnt; for(BitCnt=0;BitCnt<8;BitCnt ) //òa′??íμ?êy?Y3¤?è?a8?? { if((c<<BitCnt)&0x80)SDA=1; //?D??·¢?í?? else SDA=0; _Nop(); SCL=1; //??ê±?ó???a??£?í¨?a±????÷?aê??óê?êy?Y?? _Nop(); _Nop(); //±£?¤ê±?ó??μ????ü?ú′óóú4|ì _Nop(); _Nop(); _Nop(); SCL=0; } _Nop(); _Nop(); SDA=1; //8??·¢?ííêoóêí·?êy?Y??£?×?±??óê?ó|′e?? _Nop(); _Nop(); SCL=1; _Nop(); _Nop(); _Nop(); if(SDA==1)ack=0; else ack=1; //?D??ê?·??óê?μ?ó|′eD?o? SCL=0; _Nop(); _Nop(); } /*---------------------------------------------------------------- ×??úêy?Y′??íoˉêy oˉêy?-Dí: unsigned char RcvByte(); 1|?ü: ó?à′?óê?′ó?÷?t′?à′μ?êy?Y,2¢?D??×ü??′í?ó(2?·¢ó|′eD?o?)£? ·¢íêoó??ó?ó|′eoˉêy?£ ------------------------------------------------------------------*/ unsigned char RcvByte() { unsigned char retc; unsigned char BitCnt; retc=0; SDA=1; //??êy?Y???aê?è?·?ê? for(BitCnt=0;BitCnt<8;BitCnt ) { _Nop(); SCL=0; //??ê±?ó???aμí£?×?±??óê?êy?Y?? _Nop(); _Nop(); //ê±?óμíμ????ü?ú′óóú4.7us _Nop(); _Nop(); _Nop(); SCL=1; //??ê±?ó???a??ê1êy?Y??é?êy?YóDD§ _Nop(); _Nop(); retc=retc<<1; if(SDA==1)retc=retc 1; //?áêy?Y??,?óê?μ?êy?Y??·?è?retc?D _Nop(); _Nop(); } SCL=0; _Nop(); _Nop(); return(retc); } /*---------------------------------------------------------------- ó|′e×óoˉêy ?-Dí: void Ack_I2c(void); ----------------------------------------------------------------*/ void Ack_I2c(void) { SDA=0; _Nop(); _Nop(); _Nop(); SCL=1; _Nop(); _Nop(); //ê±?óμíμ????ü?ú′óóú4|ì _Nop(); _Nop(); _Nop(); SCL=0; //??ê±?ó??£??ˉ×?I2C×ü??ò?±??ìD??óê? _Nop(); _Nop(); } /*---------------------------------------------------------------- ·?ó|′e×óoˉêy ?-Dí: void NoAck_I2c(void); ----------------------------------------------------------------*/ void NoAck_I2c(void) { SDA=1; _Nop(); _Nop(); _Nop(); SCL=1; _Nop(); _Nop(); //ê±?óμíμ????ü?ú′óóú4|ì _Nop(); _Nop(); _Nop(); SCL=0; //??ê±?ó??£??ˉ×?I2C×ü??ò?±??ìD??óê? _Nop(); _Nop(); } /*---------------------------------------------------------------- ?ò?T×óμ??·?÷?t·¢?í×??úêy?Yoˉêy oˉêy?-Dí: bit ISendByte(unsigned char sla,ucahr c); 1|?ü: ′ó???ˉ×ü??μ?·¢?íμ??·£?êy?Y£??áê?×ü??μ?è?1y3ì,′ó?÷?tμ??·sla. è?1?·μ??1±íê?2ù×÷3é1|£?·??ò2ù×÷óD?ó?£ ×¢òa£o ê1ó??°±?D?ò??áê?×ü???£ ----------------------------------------------------------------*/ /*bit ISendByte(unsigned char sla,unsigned char c) { Start_I2c(); //???ˉ×ü?? SendByte(sla); //·¢?í?÷?tμ??· if(ack==0)return(0); SendByte(c); //·¢?íêy?Y if(ack==0)return(0); Stop_I2c(); //?áê?×ü?? return(1); } */ /*---------------------------------------------------------------- ?òóD×óμ??·?÷?t·¢?í?à×??úêy?Yoˉêy oˉêy?-Dí: bit ISendStr(unsigned char sla,unsigned char suba,ucahr *s,unsigned char no); 1|?ü: ′ó???ˉ×ü??μ?·¢?íμ??·£?×óμ??·,êy?Y£??áê?×ü??μ?è?1y3ì,′ó?÷?t μ??·sla£?×óμ??·suba£?·¢?í?úèYê?s???òμ??úèY£?·¢?íno??×??ú?£ è?1?·μ??1±íê?2ù×÷3é1|£?·??ò2ù×÷óD?ó?£ ×¢òa£o ê1ó??°±?D?ò??áê?×ü???£ ----------------------------------------------------------------*/ bit ISendStr(unsigned char sla,unsigned char suba,unsigned char *s,unsigned char no) { unsigned char i; Start_I2c(); //???ˉ×ü?? SendByte(sla); //·¢?í?÷?tμ??· if(ack==0)return(0); SendByte(suba); //·¢?í?÷?t×óμ??· if(ack==0)return(0); for(i=0;i<no;i ) { SendByte(*s); //·¢?íêy?Y DelayMs(1); if(ack==0)return(0); s ; } Stop_I2c(); //?áê?×ü?? return(1); } /*---------------------------------------------------------------- ?ò?T×óμ??·?÷?t?á×??úêy?Yoˉêy oˉêy?-Dí: bit IRcvByte(unsigned char sla,ucahr *c); 1|?ü: ′ó???ˉ×ü??μ?·¢?íμ??·£??áêy?Y£??áê?×ü??μ?è?1y3ì,′ó?÷?tμ? ?·sla£?·μ???μ?úc. è?1?·μ??1±íê?2ù×÷3é1|£?·??ò2ù×÷óD?ó?£ ×¢òa£o ê1ó??°±?D?ò??áê?×ü???£ ----------------------------------------------------------------*/ /*bit IRcvByte(unsigned char sla,unsigned char *c) { Start_I2c(); //???ˉ×ü?? SendByte(sla 1); //·¢?í?÷?tμ??· if(ack==0)return(0); *c=RcvByte(); //?áè?êy?Y NoAck_I2c(); //·¢?í·??í′e?? Stop_I2c(); //?áê?×ü?? return(1); } */ /*---------------------------------------------------------------- ?òóD×óμ??·?÷?t?áè??à×??úêy?Yoˉêy oˉêy?-Dí: bit ISendStr(unsigned char sla,unsigned char suba,ucahr *s,unsigned char no); 1|?ü: ′ó???ˉ×ü??μ?·¢?íμ??·£?×óμ??·,?áêy?Y£??áê?×ü??μ?è?1y3ì,′ó?÷?t μ??·sla£?×óμ??·suba£??á3?μ??úèY·?è?s???òμ?′?′¢??£??áno??×??ú?£ è?1?·μ??1±íê?2ù×÷3é1|£?·??ò2ù×÷óD?ó?£ ×¢òa£o ê1ó??°±?D?ò??áê?×ü???£ ----------------------------------------------------------------*/ bit IRcvStr(unsigned char sla,unsigned char suba,unsigned char *s,unsigned char no) { unsigned char i; Start_I2c(); //???ˉ×ü?? SendByte(sla); //·¢?í?÷?tμ??· if(ack==0)return(0); SendByte(suba); //·¢?í?÷?t×óμ??· if(ack==0)return(0); Start_I2c(); SendByte(sla 1); if(ack==0)return(0); for(i=0;i<no-1;i ) { *s=RcvByte(); //·¢?íêy?Y Ack_I2c(); //·¢?í?í′e?? s ; } *s=RcvByte(); NoAck_I2c(); //·¢?í·?ó|?? Stop_I2c(); //?áê?×ü?? return(1); } /*------------------------------------------------ ?÷oˉêy ------------------------------------------------*/ void main (void) { unsigned char num1; unsigned char temp = 0; unsigned char i,j = 0; LCD_Init(); LCD_Clear(); LCD_Write_String(6,1,"clock"); while (1) //?÷?-?· { if(flag2 == 1) { DelayMs(1); SPK=!SPK; Display(); flag2 = 0; } if(minute == 0&&second <= 10) { if(second%2) P1 = 0x55; else P1 = 0xaa; } else P1 = 0xff; while(flag1) { if(num%2) SPK=1; else SPK = 0; i ; if(i==200) {i=0;flag1 ;break; } } num1=KeyScan(); switch(num1) { case 1:hour ;if(hour==24)hour=0; //?y3£ê±?? D?ê± ?ó1 break; case 2:hour--;if(hour==255)hour=23; //?y3£ê±?? D?ê±??1 break; case 3:minute ;if(minute==60)minute=0; //·??ó?ó1 break; case 4:minute--;if(minute==255)minute=59; //·??ó??1 break; case 5: { Init_Timer0(); IRcvStr(0xae,4,&hour,1); IRcvStr(0xae,5,&minute,1); IRcvStr(0xae,6,&second,1); break; } case 6: { if(temp%2 == 0) EA = 1; else EA = 0; temp ; break; } case 7: hour = 0;minute = 0;second = 0; break; default:break; } } } /*------------------------------------------------ uS?óê±oˉêy£?o?óDê?è?2?êy unsigned char t£??T·μ???μ unsigned char ê??¨ò??T·?o?×?·?±?á?£????μμ?·??§ê? 0~255 ?aà?ê1ó??§??12M£???è·?óê±??ê1ó???±à,′ó???óê± 3¤?èè??? T=tx2 5 uS ------------------------------------------------*/ void DelayUs2x(unsigned char t) { while(--t); } /*------------------------------------------------ mS?óê±oˉêy£?o?óDê?è?2?êy unsigned char t£??T·μ???μ unsigned char ê??¨ò??T·?o?×?·?±?á?£????μμ?·??§ê? 0~255 ?aà?ê1ó??§??12M£???è·?óê±??ê1ó???±à ------------------------------------------------*/ void DelayMs(unsigned char t) { while(t--) { //′ó???óê±1mS DelayUs2x(245); DelayUs2x(245); } } /*------------------------------------------------ ??ê?oˉêy£?ó?óú?ˉì?é¨?èêy??1ü ê?è?2?êy FirstBit ±íê?Dèòa??ê?μ?μúò???£?è??3?μ2±íê?′óμúèy??êy??1ü?aê???ê? è?ê?è?0±íê?′óμúò?????ê??£ Num±íê?Dèòa??ê?μ???êy£?è?Dèòa??ê?99á???êy?μ?ò???μê?è?2 ------------------------------------------------*/ void Display() { unsigned char h0,h1, m0,m1 ,s0,s1; h0 = hour/10 48; h1 = hour 48; m0 = minute/10 48; m1 = minute 48; s0 = second/10 48; s1 = second 48; LCD_Write_Char(3,0,h0); LCD_Write_Char(4,0,h1); LCD_Write_Char(5,0, : ); LCD_Write_Char(6,0,m0); LCD_Write_Char(7,0,m1); LCD_Write_Char(8,0, : ); LCD_Write_Char(9,0,s0); LCD_Write_Char(10,0,s1); ISendStr(0xae,4,&hour,1); ISendStr(0xae,5,&minute,1); ISendStr(0xae,6,&second,1); } /*------------------------------------------------ ?¨ê±?÷3?ê??ˉ×ó3ìDò ------------------------------------------------*/ void Init_Timer0(void) { TMOD |= 0x01; //ê1ó??£ê?1£?16???¨ê±?÷£?ê1ó?"|"·?o??éò??úê1ó??à???¨ê±?÷ê±2?êüó°?ì //TH0=0x00; //???¨3??μ //TL0=0x00; EA=1; //×ü?D??′ò?a ET0=1; //?¨ê±?÷?D??′ò?a TR0=1; //?¨ê±?÷?a1?′ò?a } /*------------------------------------------------ ?¨ê±?÷?D??×ó3ìDò ------------------------------------------------*/ void Timer0_isr(void) interrupt 1 { TH0=(65536-2000)/256;//??D??3?μ 2ms TL0=(65536-2000)%6; num ; if(num==500) //′ó??1s { num=0; second ; flag2 = 1; if(second==60) //??μ?60£?·??ó?ó1 { second=0; minute ; if(minute==60)//·??óμ?60£?D?ê±?ó1 { flag1 = 1; minute=0; hour ; if(hour==24)//D?ê±μ?24£???á? hour=0; } } } } /*------------------------------------------------ °′?üé¨?èoˉêy£?·μ??é¨?è?ü?μ ------------------------------------------------*/ unsigned char KeyScan(void) { unsigned char keyvalue; if(KeyPort!=0xff) { DelayMs(10); if(KeyPort!=0xff) { keyvalue=KeyPort; while(KeyPort!=0xff); switch(keyvalue) { case 0xfe:return 1;break; case 0xfd:return 2;break; case 0xfb:return 3;break; case 0xf7:return 4;break; case 0xef:return 5;break; case 0xdf:return 6;break; case 0xbf:return 7;break; case 0x7f:return 8;break; default:return 0;break; } } } return 0; } /*------------------------------------------------ ?D?|oˉêy ------------------------------------------------*/ bit LCD_Check_Busy(void) { DataPort= 0xFF; RS_CLR; RW_SET; EN_CLR; _nop_(); EN_SET; return (bit)(DataPort & 0x80); } /*------------------------------------------------ D′è??üá?oˉêy ------------------------------------------------*/ void LCD_Write_Com(unsigned char com) { // while(LCD_Check_Busy()); //?|?òμè′y DelayMs(5); RS_CLR; RW_CLR; EN_SET; DataPort= com; _nop_(); EN_CLR; } /*------------------------------------------------ D′è?êy?Yoˉêy ------------------------------------------------*/ void LCD_Write_Data(unsigned char Data) { //while(LCD_Check_Busy()); //?|?òμè′y DelayMs(5); RS_SET; RW_CLR; EN_SET; DataPort= Data; _nop_(); EN_CLR; } /*------------------------------------------------ ???áoˉêy ------------------------------------------------*/ void LCD_Clear(void) { LCD_Write_Com(0x01); DelayMs(5); } /*------------------------------------------------ D′è?×?·?′?oˉêy ------------------------------------------------*/ void LCD_Write_String(unsigned char x,unsigned char y,unsigned char *s) { if (y == 0) { LCD_Write_Com(0x80 x); //±íê?μúò?DD } else { LCD_Write_Com(0xC0 x); //±íê?μú?tDD } while (*s) { LCD_Write_Data( *s); s ; } } /*------------------------------------------------ D′è?×?·?oˉêy ------------------------------------------------*/ void LCD_Write_Char(unsigned char x,unsigned char y,unsigned char Data) { if (y == 0) { LCD_Write_Com(0x80 x); } else { LCD_Write_Com(0xC0 x); } LCD_Write_Data( Data); } /*------------------------------------------------ 3?ê??ˉoˉêy ------------------------------------------------*/ void LCD_Init(void) { LCD_Write_Com(0x38); /*??ê??£ê?éè??*/ DelayMs(5); LCD_Write_Com(0x38); DelayMs(5); LCD_Write_Com(0x38); DelayMs(5); LCD_Write_Com(0x38); LCD_Write_Com(0x08); /*??ê?1?±?*/ LCD_Write_Com(0x01); /*??ê????á*/ LCD_Write_Com(0x06); /*??ê?1a±êò??ˉéè??*/ DelayMs(5); LCD_Write_Com(0x0C); /*??ê??a?°1a±êéè??*/ } /*------------------------------------------------ ?÷oˉêy ------------------------------------------------*/
相关推荐: