📄 c518250.html
字号:
<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>单片机编程世界——编程实战</title><meta name="GENERATOR" content="Microsoft FrontPage 3.0"></head><body background="image\weave.gif"><div align="center"><center><table border="0" width="443" height="1" cellpadding="0"> <tr> <td width="443" height="117" align="center">/************************************************************/<br> <br> 8250 Module Subroutine by 易兵 <br> <br> Copyright 《单片机编程世界》 1999<br> <br> /************************************************************/<br> </td> </tr> <tr> <td width="443" height="45"><br> #define UartBase 0x6000<br> #define UartData XBYTE[UartBase+0x0000]<br> #define UartDLL XBYTE[UartBase+0x0000]<br> #define UartIER XBYTE[UartBase+0x0001]<br> #define UartDLM XBYTE[UartBase+0x0001]<br> #define UartIIR XBYTE[UartBase+0x0002]<br> #define UartLCR XBYTE[UartBase+0x0003]<br> #define UartMCR XBYTE[UartBase+0x0004]<br> #define UartLSR XBYTE[UartBase+0x0005]<br> #define UartMSR XBYTE[UartBase+0x0006]<br> #define UartSCR XBYTE[UartBase+0x0007]<br> <br> <br> <br> /* for UART routine */<br> data char uart_rx_char;<br> data bit uart_rx_ready;<br> <br> <br> void UartInit(void); /* Photo type of routine */<br> void UartInit()<br> {<br> UartLCR = 0x80; /* Change to Baud Gen. mode*/<br> UartDLL = 0x0c; /* Baud = 1.8432M /16 /0x0c*/<br> UartDLM = 0x00;<br> UartLCR = 0x03; /* Change to N,8,1*/<br> UartIER = 0x01; /* 0000 0001 - Int When Rx data */<br> <br> Uart2LCR = 0x80; /* Change to Baud Gen. mode*/<br> Uart2DLL = 0x0c; /* Baud = 1.8432M /16 /0x0c*/<br> Uart2DLM = 0x00;<br> Uart2LCR = 0x03; /* Change to N,8,1*/<br> Uart2IER = 0x01; /* 0000 0001 - Int When Rx data */<br> }<br> <br> void UartSend(char); /* Photo type of routine */<br> void UartSend(char c)<br> { UartData = c; /* Tx the char.*/<br> UartCrcCalc(c);<br> while((UartLSR&0x20)==0);<br> }<br> <br> char UartGet(void); /* Photo type of routine */<br> char UartGet()<br> { if (UartLSR&0x01)<br> return(UartData);<br> return(0x00);<br> }<br> <br> <br> <br> void UartStr(char *); /* Photo type of routine */<br> void UartStr(char *c)<br> { data unsigned char d=0;<br> while (c[d]!=0)<br> UartSend(c[d++]); /* char to Uart */<br> }<br> <br> <br> /* subroutine for Interrupt Service */<br> void interrupt1() interrupt 2<br> { <br> <br> EX1=0;<br> uart_rx_char=UartData;<br> if (!uart_rx_ready)<br> { <br> uart_rx_ready=1;<br> UartInit();<br> }<br> EX1=1;<br> }<br> </td> </tr> <tr> <td width="443" height="23"> </td> </tr></table></center></div><p align="center"><a href="c51program.htm" target="_self">返回</a></p></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -