⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 da0832.c

📁 用at89s52控制dac0832的进行da转换的程序.
💻 C
字号:
#include <reg52.h>
#include <stdio.h>
#include <absacc.h>

#define uchar unsigned char
#define DA0832 XBYTE[0X1000]


#define ram_memory XBYTE[0x8100]
#define cs_memory XBYTE[0x0000]



sbit CS=P1^4;
sbit CLK=P1^7;
sbit DIO=P1^6;
sbit KEY=P1^3;
uchar half_hign;
uchar half_low;
uchar X,ram_data;
uchar rebuf, sebuf;
bdata uchar com_data;
sbit mos_bit=com_data^7;
sbit low_bit=com_data^0;
void delay_50us()
{   
   uchar i;
   for (i=0; i<6; i++){;}
 }

 void delay_8us()
 {
     uchar i;
	 for (i=0; i<1; i++){;}
 }
  void delay_50ms()
  {
     uchar i,j;
	 for(j=0;j<50;j++)
	 for(i=0;i<125;i++){;}
	 }
   void send(uchar sebuf)
 {
    uchar i;
	com_data=sebuf;
	CLK=0;
	CS=0;
	delay_50us();
	for(i=0;i<8;i++)
	{
	delay_8us();
	DIO=mos_bit;
	CLK=1;
	delay_8us();
	com_data=com_data<<1;
	CLK=0;
	}
	DIO=0;
}
   void receive()
   {
      uchar i;
	  CLK=1;
	  delay_50us();
	  for(i=0;i<8;i++)
	  {
	   com_data=com_data<<1;
	   low_bit=DIO;
	   CLK=1;
	   delay_8us();
	   CLK=0;
	   delay_8us();
	   }
	   rebuf=com_data;
	   DIO =1;
	   CS=1;
	   }
	   void reset()
	   {
	   KEY=1;
	   DIO=1;
	   delay_50ms();
	   send(0xa4);
	   CS=1;
	   }
	   
       main()
       {unsigned char i = 0;
     
		while(1)
		DA0832 = i ++;



       }   


	   /*main()
	   {
	    
	    // 初始化串口

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -