⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 复件 serial.c

📁 8051单片机上用C写的ps/2的实验程序
💻 C
字号:
/*
黄 clock 5 红
绿 data  1 黑
黑 地    3
*/
#include <reg51.H>
#include <stdio.h>
typedef unsigned char UCHAR;

UCHAR ucTmp = 0,i=0,j=0;
sbit P1_0 = P1^0;
sbit P2_0 = P2^0;
void main(void)
{
	//long j;
	//unsigned char a;
	
	SCON = 0xD8; //串口方式1,允许接收
	TMOD = 0x20; //定时器1 定时方式2
	TCON = 0x40; //设定时器1 开始计数
	TH1 = 0xFD; //11.0592MHz 1200 波特率
	TL1 = 0xFD;
	TI = 1;
	TR1 = 1; //启动定时器
	EA = 1;
	IT0=1;
	EX0=1;
	while(1)
	{
		if(!P2_0) i=0;
		P0=ucTmp;
	};

}

void exint0_isr() interrupt 0 using 0
{
	i++;j++;
	P0 = j;
	if(1==i) return;
	if(2<=i&&i<=9)
	{
		if(P1_0)
		{
			ucTmp|=(1<<(9-i));
		}
		else
		{
			ucTmp|=(0<<(9-i));
		}
		
		if(9==i)
		{
			printf("\r\n%bu,0x%bx",ucTmp,ucTmp);
		}
		return;
	}
	if(11==i)
	{
		ucTmp=0;
		i=0;
	}
	return;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -