|
用模擬串口,可以在任意端口輸出數(shù)據(jù),串口助手顯示數(shù)據(jù):
001.jpg (119.96 KB, 下載次數(shù): 83)
下載附件
2020-8-20 12:05 上傳
- ////測(cè)試工作頻率為11.0592MHz
- #include "stc15.h"
- sbit TXD1 = P3 ^ 1; // 定義模擬串口發(fā)送腳
- void delay104us(void); //軟件延時(shí)STC15W 11.0592M
- void Tx1Send(unsigned char dat); //9600,N,8,1 發(fā)送一個(gè)字節(jié)
- unsigned char HEX2ASCII(unsigned char dat); //十六進(jìn)制轉(zhuǎn)ASCII函數(shù)
- void Uart_Service(void);
- void PrintHex(unsigned char hex); // 發(fā)送一hex
- void PrintString(unsigned char code * puts); // 發(fā)送一串字符串
- //
- void delay104us(void) { //(軟件延時(shí)STC15W 11.0592M i=1,j=2,k=140)
- unsigned char i,j,k;
- for (i = 1; i > 0; i--) // 注意后面沒(méi)分號(hào)( 6M i=1,j=3,k=49)
- for (j = 2; j > 0; j--) // 注意后面沒(méi)分號(hào)(11.0592M i=1,j=2,k=140)
- for (k = 140; k > 0; k--); // 注意后面有分號(hào)(22.1184M i=1,j=3, k=189)
- }
- //
- //模擬串口發(fā)送
- void Tx1Send(unsigned char dat) //9600,N,8,1 發(fā)送一個(gè)字節(jié)
- {
- unsigned char i;
- EA = 0;
- TXD1 = 0;
- delay104us();
- for (i = 0; i < 8; i++) {
- if (dat & 1)
- TXD1 = 1;
- else
- TXD1 = 0;
- dat >>= 1;
- delay104us();
- }
- TXD1 = 1;
- EA = 1;
- delay104us();
- delay104us();
- }
- //
- // 發(fā)送hex,如果8位,則0xXX,16位,0xXXXX
- void PrintHex(u16 hex)
- {
- PrintString("0x");
- if(hex>0xff)
- {
- Tx1Send(HEX2ASCII(hex>> 12)); // 用戶碼高字節(jié)的低半字節(jié)
- Tx1Send(HEX2ASCII(hex>> 8)); // 用戶碼高字節(jié)的低半字節(jié)
- }
- Tx1Send(HEX2ASCII(hex >> 4)); // 用戶碼高字節(jié)的低半字節(jié)
- Tx1Send(HEX2ASCII(hex)); // 用戶碼高字節(jié)的低半字節(jié)
- }
- //十六進(jìn)制轉(zhuǎn)ASCII函數(shù)
- unsigned char HEX2ASCII(unsigned char dat) {
- dat &= 0x0f;
- if (dat <= 9)
- return (dat + '0'); //數(shù)字0~9
- return (dat - 10 + 'A'); //字母A~F
- }
- //
- // 發(fā)送一串字符串
- void PrintString(unsigned char code * puts)
- {
- for (; * puts != 0; puts++)
- Tx1Send( * puts); // 遇到停止符0結(jié)束
- }
- //
- void main()
- {
- u32 i=0;
- unsigned int ui_number=0x6789;
- P3M1=P3M0=0;
- P1M1=P1M0=0;
- while (1)
- {
- i++;
- if(i>150000)
- {
- i=0;
- PrintHex(ui_number);
- P33=!P33;
- PrintString(" ");
- }
- }
- }
- ///
復(fù)制代碼
|
|