基于单片机的光立方电路设计
void hang5() {
/* send_data(0x00); //发送段选数据 send_data(0x00); //发送位选数据 send_data(0x00); send_data(0x00);
send_data(0xff); //发送段选数据 send_data(0x00); //发送位选数据 send_data(0x00); send_data(0x00);
ST_CP=1; ST_CP=0;*/ //更新锁存数据
cs1 = 1; DATA_573 = 0x00; cs1 = 0; // cs2 = 1; DATA_573 = 0x00; cs2 = 0; // cs3 = 1; DATA_573 = 0x00; cs3 = 0; // cs4 = 1; DATA_573 = 0xff; cs4 = 0; // cs5 = 1; DATA_573 = 0x00; cs5 = 0; // cs6 = 1; DATA_573 = 0x00; cs6 = 0; // cs7 = 1; DATA_573 = 0x00; cs7 = 0; // cs8 = 1; DATA_573 = 0x00; cs8 = 0; // }
void hang6() {
/* send_data(0x00); //发送段选数据 send_data(0x00); //发送位选数据 send_data(0x00); send_data(0x00);
send_data(0x00); //发送段选数据 send_data(0xff); //发送位选数据 send_data(0x00); send_data(0x00);
ST_CP=1; ST_CP=0;*/ //更新锁存数据
cs1 = 1; DATA_573 = 0x00; cs1 = 0; // cs2 = 1; DATA_573 = 0x00; cs2 = 0; // cs3 = 1; DATA_573 = 0xff; cs3 = 0; // cs4 = 1; DATA_573 = 0x00; cs4 = 0; // cs5 = 1; DATA_573 = 0x00; cs5 = 0; // cs6 = 1; DATA_573 = 0x00; cs6 = 0; // cs7 = 1; DATA_573 = 0x00; cs7 = 0; // cs8 = 1; DATA_573 = 0x00; cs8 = 0; //
26
基于单片机的光立方电路设计
}
void hang7() {
/* send_data(0x00); //发送段选数据 send_data(0x00); //发送位选数据 send_data(0x00); send_data(0x00);
send_data(0x00); //发送段选数据 send_data(0x00); //发送位选数据 send_data(0xff); send_data(0x00);
ST_CP=1; ST_CP=0;*/ //更新锁存数据
cs1 = 1; DATA_573 = 0x00; cs1 = 0; // cs2 = 1; DATA_573 = 0xff; cs2 = 0; // cs3 = 1; DATA_573 = 0x00; cs3 = 0; // cs4 = 1; DATA_573 = 0x00; cs4 = 0; // cs5 = 1; DATA_573 = 0x00; cs5 = 0; // cs6 = 1; DATA_573 = 0x00; cs6 = 0; // cs7 = 1; DATA_573 = 0x00; cs7 = 0; // cs8 = 1; DATA_573 = 0x00; cs8 = 0; // }
void hang8() {
/* send_data(0x00); //发送段选数据 send_data(0x00); //发送位选数据 send_data(0x00); send_data(0x00);
send_data(0x00); //发送段选数据 send_data(0x00); //发送位选数据 send_data(0x00); send_data(0xff);
ST_CP=1; ST_CP=0;*/ //更新锁存数据
cs1 = 1; DATA_573 = 0xff; cs1 = 0; // cs2 = 1; DATA_573 = 0x00; cs2 = 0; // cs3 = 1; DATA_573 = 0x00; cs3 = 0; // cs4 = 1; DATA_573 = 0x00; cs4 = 0; // cs5 = 1; DATA_573 = 0x00; cs5 = 0; //
27
基于单片机的光立方电路设计
cs6 = 1; DATA_573 = 0x00; cs6 = 0; // cs7 = 1; DATA_573 = 0x00; cs7 = 0; // cs8 = 1; DATA_573 = 0x00; cs8 = 0; // } /*
void hang9() {
send_data(0x0f); //发送段选数据 send_data(0x00); //发送位选数据 send_data(0x00); send_data(0x00);
send_data(0x00); send_data(0x00); send_data(0x00); send_data(0x00);
ST_CP=1;
ST_CP=0; }
void hang10() {
send_data(0x00); send_data(0x0f); send_data(0x00); send_data(0x00);
send_data(0x00); send_data(0x00); send_data(0x00); send_data(0x00); ST_CP=1;
ST_CP=0; }
void hang11() {
send_data(0x00); send_data(0x00); send_data(0x0f); send_data(0x00);
send_data(0x00); send_data(0x00); send_data(0x00); send_data(0x0f);
发送段选数据 发送位选数据 //更新锁存数据 发送段选数据 发送位选数据 发送段选数据 发送位选数据 //更新锁存数据 发送段选数据 发送位选数据 发送段选数据 发送位选数据
28
// // // // // // // // // //基于单片机的光立方电路设计
ST_CP=1;
ST_CP=0; //更新锁存数据 }
void hang12() {
send_data(0x00); //发送段选数据 send_data(0x00); //发送位选数据 send_data(0x00); send_data(0x0f);
send_data(0x00); // send_data(0x00); // send_data(0x00); send_data(0x00); ST_CP=1;
ST_CP=0; }
void hang13() {
send_data(0x00); // send_data(0x00); // send_data(0x00); send_data(0x00);
send_data(0x0f); // send_data(0x00); // send_data(0x00); send_data(0x00); ST_CP=1;
ST_CP=0; }
void hang14() {
send_data(0x00); // send_data(0x00); // send_data(0x00); send_data(0x00);
send_data(0x00); // send_data(0x0f); // send_data(0x00); send_data(0x00); ST_CP=1;
ST_CP=0; }
void hang15() {
send_data(0x00); //发送段选数据 发送位选数据 //更新锁存数据 发送段选数据 发送位选数据 发送段选数据 发送位选数据 //更新锁存数据 发送段选数据 发送位选数据 发送段选数据 发送位选数据 //更新锁存数据 发送段选数据
29
基于单片机的光立方电路设计
send_data(0x00); //发送位选数据 send_data(0x00); send_data(0x00);
send_data(0x00); //发送段选数据 send_data(0x00); //发送位选数据 send_data(0x0f); send_data(0x00); ST_CP=1;
ST_CP=0; //更新锁存数据 }
void hang16() {
send_data(0x00); //发送段选数据 send_data(0x00); //发送位选数据 send_data(0x00); send_data(0x00);
send_data(0x00); //发送段选数据 send_data(0x00); //发送位选数据 send_data(0x00); send_data(0x0f); ST_CP=1;
ST_CP=0; //更新锁存数据 }*/
频谱显示程序
typedef unsigned char uchar; typedef unsigned int uint;
#define channel 0x01 //设置AD通道为 P1.0 #define ADC_POWER (1<<7) #define ADC_SPEEDHH (0x03<<5) #define ADC_START (1<<3) #define PADCH (1<<5) #define ADC_FLAG (1<<4) code char SIN_TAB[128]={0,6,12,18,24,30,36,42,48,54,59,65,70,75,80,85,89,94,98,102, 105,108,112,114,117,119,121,123,124,125,126,126,126,126,126,125,124,123,121,119,117,114,112,108,105,102,98,94,89,85,80,75,70,65,59,54,48,42,36,30,24,18,12,6,0,-6,-12,-18,-24,-30,-36,-42,-48,-54,-59,-65,-70,-75,-80,-85,-89,-94,-98,-102,-105,-108,-112,-114,-117,-119,-121,-123,-124,-125,-126,-126,-126,-126,-126,-125,-124,-123,-121,-119,-117,-114,-112,-108,-105,-102,-98,-94,-89,-85,-80,-75,-70,-65,-59,-54,-48,-42,-36,-30,-24,-18,-12,-6}; //放大128倍后的cos整数表(128) code char COS_TAB[128]={127,126,126,125,124,123,121,119,117,114,112,108,105,102,98,94
30