程序的意思为:在16个膜冲过后,在第一个595的输出端输出数组cm[]的第i个字节,在第二个595的输出端输出数组cn[]的第i个字节.<br />遇到问题:我发现两个595的Q0,Q4端都没有波形,为底电平.(绝对没有虚焊的问题)请大家指导!<br /><br />#include <reg52.h><br />#include <intrins.h><br />#include <absacc.h><br />#define uchar unsigned char<br />#define uint unsigned int<br /><br />sbit SER = P3^0;<br />sbit SRCLK = P3^1;<br />sbit RCK = P3^5;<br />uchar data cm[5]={0x31,0x02,0x56,0x45,0x12};<br />uchar data cn[5]={0x33,0x34,0x54,0x43,0x14};<br /><br />void Write595(uchar val,uchar val2);<br />void main(void)<br />{<br /> uchar i;<br /><br /> while(1)<br /> {<br /> for (i=0;i<5;i++)<br /> {<br /> Write595(cm,cn);<br /> }<br /> }<br />}<br /> <br />void Write595(uchar val,uchar val2)<br />{<br /> uchar i;<br /> for (i=0;i<8;i++)<br /> {<br /> SRCLK=0;<br /> SER=(bit)(val&0x01);<br /> val=val>>1;<br /> SRCLK=1;<br /> } <br /><br /> for (i=0;i<8;i++)<br /> {<br /> SRCLK=0;<br /> SER=(bit)(val2&0x01);<br /> val2=val2>>1;<br /> SRCLK=1;<br /> }<br /> RCK =0;<br /> _nop_();<br /> _nop_();<br /> RCK =1;<br />} |
|