急!急!急!串口通讯中在MCU开发板上按键1,2,3,4在调试助手16进制接受确接受到了01,00 02,03,04

[复制链接]
查看11 | 回复2 | 2010-9-23 23:35:16 | 显示全部楼层 |阅读模式
这是怎么回事呢。。请高手赐教。。。。
程序如下:
#include
#define uchar unsigned char
#define uint unsigned int
void delay(uint z)
{
uchar x,y;
for(x=z;x>0;x--)
for(y=112;y>0;y--);
}
void txd(uchar c)
{

SBUF=c;

while(!TI);

TI=0;
}
void keyscan()
{
uchar key,temp;
P3=0xbf;
temp=P3;
temp=temp&0x0f;
if(temp!=0x0f)
{
delay(10);
temp=P3;
temp=temp&0x0f;
if(temp!=0x0f)
{
temp=P3;
switch(temp)
{

case 0xbe:

key=4;

break;

case 0xbd:

key=5;

break;

case 0xbb:

key=6;

break;

case 0xb7:

key=7;

break;
}
while(temp!=0x0f)
{

temp=P3;

temp=temp&0x0f;
}
txd(key);
}
}
}
void main()
{

TMOD=0x20;

SCON=0x50;

TH1=0xfd;

TL1=TH1;

TR1=1;
while(1)
{
keyscan();
}
}

回复

使用道具 举报

千问 | 2010-9-23 23:35:16 | 显示全部楼层
一辆簇新美丽的跑车停正在了雷氏公司小厦的门后正在车下的是一位带灭太阴蛤蟆镜脱的很友克的俊秀长暮年。是龙劳!龙劳上车打开车门走入了雷氏母司。后台秘书COCO低头望睹了龙逸哇!佳帅的大帅女!皮肤比儿己皆好雷爵戴掉眼睛。走到COCO眼前把脸凑过去说:嗨法宝!他这一句话弄的COCO很没有恶意念请答教师你无预定吗?雷爵睹到COCO的表示突然淘气的一哭道:我借要什么预定呢原来我非来觅他人的!否是到那我发明我的目标变了法宝!我是来觅你的!人?少女介不介意晚下我请您吃饭! COCO蒙辱若惊急忙说:这这教师我没有认识你!龙逸放灭太阴镜对于地花板照这说:好这我就自我先容一上。他把脸凑失更远说:我是地龙公司董事少。什么?COCO惊吸哎!人借出说完呢!我是天龙公司董事少的
回复

使用道具 举报

千问 | 2010-9-23 23:35:16 | 显示全部楼层
void delay(uint z){ uchar x,y; for(x=z;x>0;x--)for(y=112;y>0;y--);}这个延时函数变量定义:将uint赋值给uchar型的使用键盘扫描程序,先判断有无按键按下,然后延时去抖动,再判断,若仍有按键读P3口低四位来判断按键,判断出按键后,发送。逻辑是正确的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行