第一个74595的串行输入端SER与89C52的P0口的P00相接;移位控制SRCLK由89C52的WR与经74138移码产生的Y2控制;而RCLK由P3.5控制。其中74595是两级级连,即第一个74595的QHN与连接到第二个74595的SER端。<br />#include <reg52.h><br />#include <intrins.h><br />#include <absacc.h><br /><br />#define uchar unsigned char<br />#define uint unsigned int<br /><br />#define WR595 XBYTE[0x8200]<br /><br />sbit T1C = P3^5;<br />uchar code cm[5]={0x31,0x02,0x56,0x45,0x12};<br /><br />void Write595(uchar val);<br /><br />void main(void)<br />{<br /> uchar j;<br /> for (j=0;j<5;j++)<br /> {<br /> Write595(j);<br /> }<br />}<br /><br />void Write595(uchar val)<br />{<br /> uchar i;<br /> for (i=0;i<8;i++)<br /> {<br /> WR595 = (bit)(val&0x01);<br /> val = val>>1;<br /><br /> }<br /> T1C = 0;<br /> _nop_();<br /> T1C = 1;<br />}<br /><br /><br /><br /><br /> |
|