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

📄 led.c

📁 超声波倒车雷达的设计程序 利用SPCE061A单片机实现超声波倒车雷达的测量计算方法。程序中采用软件校正
💻 C
字号:
//=============================================================
//  文件名称: Led.c
//  实现功能: Led显示功能子程序
//  完成日期:  2006-4-22
//==============================================================
#include "SPCE061A.h"

unsigned int dispcode[]=
     {
	    0x00EE,/*0*/
        0x0006,/*1*/
        0x00BA,/*2*/
        0x003E,/*3*/
        0x0056,/*4*/
        0x007C,/*5*/
        0x00FC,/*6*/
        0x000E,/*7*/
        0x00FE,/*8*/
        0x007E,/*9*/
        0x00DE,0x00F4,0x00E8,0x00B6,0x00F8,0x00D8,0x0001
      };
//LED_TAB:
//DB  0EEH,006H,0BAH,03EH,056H,07CH,0FCH,00EH,0FEH,07EH,0DEH,0F4H,0E8H,0B6H,0F8H,0D8H
extern unsigned int F_Binary_BCD(unsigned int Binary);
//============================================================= 
// 函数名称:    Led_Out()
// 功能描述:	播放一段语音
//              同时还要存贮测量值(存放在Flash)中 
// 语法格式:    void Led_Out(unsigned int iLedIndex)
// 入口参数:    iLedIndex---语音资源索引号
// 出口参数:    无
// 注意事项:    仅为用户模型
//=============================================================
void Led_Out(unsigned int iLedIndex)
{	  
	unsigned int uiTemp;
	unsigned int uiTemp_IO;
	unsigned int i;
	
	
	uiTemp = dispcode[iLedIndex];
	
	uiTemp_IO = *P_IOB_Dir;
	*P_IOB_Dir = 0x0300|uiTemp_IO;
	uiTemp_IO = *P_IOB_Attrib;
	*P_IOB_Attrib = 0x0300|uiTemp_IO;
	
	for(i=0;i<8;i++)
	{
		uiTemp_IO = *P_IOB_Buffer;
		*P_IOB_Data = uiTemp_IO&0xFcFF;
		uiTemp_IO = *P_IOB_Buffer;
		*P_IOB_Data = ((uiTemp&0x0001)<<8)|(uiTemp_IO&0xFEFF);
		uiTemp_IO = *P_IOB_Buffer;
		*P_IOB_Data = uiTemp_IO|0x0200;
		
		uiTemp = uiTemp>>1;
		*P_Watchdog_Clear = 0x0001;
	}
	
}
//============================================================= 
// 函数名称:    Led_Disp()
// 功能描述:	对测量得到的数据进行语报:X点XX米
//              同时还要存贮测量值(存放在Flash)中 
// 语法格式:    void Led_Disp(unsigned int uiResult)
// 入口参数:    uiResult---要用来显示的结果
// 出口参数:    无
// 注意事项:    仅为用户模型
//=============================================================
void Led_Disp(unsigned int uiResult0,unsigned int uiResult1)
{
	unsigned int uiResult_BCD;
	unsigned int uiTemp;
	
	uiResult_BCD = F_Binary_BCD(uiResult0);
	uiTemp = uiResult_BCD&0x000f;
	  Led_Out(uiTemp);
	uiTemp = (uiResult_BCD>>4)&0x000f;
	  Led_Out(uiTemp);
	Led_Out(16);					//显示"点"
	uiTemp = (uiResult_BCD>>8)&0x000f;
	  Led_Out(uiTemp);
	
	uiResult_BCD = F_Binary_BCD(uiResult1);
	uiTemp = uiResult_BCD&0x000f;
	  Led_Out(uiTemp);
	uiTemp = (uiResult_BCD>>4)&0x000f;
	  Led_Out(uiTemp);
	Led_Out(16);					//显示"点"
	uiTemp = (uiResult_BCD>>8)&0x000f;
	  Led_Out(uiTemp);
}

⌨️ 快捷键说明

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