欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: 基于51單片機(jī)的DAC0832 A/D轉(zhuǎn)換輸出4種波形 [打印本頁]

作者: keil4    時(shí)間: 2016-11-25 16:27
標(biāo)題: 基于51單片機(jī)的DAC0832 A/D轉(zhuǎn)換輸出4種波形



所有設(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代表無符號(hào)字符   
#define uint unsigned int  
//sbit P10=P1^0;
sbit P21=P2^1;
sbit P22=P2^2;                               //unit代表無符號(hào)整型數(shù)據(jù)類型                                                      
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++) ;         
}


作者: sdijao    時(shí)間: 2018-6-30 14:24
我想下載這個(gè)
作者: 盾墻上的貓    時(shí)間: 2019-11-28 13:22
壓縮文件格式未知或已損壞..




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1