8255a初始化c语言程序,8255A的c语言程序.doc
8255A的c语言程序
8255A的c语言程序
【实例24】用8243扩展I/O端口
#include
sbit ContrBit0=P1^0;
sbit ContrBit1=P1^1;
sbit ContrBit2=P1^2;
sbit ContrBit3=P1^3;
sbit PROG=P1^4;
sbit CS=P1^5;
char driver8243(char sele_P,char sele_M,char out_data)
{
char in_data=0;
char data_buf;
PROG=1;
//置PROG为高电平
//----------------------------------------------开始写控制字-----------------------------------------------
if((sele_P&0x01)==0)//将控制字最低位送到8243的p2.0
ContrBit0=0;
else
ContrBit0=1;
if((sele_P&0x02)==0) //将控制字第二位送到8243的p2.1
ContrBit1=0;
else
ContrBit1=1;
//以上两位共同指定端口地址
//----------------------------------------写端口工作模式控制字----------------------------------------
if((sele_M&0x01)==0) //将端口工作模式控制字低位送到8243的p2.2
ContrBit2=0;
else
ContrBit2=1;
if((sele_M&0x01)==0) //将端口工作模式控制字高位送到8243的p2.3
ContrBit3=0;
else
ContrBit3=1;
//完成写控制字
PROG=0;
//在PROG上产生下降沿
switch(sele_M&0x03) //判断工作模式
{
case 0: break;
//sele_M=B00为输入,不处理,等待上升沿
case 1: data_buf=out_data;
break;
//sele_M=B01为输出,直接送数据
case 2: data_buf=out_data;
break;
//sele_M=B10为逻辑或,直接送数据
case 3: data_buf=out_data;
break;
//sele_M=B11为逻辑与,直接送数据
}
PROG=1;
//产生上升沿
if((sele_M&0x03)==0) //sele_M=B00为输入,接收数据
in_data=(data_buf&0x0F);
return(in_data);
//sele_M=B00,返回接收到的数据
}
//sele_M!=B00,返回0
void main( void)
{
char receive_data;
receive_data=driver8243(1,0,5);
}
【实例25】用8255A扩展I/O口
//----------------------------------------------------------------------------------------------------
// 函数名称:rd_PA
// 输入函数:无
// 输出参数:PA_data,PA输入的数据
// 功能说明:驱动PA实现输入功能,读入PA的并行数据
//----------------------------------------------------------------------------------------------------
unsigned char rd_PA(void) //读PA
管脚定义及函数声明
//-------------------------------------------函数声明,管脚定义--------------
8255a初始化c语言程序,8255A的c语言程序.doc相关推荐
- c语言中怎么暂停一个一个游戏,求助:最近在linux下用c语言写了一个贪吃蛇程序,有几个问题,第一:贪吃蛇怎么实现暂停,第二:有时候同时输入上下左右中的两个键就会直接游戏结束...
求助:最近在linux下用c语言写了一个贪吃蛇程序,有几个问题,第一:贪吃蛇怎么实现暂停,第二:有时候同时输入上下左右中的两个键就会直接游戏结束 /* 以下是主要的逻辑代码,还有些.c和.h就没发了 ...
- 用c语言单链表编写贪吃蛇程序6,C语言链表实现贪吃蛇游戏
阅读学习了源代码,并做了简单的注释和修改,里面只用了链表数据结构,非常适合C语言入门者学习阅读. 程序可在VS2013下编译运行. #include #include #include #includ ...
- c语言程序优化设计,C程序设计语言的教学策略优化设计
摘要:本文围绕提高C语言课堂教学的教学质量,依据教学内容的属性与特点,融合任课教师的教学经验与智慧,通过选择恰当的教学方法,采用合理的教学手段设计了一种教学优化策略,强化了教学方案设计的科学性,保证了 ...
- 程序显示文本框_vb程序语言题库
vb语言题库 一.程序填空 共1题 (共计20分) 第1题 (20.0分) 题号:711 难度:中 第1章 ----------------------- ...
- 米家扩展程序初始化超时_一套完整的PLC程序是什么样子
完美的PLC程序需满足的设计要求 一套完整的PLC程序,并不仅仅是使系统能够运行起来这么简单,它也需要完整的注释.精良的架构.良好的可扩展性.完备的报警保护系统.运行前的模拟系统. 1. 简单性 使P ...
- FX5U程序框架模板(10轴) 程序采用梯形图+ST语言写的 RS485通信
FX5U程序框架模板(10轴) 程序由老工程师费尽心力的整理,把控制允许整理成简单的模板架构程序. 程序讲解 1 轴的参数初始化 2 自动启动条件 3 安全条件(台湾称许可条件,这个可以避免运动打架, ...
- c语言 程序段 数据段,C语言程序的段
C语言程序的段 C语言在编译和连接后,将生成代码段(Text).只读数据段(ROData)和读写数据段(RWData).在运行时,除了以上三个区域外,还包括未初始化数据段(BSS)区域和堆(Heap) ...
- 青花瓷音乐的单片机c语言程序,c语言曲谱_单片机c语言音乐简谱代码
51单片机曲谱编写音乐程序,我看不懂曲谱,谁能教下我! //<世上只有妈妈好>51单片机C语言程序和音乐采灯程序 //此程序在硬件上调试通过 //本程序的单片机晶振采用11.0592MHZ ...
- 查询日历的综合性C语言程序的设计,C语言程序设计实验指导书060522.doc
<C语言程序设计>实验指导书 课程编号:142003 课程名称:C语言程序设计 适应专业: 安全防范.计算机侦查专业必修课,交通管理专业选修课 课程类别:专业必修课 实验教学种类:课程内实 ...
最新文章
- python08-类与对象
- 【Web安全】关于通过木马控制目标和使用中国菜刀拿webshell的应用
- Silverlight C# 游戏开发:Flyer03大图裁剪,高效动画的艺术
- 把阿里巴巴的核心系统搬到云上,架构上的挑战与演进是什么?
- jsoncpp 构造空数组
- 阿里云杜欢:云上Serverless开发能力将成为前端的“金手指”
- 《OOD启思录》—第2章2.6节角色与类
- python程序内存分析_python 如何测量运行中的程序内存 -- Valgrind
- tps波动很大的原因_情绪波动很大是什么原因?怎么调节?
- [Usaco2015 dec]Breed Counting
- c++之对vector排序并获得其索引
- 矩阵论复习笔记:矩阵直积及其应用
- VirtualApp实战之拿到女神朋友圈封面
- Adobe Flash runtimes路线图
- 数学建模与数学实验4.4习题2
- proteus常用器件
- imx6ull boot 启动
- okhttp请求使用cookie
- linux开热点软件,Debian开WI-FI热点
- Lucene 和 Kibana、ElasticSeach、Spring Data ElasticSearch
热门文章
- 什么人适合报考同等学力申硕,避坑指南来了
- 计算机应用能力 模块,计算机应用能力模块考试题及答案
- 软件测试体系学习及构建(13)-测试基础之测试工程师的基本要求
- 嵌入式工程师的发展方向有哪些
- 2022年熔化焊接与热切割免费试题及熔化焊接与热切割考试总结
- 乔利斯基三角分解_数值分析思维问题[综合].doc
- Python读入txt中的数组(下三角矩阵)
- Python实现读取多个/批量txt文件合并成一个txt(示例为tcga数据处理)
- 太阳能充电调节代码_“中国Kcar” 无需充电的薄膜太阳能动力汽车
- 2010龙星计划 机器学习 邢波老师(Eric)写给学员的一封信