📄 uart.lis
字号:
0062 ;
0062 ; //*******************************************************************
0062 ;
0062 ; //串口通讯用函数
0062 ;
0062 ; /* 函数名: Uart_Init
0062 ; 功能说明:串口初始化函数,适用于所有CPU
0062 ; 波特率9600,8位字节,无奇偶校验
0062 ; 参数说明:无
0062 ; 函数作者:Haibo YU
0062 ; 版本号: 1.0
0062 ; 创建时间:2005-12-02
0062 ; 修改时间:
0062 ; 修改内容: */
0062 ; void Uart_Init(void)
0062 ; {
0062 .dbline 162
0062 ; UCSRB = 0x00; //disable while setting baud rate
0062 2224 clr R2
0064 2AB8 out 0xa,R2
0066 .dbline 163
0066 ; UCSRA = 0x00;
0066 2BB8 out 0xb,R2
0068 .dbline 164
0068 ; UCSRC = 0x86;
0068 86E8 ldi R24,134
006A 80BD out 0x20,R24
006C .dbline 165
006C ; UBRRL = 0x47; //set baud rate lo
006C 87E4 ldi R24,71
006E 89B9 out 0x9,R24
0070 .dbline 166
0070 ; UBRRH = 0x00; //set baud rate hi
0070 20BC out 0x20,R2
0072 .dbline 167
0072 ; UCSRB = 0x98;
0072 88E9 ldi R24,152
0074 8AB9 out 0xa,R24
0076 .dbline -2
0076 .dbline 168
0076 ; }
0076 L16:
0076 .dbline 0 ; func end
0076 0895 ret
0078 .dbend
0078 .dbfunc e Uart_Send _Uart_Send fV
0078 ; c -> R16
.even
0078 _Uart_Send::
0078 .dbline -1
0078 .dbline 180
0078 ; //********************************************************************
0078 ;
0078 ; /* 函数名: Uart_Send
0078 ; 功能说明:通过查询方式,串口发送一个字节函数,适用于所有CPU
0078 ; 参数说明:c为所要发送的字节
0078 ; 函数作者:Haibo YU
0078 ; 版本号: 1.0
0078 ; 创建时间:2005-12-02
0078 ; 修改时间:
0078 ; 修改内容: */
0078 ; void Uart_Send(unsigned char c)
0078 ; {
0078 L18:
0078 .dbline 182
0078 L19:
0078 .dbline 181
0078 ; while(!(UCSRA&(1<<UDRE)))
0078 5D9B sbis 0xb,5
007A FECF rjmp L18
007C .dbline 183
007C ; ; //等待空闲
007C ; UDR=c; //发送数据
007C 0CB9 out 0xc,R16
007E .dbline -2
007E .dbline 184
007E ; }
007E L17:
007E .dbline 0 ; func end
007E 0895 ret
0080 .dbsym r c 16 c
0080 .dbend
0080 .dbfunc e SPI_MasterInit _SPI_MasterInit fV
.even
0080 _SPI_MasterInit::
0080 .dbline -1
0080 .dbline 203
0080 ;
0080 ;
0080 ; //**********************************************************************
0080 ;
0080 ; //SPI通讯用函数
0080 ;
0080 ; /* 函数名: SPI_MasterInit
0080 ; 功能说明:SPI主机初始化函数。使能SPI,MSB在前,主模式
0080 ; 起始上升沿,采样上升沿。16分频
0080 ; 参数说明: 无
0080 ; 返回值: 无
0080 ; 函数作者:Haibo YU
0080 ; 版本号: 1.0
0080 ; 创建时间:2005-12-02
0080 ; 修改时间:
0080 ; 修改内容: */
0080 ;
0080 ; void SPI_MasterInit(void)
0080 ; {
0080 .dbline 204
0080 ; SPCR = 0x51; //SPI控制寄存器初始化:SPI允许,MSB先发,主模式,16分频
0080 81E5 ldi R24,81
0082 8DB9 out 0xd,R24
0084 .dbline -2
0084 .dbline 205
0084 ; }
0084 L21:
0084 .dbline 0 ; func end
0084 0895 ret
0086 .dbend
0086 .dbfunc e SPI_M_Send _SPI_M_Send fV
0086 ; c -> R16
.even
0086 _SPI_M_Send::
0086 .dbline -1
0086 .dbline 218
0086 ; //**********************************************************************
0086 ; /* 函数名: SPI_M_Send
0086 ; 功能说明:SPI主机发送一个字节函数。
0086 ; 参数说明: c为要发送的字节
0086 ; 返回值: 无
0086 ; 函数作者:Haibo YU
0086 ; 版本号: 1.0
0086 ; 创建时间:2005-12-02
0086 ; 修改时间:2005-12-05
0086 ; 修改内容: 去掉SS信号控制语句 */
0086 ;
0086 ; void SPI_M_Send(unsigned char c)
0086 ; {
0086 .dbline 219
0086 ; SPDR = c; //传送开始
0086 0FB9 out 0xf,R16
0088 L23:
0088 .dbline 221
0088 L24:
0088 .dbline 220
0088 ; while(!(SPSR & 0X80))
0088 779B sbis 0xe,7
008A FECF rjmp L23
008C .dbline -2
008C .dbline 223
008C ; ; //查询SPIF标志
008C ;
008C ; }
008C L22:
008C .dbline 0 ; func end
008C 0895 ret
008E .dbsym r c 16 c
008E .dbend
008E .dbfunc e SPI_M_Recv _SPI_M_Recv fc
008E ; c -> R16
.even
008E _SPI_M_Recv::
008E .dbline -1
008E .dbline 237
008E ; //************************************************************************
008E ;
008E ; /* 函数名: SPI_M_Recv
008E ; 功能说明:SPI主机方式接收一个字节函数。
008E ; 参数说明:任意无效字符
008E ; 返回值: 返回接收到的字节
008E ; 函数作者:Haibo YU
008E ; 版本号: 1.0
008E ; 创建时间:2005-12-06
008E ; 修改时间:
008E ; 修改内容: */
008E ;
008E ; unsigned char SPI_M_Recv(unsigned char c)
008E ; {
008E .dbline 238
008E ; SPDR = c; //传送开始
008E 0FB9 out 0xf,R16
0090 L27:
0090 .dbline 240
0090 L28:
0090 .dbline 239
0090 ; while(!(SPSR & 0X80))
0090 779B sbis 0xe,7
0092 FECF rjmp L27
0094 .dbline 241
0094 ; ; //查询SPIF标志
0094 ; return SPDR; //返回接收的字符
0094 0FB1 in R16,0xf
0096 .dbline -2
0096 L26:
0096 .dbline 0 ; func end
0096 0895 ret
0098 .dbsym r c 16 c
0098 .dbend
0098 .dbfunc e PTR8_Standby _PTR8_Standby fV
.even
0098 _PTR8_Standby::
0098 .dbline -1
0098 .dbline 258
0098 ; }
0098 ; //*************************************************************************
0098 ;
0098 ; //***************************PTR8000无线模块用函数*****************
0098 ;
0098 ; /* 函数名: PTR8_Standby
0098 ; 功能说明:将PTR8置为待机状态。SET TRX_CE = 0
0098 ; 参数说明:无
0098 ; 返回值: 无
0098 ; 函数作者:Haibo YU
0098 ; 版本号: 1.0
0098 ; 创建时间:2005-12-23
0098 ; 修改时间:
0098 ; 修改内容: */
0098 ;
0098 ; void PTR8_Standby(void)
0098 ; {
0098 .dbline 259
0098 ; PORTC &= ~BIT(PC5); //TRX_CE = 0
0098 AD98 cbi 0x15,5
009A .dbline -2
009A .dbline 260
009A ; }
009A L30:
009A .dbline 0 ; func end
009A 0895 ret
009C .dbend
009C .dbfunc e PTR8_TREN _PTR8_TREN fV
.even
009C _PTR8_TREN::
009C .dbline -1
009C .dbline 274
009C ; //**************************************************************************
009C ;
009C ; /* 函数名: PTR8_TREN
009C ; 功能说明:将PTR8置为工作状态。SET TRX_CE = 1
009C ; 参数说明:无
009C ; 返回值: 无
009C ; 函数作者:Haibo YU
009C ; 版本号: 1.0
009C ; 创建时间:2005-12-23
009C ; 修改时间:
009C ; 修改内容: */
009C ;
009C ; void PTR8_TREN(void)
009C ; {
009C .dbline 275
009C ; PORTC |= BIT(PC5); //TRX_CE = 1
009C AD9A sbi 0x15,5
009E .dbline -2
009E .dbline 276
009E ; }
009E L31:
009E .dbline 0 ; func end
009E 0895 ret
00A0 .dbend
00A0 .dbfunc e PTR8_TX _PTR8_TX fV
.even
00A0 _PTR8_TX::
00A0 .dbline -1
00A0 .dbline 290
00A0 ; //***************************************************************************
00A0 ;
00A0 ; /* 函数名: PTR8_TX
00A0 ; 功能说明:将PTR8置为发送状态。
00A0 ; 参数说明:无
00A0 ; 返回值: 无
00A0 ; 函数作者:Haibo YU
00A0 ; 版本号: 1.0
00A0 ; 创建时间:2005-12-23
00A0 ; 修改时间:
00A0 ; 修改内容: */
00A0 ;
00A0 ; void PTR8_TX(void)
00A0 ; {
00A0 .dbline 291
00A0 ; PORTC |= BIT(PC4); //TX_EN = 1
00A0 AC9A sbi 0x15,4
00A2 .dbline -2
00A2 .dbline 292
00A2 ; }
00A2 L32:
00A2 .dbline 0 ; func end
00A2 0895 ret
00A4 .dbend
00A4 .dbfunc e PTR8_RX _PTR8_RX fV
.even
00A4 _PTR8_RX::
00A4 .dbline -1
00A4 .dbline 306
00A4 ; //***************************************************************************
00A4 ;
00A4 ; /* 函数名: PTR8_RX
00A4 ; 功能说明:将PTR8置为接收状态。
00A4 ; 参数说明:无
00A4 ; 返回值: 无
00A4 ; 函数作者:Haibo YU
00A4 ; 版本号: 1.0
00A4 ; 创建时间:2005-12-23
00A4 ; 修改时间:
00A4 ; 修改内容: */
00A4 ;
00A4 ; void PTR8_RX(void)
00A4 ; {
00A4 .dbline 307
00A4 ; PORTC &= ~BIT(PC4); //TX_EN = 0
00A4 AC98 cbi 0x15,4
00A6 .dbline -2
00A6 .dbline 308
00A6 ; }
00A6 L33:
00A6 .dbline 0 ; func end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -