眾里尋他千百度,默然回首還是看不懂你的代碼!我相信,對(duì)于初學(xué)單片機(jī)編程或其他語(yǔ)言編程的朋友來(lái)說(shuō),剛開(kāi)始我們編程時(shí)總喜歡把所有的代碼都寫(xiě)在一個(gè)文件中。(當(dāng)然如果你是絕世天才那就另當(dāng)別論了,哈哈)。其實(shí)我也如此,剛開(kāi)始我就想,將所有的代碼都寫(xiě)在一個(gè)文件中那該多方便,打開(kāi)一個(gè)文件都可以看清。當(dāng)[詳細(xì)]
PIC18F系列d:目標(biāo)寄存器選擇位 0表示結(jié)果保存至W寄存器中,1表示保存到文件寄存器f中。a: 快速操作RAM位 0表示快速操作RAM內(nèi)的RAM單元(BSR寄存器被忽略)。1表示存儲(chǔ)區(qū)由BSR指定面向字節(jié)的操作指令1、ADDWF f,d,a;將f中的內(nèi)容與W中的內(nèi)容相加,存儲(chǔ)在d提定的寄存器中.2、ADDWFC f,d,a;將f中的內(nèi)容與W中的內(nèi)容帶進(jìn)[詳細(xì)]
最近有個(gè)項(xiàng)目,需要一個(gè)繼電器,接收到低電平就動(dòng)作,用的STC15W104、使用的市面上的開(kāi)關(guān)電源5V/3A.本來(lái)看似簡(jiǎn)單到底的一個(gè)東西,卻花費(fèi)了將近3天的時(shí)間搞定。1.現(xiàn)象一產(chǎn)品是1U機(jī)箱 內(nèi)部一個(gè)ARM主板,需要定時(shí)硬重啟一次。暫且叫STC控制板,控制板在不帶載的情況下,觸發(fā)正常,與程序很符合,但是帶載后,第[詳細(xì)]
近年來(lái),各個(gè)計(jì)算機(jī)生產(chǎn)廠家已進(jìn)入更高性能的32位單片機(jī)研制、生產(chǎn)階段。由于控制領(lǐng)域?qū)?2位單片機(jī)需求并不十分迫切,所以32位單片機(jī)的應(yīng)用并不很多。 需要提及的是,單片機(jī)的發(fā)展雖然按先后順序經(jīng)歷了4位、8位、16位的階段,但從實(shí)際使用情況看,并沒(méi)有出現(xiàn)推陳出新、以新代舊的局面。4位、8位、16位單片[詳細(xì)]
//====標(biāo)志位應(yīng)用 定義聯(lián)合體實(shí)體====typedef union uFLG{ uint8 Flg ; //定義整形數(shù)據(jù) struct FLAG{ //位域定義 uint8 Fl[詳細(xì)]
中斷的優(yōu)點(diǎn)中斷函數(shù)只在中斷觸發(fā)源觸發(fā)的時(shí)候才會(huì)執(zhí)行,其他時(shí)間不執(zhí)行. 如果不使用中斷而且如果要根據(jù)某個(gè)端口的變化而作相應(yīng)的函數(shù)操作,就必須不斷地查詢(xún)端口的信號(hào),而中斷不用,只要端口一有變化,就會(huì)系統(tǒng)就會(huì)自動(dòng)進(jìn)入中斷函數(shù), 我覺(jué)得這就是中斷的目的,也是優(yōu)點(diǎn).中斷優(yōu)先級(jí)1) AVR單片機(jī)在同一個(gè)優(yōu)先級(jí)中,中斷[詳細(xì)]
1、4位共陽(yáng)數(shù)碼管的有一個(gè)位的其中一段不亮,而其他位的該段能正常顯示。這有些不符合常理,因?yàn)楣碴?yáng)數(shù)碼管的4個(gè)為的段是連在一起的,如果是程序問(wèn)題或者硬件連接有問(wèn)題,應(yīng)該4位全不亮。原因:經(jīng)排查,原因是發(fā)現(xiàn)電路板的背面該段和其他位的位選線(xiàn)短路了,這樣就導(dǎo)致當(dāng)動(dòng)態(tài)掃描的時(shí)候,要顯示這一位的時(shí)候,其[詳細(xì)]
下面的這個(gè)是STM32的定時(shí)器邏輯圖,看圖有助于理解:TIM3的ARR寄存器和PSC寄存器,確定PWM頻率。這里配置的這兩個(gè)定時(shí)器確定了PWM的頻率,我的理解是:PWM的周期(頻率)就是ARR寄存器值與PSC寄存器值相乘得來(lái),但不是簡(jiǎn)單意義上的相乘,例如要設(shè)置PWM的頻率參考上次通用定時(shí)器中設(shè)置溢出時(shí)間的算法,例如輸出[詳細(xì)]
下面是實(shí)現(xiàn)將片內(nèi)RAM30H單元開(kāi)始的15B的數(shù)據(jù)傳送到片外RAM3000H開(kāi)始的單元中去的8051單片機(jī)匯編語(yǔ)言代碼: STRAT:MOV R0,#30H MOV R7,#0FH [詳細(xì)]
慎用標(biāo)志位(本人單片機(jī)菜鳥(niǎo),高手請(qǐng)高抬貴手,歡迎指點(diǎn)!~)這里說(shuō)的是合理謹(jǐn)慎的運(yùn)用標(biāo)志位,否則很容易出現(xiàn)錯(cuò)誤,也很難debug。今天工作的時(shí)候,修改定時(shí)器定時(shí)功能的時(shí)候,得出的經(jīng)驗(yàn),這里說(shuō)的與具體的單片機(jī)無(wú)關(guān),是個(gè)通用的想法。以我今天修改的為例:PIC單片機(jī)的兩個(gè)I/O引腳控制著兩個(gè)LED燈(分別為藍(lán)燈[詳細(xì)]
答:8051內(nèi)部128B的數(shù)據(jù)RAM區(qū),包括有工作寄存器組區(qū)、可直接位尋址區(qū)和數(shù)據(jù)緩沖區(qū)。各區(qū)域的特性如下:(1)00H~1FH為工作寄存器組區(qū),共分4組,每組占用8個(gè)RAM字節(jié)單元,每個(gè)單元作為一個(gè)工作寄存器,每組的8個(gè)單元分別定義為8個(gè)工作寄存器R0~R7。當(dāng)前工作寄存器組的選擇是由程序狀態(tài)字PSW的RS1、RS0兩位來(lái)確[詳細(xì)]
下面是自己在學(xué)習(xí)AVR單片機(jī)時(shí)的學(xué)習(xí)經(jīng)驗(yàn),分享出來(lái)給大家,一起學(xué)習(xí)。 1、 AVR單片機(jī)采用RISC架構(gòu),8051單片機(jī)采用CISC架構(gòu)。前者速度為后者的2~4倍,為流水線(xiàn)操作指令2、 AVR單片機(jī)有32個(gè)通用寄存器(地址在RAM區(qū)從$0000開(kāi)始到$001F),其中有6個(gè)(最后6個(gè))合并為3個(gè)16位的X,Y,Z寄存器,用來(lái)[詳細(xì)]
當(dāng)前的嵌入式應(yīng)用程序開(kāi)發(fā)過(guò)程里,并且C語(yǔ)言成為了絕大部分場(chǎng)合的最佳選擇。如此一來(lái)main函數(shù)似乎成為了理所當(dāng)然的起點(diǎn)——因?yàn)镃程序往往從main函數(shù)開(kāi)始執(zhí)行。但一個(gè)經(jīng)常會(huì)被忽略的問(wèn)題是:微控制器(單片機(jī))上電后,是如何尋找到并執(zhí)行main函數(shù)的呢?很顯然微控制器無(wú)法從硬件上定位main函數(shù)的入口地址[詳細(xì)]
當(dāng)我們買(mǎi)回來(lái)一個(gè)單片機(jī)開(kāi)發(fā)板(我的單片機(jī)型號(hào)是STC89C52)時(shí),我們或許會(huì)遇到這樣一個(gè)問(wèn)題:當(dāng)我們用配備的一點(diǎn)五米長(zhǎng)的公對(duì)公的USB線(xiàn)連接電腦和單片機(jī)時(shí)電腦會(huì)提示驅(qū)動(dòng)安裝失敗。這是因?yàn)殡娔X的USB串口和單片機(jī)開(kāi)發(fā)板的串口時(shí)不同的。這是你應(yīng)該打開(kāi)賣(mài)家配給你的光盤(pán)資料A》安裝USB驅(qū)動(dòng)程序》USB轉(zhuǎn)串口CH340驅(qū)[詳細(xì)]
GPIO:STM32的(64引腳的)IO口一共有3個(gè),分別是PA、PB、PC.STM32的IO端口可以由軟件配置成8種模式:1,輸入浮空2,輸入上拉3,輸入下拉4,模擬輸入5,開(kāi)漏輸出6,推挽輸出7,推挽復(fù)用功能8,開(kāi)漏復(fù)用功能STM32的每個(gè)IO端口都有7個(gè)寄存器來(lái)控制。他們分別是:配置模式的2個(gè)32位的端口配置寄存器CRL和C[詳細(xì)]
今天教大家編寫(xiě)STM32的bootloader,其實(shí)編寫(xiě)bootloader主要事項(xiàng)有以下:1、為你的bootloader程序選擇存儲(chǔ)器地址,因?yàn)镾TM32的存儲(chǔ)器FLASH存儲(chǔ)程序代碼空間為512K,需要進(jìn)行劃分。2、如果需要使用JTAG在線(xiàn)調(diào)試,則需要配置區(qū)域:3、為您的用戶(hù)程序選擇合適的存儲(chǔ)空間:同時(shí)配置在線(xiàn)調(diào)試區(qū)域:4、bootlo[詳細(xì)]
第一部分:在UCGUI移植之前在移植之前,首先要了解在網(wǎng)上下的UCGUI 3.98源碼的文件結(jié)構(gòu)是。UCGUI 3.98源碼中有三個(gè)文件夾:1)“tool文件夾”是用來(lái)使用一些uCgui的上位機(jī)程序,基本都是字體和模板查看之類(lèi)的.2)“sample文件夾”下面是已經(jīng)別人幫你寫(xiě)好了很多有用的東西,像跟操作系統(tǒng)有關(guān)的GUI_X或者一些模板(后面[詳細(xì)]
1.結(jié)構(gòu)(1)中央處理單元(8位)數(shù)據(jù)處理、測(cè)試位,置位,復(fù)位 位操作(2)只讀存儲(chǔ)器(4KB或8KB)永久性存儲(chǔ)應(yīng)用程序,掩模ROM、EPROM、EEPROM(3)隨機(jī)存取內(nèi)存(128B、128B SFR)在程序運(yùn)行時(shí)存儲(chǔ)工作變量和資料(4)并行輸入/輸出口(I / O)(32條)作系統(tǒng)總線(xiàn)、擴(kuò)展外存、I / O接口芯片(5)串行輸入/輸出口(2條)串[詳細(xì)]
最近測(cè)試涉及到底層串口代碼的修改。經(jīng)過(guò)這次修改,突然發(fā)現(xiàn)其實(shí)自己對(duì)于串口的一些特性以前并不是十分清楚。首先遇到的一些問(wèn)題:1)在使用IO的數(shù)據(jù)位的時(shí)候,沒(méi)有考慮校驗(yàn)位所占的位數(shù)。2)在設(shè)置串口輸入的時(shí)候,使用懸空輸入。關(guān)于1),在一次使用STM32串口參數(shù)9600,N,8,1與另一個(gè) 8051MCU通信的時(shí)[詳細(xì)]
標(biāo)準(zhǔn)51單片機(jī)是12T的,就是說(shuō)12個(gè)時(shí)鐘周期(晶振周期,例如12M的,周期是1/12M,單位秒),機(jī)器做一個(gè)指令周期,剛好就是1/12M*12=1uS,常見(jiàn)指令例如_nop_就是一個(gè)周期,剛好1uS,其他的大多多于一個(gè)周期,乘除法更多。所以如果計(jì)算指令時(shí)間可以這樣算。而現(xiàn)在很多51核的單片機(jī)工藝質(zhì)量上去后,頻率大大提高,增[詳細(xì)]
掃碼關(guān)注我們
0755-82591179
傳真:0755-82591176
郵箱:vicky@yingtexin.net
地址:深圳市龍華區(qū)民治街道民治大道973萬(wàn)眾潤(rùn)豐創(chuàng)業(yè)園A棟2樓A08
Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved. 粵ICP備14043402號(hào)-4