日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]突發(fā)奇想,于是便寫(xiě)了一個(gè)小程序用于控制臺(tái)燈,這幾天功能也在不斷的完善中,目前基本已經(jīng)完成.下面進(jìn)行功能的簡(jiǎn)述的代碼的分析.整體設(shè)計(jì)包含下位機(jī)程序和上位機(jī)程序.下位機(jī)用的c語(yǔ)言,上位機(jī)用的c#整個(gè)系統(tǒng)功能包括:定時(shí)

突發(fā)奇想,于是便寫(xiě)了一個(gè)小程序用于控制臺(tái)燈,這幾天功能也在不斷的完善中,目前基本已經(jīng)完成.下面進(jìn)行功能的簡(jiǎn)述的代碼的分析.

整體設(shè)計(jì)包含下位機(jī)程序和上位機(jī)程序.下位機(jī)用的c語(yǔ)言,上位機(jī)用的c#

整個(gè)系統(tǒng)功能包括:定時(shí)采集室溫在電腦右下角顯示,可聯(lián)網(wǎng)校準(zhǔn)電子時(shí)鐘,可以電腦端快捷鍵控制臺(tái)燈.視頻中展示的順序?yàn)?/p>


1,自動(dòng)獲取溫度,圖標(biāo)動(dòng)態(tài)顯示室溫 2,手動(dòng)獲取溫度 3,按鈕控制臺(tái)燈 4 ,快捷鍵控制臺(tái)燈 5,聯(lián)網(wǎng)校準(zhǔn)電子時(shí)鐘 6最后展示


在任何界面只要按下快捷鍵便可以打開(kāi)臺(tái)燈(windows hook).


下面進(jìn)行整個(gè)系統(tǒng)代碼和原理的介紹.


下位機(jī),


硬件上 ,包括 51單片機(jī),ds1302,18b20,uln2003,pl2303 .硬件連接圖如下:

下位機(jī)程序分析:


1 /************************************************************************/

2 // 本程序作者 HennSun ,轉(zhuǎn)載請(qǐng)表明出處.

3 //

4 /************************************************************************/

5 #include

6 #include "uart.h"

7 #include "18b20.h"

8 #include "ds1302.h"

9 #define buff_size 5

10 sbit jdq=P1^0;

11 sbit key_led=P3^3;

12 unsigned int num;

13 unsigned char control=0,set_time=0;

14 unsigned char time[buff_size]; //用于設(shè)定時(shí)間

15 extern unsigned int temp;

16 extern unsigned char flag_get;

17

18 /*----------初始化定時(shí)器---------*/

19

20 void init_timer()

21 {

22 TMOD =0x01;//定時(shí)器設(shè)置 T0工作于方式1 16位

23 TH0=0xef;

24 TL0=0xf0;

25 ET0=1; //定時(shí)器 0 中斷允許 .

26 TR0=1; // run the timer0 這個(gè)中斷會(huì)讓單片機(jī)查詢中斷向量表.

27 EA = 1; //打開(kāi)總中斷

28 }

29

30 //顯示 open 字符

31 void disp_open()

32 {

33 unsigned int i=400;

34 while(i--)

35 {

36 P2=2;

37 P0=0x3f; //'O'

38 delay1(1);

39 P0=0X00;

40

41 P2=3;

42 P0=0x73; //'P'

43 delay1(1);

44 P0=0X00;

45

46 P2=4;

47 P0=0x79; //'E'

48 delay1(1);

49 P0=0X00;

50

51 P2=5;

52 P0=0x37; //'N'

53 delay1(1);

54 P0=0X00;

55 }

56

57 }

58 // 顯示close 字符

59 void disp_close()

60 {

61 unsigned int i=400;

62 while(i--)

63 {

64 P2=2;

65 P0=0x39; //'C'

66 delay1(1);

67 P0=0X00;

68

69 P2=3;

70 P0=0x38; //'L'

71 delay1(1);

72 P0=0X00;

73

74 P2=4;

75 P0=0x3f; //'O'

76 delay1(1);

77 P0=0X00;

78

79 P2=5;

80 P0=0x6d; //'S'

81 delay1(1);

82 P0=0X00;

83

84 P2=6;

85 P0=0x79; //'E'

86 delay1(1);

87 P0=0X00;

88 }

89

90 }

91

92

93 /*----------------------------------------------------------------------------------------

94 這是主函數(shù)部分

95 --------------------------------------------------------------------------------------*/

96 void main()

97 {

98 unsigned int TempH,TempL;

99 unsigned char H, L ;

100 jdq=0;

101 init_timer();

102 init_ds1302();

103 UARTinit();

104

105 while(1)

106 {

107 if(flag_get) //定時(shí)讀取當(dāng)前溫度

108 {

109

110 temp=ReadTemperature(); //這個(gè)函數(shù)8ms

111

112 if(temp&0x8000)

113 {

114 temp=~temp; // 取反加1

115 temp +=1;

116 }

117 TempH=temp>>4;

118 TempL=temp&0x0F;

119 TempL=TempL*6/10;//小數(shù)近似處理

120

121 H=(unsigned char)TempH;

122 L=(unsigned char)TempL;

123 /**/

124 send_char_com('a');

125 send_char_com(H);

126 send_char_com(L);

127 send_char_com('e');

128 flag_get=0;

129

130 } //這個(gè)循環(huán)用11ms

131 if(control)

132 {

133 jdq=~jdq;

134 if(jdq)

135 {

136 send_char_com('o');

137 send_char_com('e');

138 disp_open();

139 }

140 else

141 {

142 send_char_com('c');

143 send_char_com('e');

144 disp_close();

145 }

146 control=0;

147 }

148 if(set_time)

149 {

150 if((time[1]<0x60)||(time[2]<0x60)&&(time[3]<0x24))

151 {

152 set_ds1302(time[1],time[2],time[3]); // s , m ,h

153 //不知為何時(shí)間定時(shí)器自動(dòng)停止. ,數(shù)組越界

154 set_time=0;

155 }

156 }

157 if(!key_led)

158 {

159 control=1;

160 }

161 //添加時(shí)鐘顯示代碼

162 get_ds1302(); //2.23ms

163 } //不進(jìn)第一個(gè)if 時(shí)間為 2ms 進(jìn)入 13ms 這里指周期

164 }

165

166 /******************************************************************/

167 /* 定時(shí)器中斷 */

168 /******************************************************************/

169 void tim(void) interrupt 1 using 1//中斷用于溫度檢測(cè)

170 {

171 TR0=0; //關(guān)閉定時(shí)器

172 TH0=0x0f;//定時(shí)器重裝值 定時(shí)器有沒(méi)有中斷標(biāo)志位??,未清零?

173 TL0=0x00;

174 flag_get=1;//標(biāo)志位有效

175 }

176

177

178

179

180 void UART_SER() interrupt 4

181 {

182 unsigned char Temp;

183 static unsigned char flag=0;

184 if(RI)

185 {

186 RI=0;

187 Temp=SBUF;

188 switch(Temp)

189

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢(shì)抑制與過(guò)流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問(wèn)題卻十分常見(jiàn),不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問(wèn)題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(chē)(EV)作為新能源汽車(chē)的重要代表,正逐漸成為全球汽車(chē)產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車(chē)的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車(chē)的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車(chē) 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車(chē)場(chǎng)照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢(shì)逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問(wèn)題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周?chē)娮釉O(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來(lái)解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開(kāi)關(guān)電源具有效率高的特性,而且開(kāi)關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開(kāi)關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