dma

来自「DMA例程」· 代码 · 共 66 行

TXT
66
字号
//============================================================	
//         C异步读程序块:
//============================================================
	#include <reg51.h>
	#include "intrins.h"
	#include "absacc.h"
	#include <stdio.h> 
//--------------------------------------------

	sbit DMAING 	= P2^0;
	sbit DMADIR 	= P2^1;   
	sbit FIFOEMPTY 	= P2^2;
	sbit FIFOFULL 	= P2^3;
	sbit DMACS  	= P3^4;
	sbit DMAOE 	    = P2^5;
	sbit PTKEND 	= P2^6;
	sbit DMAWR  	= P3^6;

	sbit DMARD  	= P3^7;


//**********************************************************************
//         主程序开始
//**********************************************************************
	void main(void)
	{	
	    unsigned    char   pdata  y;	   //Y为为外部变量用以产生WR脉冲
	    unsigned  char i;
	    DMACS = 0;
	    for( ;; )
		   {
			 if( (DMAING == 1) && (DMADIR == 1) && (FIFOFULL == 1))
		      {
			   	PTKEND = 1;
		        for( i=0; i<64; i++)	  //单片机连续向主机发88—FF字符
			     {
				   y = 0x88;				
				   _nop_();
				   _nop_();
				   y = 0x99;
				   _nop_();
				   _nop_();
				   y = 0xAA;
				   _nop_();
				   _nop_();
				   y = 0xBB;
				   _nop_();
				   _nop_();
				   y = 0xCC;
				   _nop_();
				   _nop_();
				   y = 0xDD;
				   _nop_();
				   _nop_();
				   y = 0xEE;
				   _nop_();
				   _nop_();
				   y = 0xFF;
				   _nop_();
				   _nop_();
				  }
				 }
				}
			   }

	

⌨️ 快捷键说明

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