亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 9850 step+wave+ask+psk ok.c

?? 此為AD9850的驅動程序,經過實驗,發現可行
?? C
字號:
//*********************************************************
//File Name  :AD9850.c
//Author     :GHL
//Date       :2007/8/16
//Desciption :AD9850的控制字串行加載程序
//            加入鍵盤實現步進
//            方波序列10kpbs
//            加入ASK   
//            加入液晶顯示方波序列的輸出  
//            加入鍵盤選擇ASK,PSK    
//*********************************************************

#include<reg51.h>
#include<intrins.h>

#define uchar unsigned char 
#define uint  unsigned int 
#define key_bus P1
#define lcd_bus P2

//與9850有關的定義
sbit sclk=P0^0;   //W_CLK
sbit load=P0^1;   //FQUD
sbit sdata=P0^2;  //DATA
   
sbit sqwave=P3^0;   //輸出方波

//與1602有關的定義
sbit rs=P0^5;         
sbit rw=P0^6;
sbit e=P0^7;
sbit busy=lcd_bus^7;

uchar aorp=0;

unsigned char code key_decode[]={'*',0,'#','D',7,8,9,'C',4,5,6,'B',1,2,3,'A'};

unsigned char code wave1[]={0,0,1,0,0,0,1,1,0,1,1,1,0,0,0,1};

uchar code str1[]="START F:1000HZ STEP 100HZ";
uchar code str2[]="ASK MODULE:";
uchar code str3[]="PSK MODULE:";

unsigned char m=0;
uchar k;

/*************************延時子程序********************************/

delay(uchar d)
{
        while(--d);
}



/**********判斷忙標志,返回的是一個位BF**********/
bit lcd_busy(void)
{
        uchar bflag;     
        rs=0;
        rw=1;
        _nop_();
        e=1;
        _nop_();
        lcd_bus=0xff;
        bflag=lcd_bus;
        e=0;
        return(bit)(bflag&0x80);
}




void lcd_wrcmd(uchar cmd)
{
        while(lcd_busy());
        lcd_bus=cmd;
        rs=0;
        rw=0;
        _nop_();
        e=1;
        _nop_();
        _nop_();
        e=0; 
}




/************向液晶片寫數據***************/

void lcd_wrdata( uchar lcddata)
{

        while(lcd_busy());
        lcd_bus=lcddata;
        rs=1;
        rw=0;
        _nop_();
        e=1;
        _nop_();
        _nop_();
        e=0;
}

/*************************液晶初始化程序********************************/
void lcd_ini(void)
{

        lcd_wrcmd(0x38);
        delay(100);
        lcd_wrcmd(0x0f);
        delay(100);
        lcd_wrcmd(0x06);
        delay(100);
        lcd_wrcmd(0x01);
        delay(100);
}

//////////////////////////////////////////////
//
//    生成漢字子模函數
//    當lcd_wrdata(0);顯示第一個漢字
//    當lcd_wrdata(1);顯示第二個漢字
//
//////////////////////////////////////////////
/*lcd_h()
{
    uchar i;
    lcd_wrcmd(0x40);
    for(i=0;i<24;i++) lcd_wrdata(hanzi[i]);
}


/*************************AD9850產生相位為0正弦波********************************/
AD9850_0(float freq)         
{
   float fw;
    uchar i,j,temp;
    uchar d[5];
   fw=freq*34.359738368;

   d[4]=0;
   d[0]=(unsigned long)fw;
   d[1]=(unsigned long)fw>>8;
   d[2]=(unsigned long)fw>>16;
   d[3]=(unsigned long)fw>>24;
  
   
    load=0; 
    sclk=0; 
    sclk=1;
    sclk=0;
    load=1;
    load=0;
    
    for(i=0;i<5;i++)
    {
        temp=d[i];
        for(j=0;j<8;j++)
        {
            sclk=0;
            if(temp&1) sdata=1;
            else sdata=0;
            sclk=1;
            temp=temp>>1;
         }
      }
      load=1;
      load=0;

}

