⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 新建 文本文档.txt

📁 用UART来接收PC机的RS232串行接口数据。由于UART每次只接收8位数据
💻 TXT
字号:
用UART来接收PC机的RS232串行接口数据。由于UART每次只接收8位数据,所以在接收了两个8位数据之后,才将其存入16位的SRAM内。 
R1=0x0480; //将IOB10、IOB7分别设为输出、输入状态 
[P_IOB_Attrib]=R1; 
R1=0x0400; 
[P_IOB_Dir]=R1; 
R1=0x006b; //设置波特率= 12.288MHz/107 = 114.84KHz 
//(与115.2KHz最接近,所以可以选择115.2KHz) 73 第二章 硬件结构 74 
[P_UART_BaudScalarLow]=R1; 
R1=0x00; 
[P_UART_BaudScalarHigh]=R1; 
//***********设置UART_command1和UART_command2单元******************// 
R1=0xc0; 
[P_UART_Command1]=R1; 
[P_UART_Command2]=R1; 
//************************主程序*****************************************// 
L_begin_loop: 
R4=0; // SRAM的接收数据队列的起始地址 
L_loop: 
R2=0; 
R2=R2 LSL 4; //清除移位寄存器 
CALL F_UART_RECV; 
R1=R1 LSL 4; //左移8位 
R1=R1 LSL 4; 
R3=R1; 
R3=R3 and 0xFF00; //R3 =高8位 
R2=0; 
R2=R2 LSL 4; //清除移位寄存器 
CALL F_UART_RECV; 
R1=R1 and 0x00FF; //R1 =低8位 
R1=R1 or R3; //R1=从UART接收来的最终数据字 
[R4++]=R1; //将接收的数据字存入SRAM的数据队列 
CMP R4,0x800; //SRAM中的数据队列接收到2048 个数据字 
JNE L_loop; 
JMP L_begin_loop; 
//************************* UART子程序***************************// 
F_UART_RECV: 
PUSH R2,R3 to [SP]; 
L_RxRDY: 
R2= 0x0080; //检查RxRDY是否为1 
TEST R2, [P_UART_Command2]; 
JZ L_RxRDY //比较结果为0,数据未接受,循环 
R1 = [P_UART_Data]; //再次写入数据 
POP R2,R3 from [SP]; 
RETF; //返回到主程序 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -