单片机源程序如下:
- #include<c8051f020.h>
- #define SYSCLK 11059200
- #define BAUDRATE 9600
- typedef unsigned char unchar;
- bit flag=0;
- unchar a;
- sbit ren=P0^2;
- int i;
- void Port_config(void)
- {
- XBR0=0X04;
- XBR2=0X40;
- P0MDOUT=0X05;
- }//对端口进行配置
- void AXTL_config1()
- {
- int i;
- OSCXCN=0X67;
- for(i=0;i<256;i++);
- while(!(OSCXCN&0X80));
- OSCICN=0X88;
- } //对晶振进行配置
- void uart0_init()
- {
- TMOD=0X20;
- CKCON=0X10;
- SM00=0;
- SM10=1;
- TH1=0XFD;
- TL1=0XFD;
- TR1=1;
- //REN0=1;
- }//设置定时器1工作在方式2,8位自动重装,设置串口UART0工作在方式1,给高低8位重装初值,启动定时器1,
- void main()
- {
- WDTCN=0xde;
- WDTCN=0xad;
- Port_config();
- AXTL_config1();
- uart0_init();
- EA=1;
- ES0=1;
- REN0=1;
- ren=0;
- while(1)
- {
- if(flag==1)
- {
-
- ES0=0;
- ren=1;
- SBUF0=a;
- while(!TI0);
- TI0=0;
- ES0=1;
- flag=0;
- }
-
- }
- }
- void ser() interrupt 4
- {
- if(RI0==1)
- { RI0=0;
- //P0=0x00;
- a=SBUF0;
- flag=1;
- }
- }
复制代码
所有资料51hei提供下载:
c8051f020与max487通信.rar
(21.02 KB, 下载次数: 16)
|