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

📄 testsram_lcd_c1.c

📁 AT89C58单片机 外部SRAM测试+LCD显示 C语言
💻 C
字号:
///////////////////////////////////////////////////////////////////
// 深圳思瑞科技  SRI Technology Studio.
// http://www.sri.cn, http://www.sricn.com
// mail: support@sri.cn, xjb@sri.cn
//
// 转载请注明该出处
//
// ----------------------------------------------------------------
// 源文件名: TestSRAM_LCD_C1.c
// 程序名称: 测试外部RAM并将结果显示在LCD上,K8和K9用于切换内、外部
//           SRAM,内部测试大小同样按照外部最大SRAM大小来测试,实测
//           显示错误地址即为该单片机内部SRAM的大小
///////////////////////////////////////////////////////////////////

#include "..\..\library\lib1602.h"
#include "..\..\library\libkey.h"
#include "..\..\library\board.h"

void main()
{
    WORD i;
    BOOL e;
    BOOL bExter = TRUE;

    AUXR |= 2;      // 访问外部RAM
    LIBC_Init();
    LCD_Init();

    while (TRUE)
    {
        LCD_ClearScreen();

        if (bExter)
            LCD_WriteStr("Check Ex-SRAM...");
        else
            LCD_WriteStr("Check In-SRAM...");
        EnDataBus();    // 使能数据总线
        // 向SRAM写入数据
        for (i=0; i<SRAM_SIZE; i++)
            XBYTE[i] = (i & 0xFF) ^ (i >> 8);

        e = FALSE;      // 无错误标志
        // 从SRAM读出数据并校验
        for (i=0; i<SRAM_SIZE; i++)
        {
            if (XBYTE[i] != ((i & 0xFF) ^ (i >> 8)))
            {
                e = TRUE;       // 错误标志
                break;
            }
        }

        LCD_SetLine(0);
        if (e)
        {
            LCD_WriteStr("Error at: ");
            LCD_WriteHex(i >> 8);
            LCD_WriteHex(i & 0xFF);
            LCD_WriteData('H');
        }
        else
        {
            LCD_WriteStr("Check OK!");
        }
        LCD_WriteStr("                ");

        LCD_SetLine(1);
        LCD_WriteStr("Press to Recheck");
        switch (Key_GetDown(0xFF, GETKEYALL))  // 等待按任意键继续检查
        {
            case KEY8:
                AUXR |= 2;      // 访问外部RAM
                bExter = TRUE;
                break;
            case KEY9:
                AUXR &= !2;     // 访问内部RAM
                bExter = FALSE;
                break;
        }
    }
}

⌨️ 快捷键说明

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