栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

舍友仅仅打了一把游戏,我就学会了如何学会了8255

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

舍友仅仅打了一把游戏,我就学会了如何学会了8255

一、电路图

二、代码
#include "reg51.h"
#include "absacc.h"
#define pa XBYTE[0x0000] //8255A口地址设置
#define pb XBYTE[0x0100] //8255B口地址设置
#define pc XBYTE[0x0200] //8255C口地址设置
#define con XBYTE[0x0300] //8255控制字端口地址设置
sbit p3_4 = P3^4; 
unsigned char t=0x0, n;

void delay(unsigned int j) //延时程序
{
	unsigned int i;
	for(i = 0 ;i <200;i++)
		for(j = 0 ;j <200;j++);
	
}

void Init() //初始化8255
{
	con = 0x82;
}

void kg() //开关控制D1-D6的亮灭
{
	t = pb;
	t = ~t;
	pa = t;
}

void lm() //中断0控制亮灭
{
	EA = 1;
	EX0 = 1;
	IT0 = 1;
	pa = t;
}

void jishu() //T1计数
{
	TMOD = 0x55; 
	EA = 1;      
	TH0 = 0xff;  
	TL0 = 0xff;  
	ET0 = 1;    
	TR0 = 1;  
}

void jishu1() //T1计数,方法2(暂时无效)
{
	EA = 1;
	ET0 = 1;
	TMOD = 0x05;
	TH0 = 0x00;
	TL0 = 0x00;
	TR0 = 1;
}

void lsd() //流水灯
{
	unsigned int temp,i;
	temp = 0x01;
	for(i = 0;i < 8;i++){
		pa = temp;
		temp = temp<<1;
		delay(200);
	}
	
}

void main()
{
	pa = 0x00;		
}

void zd() interrupt 0
{
	t = ~t;
}


void js() interrupt 1
{
	n++;
	pa = n;
	TH0 = 0xff;
	TL0 = 0xff;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/691000.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号