📄 led.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 + -