T
thibraani
Guest
下面是这种情况,我的PIC是连接到蓝牙模块。蓝牙模块充当用户tranceiver来控制LED从个人电脑远程。该系统是这样的:
1。用户提示命令从使用超级计算机[按1灯开启时2个LED关]
2。该命令将被发送到蓝牙模块
, 通过蓝牙适配器连接到USB
3。该收发器收到命令[为ASCII 1或2]和发送到事先知情同意
4。石化翻译此命令并执行指令打开或关闭的LED
要连接的蓝牙模块,UART的
, 必须使这个正在建立的TX和知情同意高Rx引脚。蓝牙适配器将发送它接收到的所有PIC的。问题是,LED的未能打开和关闭
, 但7段能够显示每个数目
, 电脑键盘上输入。任何人都可以在那里看看我的编码和帮助我修改??要分配和逻辑高电平基于PIC低并不是一件容易的事。我需要你的帮助。
_________________________________________
#包括<pic.h>
__CONFIG(0x3F32);
#定义秒PORTD / /定义7段作为PORTD
#PORTB的定义导致/ / PORTB的定义为主导
,
无符号字符1;
无效初始化(无效)/ /初始化子程序
(
SPBRG = 0x81; / /设置为9600波特率波特率
BRGH = 1;
TXEN = 1;
CREN = 1;
SPEN = 1;
TRISD = 0b00000000; / /设置为输出PORTD
秒= 0b00000000;
TRISB = 0b00000000; / /设置为输出PORTB的
领导= 0b00000000;
)
无效的显示(无符号字符三)/ /显示在屏幕上的文字
(
而(TXIF == 0);
TXREG =荤;
)
无符号字符接收(无效)/ /接收来自PC命令
(
而(RCIF == 0);
1 = RCREG;
返回;
)
无效的主要(无效)
(
init()中;
(
而(1)/ /等待用户输入字母“X”
(
1 =接收();
如果(a =='x')的突破;
)
)
显示器(W字); / /在屏幕上显示文本
显示器(E级);
显示器(『L');
显示器(的'C');
显示器(O形);
显示器(百万');
显示器(E级);
显示(字符0x0A);
显示(字符0x0D);
显示器(E级);
显示器('东经');
显示器('吨');
显示器('电子');
显示器('R'等);
显示器(0x20);
显示器(的'p');
显示('一');
显示器(氏');
显示器(氏');
显示器(0x20);
显示器('k'按钮);
显示器('电子');
显示器(Y键);
显示(字符0x0A);
显示(字符0x0D);
显示(字符0x0A);
显示(字符0x0D);(
而(1)/ /使用密钥等“fkee”的输入
(
1 =接收();
如果(a =='氟)
(
1 =接收();
如果(a =='k'按钮)
(
1 =接收();
如果(a =='电子')
(
1 =接收();
如果(a =='电子')破;
)
)
)
)
显示器(W字); / /在屏幕上显示文本
显示器('魔');
显示('一');
显示器('吨');
显示器(0x20);
显示器('瓦特');
显示器('Ø');
显示器('ü');
显示器('升');
显示器('D'类);
显示器(0x20);
显示器(Y键);
显示器('Ø');
显示器('ü');
显示器(0x20);
显示器('升');
显示器('我');
显示器('k'按钮);
显示器('电子');
显示器(0x20);
显示器('吨');
显示器('Ø');
显示器(0x20);
显示器('D'类);
显示器('Ø');
显示('?');
显示(字符0x0A);
显示(字符0x0D);
显示器(0x5B);
显示器('1');
显示器(0x5D);
显示器(0x20);
显示器(『L');
显示器('我');
显示器(G组织);
显示器('魔');
显示器(『T');
显示器(0x20);
显示器(O形);
显示器('东经');
显示(字符0x0A);
显示(字符0x0D);
显示器(0x5B);
显示器('2');
显示器(0x5D);
显示器(0x20);
显示器(『L');
显示器('我');
显示器(G组织);
显示器('魔');
显示器(『T');
显示器(0x20);
显示器(O形);
显示器('氟);
显示器('氟);
显示(字符0x0A);
显示(字符0x0D);
显示(字符0x0A);
显示(字符0x0D);
秒= 0; / / 7 segement显示“0”在其显示器
领导= 0; / / LED关闭
而(1)/ /等待用户输入命令
(
1 =接收();
如果(a == '1')
显示器(的'C');
显示器(O形);
显示器('东经');
显示器('D'类);
显示器('我');
显示器(『T');
显示器('我');
显示器(O形);
显示器('东经');
显示器(0X3a);
显示器(『L');
显示器('我');
显示器(G组织);
显示器('魔');
显示器(『T');
显示器(0X20);
显示器(O形);
显示器('东经');
显示(字符0x0A);
显示(字符0x0D);
显示(字符0x0A);
显示(字符0x0D);
秒= 1,0x30,/ / 7段显示数字“1”
领导= 0b11111111; / /率领
显示器(W字); / /在屏幕上显示文本
显示器('魔');
显示('一');
显示器('吨');
显示器(0x20);
显示器('瓦特');
显示器('Ø');
显示器('ü');
显示器('升');
显示器('D'类);
显示器(0x20);
显示器(Y键);
显示器('Ø');
显示器('ü');
显示器(0x20);
显示器('升');
显示器('我');
显示器('k'按钮);
显示器('电子');
显示器(0x20);
显示器('吨');
显示器('Ø');
显示器(0x20);
显示器('D'类);
显示器('Ø');
显示('?');
显示(字符0x0A);
显示(字符0x0D);
显示器(0x5B);
显示器('1');
显示器(0x5D);
显示器(0x20);
显示器(『L');
显示器('我');
显示器(G组织);
显示器('魔');
显示器(『T');
显示器(0x20);
显示器(O形);
显示器('东经');
显示(字符0x0A);
显示(字符0x0D);
显示器(0x5B);
显示器('2');
显示器(0x5D);
显示器(0x20);
显示器(『L');
显示器('我');
显示器(G组织);
显示器('魔');
显示器(『T');
显示器(0x20);
显示器(O形);
显示器('氟);
显示器('氟);
显示(字符0x0A);
显示(字符0x0D);
显示(字符0x0A);
显示(字符0x0D);(
1 =接收();
如果(a == '2')
显示器(的'C');
显示器(O形);
显示器('东经');
显示器('D'类);
显示器('我');
显示器(『T');
显示器('我');
显示器(O形);
显示器('东经');
显示器(0X3a);
显示器(『L');
显示器('我');
显示器(G组织);
显示器('魔');
显示器(『T');
显示器(0X20);
显示器(O形);
显示器('氟);
显示器('氟);
显示(字符0x0A);
显示(字符0x0D);
显示(字符0x0A);
显示(字符0x0D);
秒= 1,0x30,/ / 7段显示数字“2”
领导= 0b00000000; / /导致关闭
显示器(W字); / /在屏幕上显示文本
显示器('魔');
显示('一');
显示器('吨');
显示器(0x20);
显示器('瓦特');
显示器('Ø');
显示器('ü');
显示器('升');
显示器('D'类);
显示器(0x20);
显示器(Y键);
显示器('Ø');
显示器('ü');
显示器(0x20);
显示器('升');
显示器('我');
显示器('k'按钮);
显示器('电子');
显示器(0x20);
显示器('吨');
显示器('Ø');
显示器(0x20);
显示器('D'类);
显示器('Ø');
显示('?');
显示(字符0x0A);
显示(字符0x0D);
显示器(0x5B);
显示器('1');
显示器(0x5D);
显示器(0x20);
显示器(『L');
显示器('我');
显示器(G组织);
显示器('魔');
显示器(『T');
显示器(0x20);
显示器(O形);
显示器('东经');
显示(字符0x0A);
显示(字符0x0D);
显示器(0x5B);
显示器('2');
显示器(0x5D);
显示器(0x20);
显示器(『L');
显示器('我');
显示器(G组织);
显示器('魔');
显示器(『T');
显示器(0x20);
显示器(O形);
显示器('氟);
显示器('氟);
显示(字符0x0A);
显示(字符0x0D);
显示(字符0x0A);
显示(字符0x0D);)
)
)
)
1。用户提示命令从使用超级计算机[按1灯开启时2个LED关]
2。该命令将被发送到蓝牙模块
, 通过蓝牙适配器连接到USB
3。该收发器收到命令[为ASCII 1或2]和发送到事先知情同意
4。石化翻译此命令并执行指令打开或关闭的LED
要连接的蓝牙模块,UART的
, 必须使这个正在建立的TX和知情同意高Rx引脚。蓝牙适配器将发送它接收到的所有PIC的。问题是,LED的未能打开和关闭
, 但7段能够显示每个数目
, 电脑键盘上输入。任何人都可以在那里看看我的编码和帮助我修改??要分配和逻辑高电平基于PIC低并不是一件容易的事。我需要你的帮助。
_________________________________________
#包括<pic.h>
__CONFIG(0x3F32);
#定义秒PORTD / /定义7段作为PORTD
#PORTB的定义导致/ / PORTB的定义为主导
,
无符号字符1;
无效初始化(无效)/ /初始化子程序
(
SPBRG = 0x81; / /设置为9600波特率波特率
BRGH = 1;
TXEN = 1;
CREN = 1;
SPEN = 1;
TRISD = 0b00000000; / /设置为输出PORTD
秒= 0b00000000;
TRISB = 0b00000000; / /设置为输出PORTB的
领导= 0b00000000;
)
无效的显示(无符号字符三)/ /显示在屏幕上的文字
(
而(TXIF == 0);
TXREG =荤;
)
无符号字符接收(无效)/ /接收来自PC命令
(
而(RCIF == 0);
1 = RCREG;
返回;
)
无效的主要(无效)
(
init()中;
(
而(1)/ /等待用户输入字母“X”
(
1 =接收();
如果(a =='x')的突破;
)
)
显示器(W字); / /在屏幕上显示文本
显示器(E级);
显示器(『L');
显示器(的'C');
显示器(O形);
显示器(百万');
显示器(E级);
显示(字符0x0A);
显示(字符0x0D);
显示器(E级);
显示器('东经');
显示器('吨');
显示器('电子');
显示器('R'等);
显示器(0x20);
显示器(的'p');
显示('一');
显示器(氏');
显示器(氏');
显示器(0x20);
显示器('k'按钮);
显示器('电子');
显示器(Y键);
显示(字符0x0A);
显示(字符0x0D);
显示(字符0x0A);
显示(字符0x0D);(
而(1)/ /使用密钥等“fkee”的输入
(
1 =接收();
如果(a =='氟)
(
1 =接收();
如果(a =='k'按钮)
(
1 =接收();
如果(a =='电子')
(
1 =接收();
如果(a =='电子')破;
)
)
)
)
显示器(W字); / /在屏幕上显示文本
显示器('魔');
显示('一');
显示器('吨');
显示器(0x20);
显示器('瓦特');
显示器('Ø');
显示器('ü');
显示器('升');
显示器('D'类);
显示器(0x20);
显示器(Y键);
显示器('Ø');
显示器('ü');
显示器(0x20);
显示器('升');
显示器('我');
显示器('k'按钮);
显示器('电子');
显示器(0x20);
显示器('吨');
显示器('Ø');
显示器(0x20);
显示器('D'类);
显示器('Ø');
显示('?');
显示(字符0x0A);
显示(字符0x0D);
显示器(0x5B);
显示器('1');
显示器(0x5D);
显示器(0x20);
显示器(『L');
显示器('我');
显示器(G组织);
显示器('魔');
显示器(『T');
显示器(0x20);
显示器(O形);
显示器('东经');
显示(字符0x0A);
显示(字符0x0D);
显示器(0x5B);
显示器('2');
显示器(0x5D);
显示器(0x20);
显示器(『L');
显示器('我');
显示器(G组织);
显示器('魔');
显示器(『T');
显示器(0x20);
显示器(O形);
显示器('氟);
显示器('氟);
显示(字符0x0A);
显示(字符0x0D);
显示(字符0x0A);
显示(字符0x0D);
秒= 0; / / 7 segement显示“0”在其显示器
领导= 0; / / LED关闭
而(1)/ /等待用户输入命令
(
1 =接收();
如果(a == '1')
显示器(的'C');
显示器(O形);
显示器('东经');
显示器('D'类);
显示器('我');
显示器(『T');
显示器('我');
显示器(O形);
显示器('东经');
显示器(0X3a);
显示器(『L');
显示器('我');
显示器(G组织);
显示器('魔');
显示器(『T');
显示器(0X20);
显示器(O形);
显示器('东经');
显示(字符0x0A);
显示(字符0x0D);
显示(字符0x0A);
显示(字符0x0D);
秒= 1,0x30,/ / 7段显示数字“1”
领导= 0b11111111; / /率领
显示器(W字); / /在屏幕上显示文本
显示器('魔');
显示('一');
显示器('吨');
显示器(0x20);
显示器('瓦特');
显示器('Ø');
显示器('ü');
显示器('升');
显示器('D'类);
显示器(0x20);
显示器(Y键);
显示器('Ø');
显示器('ü');
显示器(0x20);
显示器('升');
显示器('我');
显示器('k'按钮);
显示器('电子');
显示器(0x20);
显示器('吨');
显示器('Ø');
显示器(0x20);
显示器('D'类);
显示器('Ø');
显示('?');
显示(字符0x0A);
显示(字符0x0D);
显示器(0x5B);
显示器('1');
显示器(0x5D);
显示器(0x20);
显示器(『L');
显示器('我');
显示器(G组织);
显示器('魔');
显示器(『T');
显示器(0x20);
显示器(O形);
显示器('东经');
显示(字符0x0A);
显示(字符0x0D);
显示器(0x5B);
显示器('2');
显示器(0x5D);
显示器(0x20);
显示器(『L');
显示器('我');
显示器(G组织);
显示器('魔');
显示器(『T');
显示器(0x20);
显示器(O形);
显示器('氟);
显示器('氟);
显示(字符0x0A);
显示(字符0x0D);
显示(字符0x0A);
显示(字符0x0D);(
1 =接收();
如果(a == '2')
显示器(的'C');
显示器(O形);
显示器('东经');
显示器('D'类);
显示器('我');
显示器(『T');
显示器('我');
显示器(O形);
显示器('东经');
显示器(0X3a);
显示器(『L');
显示器('我');
显示器(G组织);
显示器('魔');
显示器(『T');
显示器(0X20);
显示器(O形);
显示器('氟);
显示器('氟);
显示(字符0x0A);
显示(字符0x0D);
显示(字符0x0A);
显示(字符0x0D);
秒= 1,0x30,/ / 7段显示数字“2”
领导= 0b00000000; / /导致关闭
显示器(W字); / /在屏幕上显示文本
显示器('魔');
显示('一');
显示器('吨');
显示器(0x20);
显示器('瓦特');
显示器('Ø');
显示器('ü');
显示器('升');
显示器('D'类);
显示器(0x20);
显示器(Y键);
显示器('Ø');
显示器('ü');
显示器(0x20);
显示器('升');
显示器('我');
显示器('k'按钮);
显示器('电子');
显示器(0x20);
显示器('吨');
显示器('Ø');
显示器(0x20);
显示器('D'类);
显示器('Ø');
显示('?');
显示(字符0x0A);
显示(字符0x0D);
显示器(0x5B);
显示器('1');
显示器(0x5D);
显示器(0x20);
显示器(『L');
显示器('我');
显示器(G组织);
显示器('魔');
显示器(『T');
显示器(0x20);
显示器(O形);
显示器('东经');
显示(字符0x0A);
显示(字符0x0D);
显示器(0x5B);
显示器('2');
显示器(0x5D);
显示器(0x20);
显示器(『L');
显示器('我');
显示器(G组织);
显示器('魔');
显示器(『T');
显示器(0x20);
显示器(O形);
显示器('氟);
显示器('氟);
显示(字符0x0A);
显示(字符0x0D);
显示(字符0x0A);
显示(字符0x0D);)
)
)
)