这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » 8051 8051的I/O口问题!

共4条 1/1 1 跳转至

8051 8051的I/O口问题!

院士
2006-09-17 18:14:16     打赏
8051 8051的I/O口问题!



关键词: 问题    

院士
2006-12-22 22:43:00     打赏
2楼
问 我在网上看了一个PS/2键盘单片机读取程序,如下:
#include"intrins.h"
#include<reg51.h>
#define uchar unsigned char
sbit key_clk=P3^2;//键盘时钟
sbit key_data=P3^1;//键盘数据
uchar key=0; //键值
uchar keycounter=0;//有新按键标志位

void keyread(void) interrupt 0 //键盘中断读取程序//
{
  uchar i;

 key=0;   
  for(i=0;i<11;i++)
  {
    while(key_clk){};
    if(i>0&&i<9)
    {
      key=key>>1;
      if(key_data)key=key|0x80;
      }
    while(!key_clk){};
    }
  if(keycounter==0)keycounter=1;
  else keycounter=0;



void main()
{key_clk=1;key_data=1;
  EX0=1;
  IT0=0;//电平触发
  EA=1;
  while(1){};
  }
程序中的key_clk口怎么同时可以进行读和写啊,是不是51的I/O口不需要设置输入与输出,可以同时复用啊? 1: 标准51是这样的,当要读取时,只要先将它写入1再读就OK了

专家
2022-08-10 20:59:15     打赏
3楼

支持一下


专家
2022-08-10 20:59:55     打赏
4楼

支持一下


共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]