亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標題:
藍牙APP,紅外遙控光立方制作單片機源碼
[打印本頁]
作者:
zzxxccvvbb
時間:
2018-12-21 09:54
標題:
藍牙APP,紅外遙控光立方制作單片機源碼
光立方制作教程源碼!!!
0.png
(50.98 KB, 下載次數(shù): 22)
下載附件
2018-12-22 01:31 上傳
FFT頻譜測試源碼
MT10-單色app程序源碼
MT10-單色上位機恒流
wifi通訊程序源碼
上位機通訊測試源碼
雙色光立方貪吃蛇程序
呼吸燈程序源碼
按鍵程序測試源碼
點亮光立方程序測試源碼
紅外遙控程序源碼
脫機動畫程序源碼
藍牙APP通訊源碼
語音APP萌萌游戲
全部資料51hei下載地址:
通用程序源碼.zip
(17.13 MB, 下載次數(shù): 66)
2018-12-21 09:53 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
單片機源程序如下:
#include <STC12C5A60S2.H>//包含頭文件 STC12C5A60S2.H
//STC單片機的頭文件可以使用STC-ISP下載軟件添加到Keil編譯軟件中使用(參考STC官方下程序下載軟件使用手冊載)
#define uchar unsigned char
#define uint unsigned int
uchar data buffer[8]; //數(shù)組
uchar display[8][8];
sbit RR=P3^6;//紅
sbit GG=P2^2;//綠
sbit BB=P2^4;//藍
sbit k1=P0^4;//播放、暫停
sbit k2=P0^5;//音量減
sbit k3=P0^6;//音量加
sbit ABL=P4^3;//亮度
uchar data rxcnt=0;
char data bb,cheng,yanse; //sa串口中斷,bb延時變量,
unsigned char cube_frame[73];//一幀cube_frame數(shù)據(jù)73字節(jié),當然這里的數(shù)組替換為你程序中的相應數(shù)組
unsigned char byte_cnt=0;//接受到的字節(jié)數(shù)
unsigned char cmd_type=0;//接受到命令類型,可能是動畫下載,進入音頻模式等..
bit receive_sta=0; //接受狀態(tài),表示數(shù)據(jù)是否接受完成
void disp_cube(unsigned char DZ_data[64]);
void timer0init(void)
{
TMOD=0X12;
EX1=0;
ET1=1;//定時器1開中斷
EA=1;
IPH|=0X01;
PX0=1;
IT0=1;
P0M0=0xf8; //P0口開漏輸出
P0M1=0xf0;
P3M0=0x00; //P3準雙向輸出
P3M1=0X00;
P2M0=0x00; //P2準雙向輸出
P2M1=0X00;
}
/*************************************************************************************************************************/
void delay(int i)// 延時 bb速度控制
{
char b;
while (i--)
{
b=bb;
while(b--);
}
}
void delay2(uint t)
{
int i;
while(t--)
for(i=0;i<5;i++);
}
/*************************************************************************************************************************/
/******************************************74HC595數(shù)據(jù)發(fā)送函數(shù)************************************************************/
/*************************************************************************************************************************/
sbit SH_CP = P3^4; //SCK
sbit ST_CP = P3^3;//RCK
sbit DS = P3^5;//SER
sbit SH_CP2 = P2^6; //SCK2
sbit ST_CP2 = P2^5;//RCK2
sbit DS2 = P2^3;//SER2
void initial595() //列掃描74HC595初始化
{
SH_CP = 0;
ST_CP = 0;
DS = 0;
}
void initial5952() //行掃描74HC595初始化
{
SH_CP2 = 0;
ST_CP2 = 0;
DS2 = 0;
}
/*--------------- 發(fā)送數(shù)據(jù) ---------------*/
void send_data(unsigned char d)
{
unsigned char i;
for(i=0;i<8;i++)
{
DS = d&0x80; //發(fā)送最高位
SH_CP = 1;
SH_CP = 0; //移位寄存器移位
d = d<<1; //數(shù)據(jù)移位f
}
}
void xiansi1() //列掃描74HC595數(shù)據(jù)輸出
{
send_data(buffer[0]); //u8
send_data(buffer[1]); //u7
send_data(buffer[2]); //u6
send_data(buffer[3]); //u5
send_data(buffer[4]); //u4
send_data(buffer[5]); //u3
send_data(buffer[6]); //u2
send_data(buffer[7]); //u1
}
void InitUart()
{
EADC=0; //AD中斷關
//sa=1;
// BRT獨立波特率發(fā)生器的溢出率= SYSclk / ( 256 - BRT )
//11.0592M晶振 57600波特率
PCON &= 0x7f; //波特率不倍速
SCON = 0x50; //8位數(shù)據(jù),可變波特率
BRT = 0xF3; //設定獨立波特率發(fā)生器重裝值 0xFA
AUXR |= 0x04; //獨立波特率發(fā)生器時鐘為Fosc,即1T
AUXR |= 0x01; //串口1選擇獨立波特率發(fā)生器為波特率發(fā)生器
AUXR |= 0x10; //啟動獨立波特率發(fā)生器
ES = 1; //充許串口1中斷
}
//***********************************************************************************************
void disp_cube(unsigned char DZ_data[64])
{ unsigned char i;
for(i=0;i<64;i++)
{
display[0][i]=DZ_data[i];//這里的代碼自己實現(xiàn)
}
}
void shangwei()
{
while(1)
{
if(receive_sta)//接受完成
{
receive_sta=0;//清除接受成功標志,這步很重要
}
disp_cube(cube_frame+9);//如果接受命令時就時時刷新原來的點陣數(shù)據(jù)
}
}
void main()
{ InitUart();
initial595(); //初始化調用
initial5952(); //初始化調用
timer0init(); //初始化調用
TR1=1;//啟動定時器1
BB=0;
bb=3;
ABL=0;
shangwei();
}
/*********************************************************************************************************************************************/
void print1() interrupt 3 //定時器1中斷函數(shù)
{
uchar i;
static uchar layer=0;
for (i=0;i<8;i++)
{
buffer[i]=~display[layer][i];
}
xiansi1();
cheng=0x01<<layer;
DS2 = ~cheng&0x01; //發(fā)送最低位
SH_CP2 = 1;
SH_CP2 = 0;
ST_CP=1;
ST_CP=0; //移位寄存器移位
ST_CP2=1;
ST_CP2=0;
if (layer<7)
layer++;
else
layer=0;
TH1=0xf0;
TL1=0xf0;
delay(2);
// TR1=1;//啟動定時器1
}
/***************************************************************************************************************************************/
/*******************************************************************************************************************************************/
void UartIntterupt() interrupt 4
{
unsigned char res=0;
if(RI==1)//進入到接受中斷
{
RI=0;
if(receive_sta==1)return;//如果接受完成啦就直接退出,等待main函數(shù)將數(shù)據(jù)給顯示完
res=SBUF;
if(byte_cnt==0)cmd_type=res;//第一個字節(jié)為命令類型
switch(cmd_type)
{
case 0xf5: //動畫下載
cube_frame[byte_cnt]=res;
byte_cnt++;
if(byte_cnt==73)
{ byte_cnt=0;
receive_sta=1;//表示接受完成
}
break;
case 0xf1: //動畫音量增加
k3=0;
delay2(50000);
delay2(50000);
delay2(50000);
delay2(50000);
k3=1;
receive_sta=1;
break;
case 0xf0: //動畫音量減小
k2=0;
delay2(50000);
delay2(50000);
delay2(50000);
delay2(50000);
k2=1;
receive_sta=1;
break;
case 0xef: //上一曲
k2=0;
delay2(20000);
k2=1;
receive_sta=1;
break;
case 0xee: //下一曲
k3=0;
delay2(20000);
k3=1;
receive_sta=1;
break;
case 0xed: //eq音樂類型,搖滾,爵士,流行
k1=0;
delay2(20000);
k1=1;
receive_sta=1;
break;
case 0xec: //暫停與播放
k1=0;
delay2(20000);
k1=1;
receive_sta=1;
break;
case 0xea: //進入待機
IAP_CONTR=0x20;
case 0xD2: //亮度
ABL=~ABL;
receive_sta=1;
break;
case 0xD3: //模式切換
k3=0;
delay2(20000);
k3=1;
delay2(10000);
k3=0;
delay2(20000);
k3=1;
receive_sta=1;
break;
default:break;//藍牙的連接成功或者斷開連接消息
}
}
}
復制代碼
作者:
qq970068407
時間:
2019-1-1 10:23
感謝分享,如果有電路圖就更完美
作者:
kennen
時間:
2019-4-21 23:36
感謝分享,拿來借鑒借鑒
作者:
熱帶雨林
時間:
2024-9-2 20:05
感謝分享,資料不錯
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1