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

📄 text1.c

📁 个人单片机入门程序集合 。很适合刚学单片机的人。用的是keil proteus
💻 C
📖 第 1 页 / 共 2 页
字号:
	uchar str4='B';
	uchar str5='6';
    uchar str6='5';
	uchar str7='4';
	uchar str8='C';
    uchar str9='9';
	uchar str10='8';
	uchar str11='7';
	uchar str12='D';
    uchar str13='#';
	uchar str14='0';
	uchar str15='*';	

	

	unsigned char offset=0x80;   //定义一个偏移地址变量,lcd1602 写入控制字时用到
	unsigned char key;

	delay(2);
	lcd1602_bus=0xff;
	lcd1602_init();
    lcd1602_wrcmd(offset+0x00);
    xianshi(0);  
   
	
    


//	lcd1602_clear();
    while(1)
        {  	
           
		   key=getkey_ii();

		  if(key==4)
		  	{ 
				j=j+1;
				if(j>3)j=0;
			     xianshi(j);      
			 
			 }
		   if (key==0)
		  	{ 			 
			    if (j==0) j=4;
				j=j-1;
			    

				xianshi(j);

			 } 
		  if(key==3  || ((j==0)&&(key==12)))
        	{
               while(key==2 || key==0xff || key==3)
		       {key=getkey_ii(); 
   		     
        
                lcd1602_clear();

		        ad9850(a);		
		
 
	           delay(1000);
             }  
         	}
          if(key==2  || ((j==1)&&(key==12)))
		  {
          lcd1602_init();
          lcd1602_clear();
	      for(i=0;i<10;i++) lcd1602_wrdata(d[i]);
		  }



		  if(key==1 || ((j==2)&&(key==12)))
		  { a=0;
		    lcd1602_clear();
	        for(i=0;i<16;i++) lcd1602_wrdata(d[i]);
			key=18;     //避免和下面的WHILE语句条件冲突;临时改变KEY 只变一次 
			
		    while(key!=12 )
		    {
		      key=getkey_ii();


	    	if(key==1)
		    	{ 
				lcd1602_clear();
     	  	    lcd1602_wrcmd(offset+0x00);
			           
			    a=a*10+3;

                for(i=0;i<16;i++) lcd1602_wrdata(d[i]);
                lcd1602_wrcmd(offset+0x40);   //换行
	      	    xianshu(a);  
		        //lcd1602_wrcmd(offset+0x40);
			//	for(i=0;i<11;i++) lcd1602_wrdata(str12[i]);
		    	 }
		    else if (key==2)
		    	{ 
				lcd1602_clear();
     	  	    lcd1602_wrcmd(offset+0x00);

                for(i=0;i<16;i++) lcd1602_wrdata(d[i]);
				lcd1602_wrcmd(offset+0x40);   //换行 
				a=a*10+2;
				 xianshu(a);  
		        //lcd1602_wrcmd(offset+0x40);
				//for(i=0;i<15;i++) lcd1602_wrdata(str22[i]);
		    	 }
		   else if (key==3)
		     	 {
				lcd1602_clear();
     	  	    lcd1602_wrcmd(offset+0x00);
	      	    
                for(i=0;i<16;i++) lcd1602_wrdata(d[i]);
                lcd1602_wrcmd(offset+0x40);   //换行
                a=a*10+1;
				xianshu(a);  
		      //  lcd1602_wrcmd(offset+0x40);
			//	for(i=0;i<15;i++) lcd1602_wrdata(str31[i]);
		    	 }

           else if (key==5)
		     	 {
				lcd1602_clear();
     	  	    lcd1602_wrcmd(offset+0x00);
				a=a*10+6;
			
                for(i=0;i<16;i++) lcd1602_wrdata(d[i]);
            	lcd1602_wrcmd(offset+0x40);   //换行
	      	    xianshu(a);  
               }
            else if (key==6)
		    	 {
				lcd1602_clear();
     	  	    lcd1602_wrcmd(offset+0x00);
				
                for(i=0;i<16;i++) lcd1602_wrdata(d[i]);
                lcd1602_wrcmd(offset+0x40);   //换行
				a=a*10+5;
	      	    xianshu(a);  
               }
            else if (key==7)
		     	 {
				lcd1602_clear();
     	  	    lcd1602_wrcmd(offset+0x00);
				
                for(i=0;i<16;i++) lcd1602_wrdata(d[i]);
                lcd1602_wrcmd(offset+0x40);   //换行
				a=a*10+4;
	      	    xianshu(a);  
                }
			else if (key==9)
		     	 {
				lcd1602_clear();
     	  	    lcd1602_wrcmd(offset+0x00);
				
                for(i=0;i<16;i++) lcd1602_wrdata(d[i]);
               lcd1602_wrcmd(offset+0x40);   //换行
				a=a*10+9;
	      	    xianshu(a);  
                }
			else if (key==10)
		     	 {
				lcd1602_clear();
     	  	    lcd1602_wrcmd(offset+0x00);

                for(i=0;i<16;i++) lcd1602_wrdata(d[i]);
  				lcd1602_wrcmd(offset+0x40);   //换行
			     a=a*10+8;
	      	     xianshu(a);  
                 }
			else if (key==11)
		     	 {
		  		lcd1602_clear();
     	  	    lcd1602_wrcmd(offset+0x00);
				for(i=0;i<16;i++) lcd1602_wrdata(d[i]);
            	lcd1602_wrcmd(offset+0x40);   //换行
			 	a=a*10+7;
	      	    xianshu(a);  
                }
			else if (key==14)
		     	 {
				lcd1602_clear();
     	  	    lcd1602_wrcmd(offset+0x00);
				for(i=0;i<16;i++) lcd1602_wrdata(d[i]);
            	lcd1602_wrcmd(offset+0x40);   //换行
				a=a*10+0;
	      	    xianshu(a);  
                 }
             
              }
		    
	         xianshi(0);
			 j=0;
			ad9850(a);
        	}						    	//设定频率


		
		
		  if(key==7 || ((j==3)&&(key==12)))
		  { b=0;
		    lcd1602_clear();
	        for(i=0;i<17;i++) lcd1602_wrdata(w[i]);
			       
			key=18;     //避免和下面的WHILE语句条件冲突;临时改变KEY 只变一次 
			
		    while(key!=12 )
		    {
		      key=getkey_ii();


	    	if(key==1)
		    	{ 
				lcd1602_clear();
     	  	    lcd1602_wrcmd(offset+0x00);
			           
			    b=b*10+3;

                for(i=0;i<17;i++) lcd1602_wrdata(w[i]);
                lcd1602_wrcmd(offset+0x40);   //换行
	      	    xianshu(b);  
		        //lcd1602_wrcmd(offset+0x40);
			//	for(i=0;i<11;i++) lcd1602_wrdata(str12[i]);
		    	 }
		    else if (key==2)
		    	{ 
				lcd1602_clear();
     	  	    lcd1602_wrcmd(offset+0x00);

                for(i=0;i<17;i++) lcd1602_wrdata(w[i]);
				lcd1602_wrcmd(offset+0x40);   //换行 
				b=b*10+2;
				 xianshu(b);  
		        //lcd1602_wrcmd(offset+0x40);
				//for(i=0;i<15;i++) lcd1602_wrdata(str22[i]);
		    	 }
		   else if (key==3)
		     	 {
				lcd1602_clear();
     	  	    lcd1602_wrcmd(offset+0x00);
	      	    
                for(i=0;i<17;i++) lcd1602_wrdata(w[i]);
                lcd1602_wrcmd(offset+0x40);   //换行
                b=b*10+1;
				xianshu(b);  
		      //  lcd1602_wrcmd(offset+0x40);
			//	for(i=0;i<15;i++) lcd1602_wrdata(str31[i]);
		    	 }

           else if (key==5)
		     	 {
				lcd1602_clear();
     	  	    lcd1602_wrcmd(offset+0x00);
				b=b*10+6;
			
                for(i=0;i<17;i++) lcd1602_wrdata(w[i]);
            	lcd1602_wrcmd(offset+0x40);   //换行
	      	    xianshu(b);  
               }
            else if (key==6)
		    	 {
				lcd1602_clear();
     	  	    lcd1602_wrcmd(offset+0x00);
				
                for(i=0;i<17;i++) lcd1602_wrdata(w[i]);
                lcd1602_wrcmd(offset+0x40);   //换行
				b=b*10+5;
	      	    xianshu(b);  
               }
            else if (key==7)
		     	 {
				lcd1602_clear();
     	  	    lcd1602_wrcmd(offset+0x00);
				
                for(i=0;i<17;i++) lcd1602_wrdata(w[i]);
                lcd1602_wrcmd(offset+0x40);   //换行
				b=b*10+4;
	      	    xianshu(b);  
                }
			else if (key==9)
		     	 {
				lcd1602_clear();
     	  	    lcd1602_wrcmd(offset+0x00);
				
                for(i=0;i<17;i++) lcd1602_wrdata(w[i]);
               lcd1602_wrcmd(offset+0x40);   //换行
				b=b*10+9;
	      	    xianshu(b);  
                }
			else if (key==10)
		     	 {
				lcd1602_clear();
     	  	    lcd1602_wrcmd(offset+0x00);

                for(i=0;i<17;i++) lcd1602_wrdata(w[i]);
  				lcd1602_wrcmd(offset+0x40);   //换行
			     b=b*10+8;
	      	     xianshu(b);  
                 }
			else if (key==11)
		     	 {
		  		lcd1602_clear();
     	  	    lcd1602_wrcmd(offset+0x00);
				for(i=0;i<17;i++) lcd1602_wrdata(w[i]);
            	lcd1602_wrcmd(offset+0x40);   //换行
			 	b=b*10+7;
	      	    xianshu(b);  
                }
			else if (key==14)
		     	 {
				lcd1602_clear();
     	  	    lcd1602_wrcmd(offset+0x00);
				for(i=0;i<17;i++) lcd1602_wrdata(w[i]);
            	lcd1602_wrcmd(offset+0x40);   //换行
				b=b*10+0;
	      	    xianshu(b);  
                 }
             
              }
		    
	         xianshi(0);
			 j=0;
			ad9850(a);
        	}
	    
		


      


		   

		  
	
     }

}

⌨️ 快捷键说明

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