1. 程式人生 > >【藍芽控制窗簾開關】

【藍芽控制窗簾開關】

-***********************

最近專案涉及到步進電機的開發,所以瞭解了一下,相關的東西。不是特別懂,但是實現了基本的功能。權當參考。

--------------------------------------------------------------------------


連線的說明,就不講了,自己看圖吧,程式碼如下:

/******************************步進電機的驅動程式************************************* ;
--------------------------------------------------------------------------------- ;
步進電機的驅動訊號必須為脈衝訊號!!! 轉動的速度和脈衝的頻率成正比!!! ;
本步進電機步進角為 x 度 . 一圈 360 度 , 需要 x 個脈衝完成!!! ;
--------------------------------------------------------------------------------- ;
A 組線圈對應 P0.0 ; B 組線圈對應 P0.1 ; C 組線圈對應 P0.2 ; D 組線圈對應 P0.3 ;
正轉次序: AB 組--BC 組--CD 組--DA 組 (即一個脈衝,正轉 x 度) ;
----------------------------------------------------------------------------------

	* 上面的註釋不是我寫的,權當參考。

    * 程式碼的正式說明:  程式碼實現了 藍芽控制步進電機,開啟窗簾的功能。
  
    * 裝置說明: 51最小系統 使用了STC89C52RC 晶片,HC-05 藍芽模組,2003的驅動+步進電機。

	*(圖片詳情在我的部落格上,地址 )

	* 手機安裝藍芽串列埠,連線 藍芽模組,傳送 '1' (字元)到藍芽模組,藍芽模組接受到字元,控制步進電機轉 2圈(我沒寫太精確)

	* 反轉的程式碼,我沒寫,如果想寫,在網上找找反轉表就行了。

	* 我們老闆是做個 智慧控制的窗簾,所以讓我來寫,因為不瞭解步進電機的功能和原理,加上一個人沒有幹勁,今天下午才實現基本功能,尷尬。

	* 基本就這些吧,如果有時間會整理出 詳細的教程 和 學到的東西 放到我的部落格上。 


**********************************************************************************/
/*標頭檔案*/
#include <reg52.h>
#include <intrins.h>

#define uint unsigned int
#define uchar unsigned char
#define nop() _nop_()
#define motor P0 



// 全域性變數

uchar PuZh[36] = "www.hc01.com";
uchar code table1[]= {0x08,0x04,0x02,0x01}; /*正轉表*/

sbit LED = P2^0;


// 宣告全域性方法
void UsartConfiguration();
void delay(uchar ms);




void main() {
	
	UsartConfiguration();  // 串列埠的初始化
	
	while(1);  		// 程式等待中斷 

}
/*******************************************************************************
* 函 數 名       : foreward()
* 函式功能		 : 控制電機正轉
* 輸    入       : 無
* 輸    出       : 無
*******************************************************************************/

void foreward(){
	
	uchar i,j,q;
	delay(50);			 // 等系統穩定

		for(q=0;q<2;q++){				// 控制轉幾圈
			for(i=0;i<250;i++){			//正轉半圈	抖動多少次	  	
				for(j=0;j<4;j++){		// 一個脈衝	  抖動一次
					
					P0 = table1[j];
					delay(2);
					}
			}
			for(i=0;i<10;i++){			//短暫的 停止
			
					P0 = 0x00;
					delay(2);
			}
		}
		//while(1);
}


/*******************************************************************************
* 函 數 名       : UsartConfiguration()
* 函式功能		 : 設定串列埠
* 輸    入       : 無
* 輸    出       : 無
*******************************************************************************/

void UsartConfiguration(){
	
	SCON=0X50;			//設定串列埠的工作方式1,8位資料,可變波特率
	TMOD=0X20;			//設定計數器工作方式2
	PCON=0X00;			//波特率不加倍
	
	TH1=0XFd;		    //計數器初始值設定,
[email protected]
TL1=0XFd; TR1=1; //開啟計數器,啟動定時器, EA = 1; //開總中斷 ES = 1; //開串列埠中斷 } /******************************************************************** * 名稱 : Com_Int() * 功能 : 串列埠中斷子函式 * 輸入 : 無 * 輸出 : 無 ***********************************************************************/ void Com_Int(void) interrupt 4{ uchar i; uchar receive_data; EA = 0; if(RI == 1) //當硬體接收到一個數據時,RI會置位 { RI = 0; receive_data = SBUF; //接收到的資料 TH1=0XFd; //計數器初始值設定,
[email protected]
TL1=0XFd; if(receive_data == '1') { // 前進 LED = 0; foreward(); }else{ LED = 1; } for(i=0; i<36; i++){ SBUF = PuZh[i]; //將要傳送的資料放入到傳送暫存器 while(!TI); //等待發送資料完成 TI=0; //清除傳送完成標誌位 delay(1); } EA = 1; } } /*延時*/ void delay(uchar ms){ uchar j; while(ms--) { for(j=0; j<250; j++) { ; } } }

---------------------------------------------------------------------

實現的功能說明,以及怎麼實現也在程式碼中了。

相關推薦

控制窗簾開關

-***********************最近專案涉及到步進電機的開發,所以瞭解了一下,相關的東西。不是特別懂,但是實現了基本的功能。權當參考。---------------------------------------------------------------

常用模組HC-05串列埠通訊模組使用詳解(例項:手機控制STM32微控制器)

HC-05藍芽串列埠通訊模組應該是使用最廣泛的一種藍芽模組之一了。為什麼呢?因為HC05模組是一款高效能主從一體藍芽串列埠模組,可以不用知道太多藍芽相關知識就可以很好的上手。說白了,只是個藍芽轉串列埠的裝置,你只要知道串列埠怎麼程式設計使用,就可以了,實現了所謂的透明傳輸。但

開發MCU選型的重要性!

部落格也大半年沒更新了,大半年的時間因為做著其他的專案,對藍芽的應用少了,更換MCU等原因。忙了個大半年時間,今天突然看到部落格,才想起我的部落格還有許多沒寫。今天我就不講技術了,講講MCU選型的重要性,也是我做專案的經歷,原本使用的是藍芽晶片,這款晶片的優勢是可以進行藍芽通訊,屬於單模模組,BLE

CSR8670的DFU功能

本文介紹了CSR8670的DFU功能,從DFU升級過程、實現和DFU檔案生成做了詳細介紹。 地址:http://blog.csdn.net/wzz4420381/article/details/52371409 1. DFU簡介 DFU全稱是Device Firmwa

向量圖控制元件更新向量繪圖控制元件VectorDraw系列產品 v8.8001.0.2 Beta釋出

VectorDraw Developer Framework(VDF)是一個用於應用程式視覺化的圖形引擎庫。有了VDF提供的功能,您可以輕鬆地建立、編輯、管理、輸出、輸入和列印2D和3D圖形檔案。該庫還支援許多向量和柵格輸入和輸出格式,包括本地PDF和SVG匯出。 VectorDraw web libr

中原工 摘星車 控制

好久前 比賽完成 超級給力 https://g.alicdn.com/idleFish-F2e/app-basic/item.html?itemid=573263026793&ut_sk=1.WxEIBJ%2FiSUoDADyw2O%2FQUZqV_21407387_153863

STM32 智慧小車 控制-開發環境搭建

keil MDK5搭建STM32開發環境 keil5下載stm32程式方法 keil uVersion4的安裝解除安裝+破解 先安裝c51的程式, 下載適合自己版本的下載MDK-ARM並安裝; 可自行到官網,下載安裝;(注意需要註冊)

控制arduino的安卓軟體(基於app inventor2 )(之一:andriod軟體設計篇)

藍芽控制arduino的安卓軟體(基於app inventor ) 最近在無線電雜誌上看到關於app inventor 的內容,趕腳很厲害,從圖書館回來後就開始嘗試,發現真的不錯。因為之前在用arduino,所以我想能能不能用app inventor寫軟體通過WIFI

pc上的控制

寫程式控制藍芽,通過一段時間的掌握,不得不承認用微軟API開發最好了,一是免費,二是容易,資料完善,唯一不足就是要找微軟支援的驅動,還有功能不夠強大!不過既然能程式設計序了,這一切不都在掌握中嗎? 下面是我編寫程式參考的資料,給大家也看看,整理就不想了,太麻煩,沒有這個愛好!

android之控制小四軸飛行器

         本app基於匿名開源小四軸app( http://www.anotc.com/Product/Overview/8 )改編。匿名小四軸接上串列埠藍芽模組後,可直接使用本app控制。其它飛控修改通訊協議後方可使用。本app改編後可用於控制藍芽智慧小車,感興趣

安卓手機與模組聯合除錯(二)—— 微控制器控制LED燈亮滅(上)

系列博文: 忙裡偷閒,承接上一篇文章繼續 本篇將實現兩個例項,手頭正好有8位的微控制器,索性就用來練手了。將會提供兩個例子,一個是基於STM8的庫函式例項,一個是基於STC89C52的例項。 1.首先了解下微控制器串列埠通訊線的接法。這個比較重要,建

Androidble4.0開發相容2.0應用(針對arduino控制小車開發應用HC-08,06模組的連線)

1.嗯有段時間沒更新部落格啦,給廣大CSDN友上點幹活 2.android藍芽即智慧穿戴裝置火起來之後藍芽的普及也是有點猛,今天我們部落格的主題就是圍繞arduino開發藍芽控制小車寫的測試demo,連線的藍芽模組是HC-08,06型號,所以出廠的硬體UUID是廠商提供的,

安卓手機與模組聯合除錯(六)-- 編寫自己的控制介面控制微控制器(下篇,STC微控制器程式碼實現)

接著上篇繼續,本篇主要是完善微控制器端的程式碼部分。廢話不多說,開始飆車了。  1.看下初步的演示效果 2.主要程式碼部分,main.c  (1)微控制器端的程式碼主要是在之前的程式碼基礎上做了修改,多增加了幾條指令。 /*******

每日安全資訊bug影響數以百萬計的Wi-Fi接入點

安全公司 Armis 在德州儀器生產的藍芽低功耗晶片發現了兩個高危漏洞,能被利用入侵使用這些晶片的Wi-Fi 接入點。思科、Meraki 和 Aruba 出售的裝置受到影響,補丁已經釋出,受影響的使用者需要儘可能快的更新。安全研究人員還給漏洞起了一個綽號叫 BLEEDINGBIT。

STM32 Net MF開發板學習-20遙控智慧小車(手機模式)

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

車載人體健康檢測器專案Android例項(和微控制器模組通訊)

1、Android藍芽程式設計   藍芽3.0及以下版本程式設計需要使用UUID,UUID是通用唯一識別碼(Universally Unique Identifier),這是一個軟體構建的標準,也是被開源基金會組織應用在分散式計算環境領域的一部分。在藍芽3.0及下一版本中,UUID被用於唯一

物聯網

藍芽 藍芽技術的特點 全球範圍通用:2.4GHz的ISM頻段。 同時傳輸語音和資料:採用電路交換和分組交換技術,支援非同步資料通道,三路語音通道或非同步和同步語音同時傳輸的通道。每個語音通道為64kbit/s。 語音訊號調製用脈衝編碼調製(PCM)或連續可變

原創Mesh, ZIGBEE, THREAD網路效能對比?

作者6年多業內知名半導體工作經驗,目前在國內某BAT企業做產品。 歡迎關注公眾號交流物聯網技術和物聯網產品。 原文連結: https://mp.weixin.qq.com/s?__biz=MzI3NDE2NDMwNQ==&mid=2649905817&idx=1&

更多原創參見個人小站:http://www.softlifelogging.com/android分析_leetcode實現每週一題_基礎知識

部落格公告 本部落格所有文章均為原創,歡迎交流,歡迎轉載;轉載請勿篡改內容,並且註明出處,禁止用於商業目的,謝謝! 歡迎訪問個人小站: 隨手記生活:http://xdyang.azurewebsites.net/

Android開發 連線狀態Android實時檢測連線狀態

http://blog.csdn.net/dengpeng0419/article/details/53178730 本程式能實時監聽並檢測Android藍芽的連線狀態,無論是通過介面上的switch按鈕開啟/關閉手機藍芽,還是手動開啟/關閉手機藍芽,程式都能監聽當前的狀態