在单片机数组定义8255中,用C语言定义的COM8255=0x80,PA8255=0xff这两个数据是干嘛用的

8255的控制字
查看: 4206|
摘要: 由8255的定义可知,8255有3种工作方式,这3种工作方式如表1所示。8255的3种工作方式的选择由8255工作方式选择字决定,下面介绍8255工作方式选择字。 表1 8255的工作方式
基本I/O方式
825582553318255382558255
1 8255&?XML:NAMESPACE PREFIX = O />
&&&&&&&&&& &
8255818255D7D7=1D7=0C/
825582558255
&&&& BCI/O
8255C8255CC/2C/8
8255C/D7D7=0C/D7=18255D6D5D4000
2&&8255CPC3=1000Hz
CI/OPC310.5msPC300.5msPC31PC31000HZ
上一篇:下一篇:
看过《8255的控制字》的人还看了以下文章:
Powered by &
这里是—这里可以学习 —这里是。
栏目导航:8255a c语言程序出现错误 求大神指点【单片机吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:149,754贴子:
8255a c语言程序出现错误 求大神指点收藏
#include&reg52.h&#include&absacc.h&#include&intrins.h&#define uint unsigned int#define uchar unsigned char#define PA XBYTE[0x0000]#define PB XBYTE[0x0001]#define PC XBYTE[0x0002]#define COM XBYTE[0x0003]void Delay(unit x){
while(x--)
for(i=0;i&120;i++);
}}void main(){
uchar k,m=0x7f;
for(k=0;k&8;k++)
m=_crol_(m,1);
Delay(100);
for(k=0;k&8;k++)
m=_crol_(m,1);
Delay(100);
for(k=0;k&8;k++)
m=_crol_(m,1);
Delay(100);
}}编辑后出现错误,但是把文件从工程中移除后,再次运行错误消失
数码家电「天猫618」抢100元大额券,先到先得!每满,大屏满减,惊爆狂欢!「天猫618」全民狂欢&嗨&购,理想生活上天猫!
你那个延时程序void delay();括号里的写错了
登录百度帐号单片机C语言编程与实例 pdf扫描版(带目录)
书籍大小:26MB
书籍语言:简体中文
书籍类型:
书籍授权:免费软件
更新时间:
书籍类别:C/C++/C#
购买链接:
网友评分:
应用平台:
93MB | 简体中文
36.2MB | 简体中文
31MB | 简体中文
30MB | 简体中文
96MB | 简体中文
159MB | 简体中文
70MB | 简体中文
148MB | 简体中文
65.2MB | 简体中文
下载错误?
单片机C语言编程与实例 pdf扫描版(带目录)51单片机—8255A详细介绍(全!)—04
这个学期学的微机原理~~,课件很是给力啊~~呵呵
8255A的原程序设计什么的网上很多~~也有好多Proteus仿真的,但是这里面的大多数都是简单的几行搞定的~~我晕咧,里面的好多东西其实都没有用到~~,呵呵,其实我也就是做个小小的实验,先把原理贴出来,供以后用,其中Proteus仿真真的不给力啊~~浪费了我好多时间,定时计数器竟然一会快,一会慢~~shit,让我白白调了半天~~这么简单的程序
看看我的仿真的程序~~(c语言程序在最后~~)
其中有两个可以控制移位方向的,就是为了验证那个Proteus仿真51的时候定时器不准确的
然后就是详细介绍了
8255A的详细介绍
1、引脚图:
2、内部结构和引脚
3、连接外设的数据端口(也就是ABC口呗,这里的三种方式,会在下面的图片补充的)
4、端口寻址
6、工作方式
8、三种方式介绍(说到这里,具体应该说是贴到这里,呵呵,重点就是上面的7!!!8就是一种提高了~~)
9、就是应用了呗
最后来个程序就哦了,里面带有注释~~
//------------------------------------------------------------------------------
//实现由8255的PA、PB、PC作为输出口的可控流水灯的设计,采用灌电流的方法
//c语言部分
#include"reg52.h"
#include"delay.h"
#include"macroandconst.h"
#include"foot.h"
//------------------------------------------------------------------------------
pdata&in_&&&&&&&&&&&
//定义片外存储空间
temp,temp1;&&&&&
//用于写数据的临时数值
flag=1;&&&&&&
//定义标志位
//------------------------------------------------------------------------------
//定时器0初始化函数
void timer0_init()
&TMOD=0x02;&&&&&&
//定时器0,8位自动装初值
&TH0=(256-50)/256;&&&&
//50us定时
&IT1=0;&&&&&&&
//外部中断1控制为电平触发方式
&EX1=1;&&&&&&&
//外部中断1中断允许位
//------------------------------------------------------------------------------
void main()
&timer0_init();
&reset=1;&
&&&&&//复位
&a1=1;&&&&&&//选择8255控制寄存器
&in_reg=0x82;&&&&//写入控制寄存器,PA、PC作为输出口,PB口作为输入口,并写入控制寄存器
&&&&&&&&&&&&&&&&&&&&&&&&&&&&
//这里可能不是很明白吧,呵呵,其实很简单,这个是51系列单片机的特有功能,反正我用AVR单片机没用到过
&&&&&&&&//,呵呵,相信都知道51系列单片机的PA口是个A/D口,那就对了,这里还省去了控制WR和RD了,而且还省去了
&&&&&&&&//用上拉电阻,要是别的I/O口就得按照WR和RD的协议办~~~
(从根本来说就是单片机自己控制WR和RD,其实
&&&&&&&&//这个东西用的最多的就是扩展了~~~呵呵,不说了,因为我当时扩展也给失败了~~哭
&&a1=0;&&&&&//选中PA口的寄存器
&&if(flag==0)&&&&//标志位为0,流水灯从上向下循环
&&&while(i&8)&&&//循环移动8位
&&&&in_reg=&
&&&&temp=~
&&&&temp=temp&&1;
&&&&temp=~
&&&&delay(100);
//&&&&if(flag!=0)&&&&
//可以加或者不加,加上后就是从当前亮的地方转向开头或者结尾
&&else&&&&&&&&&&&&&&&&&
//标志位为1,流水灯从上向下循环
&&&temp=0x7f;
&&&while(i&8)&&&
&&//循环移动8位
&&&&in_reg=
&&&&temp=~
&&&&temp=temp&&1;
&&&&temp=~
&&&&delay(100);
//&&&&if(flag!=1)&&&&
//同理就哦了
//------------------------------------------------------------------------------
//定时器0中断函数,由于用的Proteus仿真,我看着它进入中断有时间长的,有时间短的,所以所以这个
void timer0()&interrupt 1
&EA=0;&&&&&
//关闭总中断
&a1=0;&&&&&//选中PB口寄存器
&temp1=in_&&&//读取PB口的数据
&if(((~temp1)&0x01)==1)&//按键检测(由于这里的8255当设置为输入的时候都是输入高电平~~,所以还是取个反
//&&delay(5);&&&//这里就是按键检测的一个延时防抖动的,但是我加上跟不加,差别真的好大啊~~晕了~~
&&if(((~temp1)&0x01)==1)
&&&flag=~&&&&
//取反标志位,让它的循环方向改变,下面就不加按键松手检测了~~因为加不上~~呵呵
//------------------------------------------------------------------------------
//外部中断1&,这个是我另加上去的,真的要累死了,我用的外部中断1,它和上面的按键检测是一样的,看来我是对的,Proteus仿真的时候,定时器还是有问题的,有时候根本不执行中断!!!
void int1() interrupt 2
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。8255芯片在单片机中应用--《现代商贸工业》2014年16期
8255芯片在单片机中应用
【摘要】:8255芯片不仅在计算机通讯接口中有广泛的应用,在单片机开发系统也有广泛的应用。介绍了8255扩展芯片在单片机开发系统中的两种应用电路,并给出位线和三态总线两种应用电路下的读写函数。所给出的C语言驱动程序,可直接在KeiC51环境下进行编译与调试。
【作者单位】:
【分类号】:TP273
欢迎:、、)
支持CAJ、PDF文件格式,仅支持PDF格式
【相似文献】
中国期刊全文数据库
刘杰彦;刘明;龚海刚;;[J];电子测量与仪器学报;2011年10期
林国富;汪惠芬;刘婷婷;费一正;;[J];机床与液压;2011年19期
范茜;;[J];河南电力;1999年03期
郑海英,杨汇军,王立红;[J];自动化与仪表;2002年03期
李远哲;荆敏;车登山;刘慧丰;龙泽;;[J];兵工学报;2006年02期
卢海宁;;[J];科技情报开发与经济;2006年23期
牟伶俐;刘钢;黄健熙;;[J];农业工程学报;2006年11期
李健;潘沈元;彭会;;[J];微计算机应用;2007年05期
邸光宇;王彦宏;贾红军;;[J];卫星与网络;2007年03期
匡国防;吴良杰;丛会智;;[J];计算机工程;2007年13期
中国重要会议论文全文数据库
昝涛;王民;费仁元;徐洪安;;[A];设备监测与诊断技术及其应用——第十二届全国设备监测与诊断学术会议论文集[C];2005年
王微;;[A];2008年中国高校通信类院系学术研讨会论文集(上册)[C];2009年
曾晨曦;姜新莉;;[A];中国医院协会病案管理专业委员会第15届全国病案管理学术会议论文集[C];2006年
乔丽;张力;;[A];2007’促进西部发展声学学术交流会论文集[C];2007年
周渊;吴增印;;[A];2008年中国高校通信类院系学术研讨会论文集(下册)[C];2009年
邵勇;马丽;王波;;[A];第十一届全国自动化应用技术学术交流会论文集[C];2006年
习友宝;古天祥;;[A];第七届工业仪表与自动化学术会议论文集[C];2006年
武翠琴;张炜;张向东;;[A];第六届全国信息获取与处理学术会议论文集(2)[C];2008年
齐洪方;;[A];2009年促进中部崛起专家论坛暨第五届湖北科技论坛——装备制造产业发展论坛论文集(上)[C];2009年
马骋;江耕;熊剑平;贾惠波;;[A];第八届全国信息获取与处理学术会议论文集[C];2010年
中国重要报纸全文数据库
四川 张兴;[N];电子报;2009年
雷震龙;[N];黄河报;2007年
周昊;[N];中国计算机报;2008年
谈刚 李晋;[N];中国纺织报;2011年
通讯员  蔡则文 张映泉 记者  孙小和;[N];人民邮电;2006年
于尚民;[N];通信产业报;2008年
江云清;[N];人民邮电;2008年
赛迪顾问信息产业研究中心咨询顾问 邱先磊;[N];通信产业报;2009年
江家兴;[N];通信信息报;2007年
阿龙;[N];电脑报;2007年
中国博士学位论文全文数据库
杨奎武;[D];北京邮电大学;2012年
李文霁;[D];北京邮电大学;2013年
黎洁;[D];中国科学技术大学;2011年
熊志强;[D];华中科技大学;2007年
陈少华;[D];大连海事大学;2011年
张宏巍;[D];中国科学院研究生院(长春光学精密机械与物理研究所);2011年
张韬;[D];南京大学;2012年
叶秀芬;[D];哈尔滨工程大学;2003年
李丽芬;[D];华北电力大学;2013年
朱金奇;[D];电子科技大学;2009年
中国硕士学位论文全文数据库
李先平;[D];长沙理工大学;2012年
吴添英;[D];云南大学;2011年
杨波;[D];湖南科技大学;2012年
张文胜;[D];山东大学;2005年
闫刚;[D];吉林大学;2006年
包秀荣;[D];内蒙古大学;2005年
周永红;[D];浙江大学;2009年
王赫;[D];燕山大学;2013年
陈克斌;[D];西北工业大学;2006年
江北;[D];东南大学;2005年
&快捷付款方式
&订购知网充值卡
400-819-9993

我要回帖

更多关于 单片机定义 的文章

 

随机推荐