实验九:点阵屏实验
硬件比较复杂,听课查资料更加详细
代码
main.c
#include<reg52.h>typedef unsigned int u16;
typedef unsigned char u8;#define DZ_LED_L P0
sbit rCLK=P3^5;
sbit SRCLK=P3^6;
sbit SER=P3^4;u8 DZ_code[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x40,0x20,0x10,0x08,0x04,0x02};//15个数值,从顶向下,再向上,循环void delay_10us(u16 n)
{while(n--);
}void LED_DATA(u8 dat)
{u8 i=0;for(i=0;i<8;i++){SER=dat>>7;dat<<=1;SRCLK=0;delay_10us(1);SRCLK=1;delay_10us(1);}rCLK=0;delay_10us(1);rCLK=1;
}void main()
{DZ_LED_L=0x00;while(1){int i;LED_DATA(0x00);for(i=0;i<14