#include <pic.h><br /><br /><br /><br />#define SLEEP() asm("sleep")<br />#define NOP() asm("nop")<br />#define clrwdt() asm("clrwdt")<br /><br /><br />#define uchar unsigned char <br />#define uint unsigned int<br /><br /><br />#define led_1 RC7<br />#define led_2 RC6<br />#define out RC0<br />#define busy RE0<br />#define req RE1<br />#define bus PORTD<br /><br />void port_init()<br />{<br /> ADCON1=0X07; // 初始化AD I/O,使其工作在数字I/O状态<br /><br /><br /> <br /> TRISA = 0xFF; //ff; 0 out; 1 in<br /> TRISB = 0x00;<br /> TRISC = 0x3E; //fe "0011 1110"<br /> TRISD = 0x00; <br /> TRISE = 0x01; //df; "0000 0001" busy(输入) req(输出)<br /> } <br /><br /><br /><br />void send (uchar dat) //写命令或数据<br />{<br /> while(busy==1)<br /> ;<br /> bus=dat;<br /> NOP();<br /> NOP();<br /> req=1;<br /> while(busy==0)<br /> ;<br /> req=0;<br /> return;<br />}<br /><br />void wr_zb (uchar comm,uchar addr_x,uchar addr_y,uchar qq,uchar ww)<br />{<br /> send(comm);<br /> send(addr_x);<br /> send(addr_y);<br /> send(qq);<br /> send(ww);<br />}<br /><br />void delay() //延时是间大约是2秒;<br />{<br />uint a,b;<br /><br /><br /> for(a=1000;a>0;a--) <br /> { for(b=200;b>0;b--)<br /> {<br /> NOP();<br /><br /> }<br /> }<br />}<br /><br /><br /><br /><br />main()<br />{<br /> <br /> port_init();<br /> delay();<br /> while(1)<br /> {<br /> <br /> led_2=1;<br /> delay();<br /><br /> <br />wr_zb (0xf0,0x00,0x02,0x10,0x01); //显示一个"啊"<br />delay();<br />wr_zb (0xf0,0x03,0x02,0x22,0x42); // 显示一个"骡"<br /><br /><br /> delay();<br /> led_2=0;<br /> delay();<br /><br /><br /><br /> <br /> }<br />}<br />
|