main.c

来自「这是单片机的按键显示和数模转换器调试程序」· C语言 代码 · 共 112 行

C
112
字号
/************************************************************************************
*  Copyright (c) 2004,西安铭朗电子科技有限责任公司
*            All rights reserved.
*
* 文件名称: MAIN.C
* 文件标识: none
* 适用器件: C8051F020
* 
* 摘 要:
* 
* 当前版本:1.0
* 作 者:张宁强
* 完成日期:2006年1月10日
*
* 历史版本:0.9 
* 原作者 : 张宁强
* 完成日期:2005年x月xx日
*************************************************************************************/

#include "MAIN.H"

#define LED_PORT P5 //P5.4--P5.7


void DelayMs(unsigned int n)//延时(n)MS
{
	unsigned int i;
	for(; n > 0; n--)
	{
		for(i = 2211; i > 0; i--);
	}
}

void SysClkInit(void)//配置系统时钟
{
   int n = 0;
	OSCXCN = 0x67;
   for (n = 0; n < 255; n++) ;
   while ( (OSCXCN & 0x80) == 0 );
	OSCICN = 0x0C;
}

void SystemInit(void)//系统配置
{
   WDTCN = 0xDE;   // 关闭 WDT
   WDTCN = 0xAD;

   LED_PORT = 0x0f;
}

void PortInit(void)//端口配置
{
   //交叉开关配置
	XBR0 = 0x04;
	XBR1 = 0x00;
	XBR2 = 0x40;
	// P0 口分配状况
	// P0.0 = UART0 TX
	// P0.1 = UART0 RX

   //输出方式
   P74OUT = 0x08;
}

void main(void)
{
	unsigned char KeyBuff;
	SystemInit();//系统配置
	SysClkInit();//配置系统时钟
	PortInit();//端口配置
   DAC_Init();
	while(1)
	{
		KeyBuff=KeyScan();
		if(KeyBuff==1)
		{
         DAC0_Out_mV(500);
         DAC1_Out_mV(500);
			LED_PORT |= 0x10;
			DelayMs(50);
			LED_PORT &= ~0x10;
		}
		if(KeyBuff==2)
		{
         DAC0_Out_mV(1000);
         DAC1_Out_mV(1000);
			LED_PORT |= 0x20;
			DelayMs(50);
			LED_PORT &= ~0x20;
		}
		if(KeyBuff==3)
		{
         DAC0_Out_mV(1500);
         DAC1_Out_mV(1500);
			LED_PORT |= 0x40;
			DelayMs(50);
			LED_PORT &= ~0x40;
		}
		if(KeyBuff==4)
		{
         DAC0_Out_mV(2000);
         DAC1_Out_mV(2000);
			LED_PORT |= 0x80;
			DelayMs(50);
			LED_PORT &= ~0x80;
		}
	}
}



⌨️ 快捷键说明

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