心形流水灯c语言程序

心形流水灯c语言程序
心形流水灯c语言程序

#include

#include

#define uint unsigned int

#define uchar unsigned char

/***********************************************************/

void delay(uint t); //?óê±

void zg(uint t,uchar a); //á?±??e??áá

void qs(uint t,uchar a); //è?2?éá??

void zgxh(uint t,uchar a); //??ê±???e??μ?áá

void zgxh1(uint t,uchar a); //?3ê±???e??μ?áá

void djs(uint t,uchar a); //????éá

void lbzgm(uint t,uchar a); //á?±??e???e

void sszgm(uint t,uchar a); // ?3ê±???e???e

void nszgm(uint t,uchar a); // ??ê±???e???e

void sztl(uint t,uchar a); //?3ê±?e??í?2?áá

void nztl(uint t,uchar a); //??ê±?e??í?2?áá

void sztm(uint t,uchar a); //?3ê±?e??í?2??e

void nztm(uint t,uchar a); //??ê±?e??í?2??e

void hwzjl(uint t,uchar a); //oáíù?D??áá

void hwzjm(uint t,uchar a); //oáíù?D???e

void nzdl(uint t,uchar a); //??ê±?e??áá

void nzdgl(uint t,uchar a); //??ê±?e??ò???μ?áá

void jgs(uint t,uchar a); //????éá

/***************************************************/

uchar code table[]={0xfe,0xfc,0xf8,0xf0,

0xe0,0xc0,0x80,0x00}; // ?e??μ?áá0~7

uchar code table1[]={0x7f,0x3f,0x1f,0x0f,

0x07,0x03,0x01,0x00}; // ?e??μ?áá7~0

uchar code table2[]={0x01,0x03,0x07,0x0f,

0x1f,0x3f,0x7f,0xff}; // ?e???e0~7

uchar code table3[]={0x80,0xc0,0xe0,0xf0,

0xf8,0xfc,0xfe,0xff}; // ?e???e7~0

uint code display_P0[]={

0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,

0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,

0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,

0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7E, //P0--?·P3?e?????yμ?áá2?·?μ?P0 ???yμ?áá

0x7D,0x7B,0x77,0x6F,0x5F,0x3F,0x3F,

0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,

0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,

0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,

0x3E,0x3D,0x3B,0x37,0x2F,0x1F,

0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,

0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,

0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,

0x1E,0x1D,0x1B,0x17,0x0F,

0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,

0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,

0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,

0x0E,0x0D,0x0B,0x07,

0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,

0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07, 0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,

0x06,0x05,0x03,

0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03, 0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03, 0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,

0x02,0x01,

0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,

0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,

0x00,0x00,0x00,

0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,

//P0 ?ú??ê??úèY

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

/*0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,

0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,

0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,

0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,

0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,

0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,

0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,

0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,

0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,

0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,

0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,

0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,

0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,

0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,

0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,

0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,*/

};

/***************************************************************************/ uint code display_P1[]={

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE, 0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE, 0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE, 0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE, 0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE, 0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,

0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE, 0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE, 0x7E,0xBE,0xDE,0xEE,0xF6,0xFA,0xFC,

0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC, 0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC, 0x7C,0xBC,0xDC,0xEC,0xF4,0xF8,

0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8, 0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8, 0x78,0xB8,0xD8,0xE8,0xF0,

0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0, 0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0, 0x70,0xB0,0xD0,0xE0,

0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0, 0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0, 0x60,0xA0,0xC0,

0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0, 0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0, 0x40,0x80,

0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,

0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,

0x00,0x00,0x00,

0x00,0x00,

0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

/*0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA, 0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,

0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,

0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,

0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,

0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,

0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,

0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,

0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,

0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,

0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,

0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,

0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,

0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,

0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, */

};

/****************************************************************************/ uint code display_P2[]={

0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE, //P0--

?·P3?e?????yμ?áá2?·?μ?P0 á÷??μ?áá

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, //P0 è??eμè′y

0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7E,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,

0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,

0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,

0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,

0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,

0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,

0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,

0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,

0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,

0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,

0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,

0xFF,0xFF,0xFF,0xFF,0xFF,

0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,

0xFF,0xFF,0xFF,0xFF,

0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,

0xFF,0xFF,0xFF,

0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,

0xFF,0xFF,

0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,

0xFF,

0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE, //P0--?·P3?e?????yμ?áá2?·?μ?P0 ???yμ?áá

0x7E,0xBE,0xDE,0xEE,0xF6,0xFA,0xFC,

0x7C,0xBC,0xDC,0xEC,0xF4,0xF8,

0x78,0xB8,0xD8,0xE8,0xF0,

0x70,0xB0,0xD0,0xE0,

0x60,0xA0,0xC0,

0x40,0x80,

0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //P0 áá?eéá?? 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

/*

0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA, //P0--?·P3????μ?áá2?·?μ?P0

1£?3£?5£?7 áá?£2£?4£?6£?8?e

0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,

0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,

0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,

0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,

0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,

0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,

0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,

0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,

0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,

0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,

0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,

0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,

0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,

0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,

0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,

*/

};

/**************************************************************/ uint code display_P3[]={

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0x7F,0xBF,0xDF, 0xEF,0xF7,0xFB,0xFD,0xFE,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0x7F,0xBF,0xDF, 0xEF,0xF7,0xFB,0xFD,0xFE,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0x7F,0xBF,0xDF, 0xEF,0xF7,0xFB,0xFD,0xFE,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0x7F,0xBF,0xDF, 0xEF,0xF7,0xFB,0xFD,0xFE,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,

0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,

0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0x7F,0xBF,0xDF, 0xEF,0xF7,0xFB,0xFD,0xFE, 0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0x7F,0xBF,0xDF, 0xEF,0xF7,0xFB,0xFD,0xFE, 0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0x7F,0xBF,0xDF, 0xEF,0xF7,0xFB,0xFD,0xFE, 0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,

0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,

0x7E,0xBE,0xDE,0xEE,0xF6,0xFA,0xFC,

0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,

0x7C,0xBC,0xDC,0xEC,0xF4,0xF8,

0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,

0x78,0xB8,0xD8,0xE8,0xF0,

0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,

0x70,0xB0,0xD0,0xE0,

0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,

0x60,0xA0,0xC0,

0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,

0x40,0x80,

0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,

0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,

0x00,0x00,0x00,

0x00,0x00,

0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

/*

0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA, //P0--?·P3????μ?áá2?·?μ?P0 1£?3£?5£?7 áá?£2£?4£?6£?8?e

0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,

0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,

0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,

0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,

0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,

0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,

0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,

0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,

0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,

0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,

0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,

0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,

0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,

0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,

0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,

*/

};

