?? dac_example.c
字號:
/************************************************************************************
* Copyright (c), 2004-2007,西安銘朗電子科技有限責任公司
* All rights reserved.
*
* Http: www.mlarm.com
* Email: mlarm@mlarm.com
*
* File name: DAC_Example.c
* Project : ML-F020ICB
* Processor: C8051F020
* Compiler : Keil C51 Compiler
*
* Author: 李林利
* Version: 1.20
* Date: 2007.6.1
* Email: GavinLi@126.com
*
* Description: DAC測試程序文件;
*
* Others: none;
*
* Function List:
* 1. void DAC_Proc(void)
*
* History:
* 1. Author: 李林利
* Version: 1.10
* Date: 2007.3.12
* Modification: none
*
* 2. Author: 李林利
* Version: 1.00
* Date: 2004.11.24
* Modification: 建立文件
*
*************************************************************************************/
/************************************************************************************/
// 引用外部頭文件
#include "..\config\Const.h"
#include "..\driver\uart.h"
#include "..\driver\delay.h"
#include "..\driver\dac.h"
/************************************************************************************/
/************************************************************************************/
// 常量及全局變量定義
/************************************************************************************/
extern unsigned int xdata DAC0_Buffer[]; // DAC0發送數據緩存
extern unsigned int xdata DAC1_Buffer[]; // DAC1發送數據緩存
/*************************************************************************************/
//
// DAC測試程序函數定義
//
/*************************************************************************************/
/***********************************************************************************
* Function: DAC_Proc;
*
* Description: DAC測試程序;
*
* Input: none;
*
* Return: none;
*
* Note: none;
************************************************************************************/
void DAC_Proc(void)
{
unsigned char i,cmd;
unsigned int val,j;
unsigned int dac_buf[256];
//for (i=0;i<256;i++)
// dac_buf[i] = i<<4;
//DAC0_SetBufPtr(dac_buf,0,256);
//DAC1_SetBufPtr(dac_buf,128,256);
Uart0_SendBlock("DAC test starting!\n\r",20,&i);
DAC0_Init(DAC0_MODE,100000);
DAC1_Init(DAC1_MODE,100000);
while(1)
{
cmd = 0;
if (Uart0_GetCharsRxBuf()>0)
{
Uart0_RecvChar(&cmd);
}
//Wachdog_Clear();
switch (cmd)
{
case 'A':
for (j=0;j<256;j++)
{
DAC0_Buffer[j] = j<<4;
DAC1_Buffer[j] =0x1000 - (j<<4);
//Wachdog_Clear();
}
// DAC0_SetBufPtr(dac_buf,0,256);
// DAC1_SetBufPtr(dac_buf,128,256);
DAC0_Enable();
DAC1_Enable();
cmd = 0;
break;
case 'E':
DAC0_Disable();
DAC1_Disable();
Uart0_SendBlock("DAC test end!\n\r",15,&i);
return;
break;
default:
break;
}
}
}
/***********************************************************************************/
// 文件結束
/***********************************************************************************/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -