|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
这是汇编源程序:
ORG 0000H
MAIN: MOV R0,#71H
MOV R1,#10H
MOV R7,#8
LOOP: MOV A,@R0
MOV @R1,A
INC R1
INC R0
DJNZ R7,LOOP
LJMP MAIN
END
这是C源程序,带串口服务:
#include "stc11.h"
#define uchar unsigned char
#define RELOAD_COUNT 0xfb
sbit beep=P3^5;
#define CLR_BEEP beep=0
#define SET_BEEP beep=1
uchar ID1[8];
/////////////////////////////////////////////////////////////////////////////////////
void InitPort(void)
{
P0M1=0x00;
P0M0=0xff;
P1M1=0x00;
P1M0=0x00;
P24=1;
P2M1=0x10;
P2M0=0x88;
P30=1;
P36=1;
P3M1=0x41;
P3M0=0xa2;
P41=1;
P4M1=0x02;
P4M0=0x04;
}
/**********************************************************************
functionName:putChar(BYTE sentData)
description:通过串口发送数据sentData
**********************************************************************/
void sendchar1(uchar data sentData)
{
ES=0;
TI=0;
SBUF=sentData;
while(TI==0);
TI=0;
ES=1;
}
//UART0 initialize
// desired baud rate: 9600
// actual: baud rate:9600 (0.0%)
// char size: 8 bit
// parity: Disabled
void uart_init(void)
{
SCON = 0x50;
BRT=RELOAD_COUNT;
AUXR=0x11;
AUXR1=0x00; //0x80:p1 0x00:p3
ES=1;
}
void uart_interrupt_receive(void) interrupt 4
{
// uchar data R_Char;
//SEI();
if(RI==1);
{
RI=0;
/*R_Char=SBUF;
RevBuffer[uart_count]=R_Char;
uart_count++;
if(uart_count==RevBuffer[0])
{
uart_comp=1;
}*/
}
}
////////////////////////////////////////////////////////////////////////////////
void Dlms(uchar data tm)
{
uchar data ii;
while(tm--)
{
for(ii=0;ii<100;ii++);
}
}
/////////////////////////////////////////////////////////////////////////////////////
void ReadID(void)
{
uchar data i,j;
uchar idata *idata_point;
idata_point=0xF1;
for(j=0;j<7;j++)
{
i=*idata_point;
ID1[j]=i;
idata_point++;
sendchar1(ID1[j]);
}
}
///////////////////////////////////////////////////////////////////////////////////////
void main(void)
{
Dlms(100);
InitPort();
Dlms(100);
uart_init();
Dlms(100);
CLR_BEEP;
while(1)
{
ReadID();
}
} |
|