16 分频频谱显示程序 效果图 图片为本程序实验效果图,所以放心程序是完全没有问题的! 程序所用点阵屏管脚定义为如下: SHCP GND STCP GND R1 R2 G1 G2 VCC GND A GND B GND C D 单片机采用的是STC12C5A60S2,将程序看一遍,结合点阵屏的管脚定义,就能知道单片机的IO口的分配情况,结合自己的硬件,改改就 OK了! 程序由于格式问题只能弄小字体了 #include #define uchar unsigned char #define uint unsigned int #define channel 0x00 //设置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) sbit SDA_R=P0^7; sbit SDA_R_TOP=P0^4; sbit SDA_G=P0^6; sbit SDA_G_TOP=P0^5; sbit STCP=P1^7; sbit SHCP=P1^6; uchar code sw[16]={0X00,0X08,0x04,0x0C,0X02,0X0A,0X06,0X0E,0X01,0X09,0X05,0X0D,0X03,0X0B,0X07,0X0F};/*16 行段码*/ //--------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------- //放大 128 倍后的 sin 整数表(128) 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,...