- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第12章_与PLC接口的4位LED数字显示
第12章 与PLC接口的4位LED数字显示表
12.2 数显表头软件设计思路
12.4 程序清单
#include pic16F87x.h
#include mydefine.h
#include pic.h
static int flag,flag0,flag1,flag3,led_d;
static int data1[5],data2[5];
static int data,data0,data_1,data_2,sdata;
//=====================子程序=========================
//端口初始化子程序
void initport( )
{
PORTA=0;
PORTB=0;
PORTC=0;
PORTD=0;
ADCON1=0x07;
TRISA=0x03; //设RA0,RA1为输入
TRISB=0xE8; //设RB0,RB1,RB2,RB4为输出
TRISC=0xFF; //设C口为输入
TRISD=0; //设D口为输出
}
//判断地址是否相同子程序
int adr_jud(int x)
{
int adress,y;
adress=PORTA0x03;
x=0x60;
adress=adress5;
if (adress==x) y=1;
else y=0;
CLRWDT();
return(y);
}
//显示初始化子程序
void initdis( )
{
PORTB=0xFE; //选通数码管1
PORTD=0xC0;
PORTB=0xFD; //选通数码管2
PORTD=0xC0;
PORTB=0xFB; //选通数码管3
PORTD=0x7F; //选通小数位
PORTD=0xC0;
PORTB=0xEF; //选通数码管4
PORTD=0xC0;
}
//读5次数据判是否有4次相等
int judge(arry)
int arry[5];
{
int i,j,k;
for(i=0;i=4;i++){
k=0;
for(j=0;j=4;j++)
{ if(arry[i]==arry[j]) k++;
if(k=4) {
flag1=1;
data0=arry[i];
return(flag1);
}
else flag1=0;
}
}
return(flag1);
}
//数据转换子程序
int convert(int d1,int d2)
{
auto int dd1,dd2;
int i1,j1,k1,i2,j2,m;
dd1=d1;
dd2=d2;
j1=0x10;
k1=2048;
d1=0;
for(i1=1;i1=5;i1++) {
if(j1==(dd1j1)) m=1;
else m=0;
d1=d1+m*k1;
j1=j1/2;
k1=k1/2;
}
j2=0x40;
d2=0;
for(i2=1;i2=7;i2++) {
if(j2==(dd2j2)) m=1;
else m=0;
d2=d2+m*k1;
j2=j2/2;
k1=k1/2;
}
data=d1+d2;
return(data);
}
//显示子程序
int display(int x)
{ int l1,l2,l3,l4;
l1=x/1000;
PORTB=0xFE; //选通数码管1
PORTD=led[l1];
l2=(x-l1*1000)/100;
PORTB=0xFD; //选通数码管2
PORTD=led[l2];
l3=(x-l1*1000-l2*100)/10;
PORTB=0xFB; //选通数码管3
PORTD=0x7F;
PORTD=led[l3];
l4=x-l1*1000-l2*100-l3*10;
PORTB=0xEF; //选通数码管4
PORTD=led[l4];
}
//中断服务子程序
void interrupt int_serve( )
{
PIR1=0;
TMR1L=0xE5;
TMR1H=0xBE;
di( );
sdata=PORTC0x80;
ei( );
}
//开中断子程序
void int_open( )
{
inportc=PORTC0x80;
if(inportc==1) return;
else data1[0
您可能关注的文档
最近下载
- 2024年巡察整改专题民主生活会个人“聚焦四个方面”对照检查材料范文2篇.docx VIP
- 人工智能对文化产业的推动.pptx VIP
- 人教版(2024)七年级上册英语教学计划(含教学进度表).docx
- 软件的项目可行性的研究的报告编写.ppt VIP
- 一种用于处理高硫高砷金矿的提金剂及其制备方法.pdf VIP
- 中国甲状腺疾病诊治指南ppt.pptx VIP
- 《中国抗癌协会甲状腺癌整合诊治指南(2022精简版)》解读PPT课件.pptx VIP
- 一种澳洲坚果种质热敏感等级的精准诊断及其缓解新梢叶片热伤害的方法.pdf VIP
- 全球常见传染病防控概述.pptx VIP
- 棉花种子生产技术 棉花的生育特性 棉花的一生.docx VIP
文档评论(0)