/**********************************************************/

void zg(uint t,uchar a)//á?±??e??áá

{

uchar i,j;

for(j=0;j

{

P0=P1=P2=P3=0xff;

P0=0x7f;delay(t);

for(i=0;i<7;i++)

{

P0=table1[i+1];

P2=table1;

delay(t);

}

P2=0x00;P1=0xfe;

delay(t);

for(i=0;i<7;i++)

{

P1=table[i+1];

P3=table1;

delay(t);

}

P3=0x00;delay(t);

}

}

void qs(uint t,uchar a) //è?2?éá??

{

uchar j;

for(j=0;j

{

P0=P1=P2=P3=0xff;

delay(t);

P0=P1=P2=P3=0x00;

delay(t);

}

}

void zgxh(uint t,uchar a) // ??ê±???e??μ?áá

{

uchar i,j;

for (j=0;j

{

P0=P1=P2=P3=0xff;

for (i=0;i<8;i++)

{

P0=table;

delay(t);

}

for(i=0;i<8;i++)

{

P1=table;

delay(t);

}

for(i=0;i<8;i++)

{

P3=table;

delay(t);

}

for(i=0;i<8;i++)

{

P2=table;

delay(t);

}

}

}

void nszgm(uint t,uchar a) // ??ê±???e???e

{

uchar i,j;

for(j=0;j

{

P0=P1=P2=P3=0x00;

for (i=0;i<8;i++)

{

P0=table3;delay(t); }

for (i=0;i<8;i++)

{

P1=table2;delay(t); }

for (i=0;i<8;i++)

{

P3=table2;delay(t); }

for (i=0;i<8;i++)

{

P2=table2;delay(t);

}

}

}

void djs(uint t,uchar a) //????éá

{

uchar j;

for(j=0;j

{

P0=P1=P2=P3=0xff;

P0=P3=0x00;

delay(t);

P0=P1=P2=P3=0xff;

P1=P2=0x00;

delay(t);

}

}

void lbzgm(uint t,uchar a)//á?±??e???e

{

uchar i,j;

for (j=0;j

{

P0=P2=0x00;

P3=0x01;delay(t);

for(i=7;i>1;i--)

{

P1=table[i-1];P3=table1[i-2];

delay(t);

}

P1=0xfe;P3=0xff;delay(t);

P1=0xff;P2=0x01;delay(t);

for(i=7;i>1;i--)

{

P0=table1[i-1];

P2=table1[i-2];

delay(t);

}

P0=0x7f;P2=0xff;delay(t);

P0=0xff;delay(t);

}

}

void sztl(uint t,uchar a)//?3ê±?e??í?2?áá

{

uchar i,j;

for(j=0;j

{

P0=P1=P2=P3=0xff;

for(i=0;i<8;i++)

{

P0=table;

P1=P2=P3=table1;

delay(t);

}

}

}

void nztl(uint t,uchar a)//??ê±?e??í?2?áá

{

uchar i,j;

for(j=0;j

{

P0=P1=P2=P3=0xff;

for(i=0;i<8;i++)

{

P0=table1;

P1=P2=P3=table;

delay(t);

}

}

}

void sztm(uint t,uchar a)//?3ê±?e??í?2??e

{

uchar i,j;

for(j=0;j

{

P0=P1=P2=P3=0x00;

for(i=0;i<8;i++)

{

P0=table2;

P1=P2=P3=table3;

delay(t);

}

}

}

void nztm(uint t,uchar a)//??ê±?e??í?2??e

{

uchar i,j;

for(j=0;j

{

P0=P1=P2=P3=0xff;

for(i=0;i<8;i++)

{

P0=table3;

P1=P2=P3=table2;

delay(t);

}

}

}

void hwzjl(uint t,uchar a) //oáíù?D??áá

{

uchar i,j;

for (j=0;j

{

P0=P1=P2=P3=0xff;

for(i=0;i<8;i++)

{

P0=P2=P1=table1;

P3=table;delay(t); }

}

}

void hwzjm(uint t,uchar a) //oáíù?D???e

{

uchar i,j;

for (j=0;j

{

P0=P1=P2=P3=0x00;

for(i=0;i<8;i++)

{

P0=P2=P1=table3;

P3=table2;delay(t); }

}

}

void nzdl(uint t,uchar a) //??ê±?e??áá

{

uchar i,j;

for (j=0;j

{

P0=P1=P2=P3=0xff;

for(i=0;i<8;i++)

{

P0=table1;

delay(t);

}

P0=0xff;

for(i=0;i<8;i++)

{

P1=table;

delay(t);

}

P1=0xff;

for(i=0;i<8;i++)

{

P3=table;

delay(t);

}

P3=0xff;

for(i=0;i<8;i++)

{

P2=table;

delay(t);

}

P2=0xff;

}

}

void nzdgl(uint t,uchar a) //??ê±?e??ò???μ?áá

{

uchar i,j,k,l;

for (j=0;j

{

k=table1[0];

P0=k;l=table[0];

P1=P2=P3=l;delay(t);

for(i=0;i<8;i++)

{

k=_crol_(k,-1);

P0=k;

l=_crol_(l,1);

P1=P2=P3=l;

delay(t);

}

}

}

void jgs(uint t,uchar a) //????éá

{

uchar j;

for (j=0;j

{

P0=0x55;P1=P2=P3=0xaa;

delay(t);

P0=0xaa;P1=P2=P3=0x55;

delay(t);

}

}

void sszgm(uint t,uchar a) // ?3ê±???e???e

{

uchar i,j;

for(j=0;j

{

P0=P1=P2=P3=0x00;

for (i=0;i<8;i++)

{

P2=table3;delay(t); }

for (i=0;i<8;i++)

{

P3=table3;delay(t); }

for (i=0;i<8;i++)

{

P1=table3;delay(t);

}

for (i=0;i<8;i++)

{

P0=table2;delay(t); }

}

}

void zgxh1(uint t,uchar a) //?3ê±???e??áá

{

uchar i,j;

for (j=0;j

{

P0=P1=P2=P3=0xff;

for (i=0;i<8;i++)

{

P2=table1;

delay(t);

}

for(i=0;i<8;i++)

{

P3=table1;

delay(t);

}

for(i=0;i<8;i++)

{

P1=table1;

delay(t);

}

for(i=0;i<8;i++)

{

P0=table;

delay(t);

}

}

}

void delayms(uint ms) //?óê±×ó3ìDò {

uint k;

while(ms--)

{

for(k = 0; k <100; k++);

}

}

void delay(uint t)

{

uint x,y;

for (x=t;x>0;x--)

{

for (y=120;y>0;y--);

}

}

/****************************************************/

void main()

{

uint g,i;

while(1)

{

zg(100,1); //á?±??e??áá

lbzgm(100,1); //á?±??e???e

jgs(300,10);

djs(100,20); //????éá

for(g=0;g<546; g++) //?yμ?D§1?

{

P2 =display_P2[g];

P3 =display_P3[g];

P1 =display_P1[g];

P0 =display_P0[g];

delayms(40);

}

P1=P2=P3=0xff;

for(i=0;i<3;i++)

{

P0=0x00;delay(800);

P0=0xff;delay(800);

}

P0=0x00;

for(i=0;i<3;i++)

{

P1=0x00;delay(800);

P1=0xff;delay(800);

}

P1=0x00;

for(i=0;i<3;i++)

{

P3=0x00;delay(800);

P3=0xff;delay(800);

}

P3=0x00;

for(i=0;i<3;i++)

{

P2=0x00;delay(800);

P2=0xff;delay(800);

}

qs(500,3);

for(i=0;i<6;i++)

{

zgxh(50,1);

nszgm(50,1);

}

djs(100,20); //????éá

for(i=0;i<3;i++)

{

zg(100,1); //á?±??e??áá

lbzgm(100,1); //á?±??e???e

}

qs(200,10);djs(100,50);

for(i=0;i<5;i++)

{

sztl(200,1); //?3ê±?e??í?2?áá

nztm(200,1); //??ê±??í?2??e

nztl(200,1);

sztm(200,1); //?3ê±?e??í?2??e

}

djs(300,10); //????éá

nzdgl(300,10); //??ê±?e??ò???μ?áá

jgs(300,10); //????éá

for(i=0;i<3;i++)

{

zgxh(100,1);

nszgm(100,1);

}

nzdl(200,3); //??ê±?e??áá

jgs(50,100); //????éá

nzdgl(50,40); //??ê±?e??ò???μ?áá

for(i=0;i<4;i++)

{

zg(100,1);

qs(100,10);

lbzgm(100,1);

}

djs(50,100); //????éá

for(i=0;i<1;i++)

{

zgxh(100,1);

sszgm(100,1);

}

for(i=0;i<1;i++)

{

zgxh1(100,1);

nszgm(100,1);

}

for(i=0;i<1;i++)

{

zgxh(100,1);

sszgm(100,1);

}

for(i=0;i<1;i++)

{

zgxh1(100,1);

nszgm(100,1);

}

for(i=0;i<1;i++)

{

zgxh(100,1);

sszgm(100,1);

}

for(i=0;i<2;i++)

{

zgxh1(100,1);

nszgm(100,1);

}

djs(1000,10);

for(i=0;i<10;i++)

{

hwzjl(200,1); //oáíù?D??áá

hwzjm(200,1); //oáíù?D???e

}

djs(300,10); //????éá

for(i=0;i<5;i++)

{

zgxh(100,1);

nszgm(100,1);

}

djs(100,20); //????éá

zg(300,1);

lbzgm(300,1);

for(i=0;i<5;i++)

{

sztl(200,1); //?3ê±?e??í?2?áá

nztm(200,1);

nztl(200,1);

sztm(200,1); //?3ê±?e??í?2??e

}

djs(500,20); //????éá

djs(100,30); //????éá

djs(50,50); //????éá

// djs(10,100); //????éá

delay(1000);

}

}

C51单片机实行流水灯程序

#include #define LEDPort P1 unsigned char LED01_[9]= {0xFF,0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F,}; //方式0,方式1灯开关数组。unsigned char LED23_[5]= {0xFF,0x7E,0xBD,0xDB,0xE7}; // 方式2,方式3灯开关数组。 unsigned char LED4_[16]={0XFF,0X7F,0X3F,0X1F,0X0F,0X07,0X03,0X01,0X00,0X01,0X03,0X07,0X0f,0X1 f,0X3f,0X7f}; //方式4 unsigned char LED56_[8]={0XFF,0X3F,0X9F,0XCF,0XE7,0XF3,0XF9,0XFC}; unsigned char LED7_[]={0X0F,0XF0,0X33,0XCC,0X3C,0XC3,0XFF}; unsigned char TAB[9]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80};//定义断码表。 unsigned char i=0,j=9; //数据选择计数。 unsigned char Mode=0; //模式选择,默认为模式0。 unsigned char Count=1; //定时器中断计数。 unsigned char Delay=1; //延迟计数,通过改变改数值改变灯状态延迟时间。 //灯延迟时间=uc_Dalay*定时器溢出时间。 void main() { P2=0X3F; TMOD=0x01; //定时器0模式一。 TH0=0x3C; TL0=0xB0; //溢出时间:50ms。 TR0=1; //定时器0开启。 IT0=1; //外部中断0下降沿触发。 IT1=1; //外部中断1下降沿触发。

51单片机流水灯C语言源代码

#include #include #define uint unsigned int #define uchar unsigned char uchar z=50,e=0x00,f=0xff; uchar code table1[]={ 0x80,0xc0,0xe0,0xf0, 0xf8,0xfc,0xfe,0xff}; uchar code table2[]={ 0x7f,0x3f,0x1f,0x0f, 0x07,0x03,0x01,0x00}; uchar code table3[]={ 0x01,0x03,0x07,0x0f, 0x1f,0x3f,0x7f,0xff}; uchar code table4[]={ 0xe7,0xdb,0xbd,0x7e, 0xbd,0xdb,0xe7,0xff}; uchar code table5[]={ 0xe7,0xc3,0x81,0x00, 0x81,0xc3,0xe7,0xff}; uchar code table6[]={ 0x7e,0x3c,0x18,0x00, 0x18,0x3c,0x7e,0xff}; void delay(uchar); void lsd1(); void lsd2(); void lsd3(); void lsd4(); void lsd5(); void lsd6(); void lsd7(); void lsd8(); void lsd9(); void lsd10(); void lsd11(); void lsd12(); main() { while(1) { lsd1(); lsd2(); lsd3(); lsd4();

单片机课程设计报告--心形流水灯

井冈山大学 机电工程学院 单片机 课程设计报告 课程名称:单片机 设计题目:心形流水灯 姓名:玉红 专业:生物医学工程 班级:11级医工本一班 学号:110615017 指导教师:王佑湖 2013年11月27日

目录 1引言 (2) 1.1设计任务 (2) 1.2设计要求……………………………………………… ..2 2 课题综述 (2) 2.1课题的来源 (2) 2.2面对的问题 (2) 3 系统分析 (2) 3.1 STC89C52单片机引脚图及引脚功能介绍 (2) 4 系统设计 (4) 4.1硬件设计 (4) 4.1.1硬件框图 (4) 4.1.2硬件详细设计 (5) 4.2 软件设计 (5) 4.3 硬件原理图 (6) 4.4 元件清单 (6) 4.5 硬件焊接

图 (6) 4.6 代码编写 (7) 5心得体会 (7) 6致 (8) 参考文献 (8) 1 引言 单片机课程设计主要是为了让我们增进对STC89C51单片机电路 的感性认识,加深对理论方面的理解。了解软硬件的有关知识,并掌握软硬件设计过程、方法及实现,为以后设计和实现应用系统打下良好基础。另外,通过简单课题的设计练习,使我们了解必须提交的各项工程文件,达到巩固、充实和综合运用所学知识解决实际问题的目 的。 1.1设计任务 设计一个单片机控制的流水灯系统 1.2设计要求 (1)32个LED灯; (2)可实现多种的亮灯(如左循环,右循环,间隔闪,90度交叉闪等)。 2 课题综述

2.1 课题的来源 当今社会,这种由单片机芯片控制各种硬件工作的技术也日益成熟,并普及在交通、化工、机械等各个领域。而流水灯这项技术在生活中的应用更是广泛,较为贴近生活。而流水灯控制的设计所需要的知识也正好吻合了我们本学期对于单片机这门课程的学习,所以设计流水灯控制的这个课题让我们对知识的学习和巩固都有了进一步的加深。 2.2 面对的问题 这次课程设计是通过STC89C52位单片机实现。但面对的问题却是两方面的:一个是软件的设计,也就是实现流水灯控制功能的程序编辑;另一个是硬件的设计,需要我们自己连接、焊接电路板。而更为严峻的就是设计的最后还要将软硬件相结合。 3 系统分析 3.1 STC 89C52单片机引脚图及引脚功能介绍 本次设计的目的在于加深STC89C52单片机的理解,首先来简单认识一下,它的引脚如图3-1所示: 图3.1 STC89C52

(完整版)51单片机流水灯程序

1.第一个发光管以间隔200ms 闪烁。 2. 8 个发光管由上至下间隔1s 流动,其中每个管亮500ms, 灭500ms 。 3. 8 个发光管来回流动,第个管亮100ms 。 4. 用8 个发光管演示出8 位二进制数累加过程。 5. 8 个发光管间隔200ms 由上至下,再由下至上,再重复一次,然后全部熄灭再以300ms 间隔全部闪烁 5 次。重复此过程。 6. 间隔300ms 第一次一个管亮流动一次,第二次两个管亮流动,依次到8 个管亮,然后重复整个过程。 7. 间隔300ms 先奇数亮再偶数亮,循环三次;一个灯上下循环三次;两个分别从两边往中间流动三次;再从中间往两边流动三次;8 个全部闪烁 3 次;关闭发光管,程序停止。 1 #include #define uint unsigned int sbit led 仁P"0; void delay(); void main() { while(1) { led1=0; delay(); led1=1; delay(); } } void delay() {

uint x,y; for(x=200;x>0;x--) for(y=100;y>0;y--); } #include #include #define uint unsigned int #define uchar unsigned char sbit p P1A0; uchar a; void delay(); void main() { a=0xfe; P1=a; while(1) { a=_crol_(a,1); delay(); P1=a; delay(); } } void delay() { uint b; for(b=55000;b>0;b--); } 3 #include #include #define uint unsigned int #define uchar unsigned char void delay() { uint x,y; for(x=100;x>0;x--) for(y=110;y>0;y--); } void main() { uchar a,i; while(1) a=0xfe; for(i=0;i<8;i++) { P1=a; delay(100); a=_crol_(a,1); } a=0x7f; for(i=0;i<8;i++) { P1=a; delay(100); a=_cror_(a,1);

(完整word版)51单片机流水灯

51单片机的流水灯控制 班级:100712 姓名:全建冲 学号:10071047

一、设计要求 用51单片机设计一个流水灯的控制方案,要求采用定时器定时,利用中断法控制流水灯的亮灭,画出电路图和程序流程图,写出程序代码以及代码注释。 二、电路原理图 原理图分析: 本原理图采用STC89S52单片机控制8个LED灯,其中8个LED灯的负极接单片机的P1端口,正极通过1KΩ排阻连接到电源上。原理图中还给出了晶振与复位端,以保证控制器的稳定工作。

三、程序流程图

四、程序代码及注解 1.非中断定时器控制 #include #include//包含了_crol_函数的头文件 #define uchar unsigned char #define uint unsigned int uint i=0; uchar a=0xfe; void main() { TMOD=0x01;//设置工作方式为定时器0,16位手动重装初值 TH0=(65536-46080)/256;//50毫秒定时赋初值 TL0=(65536-46080)%256; TR0=1;//启动定时器0 while(1) { If(TF==1)//读溢出标志位 { TH0=(65536-46080)/256;//重新赋初值 TL0=(65536-46080)%256;

i++; if(i==10)//500毫秒定时 { i=0; P1=a;//P1端口赋值 a=_crol_(a,1);//循环左移 } TF=0;//清除定时器溢出标志 } } } 程序分析:本程序采用非中断定时器法控制流水灯,核心语句在于读取标志位TF位,TF为定时器溢出标志位,溢出时硬件自动置一,所以循环读取标志位以判断定时器是否溢出,而每次溢出需要手动清零,否则定时器无法再次溢出,利用标志i读取10次即可达到500毫秒的定时。另外需要注意的是单片机晶振为11.0592MHz,所以计时一个数的时间为12/11.0592=1.085us,故定时50毫秒的计数为50000/1.085=46080。 2.中断定时器控制 #include

基于51单片机心形流水灯C语言源程序

基于51单片机心形流水灯C语言源程序

#include unsigned int x,y; void delayms(unsigned int z) //延时 { unsigned int i,j; for(i=z;i>0;i--) for(j=150;j>0;j--); } void On_all() //开启所有灯 { P0=0x00; P1=0x00; P2=0x00; P3=0x00; } void Off_all()//关闭所有灯 { P0=0xff; P1=0xff; P2=0xff; P3=0xff; } void ls()//正向流水灯 { P0=0x00; delayms(400); P2=0x00; delayms(400); P3=0x00; delayms(400); P1=0x00; delayms(400); P0=0x01; delayms(50);

P0=0x04; delayms(50); P0=0x08; delayms(50); P0=0x10; delayms(50); P0=0x20; delayms(50); P0=0x40; delayms(50); P0=0x80; delayms(50); P0=0x00; P2=0x01; delayms(50); P2=0x02; delayms(50); P2=0x04; delayms(50); P2=0x08; delayms(50); P2=0x10; delayms(50); P2=0x20; delayms(50); P2=0x40; delayms(50); P2=0x80; delayms(50); P2=0x00; P3=0x80; delayms(50); P3=0x40; delayms(50); P3=0x20; delayms(50); P3=0x10; delayms(50); P3=0x08; delayms(50); P3=0x04; delayms(50);

基于单片机的心形流水灯毕业设计论文

课程设计(论文)说明书 题目:心形流水灯 院(系):信息与通信学院 专业:通信工程 学生姓名: 学号: 指导教师: 职称:讲师 2012年12 月1日

摘要 本论文基于单片机技术与单片机芯片AT89S51芯片功能和C语言程序,实现心形流水灯的多种亮与灭的循环。首先,我们了解单片机的一些技术,了解了单片机芯片AT89S51的一些功能;然后结合C语言编程;最后将它们运用到实际的电路,使心形LED灯实现多种亮灭方法。本论文介绍关于流水灯的运用和单片机技术;然后介绍芯片AT89S51;最后介绍运用到的相关软件.矚慫润厲钐瘗睞枥庑赖。 关键词:单片机;流水灯;C语言;

Abstract This paper Based on the single chip microcomputer and single chip microcomputer chip AT89S51 chip function and C language program,Realization of flowing water light heart a variety of light and the cycle of destruction。primarily,We know some of the single chip microcomputer technology,Understanding of the single chip microcomputer chip AT89S51 of some functions, Then based on the C language programming; Finally they are applied to the practical circuit, Make heart LED lamp achieve a variety of light out method. This paper introduces about the use of flowing water light and single chip microcomputer; and then introduced chip AT89S51; At the end of this paper applied to software.聞創沟燴鐺險爱氇谴净。Key words:micro-computer;light water ;C programming language残骛楼諍锩瀨濟溆塹籟。

心形LED流水灯制作方法

LED心形流水灯加程序 1.原件清单:一个万能板,一个底座,一个STC89C52芯片,32个LED 灯,32个贴片电阻,两个30uf电容,一个晶振。 2.原理图: 注:电源处的复位可以不用;就是上面红框里的内容 3.正面图

背面图: 亮灯图: 4. 程序代码: #include #include #define uint unsigned int #define uchar unsigned char uchar code table[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00}; // 逐个点亮0~7 uchar code table1[]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00}; // 逐个点亮7~0 uchar code table2[]={0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff}; // 逐个灭0~7 uchar code table3[]={0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff}; // 逐个灭7~0

/***********************************************************/ void delay(uint t); //延时 void zg(uint t,uchar a);//两边逐个亮 void qs(uint t,uchar a);//全部闪烁 void zgxh(uint t,uchar a); // 逆时针逐个点亮 //void zgxh1(uint t,uchar a); // 顺时针逐个点亮 void djs(uint t,uchar a); //对角闪 void lbzgm(uint t,uchar a);//两边逐个灭 //void sszgm(uint t,uchar a); // 顺时针逐个灭 void nszgm(uint t,uchar a); // 逆时针逐个灭 void sztl(uint t,uchar a);//顺时逐个同步亮 void nztl(uint t,uchar a);//逆时逐个同步亮 void sztm(uint t,uchar a);//顺时逐个同步灭 void nztm(uint t,uchar a);//逆时逐个同步灭 void hwzjl(uint t,uchar a); //横往中间亮 void hwzjm(uint t,uchar a); //横往中间灭 //void swzjl(uint t,uchar a); //竖往中间亮 //void swzjm(uint t,uchar a); //竖往中间灭 void nzdl(uint t,uchar a); //逆时逐段亮 void nzdgl(uint t,uchar a); //逆时逐段一个点亮 void jgs(uint t,uchar a); //间隔闪 /**********************************************************/ void zg(uint t,uchar a)//两边逐个亮 { uchar i,j; for(j=0;j

最新五种编程方式实现流水灯的单片机c程序讲课教案

五种编程方式实现流水灯的单片机C程序 //功能:采用顺序结构实现的流水灯控制程序 /*此方式中采用的是字操作(也称为总线操作)*/ #include void delay(unsigned char i); //延时函数声明 void main() //主函数 { while(1) { P1 = 0xfe; //点亮第1个发光二极管,0.000389s delay(200); //延时 P1 = 0xfd; //点亮第2个发光二极管,0.155403s,0.1558 delay(200); //延时 P1 = 0xfb; //点亮第3个发光二极管 delay(200); //延时 P1 = 0xf7; //点亮第4个发光二极管 delay(200); //延时 P1 = 0xef; //点亮第5个发光二极管 delay(200); //延时 P1 = 0xdf; //点亮第6个发光二极管 delay(200); //延时 P1 = 0xbf; //点亮第7个发光二极管 delay(200); //延时 P1 = 0x7f; //点亮第8个发光二极管 delay(200); //延时 } } //函数名:delay //函数功能:实现软件延时 //形式参数:unsigned char i; // i控制空循环的外循环次数,共循环i*255次 //返回值:无 void delay(unsigned char i) //延时函数,无符号字符型变量i为形式参数{ unsigned char j, k; //定义无符号字符型变量j和k for(k = 0; k < i; k++) //双重for循环语句实现软件延时 for(j = 0; j < 255; j++); } //功能:采用循环结构实现的流水灯控制程序 //此方式中采用的移位,按位取反等操作是位操作 #include //包含头文件REG51.H void delay(unsigned char i); //延时函数声明 void main() //主函数

单片机流水灯C语言源程序

单片机流水灯C语言源程序 标题:51单片机流水灯C语言源程序2008-12-06 08:43:05 ************************************************************** 文件名称:flash_led.c 文件说明:流水灯C程序 编写日期:2006年10月5日 程序说明:MCU采用AT89S51,外接12M晶振,P1口输出 *************************************************************/ #include //51系列单片机定义文件 #define uchar unsigned char //定义无符号字符 #define uint unsigned int //定义无符号整数 void delay(uint); //声明延时函数 void main(void) { uint i; uchar temp; while(1) { temp=0x01; for(i=0;i<8;i++) //8个流水灯逐个闪动 { P1=~temp; delay(100); //调用延时函数 temp<<=1; } temp=0x80; for(i=0;i<8;i++) //8个流水灯反向逐个闪动 { P1=~temp; delay(100); //调用延时函数 temp>>=1; } temp=0xFE; for(i=0;i<8;i++) //8个流水灯依次全部点亮 { P1=temp; delay(100); //调用延时函数 temp<<=1; }

51单片机 流水灯 ~ 花样灯 程序

单片机为89c52 晶振为11.0592, /***此程序为流水灯*** / #include #include #define uchar unsigned char //宏定义 #define uint unsigned int uchar led; void delay(uint z) //延时子函数体 { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void main() { led=0xfe; //赋初值 while(1) { P1=led; //点亮第一个小灯 delay(100); //延时100毫秒 led=_crol_(led,1); 将led的变量左移给下一位} }

/*8个发光管间隔200ms由上至下,返回再由上至下,一个个往下亮,后全亮由下至上,返回再由下至上,一个个往下亮,后全亮 再重复2次, 然后全部熄灭再以500ms间隔 全部闪烁3次。重复此过程*/ #include #include #define uchar unsigned char #define uint unsigned int uchar led; uint i,j; void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void main() { while(1) { for(j=0;j<2;j++) { led=0xfe; //赋初值 for(i=0;i<8;i++) { P1=led; //点亮第一个小灯 delay(200); //延时200毫秒 led=_crol_(led,1); //将led变量循环左移给下一位 } led=0xfe; //赋初值 for(i=0;i<8;i++) { P1=led; //点亮第一个小灯 delay(200); //延时200毫秒 led<<=1; //左移给下一位 } led=0x7f; //赋初值

心形花样流水灯设计报告

《专业方向课程设计》课程 设计报告 题目:心形花样流水灯与点阵显示 专业:电子信息工程 班级:二班 学号: 姓名: 指导老师: 重庆交通大学信息科学与工程学院 设计时间:2013年9 月8 日到2013 年11 月16 号

一、 设计任务说明 随着社会的发展,单片机得到了广泛的应用,人们越来越重视单片机的应用。比如温度是和每个人息息相关的,并且在有的生产车间里还要进行温度时时测量,甚至是对温度的进一步调控等,这些都是单片机的应用之例。本设计是用单片机和点阵加一个小的流水灯电路, 这次作品的初衷是希望通过单片机学习,做个生日礼物送给朋友。 二、 总体设计 本系统主要有AT89C51单片机、5mm 彩色LED 灯、74HC245、8*8LED 点阵、200欧电阻等元件组成。 1.流水灯设计: (1)AT89C51单片机: AT89C51具有如下特点: 40个引脚,8k Bytes Flash 片内程序存储器, 256 bytes 的随机存取数据存储器(RAM ), 32个外部双向输入/输出(I/O )口, 5个中断优先级2层中断嵌套中断, 2个16位可编程定时计数器, 2个全双工串行通信口, 看门狗(WDT )电路,片内时钟振荡器。 此外,AT89S52设计和配置了振荡频率可 为0Hz 并可通过软件设置省电模式。空闲模式下,CPU 暂停工作,而RAM 定时计数器,串行口,外中断 系统可继续工作,掉电模式冻结振荡器而保存RAM 的数据,停止芯片其它功能直至外中断激活或硬件复位。 引脚图如右图所示。此次设计把51单片机的4个I/O 口与32个5mm 高亮LED 灯相接,通过单片机控制各I/O 引脚的高低电平控制LED 的亮灭从而形成各种不同亮灭的花样。 2.点阵显示设计: (1)8*8点阵原理图 : 从图中可以看出,8X8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮;因此要实现一根柱形的亮法,如图所示,对应的一列为一根竖柱,或者对应的一行为一根横柱,因此实现柱的亮的方法如下所述: 一根竖柱:对应的列置1,而行则采用扫描的方法来实现。 AT89C51引脚图

LED点阵心形流水灯单片机设计

河南理工大学 开放实验室单片机设计报 LED点阵心形流水灯礼品 目录 0 前言 (1) 1系统组成与功能 (1) 1.1 系统组成 (1) 1.1.1 AT89C51单片机 (1) 1.1.2 16乘16点阵 (2) 1.2 系统功能 (3) 2系统原理 (3) 2.1系统仿真图 (3) 2.2 实物照片 (4) 3程序流程图 (6) 4程序代码 (7) 5结论 (14) 参考文献 (14)

1 基于单片机控制心形流水灯跟点阵 0 前言 随着社会的发展,单片机得到了广泛的应用,人们越来越重视单片机的应用。比如温度是和每个人息息相关的,并且在有的生产车间里还要进行温度时时测量,甚至是对温度的进一步调控等,这些都是单片机的应用之例。本设计是用单片机和点阵加一个小的流水灯电路,作为玩具挺有趣的。 这次的作品,初衷是希望通过单片机学习,做个生日礼物送给朋友。由于时间紧迫,做的有些仓促,望原谅。 1系统组成与功能 1.1 系统组成 本系统主要有AT89C51单片机、18b20、1602、蜂鸣器、四位一体七段数码管等元件组成。 1.1.1 AT89C51单片机 AT89S51具有如下特点:40个引脚,8k Bytes Flash 片内程序存储器,256 bytes 的随机存取数据存储器(RAM ),32个外部双向输入/输出(I/O )口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT ) 电路,片内时钟振荡器。 此外,AT89S52设计和配置了振荡频率可 为0Hz 并可通过软件设置省电模式。空闲模式下,CPU 暂停工作,而RAM 定时计数器,串行口,外中断 系统可继续工作,掉电模式冻结振荡器而保存RAM 的数据,停止芯片其它功能直至外中断激活或硬件复位。 引脚图如图1-1所示。 管脚说明 图1-1 A T89C51引脚图

单片机流水灯所有程序

单片机流水灯所有程序 SANY GROUP system office room 【SANYUA16H-SANYHUASANYUA8Q8-

#include #define uchar unsigned char //char是字符数组 #define unit unsigned int uchar num; sbit led1=P1^0; void main() { TMOD=0x01; // 打开工作方式寄存器,选择工作方式1(0000 0001) TH0=(65536-45872)/256; TL0=(65536-45872)%6; EA=1; //开总中断 ET0=1; //开定时器0中断 TR0=1; //启动定时器0 while(1); //程序停止在这里等待中断发生 } void T0_time()interrupt 1 { TH1=(65536-45872)/256; //装初值50ms TL1=(65536-45872)%6; num ; //num每加一次判断是否到了20次 if(num==20) // 20*50ms=1000ms=1s,间隔1s { num=0; //然后把num清0重新再计20次 led1=~led1; //让发光管状态取反 } } 用定时器使1灯间隔1s闪烁 #include #define uchar unsigned char #define unit unsigned int unit num ; #define ucha unsigned char #define uni unsigned int uni a ; uchar table[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00}; //????

单片机课程设计报告--心形流水灯

单片机课程设计报告--心形流水灯

井冈山大学 机电工程学院 单片机 课程设计报告 课程名称:单片机 设计题目:心形流水灯 姓名:彭玉红 专业:生物医学工程 班级:11级医工本一班 学号:110615017 指导教师:王佑湖 2013年11月27日

目录 1引言 (2) 1.1设计任务 (2) 1.2设计要求……………………………………………… ..2 2 课题综述 (2) 2.1课题的来源 (2) 2.2面对的问题 (2) 3 系统分析 (2) 3.1 STC89C52单片机引脚图及引脚功能介绍 (2) 4 系统设计 (4) 4.1硬件设计 (4) 4.1.1硬件框图 (4) 4.1.2硬件详细设计 (5) 4.2 软件设计 (5) 4.3 硬件原理图 (6) 4.4 元件清单 (6) 4.5 硬件焊接图 (6) 4.6 代码编写 (7) 5心得体会 (7) 6致谢 (8) 参考文献 (8)

1 引言 单片机课程设计主要是为了让我们增进对STC89C51单片机电路的感性认识,加深对理论方面的理解。了解软硬件的有关知识,并掌握软硬件设计过程、方法及实现,为以后设计和实现应用系统打下良好基础。另外,通过简单课题的设计练习,使我们了解必须提交的各项工程文件,达到巩固、充实和综合运用所学知识解决实际问题的目的。 1.1设计任务 设计一个单片机控制的流水灯系统 1.2设计要求 (1)32个LED灯; (2)可实现多种的亮灯(如左循环,右循环,间隔闪,90度交叉闪等)。 2 课题综述 2.1 课题的来源 当今社会,这种由单片机芯片控制各种硬件工作的技术也日益成熟,并普及在交通、化工、机械等各个领域。而流水灯这项技术在生活中的应用更是广泛,较为贴近生活。而流水灯控制的设计所需要的知识也正好吻合了我们本学期对于单片机这门课程的学习,所以设计流水灯控制的这个课题让我们对知识的学习和巩固都有了进一步的加深。 2.2 面对的问题

51单片机经典流水灯汇编程序

单片机流水灯汇编程序设计 流水灯汇编程序 8只LED为共阳极连接,即单片机输出端为低电平时即可点亮LED。 ;用最直接的方式实现流水灯 ORG 0000H START:MOV P1,#01111111B ;最下面的LED点亮 LCALL DELAY ;延时1秒 MOV P1,#10111111B ;最下面第二个的LED点亮 LCALL DELAY ;延时1秒 MOV P1,#11011111B ;最下面第三个的LED点亮(以下省略) LCALL DELAY MOV P1,#11101111B LCALL DELAY MOV P1,#11110111B LCALL DELAY MOV P1,#11111011B LCALL DELAY MOV P1,#11111101B LCALL DELAY MOV P1,#11111110B LCALL DELAY MOV P1,#11111111B ;完成第一次循环点亮,延时约0.25秒 AJMP START ;反复循环 ;延时子程序,12M晶振延时约250毫秒 DELAY: ;大约值:2us*256*256*2=260ms,也可以认为为250ms PUSH PSW ;现场保护指令(有时可以不加) MOV R4,#2 L3: MOV R2 ,#00H L1: MOV R3 ,#00H L2: DJNZ R3 ,L2 ;最内层循环:(256次)2个周期指令(R3减一,如果比1大,则转向L2) DJNZ R2 ,L1 ; 中层循环:256次 DJNZ R4 ,L3 ;外层循环:2次 POP PSW RET END

51单片机汇编程序集(二) 2008年12月12日星期五 10:27 辛普生积分程序 内部RAM数据排序程序(升序) 外部RAM数据排序程序(升序) 外部RAM浮点数排序程序(升序) BCD小数转换为二进制小数(2位) BCD小数转换为二进制小数(N位) BCD整数转换为二进制整数(1位) BCD整数转换为二进制整数(2位) BCD整数转换为二进制整数(3位) BCD整数转换为二进制整数(N位) 二进制小数(2位)转换为十进制小数(分离BCD码) 二进制小数(M位)转换为十进制小数(分离BCD码) 二进制整数(2位)转换为十进制整数(分离BCD码) 二进制整数(2位)转换为十进制整数(组合BCD码) 二进制整数(3位)转换为十进制整数(分离BCD码) 二进制整数(3位)转换为十进制整数(组合BCD码) 二进制整数(M位)转换为十进制整数(组合BCD码) 三字节无符号除法程序(R2R3R4/R7)=(R2)R3R4 余数R7 ;二进制整数(2位)转换为十进制整数(分离BCD码) ;入口: R3,R4 ;占用资源: ACC,R2,NDIV31 ;堆栈需求: 5字节 ;出口: R0,NCNT IBTD21 : MOV NCNT,#00H MOV R2,#00H IBD211 : MOV R7,#0AH LCALL NDIV31 MOV A,R7 MOV @R0,A INC R0 INC NCNT MOV A,R3 ORL A,R4 JNZ IBD211 MOV A,R0 CLR C SUBB A,NCNT MOV R0,A RET ;二进制整数(2位)转换为十进制整数(组合BCD码) ;入口: R3,R4 ;占用资源: ACC,B,R7 ;堆栈需求: 3字节 ;出口: R0

单片机流水灯实验报告

单片机流水灯实验报告 电子信息工程学系实验报告 课程名称:单片机原理及接口 实验项目名称:实验2 流水灯实验时间: xx-10-21 班级:电信092 姓名:蔡松亮学号: 910706247 一、实验目的: 进一步熟悉keil仿真软件、proteus仿真软件的使用。了解并熟悉单片机I/O口和LED灯的电路结构,学会构建简单的流水灯电路。掌握C51中单片机I/O口的编程方法和使用I/O口进行输入输出的注意事项。 二、实验原理: MCS-51系列单片机有四组8位并行I/O口,记作P0、P1、P2和P3。每组I/O口内部都有8位数据输入缓冲器、8位数据输出锁存器及数据输出驱动等电路。四组并行I/O端口即可以按字节操作,又可以按位操作。当系统没有扩展外部器件时,I/O端口用作双向输入输

出口;当系统作外部扩展时,使用P0、P2口作系统地址和数据总线、P3口有第二功能,与MCS-51的内部功能器件配合使用。 以P1口为例,内部结构如下图所示: 图 P1口的位结构 作输出时:输出0时,将0输出到内部总线上,在写锁存器信号控制下写入锁存器,锁存器的反向输出端输出1,下面的场效应管导通,输出引脚成低电平。输出1时,下面的场效应管截止,上面的上拉电阻使输出为1。作输入时:P1端口引脚信号通过一个输入三态缓冲器接入内部总线,再读引脚信号控制下,引脚电平出现在内部总线上。 I/O口的注意事项,如果单片机内部有程序存贮器,不需要扩展外部存贮器和I/O接口,单片机的四个口均可作I/O口使用;四个口在作输入口使用时,均应先对其写“1”,以避免误读;P0口作I/O 口使 用时应外接10K的上拉电阻,其它口则可不必;P2可某几根线作地址使用时,剩下的线不能作I/O口线使用;P3口的某些口线作第二功能时,剩下的口线可以单独作I/O口线使用。

数字电子技术课程设计(心形流水灯)

数字电子技术课程设计(心形流水灯)

电子技术课程设计报告 设计题目:基于555的心形流水灯 专业 班级 学号 学生姓名 指导教师

目录 1、设计目的 (3) 1.1 设计框图 (3) 2、硬件电路设计 (3) 2.1 NE555电路及应用 (3) 2.1.1定时电路NE555简介 (3) 2.1.2 NE555的特点 (3) 2.1.3 NE555基本应用电路(定时器) (4) 2.2、脉冲分配器CD4017 (5) 2.2.1 CD4017引脚属

性 (5) 2 .2.2 CD4017的逻辑功能 (5) 2.2.3 CD4017的内部结构 (6) 3、电路工作原理 (6) 3.1 电路原理图 (6) 3.2 电路仿真图 (7) 3.3 实物图 (8) 3.3 背面布线图 (8) 4、元件清单…………………………………………………………………………

(8) 5、实验调试与分析 (8) 6、心得体会 (9) 7、参考文献 (10) 1、设计目的 随着电子技术的快速发展尤其是数字技术的突飞猛进,多功能流水灯凭着简易,高效,稳定等特点得到普遍的应用。在各种娱乐场所、店铺门面装饰、家居装潢、城市墙壁更是随处可见,与此同时,还有一些城市采用不同的流水灯打造属于自己的城市文明,塑造自己的城市魅力。目前,多功能流水灯的种类已有数十种,如家居装饰灯、店铺招牌灯等等。所以,多功能流水灯的设计具有相当的代表性。 多功能流水灯,就是要具有一定的变化各种图案的功能,主要考察了数字电路中一些编码译码、计数器原理,555定时器构成时基电路,给其他的电路提供时序脉冲,设计过程中需要了解相关芯片(NE555、CD4017)的具体功能,引脚图,真值表,认真布局,在连接过程中更要细致耐心。 1.1 设计框图

基于单片机的心形流水灯毕业设计论文

基于单片机的心形流水灯毕业设计论文 此文档为WORD版可编辑修改

课程设计(论文)说明书 题目:心形流水灯 院(系):信息与通信学院 专业:通信工程 学生姓名: 学号: 指导教师: 职称: X年X月X日

摘要 本论文基于单片机技术与单片机芯片AT89S51芯片功能和C语言程序,实现心形流水灯的多种亮与灭的循环。首先,我们了解单片机的一些技术,了解了单片机芯片AT89S51的一些功能;然后结合C语言编程;最后将它们运用到实际的电路,使心形LED灯实现多种亮灭方法。本论文介绍关于流水灯的运用和单片机技术;然后介绍芯片AT89S51;最后介绍运用到的相关软件. 关键词:单片机;流水灯;C语言;

Abstract This paper Based on the single chip microcomputer and single chip microcomputer chip AT89S51 chip function and C language program,Realization of flowing water light heart a variety of light and the cycle of destruction。primarily,We know some of the single chip microcomputer technology,Understanding of the single chip microcomputer chip AT89S51 of some functions, Then based on the C language programming; Finally they are applied to the practical circuit, Make heart LED lamp achieve a variety of light out method. This paper introduces about the use of flowing water light and single chip microcomputer; and then introduced chip AT89S51; At the end of this paper applied to software. Key words:micro-computer;light water ;C programming language

相关文档
最新文档