?? text1
字號:
/************************************************************************
HELLO.C
測試Keil C51源程序仿真版及串行口例子程序,需要調用對板上LED接口芯片
MAX7219進行初始化的匯編語言程序:DINPUT.A51和DISPLY.A51
*************************************************************************/
#include <REG52.H>
#include <stdio.h>
/*------------------------------------------------------------------------
定義外部匯編語言子程序:
DINPUT為MAX7219初始化命令寫入子程序,其中參數aa為MAX7219內部寄存器地址,參數bb為待寫入的命令。
DISPLY為MAX7219顯示子程序,其中參數 *cc 為顯示緩沖區首地址。
------------------------------------------------------------------------*/
extern void DINPUT(unsigned char aa, unsigned char bb); /* 外部A51程序 */
extern void DISPLY(unsigned char data * cc);
/* ------------------------------------------------------------------
定義在Keil C51源程序仿真版上LED顯示的"HELLO"字符數據
---------------------------------------------------------------------*/
static unsigned char dg[]=
{0x37,0x4f,0x0e,0x0e,0x7e,0x00,0x00,0x00};
/*---------------------------------------------------------------------
使用Keil C51源程序仿真版時,若希望用Debug中的Stop按鈕停止運行用
戶程序,則需要如下語句來保留串行中斷入口
---------------------------------------------------------------------*/
#ifdef MONITOR51
char code reserve [3] _at_ 0x23;
#endif
/* 主函數 */
void main (void) {
/* ---------------------------------------------------------------------
不使用Keil C51源程序仿真版時,需要初始化串行口,以便從Debug的串行
窗口輸出字符串:"HELLO"
------------------------------------------------------------------------*/
#ifndef MONITOR51
SCON = 0x50; /* 設置SCON: 方式1,8位UART, 允許接收 */
TMOD |= 0x20; /* 設置TMOD: 使用T1, 方式2, 8位自動重裝初值 */
TH1 = 0xFD; /* 設置TH1初值: 使用11.05MHz晶振,9600波特率 */
TR1 = 1; /* 啟動T1 */
TI = 1;
#endif
/*-------------------------------------------------------------
初始化MAX7219 并顯示"HELLO"字符
--------------------------------------------------------------*/
DINPUT(0X0A,0X07); /* 將命令0x07寫入7219亮度寄存器 */
/* 使占空比為15/32 */
DINPUT(0X0B,0X07); /* 將命令0x07寫入7219掃描界限寄存器 */
/* 設置為8位 顯示方式 */
DINPUT(0X09,0X00); /* 將命令0x00寫入7219譯碼方式寄存器 */
/* 設置為BCD 譯碼方式 */
DINPUT(0X0c,0X01); /* 將命令0x0寫入7219停機寄存器 */
/* 設置為正常工作狀態 */
DISPLY(&dg[0]); /* 在 C51 仿真板上顯示 HELLO */
while (1) {
printf ("Hello World\n"); /* 在UV2串行口顯示Hello World */
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -