| 
 
| MCU为77E516,附上主要程序: void main(void)
 {
 
 McuIint();
 EN1 = 1;
 T1_Init();
 UART_Init();
 
 EA = 1;
 while (1)
 {
 MainTask();    // 目前为空函数
 }
 }
 
 void McuIint(void)
 {
 EA = 0;                                    // 中断禁止
 P1 = 0xff;                                // 初始化P1口
 PMR = 0x40;                                // 设定一个机器周期为4个振荡器周期
 
 CKCON = 0x3c;                                // T0、T1、T2计数周期为4个振荡器周期
 IP = 0x00;
 IE = 0x00;
 EIE = 0x00;
 
 }
 
 void T1_Init(void)
 {
 TMOD &= 0x0F;     // 清除T1控制位(T0不变)
 TMOD |= 0x10;    // T1作为16位定时器
 
 TH1 = T1_RELOADH;
 TL1 = T1_RELOADL;
 
 ET1 = 1;
 TR1 = 1;
 }
 
 void UART_Init(void)
 {
 T2MOD = 0;                                        // T2向上计数
 T2CON = 0x30;                                        // T2做波特率发生器
 
 RCAP2L = T2_RELOADL;
 RCAP2H = T2_RELOADH;
 TH2 = T2_RELOADH;
 TL2 = T2_RELOADL;
 
 SCON0 = 0x50;                                    // 串口工作于方式1:8位数据,1位停止位,无奇偶校验
 PCON = 0x80;                                    // 波特率加倍
 ES0 = 0;                                         // 串口中断允许   1-enable
 //    PS0 = 0;                                         // 串口中断优先级 1-高,0-低
 TR2 = 0;                                        // 启动T2
 }
 
 void T1_ISR(void) interrupt 3
 {
 TR1 = 0;
 TH1  = T1_RELOADH;
 TL1  = T1_RELOADL;
 TR1  = 1;
 
 KeyScan();
 }
 void UART_ISR(void)  interrupt 4
 {
 TI=0;
 }
 结果编译过后,KEIL报告说T1_ISR和UART_ISR是未使用的段
 真是奇怪了,这到底是什么原因造成的呢?
 | 
 |