ξπωπ 19:07:21<br />这是我的程序. 1602液晶PIC 16F877A PICC 编的<br />ξπωπ 19:07:25<br />#include<pic.h><br />#define rs RA1<br />#define rw RA2<br />#define e RA3<br />#define uchar unsigned char<br />#define uint unsigned int<br />char miao,shi,fen;<br />uchar num;<br />uchar count,s1num,add;<br /><br />const uchar mingzi[]=" 2009-04-22 CMU ";<br /> const uchar sijian[]=" 00:00:00";<br />void delay(uint z)<br />{<br /> uint x,y;<br /> for(x=z;x>0;x--)<br /> for(y=110;y>0;y--);<br />}<br />void write_com(uchar com)//写指令<br />{<br /> rs=0;<br /> rw=0;<br /> PORTC=com;<br /> delay(5);<br /> e=1;<br /> delay(5);<br /> e=0;<br />}<br />void write_date(uchar date)//写数据<br />{<br /> rs=1;<br /> rw=0;<br /> PORTC=date;<br /> delay(5);<br /> e=1;<br /> delay(5);<br /> e=0;<br />}<br />void init()//初始化<br />{<br /><br /> ADCON1=0X07;<br /> TRISA=0x00;<br /> TRISC=0x00;<br /> write_com(0x01);<br /> write_com(0x38);<br /> write_com(0x0e);<br /> write_com(0x06); <br /> write_com(0x80);<br /> for(num=0;num<12;num++)<br /> {<br /> write_date(mingzi[num]);<br /> delay(5);<br /> }<br /> write_com(0x80+0x40);<br /> for(num=0;num<12;num++)<br /> {<br /> write_date(sijian[num]);<br /> delay(5);<br /> }<br /> e=0;<br /> OPTION=0X03;<br /> TMR0=0X00;<br /> INTCON=0Xa0; <br />}<br />void write_sfm(uchar add,uchar date)<br />{<br /> uchar shi,ge;<br /> shi=date/10;<br /> ge=date%10;<br /> write_com(0x80+0x40+add);<br /> write_date(0x30+shi);<br /> write_date(0x30+ge);<br />}<br /><br />void main()<br />{<br />init();<br />while(1);<br />}<br />//**************TMR0中断数码管扫描程序*********************<br />void interrupt tmr0(void)<br />{ <br />if(T0IE && T0IF) <br />{ <br /> T0IF=0; //清除中断标志位<br /> {<br /> TMR0=0;<br /> count++;<br />if(count==18)<br /> {<br /> count=0;<br /> miao++;<br /> if(miao==60)<br /> {<br /> miao=0;<br /> fen++;<br /> fen=0;<br /> shi++;<br /> if(shi==24)<br /> {<br /> shi=0;<br /> }<br /> write_sfm(4,shi);<br /> }<br /> write_sfm(7,fen);<br /> }<br /> write_sfm(10,miao);<br /> <br /> } <br />}<br />}<br />ξπωπ 19:16:08<br />我试过 只显示可以. 加上中断就不行了.下面是提示 .........................................................<br /><br /><br /><br />清除: 正在删除中间文件和输出文件.<br />清除: 删除的文件 "E:x.mcs".<br />清除: 完成.<br />Executing: "C:Program FilesHI-TECH SoftwarePICC9.50BINPICC.EXE" -C -E"lcdxiaoshi.cce" "lcdxiaoshi.c" -O"lcdxiaoshi.obj" -Zg9 -O -ASMLIST -Q -MPLAB -16F877A<br />Advisory[1207] : some of the command line options you are using are now obsolete<br />Advisory[1208] : use --help option or refer to the user manual for option details<br />Warning[349] E:lcdxiaoshi.c 40 : non-prototyped function declaration for "init"<br />Executing: "C:Program FilesHI-TECH SoftwarePICC9.50BINPICC.EXE" -E"x.lde" "E:lcdxiaoshi.obj" -M"x.map" -O"x.cof" -O"x.hex" -Q -MPLAB -16F877A<br />Advisory[1207] : some of the command line options you are using are now obsolete<br />Advisory[1208] : use --help option or refer to the user manual for option details<br />Error[472] : non-reentrant function "_write_com" appears in multiple call graphs: rooted at "_tmr0" and "_main"<br />Error[472] : non-reentrant function "_delay" appears in multiple call graphs: rooted at "_tmr0" and "_main"<br />Error[472] : non-reentrant function "_delay" appears in multiple call graphs: rooted at "_tmr0" and "_main"<br />Error[472] : non-reentrant function "_write_date" appears in multiple call graphs: rooted at "_tmr0" and "_main"<br />BUILD FAILED: |
|