- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第12章 与PLC接口的4位LED数字显示表
第12章 与PLC接口的4位LED数字显示表
最小巧、最精致、测试最完整、性价比最高的无线射频开发平台和模块:NORDIC无线射频开发平台系列
NORDIC无线射频模块系列
最超值的ARM7/ARM9开发板系列
AVR单片机开发板与仿真器
12.2 数显表头软件设计思路12.4 程序清单#includepic16F87x.h#includemydefine.h#includepic.hstatic 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;elsey=0;CLRWDT();return(y);}//显示初始化子程序void initdis( ){PORTB=0xFE;//选通数码管1PORTD=0xC0;PORTB=0xFD;//选通数码管2PORTD=0xC0;PORTB=0xFB;//选通数码管3PORTD=0x7F;//选通小数位PORTD=0xC0;PORTB=0xEF;//选通数码管4PORTD=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==arry[j]) k++; if(k=4) { flag1=1; data0=arry; 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;//选通数码管1PORTD=led[l1];l2=(x-l1*1000)/100;PORTB=0xFD;//选通数码管2PORTD=led[l2];l3=(x-l1*1000-l2*100)/10;PORTB=0xFB;//选通数码管3PORTD=0x7F;PORTD=led[l3];l4=x-l1*1000-l2*100-l3*10;PORTB=0xEF;//选通数码管4PORTD=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]=~PORTC;flag=adr_jud(data1[0]);if(flag==0)return;//地址不同返回else data1[1]=~PORTC;data1[2]=~
您可能关注的文档
最近下载
- 中英工程量计价比较.ppt
- unit 1 how can we become good learners 大单元教学+课时设计 section A (3a-4c).docx
- 博途-profinet技术讲解课件:Day2_2_2_PROFINETFunctions.pptx VIP
- 海南大学2022-2023学年《马克思主义基本原理概论》期末考试试卷(A卷)含参考答案.docx
- 2023华侨港澳台联考招生院校录取分数线.pdf
- PDC钻头优化设计与选型技术.pptx VIP
- 建筑设计公司岗位职责.pdf
- TCUPTA 004-2020 城市轨道TOD综合开发项目评价标准.docx
- 我国影视公司税务筹划分析—基于范冰冰逃税案的视角.docx
- 电力系统新能源弃电率的快速求解方法、系统、设备及存储介质.pdf VIP
文档评论(0)