1、首先用protues画出原理图
2、用keil编写程序代码
3、/*------------------------------------------------------------------------名称:不可控霹雳灯编写:陈植锋日期:2013-11-1内容:通过查表操作分别赋值给P0口和P1口,让不同时候16个LED灯显示不同结果。-------------------------------------------------------------------------*/#include<reg51.h>#define uint unsigned int#define uchar unsigned charvoid delayms(uint);uchar code P0_led[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff,0x55,0xaa,0xf0,0x0f, 0xfc,0xf3,0xcf,0x3f,0x00,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //P0口LED灯显示表uchar code P1_led[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff,0xaa,0x55,0x0f,0xf0, 0x3f,0xcf,0xf3,0xfc,0x00,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //P1口LED灯显示表main(){ uchar i; delayms(200); P0=0x00; //检测LED是否有损坏 P1=0x00; delayms(300); P0=0xff; P1=0xff; delayms(300); while(1) { for(i=0;i<26;i++) { delayms(500); P0=P0_led[i]; P1=P1_led[i]; } }}void delayms(uint xms) //延时{ uint i,j; for(i=0;i<xms;i++) for(j=0;j<120;j++);}
4、用protues仿真