找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

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

基于51單片機(jī)的DAC0832 A/D轉(zhuǎn)換輸出4種波形

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:150019 發(fā)表于 2016-11-25 16:27 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式



所有設(shè)計(jì)資料下載:
DAC0832數(shù)模轉(zhuǎn)換.zip (84.94 KB, 下載次數(shù): 111)

本設(shè)計(jì)主要用到DAC0832等芯片,輸出四種波形,另外帶有數(shù)碼管計(jì)數(shù)波形個(gè)數(shù)。
另外主程序
#include <reg52.h>        
#include <stdio.h>
#include <math.h>      
#include <ABSACC.H>         
#define DAC0832Addr0 0x7FFF                                          //DAC0832地址  
                                         //0111 1111
#define DAC0832Addr1 0xBFFF                                          //DAC0832地址
                                         //1011 1111  
#define DAC0832Addr2 0xDFFF                                          //DAC0832地址
                                         //1101 1111
#define DAC0832Addr3 0xEFFF                                          //DAC0832地址
                                         //1110 1111  
#define DAC0832Addr 0xF7FF                                          //DAC0832地址
                                         //1111 0111
char code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //數(shù)碼管顯示0~9
#define uchar unsigned char                                                //uchar代表無(wú)符號(hào)字符   
#define uint unsigned int  
//sbit P10=P1^0;
sbit P21=P2^1;
sbit P22=P2^2;                               //unit代表無(wú)符號(hào)整型數(shù)據(jù)類(lèi)型                                                      
void TransformData(int i,uchar c0832data);                                //數(shù)/模轉(zhuǎn)換函數(shù)                  
void Delay();
//void play();                                                                        //延時(shí)函數(shù)                  
main()
{   
    int i;                                    
    uchar cDigital=0;
        uint x=0,ge,shi;
//   Uart_Init();
        P0=0xFF;                                                                        //I/O口初始化0xFF
        P1=0xFF;
        P2=0xFF;
        P3=0xFF;
        Delay();                  
                                                            
        while(1)              
        {        
                for(i=0;i<5;i++)                //產(chǎn)生鋸齒波
                {
                    for(cDigital=0;cDigital<255;cDigital++)        //產(chǎn)生三角波上升沿        
                       {                       
                Delay();                          
                        TransformData(0,cDigital);         
                                             
                                   TransformData(1,cDigital);
                                if(cDigital>128)
                                {
                                                TransformData(1,255-cDigital);        
                                }   
                          
                            if(cDigital<128)   
                                {                 
                                        TransformData(2,122);  
                                }            
                                else         
                                {         
                                           TransformData(2,0);   
                                }                                             
                                    
                            if(cDigital<128)         
                                {                                   
                                        TransformData(3,125*sin((float)cDigital/255*3.14*2)-127);  
                                }
                                               
                                else                                 
                                {              
                                           TransformData(3,128*sin((float)cDigital/255*3.14*2)+127);  
                                }
//                                    
                                TransformData(4,cDigital);
                                if(cDigital==254)
                                {
                                        x++;
                                }
                                if(x==254)
                                {
                                        x=0;
                                }
                                ge=x%10;
                                shi=x/10;
                                P1=table[ge];
                                P22=1;  
                                Delay();
                                P22=1;
                                P1=table[shi];
                                P21=1;
                                Delay();
                                P21=0;
                                                                     
            }         }                          
}                                                                     
void TransformData(int i,uchar c0832data)                                //數(shù)/模轉(zhuǎn)換函數(shù)
{                        
    //*((uchar xdata*)DAC0832Addr0)=c0832data;
        switch(i)                 
        {                        
           case 0: *((uchar xdata*)DAC0832Addr0)=c0832data;           break;
           case 1: *((uchar xdata*)DAC0832Addr1)=c0832data;           break;
           case 2: *((uchar xdata*)DAC0832Addr2)=c0832data;           break;
           case 3: *((uchar xdata*)DAC0832Addr3)=c0832data;           break;
           case 4: *((uchar xdata*)DAC0832Addr)=c0832data;                   break;
        }      
}  
                                                           
void Delay()                                                                        //延時(shí)1ms
{                                   
    uint i;        
           for (i=0;i<250;i++) ;         
}

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:362266 發(fā)表于 2018-6-30 14:24 | 只看該作者
我想下載這個(gè)
回復(fù)

使用道具 舉報(bào)

板凳
ID:638700 發(fā)表于 2019-11-28 13:22 | 只看該作者
壓縮文件格式未知或已損壞..
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表