📄 main.lst
字号:
C51 COMPILER V7.50 MAIN 03/09/2005 21:43:20 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: E:\学习工具\Keil51\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /********************************************************************************
2 * 文件:MAIN.C
3 * 功能:主函数
4 * 作者:宋智宁
5 * 日期:2005.3.8
6 * 备注:测试串口一扩五芯片GM8125读写
7 *********************************************************************************/
8 #include "config.h"
9
10
11 //区分CPU类型
12 #ifndef C51_MX //AT89S52
13
14 GM8125BUF SerBuf; //接收缓冲区
15
16 /**********************************************************************
17 ;功能:主函数
18 ;说明:
19 ;*********************************************************************/
20 void main(void)
21 {
22 1 uint8 i=1,buffer[16]="Hello, world\n";
23 1
24 1 GM8125_Init(1,57600);
25 1 //GM8125_Send(0,i,buffer,16);
26 1
27 1 while(1)
28 1 {
29 2 //GM8125_Rev(&SerBuf,10);
30 2 }
31 1 }
32
33 #else //P89C669
/******************数据变量定义*****************/
static unsigned char SendBuff[]="XDATA...\n"; //{0x55,0x45,0x67,0xbc,0x00};
static unsigned char ReceiveBuff[5]={0x00,0x00,0x00,0x00,0x00};
/******************************************************/
/*函数名称: MAIN.C */
/*函数功能: 主机主程序 */
/*********************************************/
void main(void)
{
unsigned char dat, c=0;
unsigned char *datp=&dat,*cp=&c;
unsigned int i;
//--------------------------------------------
MXCON |= 0x04; //EAM = 1 允许访问超出64K部分
AUXR |= 0x02; //EXTRAM = 1 访问外部数据存储器(关闭片内)
Uart_Init(uart_num,9600); //uart
SetMS();//MS=1; //GM8125工作在单通道工作模式下
SelectUart(5); //选择8125子通道5工作
C51 COMPILER V7.50 MAIN 03/09/2005 21:43:20 PAGE 2
Uart_Send_Str(uart_num, "Start...\n");
Uart_Send_Str(uart_num, "comm");
Uart_Send_Byte(uart_num, 0x30+(unsigned char)uart_num); //display comm no
Uart_Send_Str(uart_num, ": 9600bps\n");
while(1)
{
c = Uart_Rev(uart_num); //wait for cmd
switch(c)
{
case 0:{
Uart_Send_Str(uart_num, "\nCH ");
Uart_Send_Byte(uart_num, 0x31+c); //display channel no
Uart_Send_Str(uart_num, ": 1200bps\n");
Uart_Init(uart_num,1200);
SelectUart(1); //选择8125子通道1工作
break;
}
case 1:{
Uart_Send_Str(uart_num, "\nCH ");
Uart_Send_Byte(uart_num, 0x31+c); //display channel no
Uart_Send_Str(uart_num, ": 2400bps\n");
Uart_Init(uart_num,2400);
SelectUart(2); //选择8125子通道2工作
break;
}
case 2:{
Uart_Send_Str(uart_num, "\nCH ");
Uart_Send_Byte(uart_num, 0x31+c); //display channel no
Uart_Send_Str(uart_num, ": 4800bps\n");
Uart_Init(uart_num,4800);
SelectUart(3);//选择8125子通道3工作
break;
}
case 3:{
Uart_Send_Str(uart_num, "\nCH ");
Uart_Send_Byte(uart_num, 0x31+c); //display channel no
Uart_Send_Str(uart_num, ": 9600bps\n");
Uart_Init(uart_num,9600);
SelectUart(4); //选择8125子通道4工作
break;
}
case 4:{
Uart_Send_Str(uart_num, "\nCH ");
Uart_Send_Byte(uart_num, 0x31+c); //display channel no
Uart_Send_Str(uart_num, ": 19200bps\n");
Uart_Init(uart_num,19200);
SelectUart(5); //选择8125子通道5工作
break;
}
case 10:{ //LCD test
Uart_Send_Str(uart_num, "Wait for LCD data\n");
dat = Uart_Rev(uart_num);
Lcd_Data = dat;
Uart_Send_Str(uart_num, "Wait for LCD Ctrl\n");
dat = Uart_Rev(uart_num);
Lcd_Ctrl = dat;
continue;
}
case 0xff:{ //change uart port
C51 COMPILER V7.50 MAIN 03/09/2005 21:43:20 PAGE 3
Uart_Send_Str(uart_num, "\ncomm");
Uart_Send_Byte(uart_num, 0x30+(unsigned char)(~uart_num)); //display comm no
Uart_Send_Str(uart_num, "\nCH ");
Uart_Send_Byte(uart_num, 0x31+3); //display channel no
Uart_Send_Str(uart_num, ": 9600bps\n");
uart_num = ~uart_num; //change uart port(0/1)
Uart_Init(uart_num,9600);
SelectUart(4); //选择8125子通道4工作
continue;
}
default: break;
}
/*主控MCU发送/接收程序*/
dat = Uart_Rev(uart_num); //wait for cmd
Uart_Send_Byte(uart_num, dat);
}
}
#endif
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 33 ----
CONSTANT SIZE = 16 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 65 17
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -