久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
藍牙APP,紅外遙控光立方制作單片機源碼
[打印本頁]
作者:
zzxxccvvbb
時間:
2018-12-21 09:54
標題:
藍牙APP,紅外遙控光立方制作單片機源碼
光立方制作教程源碼!!!
0.png
(50.98 KB, 下載次數: 22)
下載附件
2018-12-22 01:31 上傳
FFT頻譜測試源碼
MT10-單色app程序源碼
MT10-單色上位機恒流
wifi通訊程序源碼
上位機通訊測試源碼
雙色光立方貪吃蛇程序
呼吸燈程序源碼
按鍵程序測試源碼
點亮光立方程序測試源碼
紅外遙控程序源碼
脫機動畫程序源碼
藍牙APP通訊源碼
語音APP萌萌游戲
全部資料51hei下載地址:
通用程序源碼.zip
(17.13 MB, 下載次數: 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]; //數組
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數據73字節,當然這里的數組替換為你程序中的相應數組
unsigned char byte_cnt=0;//接受到的字節數
unsigned char cmd_type=0;//接受到命令類型,可能是動畫下載,進入音頻模式等..
bit receive_sta=0; //接受狀態,表示數據是否接受完成
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數據發送函數************************************************************/
/*************************************************************************************************************************/
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;
}
/*--------------- 發送數據 ---------------*/
void send_data(unsigned char d)
{
unsigned char i;
for(i=0;i<8;i++)
{
DS = d&0x80; //發送最高位
SH_CP = 1;
SH_CP = 0; //移位寄存器移位
d = d<<1; //數據移位f
}
}
void xiansi1() //列掃描74HC595數據輸出
{
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獨立波特率發生器的溢出率= SYSclk / ( 256 - BRT )
//11.0592M晶振 57600波特率
PCON &= 0x7f; //波特率不倍速
SCON = 0x50; //8位數據,可變波特率
BRT = 0xF3; //設定獨立波特率發生器重裝值 0xFA
AUXR |= 0x04; //獨立波特率發生器時鐘為Fosc,即1T
AUXR |= 0x01; //串口1選擇獨立波特率發生器為波特率發生器
AUXR |= 0x10; //啟動獨立波特率發生器
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];//這里的代碼自己實現
}
}
void shangwei()
{
while(1)
{
if(receive_sta)//接受完成
{
receive_sta=0;//清除接受成功標志,這步很重要
}
disp_cube(cube_frame+9);//如果接受命令時就時時刷新原來的點陣數據
}
}
void main()
{ InitUart();
initial595(); //初始化調用
initial5952(); //初始化調用
timer0init(); //初始化調用
TR1=1;//啟動定時器1
BB=0;
bb=3;
ABL=0;
shangwei();
}
/*********************************************************************************************************************************************/
void print1() interrupt 3 //定時器1中斷函數
{
uchar i;
static uchar layer=0;
for (i=0;i<8;i++)
{
buffer[i]=~display[layer][i];
}
xiansi1();
cheng=0x01<<layer;
DS2 = ~cheng&0x01; //發送最低位
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函數將數據給顯示完
res=SBUF;
if(byte_cnt==0)cmd_type=res;//第一個字節為命令類型
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.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
久久天堂网
|
999精彩视频
|
少妇性l交大片免费一
|
免费黄色录像视频
|
91精品国产综合久久福利软件
|
夜夜夜久久久
|
91中文字幕
|
九九热这里
|
成人精品一区二区三区中文字幕
|
伊人伊成久久人综合网站
|
中文字幕高清av
|
国产在线97
|
亚洲精品久久国产高清情趣图文
|
精品乱码一区二区三四区视频
|
精品视频在线免费观看
|
欧美国产日韩精品
|
手机在线观看
|
国产午夜亚洲精品不卡
|
一级毛片视频
|
久久久久国产精品免费免费搜索
|
日韩在线不卡视频
|
午夜影视在线观看
|
亚洲网站在线观看
|
国产精品精品久久久久久
|
久久久久国产成人精品亚洲午夜
|
久久亚洲国产精品日日av夜夜
|
日本a∨精品中文字幕在线 亚洲91视频
|
国产毛片久久久
|
亚洲黄色一级
|
免费激情网站
|
特黄毛片视频
|
亚洲视频 欧美视频
|
久久精品视频免费观看
|
欧美美女爱爱视频
|
日韩a视频
|
欧产日产国产精品视频
|
在线欧美小视频
|
亚洲午夜精品视频
|
国产精品毛片一区二区三区
|
欧美成人一区二区三区
|
色综合一区二区
|