test21.asm
来自「试验仪自检程序」· 汇编 代码 · 共 85 行
ASM
85 行
//======================================================
// The information contained herein is the exclusive property of
// Sunnnorth Technology Co. And shall not be distributed, reproduced,
// or disclosed in whole in part without prior written permission.
// (C) COPYRIGHT 2003 SUNNORTH TECHNOLOGY CO.
// ALL RIGHTS RESERVED
// The entire notice above must be reproduced on all authorized copies.
//========================================================
//============================================================
// 工程名称: test21.spj
// 功能描述: 利用串口总线与PC机通讯,PC机端软件使用”串口调试工具“
// 文件来源:《实验仪实验指导书》,,"实验十六 UART/USB实验" 第55页
// IDE环境: SUNPLUS u'nSPTM IDE 1.8.4
//
// 涉及的库:
// 组成文件:
// test21.asm
//===============================================
//============================================================
// 文件名称:test21.asm
// 实现功能:利用串口总线与PC机通讯,PC机端软件使用”串口调试工具“
//============================================================
.include hardware.inc
.ram
.var recFlag; //接收数据标识,0 未接收数据 1 接收数据
.code
.public _main;
//=============================================================
// 函数名称: _main
// 功能描述: 利用串口总线与PC机通讯,PC机端软件使用”串口调试工具“
// 语法格式: _main
//入口参数: 无
// 出口参数: 无
// 注意事项: 仅为用户模型
//=================================================================
_main:
_UART_INIT:
F_UART_INIT:
INT OFF;
r1 = 0x0000;
[recFlag] = r1;
r1 = 0x0000; //未使能任何中断
[P_INT_Ctrl] = r1;
r1 = 0x0480; //设置IOB7为输入IOB10为输出
[P_IOB_Attrib] = r1;
r1 = 0x0400;
[P_IOB_Dir] = r1;
r1 = 0x0000;
[P_IOB_Data] = r1;
r1 = 0x006b; //设置波特率为115.2Kbps
[P_UART_BaudScalarLow] = r1;
r1 = 0x0000;
[P_UART_BaudScalarHigh] = r1;
r1 = 0x0000;
r4 = 0x00C0; //输入和输出使能设置
[P_UART_Command1] = r1;
[P_UART_Command2] = R4;
L_ResendData:
r3=0x0001 //清看门狗
[P_Watchdog_Clear] = r3
L_Check_TxRDY:
r2 = [P_UART_Command2];
r2 &= 0x0040; //检测输出是否READY
JZ L_Check_RxRDY;
//发送8位十六进制数cc
r1 = [recFlag];
cmp r1,0x0000; //是否接收过数据
jz L_Check_RxRDY;
[P_UART_Data] = r4; //发送数据
r1 = 0x0000;
[recFlag] = r1;
L_Check_RxRDY:
r2 = [P_UART_Command2]; //检测是否有数据接收
r2 &= 0x0080;
JZ L_Check_RxRDY;
r4 = [P_UART_Data]; //接收数据
r1 = 0x0001;
[recFlag] = r1; //设置接收标识符
goto L_ResendData;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?