#include <reg52.h>
typedef unsigned int u16;
typedef unsigned char u8;
u8 KeyValue;
#define GPIO_KEY P1
unsigned char code anjian[]={"10"};
unsigned char i,j;
bit flag;
void delay(unsigned int n)
{
unsigned char a,b;
for(a=0;a<n;a++)
for(b=0;b<123;b++);
}
void UsartInit()
{
SCON=0X50;
TMOD=0X20;
PCON=0X80;
TH1=0xf3;
TL1=0Xf3;
//ES=1;
//EA=1;
TR1=1;
}
void Send_string(unsigned char c)
{
SBUF=c;
while(TI==0);
TI=0;
}
void key()
{
GPIO_KEY=0x0f;
if(GPIO_KEY!=0x0f)
{ delay(100);
if(GPIO_KEY!=0x0f)
{GPIO_KEY=0X0F;
switch(GPIO_KEY)
{
case(0X07): KeyValue=https://bbs.csdn.net/topics/0;break;
case(0X0b): KeyValue=https://bbs.csdn.net/topics/1;break;
case(0X0d): KeyValue=https://bbs.csdn.net/topics/2;break;
case(0X0e): KeyValue=https://bbs.csdn.net/topics/3;break;
}
//2aê?DD
GPIO_KEY=0XF0;
switch(GPIO_KEY)
{
case(0X70): KeyValue=https://bbs.csdn.net/topics/KeyValue;break;
case(0Xb0): KeyValue=https://bbs.csdn.net/topics/KeyValue+4;break;
case(0Xd0): KeyValue=https://bbs.csdn.net/topics/KeyValue+8;break;
case(0Xe0): KeyValue=https://bbs.csdn.net/topics/KeyValue+12;break;
}
i=KeyValue;
Send_string(anjian[i]);
delay(10);
}
}
}
void main(void)
{
UsartInit() ;
while(1) { key(); } }
uj5u.com熱心網友回復:
是不是波特率沒有調對,有亂碼證明有傳輸東西,試一下調波特率uj5u.com熱心網友回復:
1. 查一下波特率是否匹配2. 查一下顯示是十六進制還是字符
uj5u.com熱心網友回復:
用的文本模式,波特率也調了,發送英文數字都可以,發送中文就會出現問號,也只有問號
uj5u.com熱心網友回復:
中文編碼格式不對uj5u.com熱心網友回復:
要怎么編呢,能舉個例子么,在網上找了很久也沒找到
uj5u.com熱心網友回復:
你的IDE里面的setting里面的encode設定成utf8轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/78618.html
標籤:單片機/工控
上一篇:問一下大佬這個代碼怎么改,實作按鍵控制燈亮滅(按一下一個亮再按一下有亮另一個)謝謝
下一篇:我在騰訊看點的導師 Steven
