久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5447|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

AT89C51+DA實現(xiàn)的波形發(fā)生器

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:128229 發(fā)表于 2016-6-29 20:50 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式



本程序?qū)崿F(xiàn)的是通過4*4鍵盤的三個鍵值(0x7d,0xbd,0xdd;分別對應(yīng)鍵盤的數(shù)字1,2,3)來選擇輸出波形(正弦,鋸齒,方波)。幾百年沒寫c程序了,出的波形都不是特別好看,如果各位看官覺得那里有錯的請指點(diǎn),謝謝!

[color=#00CC33,strength=3);text-shadow:1px]電路連接:P0口接DA,P1控制鍵盤,中斷用外部中斷1(INT1),J14為輸出端用示波器觀察波形。
程序:

# include < absacc.h >
# include < reg51.h >
#include<math.h>
# define DAC0832  XBYTE [0xc000 ]
# define uchar unsigned char
# define uint unsigned int
void sinusoidal();
void triangle();
void square();
void dlms() ;
unsigned char read_key(unsigned char);

code unsigned char Sin[128]={64,67,70,73,76,79,82,85,88,91,94,96,99,102,104,106,
                                          109,111,113,115,117,118,120,121,123,124,125,126,126,
                                          127,127,127,127,127,127,127,126,126,125,124,123,121,
                                          120,118,117,115,113,111,109,106,104,102,99,96,94,91,
                                          88,85,82,79,76,73,70,67,64,60,57,54,51,48,45,42,39,
                                          36,33,31,28,25,23,21,18,16,14,12,10,9,7,6,4,3,2,1,
                                          1,0,0,0,0,0,0,0,1,1,2,3,4,6,7,9,10,12,14,16,18,21,23,
                                          25,28,31,33,36,39,42,45,48,51,54,57,60};

code unsigned char scan[4]={0xef,0xdf,0xbf,0x7f};

unsigned char  key, old_key ;   //鍵碼,掃描碼
uchar counter;

void dlms()    //延時
{
uchar k;
for(k=200;k>0;k--){}
}

void main(){
  IT1=0;      
  EX1=1;      
  PX1=1;      
  EA=1;
  P1=0x0f;

    while(1){

        switch(key)
           {
              case 0x1:   sinusoidal();  //zhenxian
                        break;
              case 0x2:  triangle();     //jvchi
                        break;
              case 0x3: square();   //fanbo
                        break;
              default:break;
          }

    }
}

void get_keypad_code() interrupt 2
{
unsigned char i;
uchar scan;
  for (i=1;i<=4;i++)
     {   
        P1=scan;
        old_key=P1|0xf0;
     if(old_key!=0xff)           //有鍵?

{
              key=read_key(scan);     //讀鍵碼
            dlms();                  //延時5-10ms,去抖動
            }
         }
}

uchar read_key(uchar scan)
{
P1=scan;       //掃描
switch(P1)     //返回掃描碼->鍵碼
    {
     case 0x77:return(0x7);
     case 0xb7:return(0x8);
     case 0xd7:return(0x9);
     case 0xe7:return(0xd);
     case 0x7b:return(0x4);
     case 0xbb:return(0x5);
     case 0xdb:return(0x6);
     case 0xeb:return(0xc);
     case 0x7d:return(0x1);
     case 0xbd:return(0x2);
     case 0xdd:return(0x3);
     case 0xed:return(0xb);
     case 0x7e:return(0xf);
     case 0xbe:return(0x0);
     case 0xde:return(0xe);
     case 0xee:return(0xa);
     default:  return(0xff);

     }
}

void sinusoidal()
{         
                    for(counter=0;counter<128;counter++){
                    DAC0832=Sin[counter];
            }
}

void triangle ()
{  
   for(counter=0;counter<128;counter++ ){      
        DAC0832=counter;
           dlms();            
   }
}

void square()
{   
       for(counter=1;counter<128;counter++)
       {
       if(counter<=64) DAC0832=0x00;
       else DAC0832=0xf0;
       }        
}





分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 精品国产乱码久久久久久蜜柚 | 在线观看亚洲精品视频 | 91精品国产一区二区三区 | 免费视频成人国产精品网站 | 成人av免费在线观看 | 一区二区三区高清在线观看 | 国产精品久久片 | 97精品一区二区 | 91精品国产91久久久久久密臀 | 久久九精品 | 精品视频www | 国产成人免费视频网站高清观看视频 | 午夜合集 | 欧美成人激情 | 丝袜久久 | 九九视频在线观看 | 超碰在线久 | 伊人精品久久久久77777 | 国产一区二区电影 | 成人免费网站在线 | 91亚洲国产精品 | 日韩精品在线免费观看 | 中文字幕亚洲一区 | 亚洲第一天堂 | 国产一区二区精品在线 | 中文字幕在线观看日韩 | 玖玖玖在线 | 欧美激情视频一区二区三区在线播放 | 欧美一区二区三区 | 中文一区二区 | 国产成人免费在线观看 | 青娱乐自拍| 成人午夜精品 | 亚洲精品二区 | 国产香蕉视频在线播放 | 一区二区三区欧美在线 | 日韩欧美在线视频 | 中文字幕一区二区三区四区 | 91精品国产乱码久久久久久久久 | 日韩视频免费看 | 欧美色综合一区二区三区 |