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

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