/*************************AD9850產生相位為180正弦波********************************/
AD9850_180(float freq)         
{
   float fw;
    uchar i,j,temp;
    uchar d[5];

   fw=freq*34.359738368;

   d[4]=0X80;
   d[0]=(unsigned long)fw;
   d[1]=(unsigned long)fw>>8;
   d[2]=(unsigned long)fw>>16;
   d[3]=(unsigned long)fw>>24;
  
   
    load=0; 
    sclk=0; 
    sclk=1;
    sclk=0;
    load=1;
    load=0;
    
    for(i=0;i<5;i++)
    {
        temp=d[i];
        for(j=0;j<8;j++)
        {
            sclk=0;
            if(temp&1) sdata=1;
            else sdata=0;
            sclk=1;
            temp=temp>>1;
         }
      }
      load=1;
      load=0;

}



/************矩陣鍵盤讀鍵程序*******************/

unsigned char keytest()
{
    unsigned char keycode=0xff,temp,i;
    key_bus=0x0f;
    temp=key_bus&0x0f; 
    if(temp!=0x0f)              //有鍵按下
    {
        key_bus=0x7f;
        for(i=0;i<4;i++)
        {
            temp=key_bus&0x0f;
            if(temp==0x07)   //輸出端口示數
            {    
                keycode=i*4;
                break;
            }
            else if(temp==0x0b)
            {
                keycode=i*4+1;
                break;                                                            
            }
            else if(temp==0x0d)
            {
                keycode=i*4+2;
                break;
            }
            else if(temp==0x0e)
            {
                keycode=i*4+3;
                break;
            }
            key_bus=(key_bus>>1)|0x80;
        }

         while((key_bus&0x0f)!=0x0f)   //等待釋放
         {
             key_bus=0x0f; 
         }                                           
        
     }
     return keycode;
}

/*********定時器初始化程序******/
void Init_Timer ()
{
     TMOD=0x01;
     EA=1;
     ET0=1;
     TH0=~(100/256);
     TL0=~(100%256);
     TR0=0;

/************T0中斷服務程序*****************/
void timer0 (void)  interrupt 1 using 1
{  
     uchar flag;
     //EA=0;
     TH0=~(100/256);
     TL0=~(100%256);

     flag=wave1[k];

    // sqwave=wave1[k];
     k=(k+1)%15; 
     
     if(aorp==0)
     {
        if(flag==1)
           {
             AD9850_0(100000);            
           }
         else if(flag==0)
           { 
             AD9850_0(0);              
           }
     }
     else if(aorp==1)
     {
         if(flag==1)
          {
            AD9850_0(100000);            
          }
        else if(flag==0)
          {
             AD9850_180(100000);              
          }
     }
     //EA=1;
 }


main()
{
    long freq=1000;
    unsigned char keycode;
    uchar *p,count,lcd[15];
    uchar i;

    lcd_ini();
    Init_Timer();
    while(1)
    {
      keycode=keytest();

        if(keycode==0xff)
        {
          delay(10000);
          continue;
        }

      if(key_decode[keycode]==1)
        {
            TR0=0;
             AD9850_180(1000);
             lcd_wrcmd(0x01);
            delay(100);
              lcd_wrcmd(0x80);
           for(i=0;i<15;i++) 
           {
               
              lcd_wrdata(str1[i]);
           }
           lcd_wrcmd(0xc0);
           for(i=15;i<25;i++) lcd_wrdata(str1[i]);



        }
              
                   
              
       else if(key_decode[keycode]==2)
                	   { 
                          TR0=0; 
                          freq=freq+100;
                           AD9850_0(freq);
                		
           
                	   }
       else if(key_decode[keycode]==3)
                	  { 
                         TR0=0;
                         freq=freq-100;
        
                         AD9850_0(freq);
    
                	  }
        	  
         
 
       else if(key_decode[keycode]==4)    //按4鍵選擇ASK調制功能
         {    
              TR0=0;
              aorp=0;
              m=0;
              lcd_wrcmd(0x01);
            delay(100);
              lcd_wrcmd(0x80); 
              for(i=0;i<11;i++) 
                 {
                    
                    lcd_wrdata(str2[i]);
                  }
            
               while(m<15)
        		{
                     if(wave1[m]==1)lcd[m]='1';     //在液晶上顯示方波序列
                     else if(wave1[m]==0)lcd[m]='0';
                	 m++;
        		}

                p=lcd;             
                lcd_wrcmd(0xc0);     //從第2行第0個位置開始寫
                for(count=0;count<15;count++)
        			{
                         lcd_wrdata(*p++);
                          delay(100);
            		}
                    TR0=1;  

         }

         else if(key_decode[keycode]==5)    //按5鍵選擇PSK調制功能
             {    
                 TR0=0;
                 aorp=1;
            	 m=0;
                 lcd_wrcmd(0x01);
                 delay(100);
                 lcd_wrcmd(0x80); 
                 for(i=0;i<11;i++) 
                 	{
                    	
                        lcd_wrdata(str3[i]);
                    }
            
                  while(m<15)
            		{
                        if(wave1[m]==1)lcd[m]='1';
                         else if(wave1[m]==0)lcd[m]='0';
                		 m++;
        			}

                p=lcd;             
                lcd_wrcmd(0xc0);
                for(count=0;count<15;count++)
        			{
                         lcd_wrdata(*p++);
                          delay(100);
            		}
              
                TR0=1;//Init_Timer();
             } 
       }
}
   
        


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人免费视频免费观看| 久久99精品国产麻豆不卡| 国产尤物一区二区| 欧美一区二区三区免费视频| 欧美国产一区在线| 亚洲国产视频一区| 91麻豆精品国产91| 日本系列欧美系列| 91精品国产综合久久久久| 亚洲超碰精品一区二区| 欧美理论片在线| 久久精品国产亚洲高清剧情介绍| 欧美精品日韩精品| 美女视频一区在线观看| 久久网站热最新地址| 亚洲国产精品精华液网站| 777a∨成人精品桃花网| 激情综合网av| 国产精品传媒入口麻豆| 7777精品伊人久久久大香线蕉| 亚洲国产乱码最新视频 | 亚洲1区2区3区视频| 日韩一级高清毛片| 国产91丝袜在线播放九色| 综合电影一区二区三区| 91 com成人网| 91成人免费电影| 久久99久久久久久久久久久| 国产精品久久久久永久免费观看| 欧美美女网站色| 成人免费三级在线| 日本vs亚洲vs韩国一区三区二区| 久久精品欧美日韩精品 | 国产一区激情在线| 亚洲综合无码一区二区| 国产农村妇女毛片精品久久麻豆| 欧美影院午夜播放| 成人永久aaa| 国产精品白丝jk黑袜喷水| 日本成人在线不卡视频| 中文字幕一区二区三区在线观看| 久久久久久久一区| 精品国产免费视频| 5858s免费视频成人| 成人av网站免费观看| 成人中文字幕在线| 岛国一区二区在线观看| 北条麻妃国产九九精品视频| 国产米奇在线777精品观看| 国产美女av一区二区三区| 国内欧美视频一区二区| 青青草一区二区三区| 国产精品99久久久久久有的能看| 精品一区二区三区久久| 国产精品综合av一区二区国产馆| 国产成人综合精品三级| 成人app软件下载大全免费| 成人免费毛片嘿嘿连载视频| 欧美日韩极品在线观看一区| 色天使色偷偷av一区二区| 日韩三级视频在线观看| 91视频观看免费| 欧美日韩中字一区| 色激情天天射综合网| 久久精品国产亚洲5555| 懂色中文一区二区在线播放| 成人激情动漫在线观看| 国产99精品在线观看| 色综合天天综合给合国产| 欧美一区二区啪啪| 精品少妇一区二区三区在线播放| 久久精品视频在线免费观看 | 久久蜜桃香蕉精品一区二区三区| 欧美高清在线视频| 水野朝阳av一区二区三区| 国产福利一区二区| 日韩欧美在线1卡| 久久久精品国产免大香伊| 日本大胆欧美人术艺术动态| 91在线免费视频观看| 亚洲精品一区在线观看| 中文字幕精品一区二区精品绿巨人 | 久久不见久久见免费视频7 | 日韩女优av电影| 亚洲午夜精品网| 国产盗摄一区二区| 日韩欧美黄色影院| 精品一区二区三区影院在线午夜| 欧美一区二区成人| 激情综合网激情| 亚洲国产精华液网站w| 风间由美一区二区三区在线观看 | 日韩精品一区二区三区视频 | 国产一区二区三区免费在线观看 | 首页综合国产亚洲丝袜| 日韩午夜在线影院| 狠狠色丁香婷婷综合| 精品国产伦理网| 成a人片国产精品| 亚洲国产成人91porn| 国产成人av一区| 制服丝袜一区二区三区| 五月天激情小说综合| 久久亚洲捆绑美女| 色综合婷婷久久| 激情欧美日韩一区二区| 亚洲综合在线视频| 国产欧美视频在线观看| 欧美日韩三级视频| 波多野结衣欧美| 亚洲婷婷综合色高清在线| 精品久久国产老人久久综合| 色婷婷久久99综合精品jk白丝| 日本 国产 欧美色综合| 中文字幕日韩欧美一区二区三区| 欧美一级二级在线观看| 欧美日韩国产成人在线免费| 宅男噜噜噜66一区二区66| 成人免费视频视频| 国产精品国产三级国产aⅴ原创 | 欧美伊人久久久久久久久影院| 国产精品久久久久久久久久免费看| 99re8在线精品视频免费播放| 一区二区三区日韩欧美| 国产亚洲女人久久久久毛片| 欧美日韩精品电影| 日韩欧美国产小视频| 色一情一乱一乱一91av| 成人开心网精品视频| 久88久久88久久久| 蜜桃视频在线一区| 国产米奇在线777精品观看| 精品亚洲成a人在线观看| 日韩在线卡一卡二| 美洲天堂一区二卡三卡四卡视频| 五月天欧美精品| 欧美aaa在线| 成人av电影在线| 日本乱人伦aⅴ精品| 色婷婷久久久综合中文字幕| 欧美二区三区91| 国产亚洲综合在线| 亚洲同性gay激情无套| 伊人色综合久久天天人手人婷| 亚洲欧美视频在线观看视频| 丝袜美腿亚洲综合| 午夜一区二区三区视频| 99精品国产视频| 精品国产乱码久久久久久老虎| 国产日韩精品视频一区| 国产精品久久久久久久蜜臀| 亚洲一区av在线| 国产成人免费高清| 欧美一区二区三区播放老司机| 自拍偷拍亚洲综合| 看电影不卡的网站| 在线精品亚洲一区二区不卡| 国产日韩高清在线| 精品在线播放免费| 在线精品视频一区二区| 国产欧美精品在线观看| 欧美96一区二区免费视频| 91丨九色丨尤物| 亚洲视频网在线直播| 国产高清视频一区| 欧美电影免费提供在线观看| 亚洲午夜精品一区二区三区他趣| 国产91丝袜在线播放九色| 中文字幕欧美激情| 波多野结衣在线一区| 国产婷婷色一区二区三区四区 | 日本道精品一区二区三区| 久久影音资源网| 精品一区精品二区高清| 91精品国产免费久久综合| 蜜桃视频免费观看一区| 久久新电视剧免费观看| 久久精品国产成人一区二区三区| 91.麻豆视频| 成人白浆超碰人人人人| 亚洲国产精品久久艾草纯爱| 欧美日韩国产bt| 男男gaygay亚洲| 国产精品午夜在线观看| 色综合久久中文字幕综合网| 丝袜美腿亚洲综合| 国产拍欧美日韩视频二区| 成人高清视频免费观看| 视频一区视频二区在线观看| 在线综合视频播放| av亚洲精华国产精华| 精品在线播放免费| 一区二区三区产品免费精品久久75| 91精品国产色综合久久不卡蜜臀| 国产iv一区二区三区| 久久狠狠亚洲综合| 一区二区三区免费| 久久这里只有精品视频网| 欧美色网站导航| 在线免费视频一区二区|