📄 nrf_main._c
字号:
#include <iom16v.h>
#include <macros.h>
#include "nrf905.h"
#include "lcd.h"
#include "delay.h"
void led_on( void )
{
DDRD |= ( 1 << PD0 );
PORTD &=~ ( 1 << PB0 );
}
void led_of( void )
{
DDRD |= ( 1 << PB0 );
PORTD |= ( 1 << PB0 );
}
void port_key_init( void )
{
DDRA = 0X00;
PORTA = 0XFF;
}
void get_key( void )
{
switch( PINA & 0xff )
{
case 0b11111111: break;
case 0b11111110: nrf905_SendData('0'); LCD_write_char( 1, 8, '0' ); break;
case 0b11111101: nrf905_SendData('1'); LCD_write_char( 1, 8, '1' ); break;
case 0b11111011: nrf905_SendData('2'); LCD_write_char( 1, 8, '2' ); break;
case 0b11110111: nrf905_SendData('3'); LCD_write_char( 1, 8, '3' ); break;
case 0b11101111: nrf905_SendData('4'); LCD_write_char( 1, 8, '4' ); break;
case 0b11011111: nrf905_SendData('5'); LCD_write_char( 1, 8, '5' ); break;
case 0b10111111: nrf905_SendData('6'); LCD_write_char( 1, 8, '6' ); break;
case 0b01111111: nrf905_SendData('7'); LCD_write_char( 1, 8, '7' ); break;
}
}
void led_port_init( void )
{
DDRA = 0xff;
PORTA = 0XFF;
}
void led_onon( uchar t )
{
switch( t )
{
case '0': PORTA = 0B11111110; break;
case '1': PORTA = 0B11111101; break;
case '2': PORTA = 0B11111011; break;
case '3': PORTA = 0B11110111; break;
case '4': PORTA = 0B11101111; break;
case '5': PORTA = 0B11011111; break;
case '6': PORTA = 0B10111111; break;
case '7': PORTA = 0B01111111; break;
default : break;
}
}
#define receive
//#define send
void main( void )
{
uchar r_tmp;
port_key_init();
led_port_init();
LCD_init();
SPI_Init();
nrf905_Init();
#ifdef send
LCD_write_string( 2, 3, "fasong" );
while( 1 ) get_key();
#endif
#ifdef receive
LCD_write_string( 2, 3, "jieshou" );
while( 1 )
{
led_of();
//led_on();
while( PINB & 0b00001000 )
{
/*
led_on();
r_tmp = nrf905_ReadData();
LCD_write_char( 1, 6, r_tmp );
delay_nms( 1 );
*/
led_onon( nrf905_ReadData() );
}
}
#endif
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -