实用标准
6、 (1)将“程序”在Keil软件中编译生成“HEX”文件,加载到仿真图中的AT89C52中,启动仿真
图1.9
文案大全
实用标准
(2)按下图1.7中串口调试助手的“连接”按钮,在串口调试助手的”发送窗口”,依次输入1、2、3、4和5,发送后可以看到单片机返回的字符串一次显示在接收窗口。
如下图所示
文案大全
实用标准
实验程序
#include
#define byte unsigned char #define uchar unsigned char #define word unsigned int #define uint unsigned int #define ulong unsigned long #define BYTE unsigned char #define WORD unsigned int
#define TRUE 1 #define FALSE 0
void time(unsigned int ucMs); void initUart(void);
void sendString(uchar *ucString);
void main(void) {
time(1); initUart(); IE=0x90;
while(TRUE){} }
void initUart(void) {
SCON =0x50; //选择串口工作方式,打开接收允许
文案大全
实用标准
RCAP2H=(65536-(3456/96))>>8; RCAP2L=(65536-(3456/96))%6; T2CON=0x34;
//启动定时器T1 }
void serial0_int(void) interrupt 4 {
uchar rChar;
uchar code str1[]=\ uchar code str2[]=\ uchar code str3[]=\
uchar code str4[]=\
uchar code strdefault[]=\
EA=0; RI=0;
rChar=SBUF; P2=rChar;
switch(rChar) {
case '1':
SBUF='1';while(TI==0) {} TI=0; SBUF=':';while(TI==0) {} TI=0; sendString(str1); break;
case '2':
SBUF='2';while(TI==0) {} TI=0; SBUF=':';while(TI==0) {} TI=0; sendString(str2); break; case '3':
SBUF='3';while(TI==0) {} TI=0; SBUF=':';while(TI==0) {} TI=0; sendString(str3); break; case '4':
文案大全
实用标准
SBUF='4';while(TI==0) {} TI=0; SBUF=':';while(TI==0) {} TI=0; sendString(str4); break; default:
SBUF='d';while(TI==0) {} TI=0; SBUF=':';while(TI==0) {} TI=0; sendString(strdefault); break; } EA=1; }
void sendString(uchar *ucString) {
uchar i,stringLength=strlen(ucString); REN=0;
for(i=0;i SBUF=ucString[i];while(TI==0); TI=0; } SBUF=0x0d;while(TI==0) ; TI=0; SBUF=0x0a;while(TI==0) ; TI=0; SBUF=0x0a;while(TI==0) ; TI=0; REN=1; } void delay_5us(void) { _nop_() ; _nop_() ; } void delay_50us(void) { unsigned char i; for(i=0;i<4;i++); { delay_5us(); } } void delay_100us(void) 文案大全