|
編寫串行 DA 芯片 MCP4921 與單片機(jī)的接口程序,實(shí)現(xiàn) 周期性 、 鋸齒波、 0-5V 信號(hào)的輸出 。
51hei.png (69.28 KB, 下載次數(shù): 60)
下載附件
2020-6-14 22:23 上傳
單片機(jī)源程序如下:
- //主文件,用于程序數(shù)值的輸入
- #include <reg52.h>
- #include <intrins.h>
- #include "delay.h"
- #include "DAC0832.h"
- #include "MCP4921.h"
- #define Max 0xFFFF //其對(duì)應(yīng)的電壓值5V
- void main()
- {
- unsigned int Data1,Data2;
- int IniVa;//定義初值
- while(1)
- {
- //令輸出為鋸齒波輸出
- for(IniVa = 0;IniVa < Max; IniVa++)
- {
- Data1 = IniVa;
- //Data2 = Max-IniVa;
- //DA2channel(Data1, Data2);
- MCP4921(Data1);
- }
- }
- }
復(fù)制代碼
- //子程序文件,MCP4921的SPI輸入時(shí)序
- #include <reg52.h>
- #include <intrins.h>
- #include "delay.h"
- #include "MCP4921.h"
- void MCP4921(unsigned int DAdata)
- {
- unsigned int DAdataout;
- unsigned char i;
- DAdataout = (DAdata | 0x3000);
- CS = 1;
- SCK = 0;
- LDAC = 1;
- delay10us();
- CS = 0;
- for(i=0;i<=15;i++)
- {
- SI = DAdataout >> (15 - i)&0x0001;//移位,將最低位取出,高位賦值為0
- delay10us();
- SCK = 1;
- delay10us();
- SCK = 0;
- }
- delay10us();
- CS = 1;
- LDAC = 0;
- delay10us();
- LDAC = 1;
- }
復(fù)制代碼
所有資料51hei提供下載:
MCP4921 鋸齒波zy.zip
(175.58 KB, 下載次數(shù): 59)
2020-6-14 20:56 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
評(píng)分
-
查看全部評(píng)分
|