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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1982|回復: 0
打印 上一主題 下一主題
收起左側

單片機A/D與D/A轉換程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:756245 發表于 2020-5-20 08:39 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
#include <reg51.h>
sbit wr=P3^6;
sbit rd=P3^2;
sbit key1=P1^1;                //定義P1.1腳的按鍵為方波鍵key1
sbit key2=P1^2;            //定義P1.2腳的按鍵為三角波鍵key2   
sbit key3=P1^3;            //定義P1.2腳的按鍵為鋸齒波鍵key3
unsigned char flag;                 //flag為1、2、3時對應方波、三角波、鋸齒波
unsigned char keyscan()                  //鍵盤掃描函數
{
unsigned char keyscan_num,temp;
  P1=0xff;                                 // P1口輸入
  temp=P1;                                //從P1口讀入鍵值,存入temp中
  if(~(temp&0xff))      //判是否有鍵按下,即鍵值不為0xff,則有鍵按下
{
   if(key1==0)                         //產生方波的按鍵按下
            {
        keyscan_num=1;                         //得到鍵值為1,表示產生方波
      }
        else if(key2==0)                //產生三角波的按鍵按下
        {
        keyscan_num=2;                         //得到的鍵值為2,表示產生三角波
        }
        else if(key3==0)                 //產生梯形波的按鍵按下
        {
    keyscan_num=3;                         //得到的鍵值為3,表示產生鋸齒波
        }
        else  
    {
        keyscan_num=0;                         //沒有按鍵按下,鍵值為0
        }                                         
               
   return(keyscan_num) ;                //得到的鍵值返回
}        
}

void delay(unsigned  int z)//當z=2時,延時1ms  
    { unsigned char a;
      unsigned  char  b;
      for(a=z;a>0;a--)
        {for(b=100;b>0;b--)
         {;;}
        }
     }
void init_DA0832()                  //DAC0832初始化函數
{
rd=0;
wr=0;
}
void Square()                          //方波函數
{
    P2=0x00;
    delay(50) ;
    P2=0xff;
    delay(50) ;
}
void Triangle()                        //三角波
{
P2=0x00;
do{
P2=P2+1;   
}while(P2<0xff);
P2=0xff;
do{
P2=P2-1;
}while(P2>0x00);
P2=0x00;
}
void Sawtooth()                        //鋸齒波
{
P2=0x00;
do{
P2=P2+1;  
}while(P2<0xff);

}
void main()                                        // 主函數
{
        init_DA0832();                // DA0832的初始化函數            
          while(1)
    {
           
          flag=keyscan();        
      switch(flag)
      {           
      case 1:
                          do{
                        flag=keyscan();
                        Square ();                       
                          }while(flag==1);                          
                          break;
                  case 2:
                           do{
                     flag=keyscan();
                      Triangle ();
                        }while(flag==2);
                            break;                  
                  case 3:
                 do{
                      flag=keyscan();
                      Sawtooth ();
                         }while(flag==3);
                break;
                  default:
                           flag=keyscan();
                    break;
            }        
     }
}


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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩精品成人一区二区三区视频 | 亚洲精品亚洲人成人网 | 久久er99热精品一区二区 | 亚洲精品免费在线 | 国产精品永久免费 | 国产精品99久久久久久人 | 久久久久久久一区二区三区 | 久久久久一区 | 韩国理论电影在线 | 久久精品一二三影院 | 久久久久久99| 亚洲视频二区 | 色偷偷噜噜噜亚洲男人 | 欧美在线色 | 午夜资源 | 在线观看国产h | 日韩欧美手机在线 | 五月婷婷丁香 | 国产成人精品999在线观看 | 久久国产福利 | 日韩日b视频| 国产精品99久久免费观看 | 国产精品夜间视频香蕉 | 亚洲成人网在线 | 古装人性做爰av网站 | 国产一区二区三区四区五区3d | 性精品| 欧美性猛片aaaaaaa做受 | 久久精品aaa| 日韩欧美国产不卡 | 国产日韩欧美91 | 久久综合一区 | av中文字幕在线 | 久久久久久影院 | 久久精品国产亚洲 | 国产伦一区二区三区久久 | 91免费福利在线 | 久久久久久亚洲 | 欧美日日日日bbbbb视频 | 中文字幕国产 | 亚洲精品视频在线播放 |