一、使用proteus繪制簡(jiǎn)單的電路圖,用于后續(xù)仿真
二、編寫程序
/********************************************************************************************************************
---- @Project: LED-74HC595
---- @File: main.c
---- @Edit: ZHQ
---- @Version: V1.0
---- @CreationTime: 20200602
---- @ModifiedTime: 20200603
---- @Description: 用矩陣鍵盤中的S1鍵作為啟動(dòng)獨(dú)立按鍵,用S5按鍵模擬左邊
---- 的開關(guān)感應(yīng)器,用S9按鍵模擬右邊的開關(guān)感應(yīng)器,用S13按鍵模擬下邊的開關(guān)感應(yīng)器。
---- 記得把輸出線P0.4一直輸出低電平,模擬獨(dú)立按鍵的觸發(fā)地GND。
---- 開機(jī)默認(rèn)機(jī)械手在左上方的原點(diǎn)位置。按下啟動(dòng)按鍵后,機(jī)械手從左邊開始往右邊移動(dòng),當(dāng)機(jī)械手移動(dòng)
---- 到最右邊時(shí),機(jī)械手馬上開始往下移動(dòng),最后機(jī)械手移動(dòng)到最右下角的位置時(shí),延時(shí)1秒,然后原路返
---- 回,一直返回到左上角的原點(diǎn)位置。注意:?jiǎn)?dòng)按鍵必須等機(jī)械手處于左上角原點(diǎn)位置時(shí),啟動(dòng)按鍵的
---- 觸發(fā)才有效。
---- 單片機(jī):AT89C52
********************************************************************************************************************/
#include "reg52.h"
/*——————宏定義——————*/
#define FOSC 11059200L
#define T1MS (65536-FOSC/12/1000) /*1ms timer calculation method in 12Tmode*/
#define const_voice_short 40 /*蜂鳴器短叫的持續(xù)時(shí)間*/
#define const_key_time1 20 /*按鍵去抖動(dòng)延時(shí)的時(shí)間*/
#define const_sensor 20 /*開關(guān)感應(yīng)器去抖動(dòng)延時(shí)的時(shí)間*/
#define const_1s 500 /*開關(guān)感應(yīng)器去抖動(dòng)延時(shí)的時(shí)間*/
/*——————變量函數(shù)定義及聲明——————*/
/*定義74HC595*/
sbit Hc595_Sh = P2^3;
sbit Hc595_St = P2^4;
sbit Hc595_Ds = P2^5;
/*定義蜂鳴器*/
sbit Beep = P2^7;
/*定義按鍵*/
sbit Key_S1 = P0^0; /*定義按鍵S1,對(duì)應(yīng)S1*/
sbit Key_Left = P0^1; /*定義開關(guān)感應(yīng)器Left,對(duì)應(yīng)S5*/
sbit Key_Right = P0^2; /*定義開關(guān)感應(yīng)器Right,對(duì)應(yīng)S9*/
sbit Key_Down = P0^3; /*定義開關(guān)感應(yīng)器Down,對(duì)應(yīng)S13*/
sbit Key_Gnd = P0^4; /*定義按鍵模擬地*/
unsigned char ucLED1 = 0; /*代表16個(gè)燈的亮滅狀態(tài),0代表滅,1代表亮*/
unsigned char ucLED2 = 0;
unsigned char ucLED3 = 0;
unsigned char ucLED4 = 0;
unsigned char ucLED5 = 0;
unsigned char ucLED6 = 0;
unsigned char ucLED7 = 0;
unsigned char ucLED8 = 0;
unsigned char ucLED9 = 0;
unsigned char ucLED10 = 0;
unsigned char ucLED11 = 0;
unsigned char ucLED12 = 0;
unsigned char ucLED13 = 0;
unsigned char ucLED14 = 0;
unsigned char ucLED15 = 0;
unsigned char ucLED16 = 0;
unsigned char ucLed_update = 1; /*刷新變量。每次更改LED燈的狀態(tài)都要更新一次。*/
unsigned char ucLedStatus16_09 = 0; /*代表底層74HC595輸出狀態(tài)的中間變量*/
unsigned char ucLedStatus08_01 = 0; /*代表底層74HC595輸出狀態(tài)的中間變量*/
unsigned int uiRunTimeCnt = 0; /*運(yùn)動(dòng)中的時(shí)間延時(shí)計(jì)數(shù)器變量*/
unsigned char ucRunStep = 0; /*運(yùn)動(dòng)控制的步驟變量*/
unsigned char ucKeySec = 0; /*被觸發(fā)的按鍵編號(hào)*/
unsigned int uiKeyTimeCnt1 = 0;
unsigned char ucKeyLock1 = 0;
unsigned int uiLeftCnt1 = 0; /*左邊感應(yīng)器軟件抗干擾所需的計(jì)數(shù)器變量*/
unsigned int uiLeftCnt2 = 0;
unsigned char ucLeft = 0; /*左邊感應(yīng)器經(jīng)過軟件抗干擾處理后的狀態(tài)標(biāo)志*/
unsigned int uiRightCnt1 = 0; /*右邊感應(yīng)器軟件抗干擾所需的計(jì)數(shù)器變量*/
unsigned int uiRightCnt2 = 0;
unsigned char ucRight = 0; /*右邊感應(yīng)器經(jīng)過軟件抗干擾處理后的狀態(tài)標(biāo)志*/
unsigned int uiDownCnt1 = 0; /*下邊感應(yīng)器軟件抗干擾所需的計(jì)數(shù)器變量*/
unsigned int uiDownCnt2 = 0;
unsigned char ucDown = 0; /*下邊感應(yīng)器經(jīng)過軟件抗干擾處理后的狀態(tài)標(biāo)志*/
unsigned int uiVoiceCnt = 0; /*蜂鳴器鳴叫的持續(xù)時(shí)間計(jì)數(shù)器*/
/**
* @brief 定時(shí)器0初始化函數(shù)
* @param 無(wú)
* @retval 初始化T0
**/
void Init_T0(void)
{
TMOD = 0x01; /*set timer0 as mode1 (16-bit)*/
TL0 = T1MS; /*initial timer0 low byte*/
TH0 = T1MS >> 8; /*initial timer0 high byte*/
}
/**
* @brief 外圍初始化函數(shù)
* @param 無(wú)
* @retval 初始化外圍
**/
void Init_Peripheral(void)
{
ET0 = 1;/*允許定時(shí)中斷*/
TR0 = 1;/*啟動(dòng)定時(shí)中斷*/
EA = 1;/*開總中斷*/
}
/**
* @brief 初始化函數(shù)
* @param 無(wú)
* @retval 初始化單片機(jī)
**/
void Init(void)
{
Key_Gnd = 0;
Beep = 1;
Init_T0();
}
/**
* @brief 延時(shí)函數(shù)
* @param 無(wú)
* @retval 無(wú)
**/
void Delay_Long(unsigned int uiDelayLong)
{
unsigned int i;
unsigned int j;
for(i=0;i for(j=0;j<500;j++) /*內(nèi)嵌循環(huán)的空指令數(shù)量*/ { ; /*一個(gè)分號(hào)相當(dāng)于執(zhí)行一條空語(yǔ)句*/ } } } /** * @brief 延時(shí)函數(shù) * @param 無(wú) * @retval 無(wú) **/ void Delay_Short(unsigned int uiDelayShort) { unsigned int i; for(i=0;i ; /*一個(gè)分號(hào)相當(dāng)于執(zhí)行一條空語(yǔ)句*/ } } /** * @brief 開關(guān)感應(yīng)器軟件抗干擾處理函數(shù) * @param 無(wú) * @retval 放在定時(shí)中斷里 * 開關(guān)感應(yīng)器的抗干擾處理,本質(zhì)上類似按鍵的去抖動(dòng)處理。唯一的區(qū)別是: * 按鍵去抖動(dòng)關(guān)注的是IO口的一種狀態(tài),而開關(guān)感應(yīng)器關(guān)注的是IO口的兩種狀態(tài)。 * 當(dāng)開關(guān)感應(yīng)器從原來的1狀態(tài)切換到0狀態(tài)之前,要進(jìn)行軟件濾波處理過程,一旦成功地 * 切換到0狀態(tài)了,再想從0狀態(tài)切換到1狀態(tài)的時(shí)候,又要經(jīng)過軟件濾波處理過程,符合 * 條件后才能切換到1的狀態(tài)。通俗的話來說,按鍵的去抖動(dòng)從1變成0難,從0變成1容易。 * 開關(guān)感應(yīng)器從1變成0難,從0變成1也難。這里所說的"難"是指要經(jīng)過去抖處理。 **/ void Sensor_Scan(void) { if(Key_Left == 1) /*左邊感應(yīng)器是高電平,說明有可能沒有被接觸*/ { uiLeftCnt1 = 0; /*在軟件濾波中,非常關(guān)鍵的語(yǔ)句!!!類似按鍵去抖動(dòng)程序的及時(shí)清零*/ uiLeftCnt2 ++; if(uiLeftCnt2 > const_sensor) { uiLeftCnt2 = 0; ucLeft = 1; /*說明感應(yīng)器確實(shí)沒有被接觸*/ } } else { uiLeftCnt2 = 0; uiLeftCnt1 ++; if(uiLeftCnt1 > const_sensor) { uiLeftCnt1 = 0; ucLeft = 0; /*說明感應(yīng)器確實(shí)被接觸到了*/ } } if(Key_Right == 1) /*右邊感應(yīng)器是高電平,說明有可能沒有被接觸*/ { uiRightCnt1 = 0; /*在軟件濾波中,非常關(guān)鍵的語(yǔ)句!!!類似按鍵去抖動(dòng)程序的及時(shí)清零*/ uiRightCnt2 ++; if(uiRightCnt2 > const_sensor) { uiRightCnt2 = 0; ucRight = 1; /*說明感應(yīng)器確實(shí)沒有被接觸*/ } } else { uiRightCnt2 = 0; uiRightCnt1 ++; if(uiRightCnt1 > const_sensor) { uiRightCnt1 = 0; ucRight = 0; /*說明感應(yīng)器確實(shí)被接觸到了*/ } } if(Key_Down == 1) /*下邊感應(yīng)器是高電平,說明有可能沒有被接觸*/ { uiDownCnt1 = 0; /*在軟件濾波中,非常關(guān)鍵的語(yǔ)句!!!類似按鍵去抖動(dòng)程序的及時(shí)清零*/ uiDownCnt2 ++; if(uiDownCnt2 > const_sensor) { uiDownCnt2 = 0; ucDown = 1; /*說明感應(yīng)器確實(shí)沒有被接觸*/ } } else { uiDownCnt2 = 0; uiDownCnt1 ++; if(uiDownCnt1 > const_sensor) { uiDownCnt1 = 0; ucDown = 0; /*說明感應(yīng)器確實(shí)被接觸到了*/ } } } /** * @brief 掃描按鍵 * @param 無(wú) * @retval 放在定時(shí)中斷里 **/ void Key_Scan(void) { if(Key_S1 == 1) /*IO是高電平,說明按鍵沒有被按下,這時(shí)要及時(shí)清零一些標(biāo)志位*/ { ucKeyLock1 = 0; uiKeyTimeCnt1 = 0; } else if(ucKeyLock1 == 0) /*有按鍵按下,且是第一次被按下*/ { uiKeyTimeCnt1 ++; /*累加定時(shí)中斷次數(shù)*/ if(uiKeyTimeCnt1 > const_key_time1) { uiKeyTimeCnt1 = 0; ucKeyLock1 = 1; /*自鎖按鍵置位,避免一直觸發(fā)*/ ucKeySec = 1; } } } /** * @brief 按鍵服務(wù)的應(yīng)用程序 * @param 無(wú) * @retval 無(wú) **/ void Key_Service(void) { switch(ucKeySec) /*按鍵服務(wù)狀態(tài)切換*/ { case 1: /*啟動(dòng)按鍵,對(duì)應(yīng)S1*/ if(ucLeft == 0) /*處于左上角原點(diǎn)位置*/ { ucRunStep = 1; /*啟動(dòng)*/ uiVoiceCnt = const_voice_short; /*按鍵聲音觸發(fā),滴一聲就停。*/ } ucKeySec = 0; /*響應(yīng)按鍵服務(wù)處理程序后,按鍵編號(hào)清零,避免一致觸發(fā)*/ break; } } /** * @brief 595驅(qū)動(dòng)函數(shù) * @param 無(wú) * @retval * 兩個(gè)聯(lián)級(jí)74HC595的工作過程: * 每個(gè)74HC595內(nèi)部都有一個(gè)8位的寄存器,兩個(gè)聯(lián)級(jí)起來就有兩個(gè)寄存器。ST引腳就相當(dāng)于一個(gè)刷新 * 信號(hào)引腳,當(dāng)ST引腳產(chǎn)生一個(gè)上升沿信號(hào)時(shí),就會(huì)把寄存器的數(shù)值輸出到74HC595的輸出引腳并且鎖存起來, * DS是數(shù)據(jù)引腳,SH是把新數(shù)據(jù)送入寄存器的時(shí)鐘信號(hào)。也就是說,SH引腳負(fù)責(zé)把數(shù)據(jù)送入到寄存器里,ST引腳 * 負(fù)責(zé)把寄存器的數(shù)據(jù)更新輸出到74HC595的輸出引腳上并且鎖存起來。 **/ void HC595_Drive(unsigned char ucLedStatusTemp16_09, unsigned char ucLedStatusTemp08_01) { unsigned char i; unsigned char ucTempData; Hc595_Sh = 0; Hc595_St = 0; ucTempData = ucLedStatusTemp16_09; /*先送高8位*/ for(i = 0; i < 8; i ++) { if(ucTempData >= 0x80) { Hc595_Ds = 1; } else { Hc595_Ds = 0; } Hc595_Sh = 0; /*SH引腳的上升沿把數(shù)據(jù)送入寄存器*/ Delay_Short(15); Hc595_Sh = 1; Delay_Short(15); ucTempData = ucTempData <<1; } ucTempData = ucLedStatusTemp08_01; /*再先送低8位*/ for(i = 0; i < 8; i ++) { if(ucTempData >= 0x80) { Hc595_Ds = 1; } else { Hc595_Ds = 0; } Hc595_Sh = 0; /*SH引腳的上升沿把數(shù)據(jù)送入寄存器*/ Delay_Short(15); Hc595_Sh = 1; Delay_Short(15); ucTempData = ucTempData <<1; } Hc595_St = 0; /*ST引腳把兩個(gè)寄存器的數(shù)據(jù)更新輸出到74HC595的輸出引腳上并且鎖存起來*/ Delay_Short(15); Hc595_St = 1; Delay_Short(15); Hc595_Sh = 0; /*拉低,抗干擾就增強(qiáng)*/ Hc595_St = 0; Hc595_Ds = 0; } /** * @brief LED更新函數(shù) * @param 無(wú) * @retval * 把74HC595驅(qū)動(dòng)程序翻譯成類似單片機(jī)IO口直接驅(qū)動(dòng)方式的過程。 * 每次更新LED輸出,記得都要把ucLed_update置1表示更新。 **/ void LED_Update() { if(ucLed_update == 1) { ucLed_update = 0; /*及時(shí)清零,讓它產(chǎn)生只更新一次的效果,避免一直更新。*/ if(ucLED1 == 1) { ucLedStatus08_01 = ucLedStatus08_01 | 0x01; } else { ucLedStatus08_01 = ucLedStatus08_01 & 0xfe; } if(ucLED2 == 1) { ucLedStatus08_01 = ucLedStatus08_01 | 0x02; } else { ucLedStatus08_01 = ucLedStatus08_01 & 0xfd; } if(ucLED3 == 1) { ucLedStatus08_01 = ucLedStatus08_01 | 0x04; } else { ucLedStatus08_01 = ucLedStatus08_01 & 0xfb; } if(ucLED4 == 1) { ucLedStatus08_01 = ucLedStatus08_01 | 0x08; } else { ucLedStatus08_01 = ucLedStatus08_01 & 0xf7; } if(ucLED5 == 1) { ucLedStatus08_01 = ucLedStatus08_01 | 0x10; } else { ucLedStatus08_01 = ucLedStatus08_01 & 0xef; } if(ucLED6 == 1) { ucLedStatus08_01 = ucLedStatus08_01 | 0x20; } else { ucLedStatus08_01 = ucLedStatus08_01 & 0xdf; } if(ucLED7 == 1) { ucLedStatus08_01 = ucLedStatus08_01 | 0x40; } else { ucLedStatus08_01 = ucLedStatus08_01 & 0xbf; } if(ucLED8 == 1) { ucLedStatus08_01 = ucLedStatus08_01 | 0x80; } else { ucLedStatus08_01 = ucLedStatus08_01 & 0x7f; } if(ucLED9 == 1) { ucLedStatus16_09 = ucLedStatus16_09 | 0x01; } else { ucLedStatus16_09 = ucLedStatus16_09 & 0xfe; } if(ucLED10 == 1) { ucLedStatus16_09 = ucLedStatus16_09 | 0x02; } else { ucLedStatus16_09 = ucLedStatus16_09 & 0xfd; } if(ucLED11 == 1) { ucLedStatus16_09 = ucLedStatus16_09 | 0x04; } else { ucLedStatus16_09 = ucLedStatus16_09 & 0xfb; } if(ucLED12 == 1) { ucLedStatus16_09 = ucLedStatus16_09 | 0x08; } else { ucLedStatus16_09 = ucLedStatus16_09 & 0xf7; } if(ucLED13 == 1) { ucLedStatus16_09 = ucLedStatus16_09 | 0x10; } else { ucLedStatus16_09 = ucLedStatus16_09 & 0xef; } if(ucLED14 == 1) { ucLedStatus16_09 = ucLedStatus16_09 | 0x20; } else { ucLedStatus16_09 = ucLedStatus16_09 & 0xdf; } if(ucLED15 == 1) { ucLedStatus16_09 = ucLedStatus16_09 | 0x40; } else { ucLedStatus16_09 = ucLedStatus16_09 & 0xbf; } if(ucLED16 == 1) { ucLedStatus16_09 = ucLedStatus16_09 | 0x80; } else { ucLedStatus16_09 = ucLedStatus16_09 & 0x7f; } HC595_Drive(ucLedStatus16_09, ucLedStatus08_01); } } /** * @brief 機(jī)械手變化函數(shù) * @param 無(wú) * @retval 無(wú) **/ void Left2Right(void) { ucLED1 = 1; /*1代表左右氣缸從左邊移動(dòng)到右邊*/ ucLed_update = 1; } void Right2Left(void) { ucLED1 = 0; /*0代表左右氣缸從右邊移動(dòng)到左邊*/ ucLed_update = 1; } void Up2Down(void) { ucLED2 = 1; /*1代表左右氣缸從上邊移動(dòng)到下邊*/ ucLed_update = 1; } void Down2Up(void)
上一篇:51單片機(jī)實(shí)現(xiàn)在主函數(shù)while循環(huán)中驅(qū)動(dòng)數(shù)碼管的動(dòng)態(tài)掃描程序
下一篇:51單片機(jī)實(shí)現(xiàn)兩片聯(lián)級(jí)74HC595控制跑馬燈
推薦閱讀
史海拾趣
愛普特微電子(APTCHIP)的創(chuàng)立,可追溯到XXXX年。由一群半導(dǎo)體行業(yè)集成電路設(shè)計(jì)領(lǐng)域的資深人士聯(lián)合發(fā)起,他們看到了中國(guó)微處理器市場(chǎng)的巨大潛力和發(fā)展空間。這些專家懷揣著技術(shù)創(chuàng)新和自主可控的夢(mèng)想,在深圳這片創(chuàng)新熱土上,共同創(chuàng)立了愛普特微電子。從創(chuàng)立之初,公司就明確了自己的目標(biāo)——成為中國(guó)最好的MCU(微控制器)公司。
在發(fā)展過程中,愛普特微電子積極尋求與業(yè)界領(lǐng)先的供應(yīng)商和合作伙伴建立穩(wěn)固的合作關(guān)系。通過與這些合作伙伴的緊密合作,公司得以在技術(shù)研發(fā)、市場(chǎng)拓展等方面取得更大的突破。同時(shí),公司也積極拓展海外市場(chǎng),與多家國(guó)際知名企業(yè)建立了合作關(guān)系,進(jìn)一步提升了公司的國(guó)際影響力。
馳芯微公司一直注重技術(shù)研發(fā)和產(chǎn)品創(chuàng)新。公司擁有一支高素質(zhì)的研發(fā)團(tuán)隊(duì),不斷在芯片設(shè)計(jì)、制造和封裝等領(lǐng)域取得突破。其中,車規(guī)級(jí)霍爾傳感器芯片XL3600系列和車規(guī)級(jí)32位微控制器MCU芯片XL6600系列是公司的明星產(chǎn)品。這些產(chǎn)品不僅性能卓越,而且可靠性高,贏得了客戶的廣泛認(rèn)可。此外,馳芯微還不斷推出新產(chǎn)品,如新能源動(dòng)力多節(jié)電池組監(jiān)控器BMS AFE芯片XL8812/XL8820系列等,進(jìn)一步豐富了公司的產(chǎn)品線。
作為一家具有社會(huì)責(zé)任感的企業(yè),ETI始終關(guān)注環(huán)保問題。公司積極推廣綠色生產(chǎn)理念,采用環(huán)保材料和工藝進(jìn)行生產(chǎn)。同時(shí),ETI還投入大量資金用于環(huán)保設(shè)施的建設(shè)和運(yùn)營(yíng),減少了對(duì)環(huán)境的污染。此外,ETI還積極參與社會(huì)公益活動(dòng),為環(huán)保事業(yè)貢獻(xiàn)自己的力量。這些舉措使ETI在業(yè)界樹立了良好的形象,贏得了社會(huì)各界的廣泛贊譽(yù)。
1984年,胡成中偕其弟胡成國(guó)等人在浙江省樂清市創(chuàng)立了“樂清縣求精開關(guān)廠”,這便是德力西的前身。當(dāng)時(shí),企業(yè)僅有3位股東,5萬(wàn)元的資本,8名員工,以及單一的熱繼電器產(chǎn)品。憑借“以質(zhì)取勝”的經(jīng)營(yíng)理念和靈活的機(jī)制,德力西在溫州市電器行業(yè)中逐漸嶄露頭角。
面對(duì)激烈的市場(chǎng)競(jìng)爭(zhēng)和不斷變化的市場(chǎng)需求,德力西始終堅(jiān)持創(chuàng)新驅(qū)動(dòng)的發(fā)展戰(zhàn)略。公司投入大量資源進(jìn)行技術(shù)研發(fā)和產(chǎn)品創(chuàng)新,推出了多款具有競(jìng)爭(zhēng)力的新產(chǎn)品。同時(shí),德力西還積極響應(yīng)綠色發(fā)展的號(hào)召,致力于打造低碳環(huán)保的電子產(chǎn)品。例如,在蕪湖基地獲得了中國(guó)低壓電氣行業(yè)國(guó)產(chǎn)品牌首家五星級(jí)零碳工廠及碳中和物流園區(qū)認(rèn)證,這標(biāo)志著德力西在綠色發(fā)展方面取得了顯著成果。
有人說單片機(jī)在驅(qū)動(dòng)led燈時(shí)候,不管程序如何控制都要在單片機(jī)端口上(不只是P0口)加上下拉電阻,上電復(fù)位到程序運(yùn)行總是有間隔的,如果不加電阻在這段時(shí)間內(nèi)會(huì)在IO口上產(chǎn)生一個(gè)沖擊的。 從來沒考慮過這個(gè)問題,只是在P0口和在驅(qū)動(dòng)三極管的時(shí)候再 ...… 查看全部問答∨ |
|
高科技時(shí)代設(shè)計(jì)你心中的智能家居,你有什么好想法呢????????? [轉(zhuǎn)帖]‘智能生活的一天讓我親切的感受到生活的人性化、智能化,從而使我的生活更加舒適。 當(dāng)早上我還在夢(mèng)鄉(xiāng)時(shí),定制的起床前場(chǎng)景自動(dòng)打開。背景音樂緩緩響起,把我從夢(mèng)中 ...… 查看全部問答∨ |
如何在 Wce 或者 WM 中對(duì) Word 進(jìn)行操作? 如何在 Wce 或者 WM 中對(duì) Word 進(jìn)行操作? 比如新建一個(gè) WORD 文檔,并對(duì)它進(jìn)行 文字,圖片 等的編輯?… 查看全部問答∨ |
為什么在vxworks5.5下用windml3.0開發(fā)的3d程序會(huì)黑屏? 我按照tony教的例程(在VxWorks下進(jìn)行OpenGL編程的環(huán)境搭建教學(xué))將mesa4.0源碼編譯通過,下載demo程序到目標(biāo)機(jī)上也通過,可是在shell下運(yùn)行uglteapot時(shí),目標(biāo)機(jī)屏幕就黑屏,這是怎么回事?是我配置windml有問題嗎?我編譯windml庫(kù)時(shí)選的是pentium_in ...… 查看全部問答∨ |
正在學(xué)wince呢,有人 推薦我學(xué) ucos,迷惑了,想問大家一下,呵呵,別笑我, 做wince開發(fā) 都掙多少 薪水啊 ?… 查看全部問答∨ |
在Manage Catalog Features導(dǎo)入.cec,但在New Platform Wizard中沒有見到相關(guān)的BSPs,膽在CEC Editor里可以看到相關(guān)的信息;請(qǐng)問這是什么問題,應(yīng)如何解決?… 查看全部問答∨ |
|
STM8L152C6除了I0寄存器,其他寄存器都不能設(shè)置 各位大俠 我用的STVD編譯器 為什么只有io相關(guān)寄存器可以設(shè)置其他寄存器都不可以設(shè)置呢??比如執(zhí)行完 TIM2_CR1 = 0x01; 后 查看寄存器 TIM2_CR1 的值依然是0 用的是STM8L152C6 單片機(jī) 還有S ...… 查看全部問答∨ |
我在做基于STM32系統(tǒng)需要存儲(chǔ)數(shù)據(jù),考慮是用內(nèi)部的FLASH還是外部AT24,請(qǐng)大俠給個(gè)建議啊! 之前這個(gè)系統(tǒng)是基于51單片機(jī)做的,存儲(chǔ)用的是AT24,后來升級(jí)改用STM32做,但我看STM32 內(nèi)部帶有FLAsh數(shù)據(jù)存儲(chǔ),考慮直接使 ...… 查看全部問答∨ |
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦
- 英飛凌微控制器:以全新實(shí)惠套件和強(qiáng)大開發(fā)環(huán)境為開發(fā)者提供支持
- iTOP-i.MX6開發(fā)板設(shè)備數(shù)驅(qū)動(dòng)Menuconfig的用法
- 迅為IMX6ULL開發(fā)板Qt for Android搭建開發(fā)環(huán)境
- 迅為i.MX8M mini開發(fā)板Windots QT系統(tǒng)開發(fā)環(huán)境搭建
- 迅為IMX8MM開發(fā)板Yocto系統(tǒng)使用Gstarwmra(一)
- 迅為IMX8M mini開發(fā)板Linix系統(tǒng)修改默認(rèn)屏幕
- iTOP-4412開發(fā)板支持4G以上文件系統(tǒng)擴(kuò)展
- 迅為IMX8MM開發(fā)板Yocto系統(tǒng)設(shè)置開機(jī)自啟動(dòng)
- 迅為IMX6Q開發(fā)板 Buildroot文件系統(tǒng)mqtt測(cè)試
- 高通攜手中國(guó)“汽車朋友圈”亮相2025上海車展: 加速駕駛輔助普惠,推動(dòng)艙駕創(chuàng)新升級(jí)
- 工業(yè)市場(chǎng)正在快速回暖,德州儀器如何重塑電力電子市場(chǎng)?
- 特斯拉:美國(guó)交付的Model Y/3電池包已實(shí)現(xiàn)100%美國(guó)生產(chǎn)
- 地平線與博世深化合作,攜手為多家車企提供輔助駕駛產(chǎn)品
- 強(qiáng)化中國(guó)市場(chǎng)戰(zhàn)略布局,德州儀器正靈活應(yīng)對(duì)全球關(guān)稅挑戰(zhàn)
- Molex莫仕通過本地合作和創(chuàng)新加強(qiáng)支持中國(guó)汽車行業(yè)
- 貿(mào)澤開售Texas Instruments適用于高分辨率AR HUD的 全新DLP4620S-Q1 0.46"汽車數(shù)字微鏡器件
- ROHM推出高功率密度的新型SiC模塊,將實(shí)現(xiàn)車載充電器小型化!
- 用上車規(guī)級(jí)UFS 4.0,讓出行變得高效且可靠
- 車載測(cè)試技術(shù)解析:聚焦高帶寬、多通道同步采集與協(xié)議分析
- Microchip最新SAM 以及 PIC32單片機(jī)軟件開發(fā)平臺(tái)-- MPLAB® Harmony V3介紹 ”
- 有獎(jiǎng)直播:ADI數(shù)字主動(dòng)降噪耳機(jī)方案 8月6日上午10:00-11:30 邀您聆聽讓技術(shù)為我們靜下來
- 免費(fèi)測(cè)評(píng)|ESP32-S2-Kaluga-1新型多媒體開發(fā)板,靈活拆裝,滿足多種需求
- 【EEWORLD第八屆社區(qū)明星人物】10月明星人物
- 下載Vishay最新通信解決方案 贏取超贊移動(dòng)電源
- 泰克 MSO6B 探索營(yíng):設(shè)計(jì)資源集錦
- TI 工業(yè)周系列研討會(huì)誠(chéng)邀您預(yù)報(bào)名參加,驚喜獎(jiǎng)不停
- 【盤點(diǎn)】2019年4月機(jī)器人行業(yè)新品有哪些?
- 智慧醫(yī)院帶來怎樣的就醫(yī)體驗(yàn)
- 國(guó)內(nèi)35所人工智能學(xué)院大盤點(diǎn)
- “洞察”號(hào)首次捕獲火星地震“聲音”
- LG電子將和兩所頂尖學(xué)校聯(lián)合培養(yǎng)人工智能專家
- 基于51單片機(jī)wifi物聯(lián)網(wǎng)的澆花控制系統(tǒng)
- 基于51單片機(jī)的GSM智能快遞柜設(shè)計(jì)
- 基于51單片機(jī)的智能路燈照明控制系統(tǒng)
- 基于51單片機(jī)的智能溫控風(fēng)扇
- 基于51單片機(jī)的SD卡讀卡器MMC存儲(chǔ)器