在單片機程序設計中,設置一個好的時鐘中斷,將能使一個CPU發(fā)揮兩個CPU的功效,大大方便和簡化程序的編制,提高系統(tǒng)的效率與可操作性。我們可以把一些例行的及需要定時執(zhí)行的程序放在時鐘中斷中,還可以利用時鐘中斷協(xié)助主程序完成定時、延時等操作。下面以6MHz時鐘的AT89C51系統(tǒng)為例,說明時鐘中斷的應用。定[詳細]
1、warning: no newline at end of file在文件最后一行加上回車鍵解釋:在《Rationale for the C99 standard》一文中,有C99的相關信息:A backslash immediately before a newline has long been used to continue string literals, as well as preprocessing command lines. In the interest of e[詳細]
SPI總線是Motorola公司推出的三線同步接口,同步串行3線方式進行通信:一條時鐘線SCK,一條數(shù)據(jù)輸入線MOSI,一條數(shù)據(jù)輸出線MISO;用于 CPU與各種外圍器件進行全雙工、同步串行通訊。SPI主要特點有:可以同時發(fā)出和接收串行數(shù)據(jù);可以當作主機或從機工作;提供頻率可編程時鐘;發(fā)送結束中斷標志;寫沖突保護;總線[詳細]
AVR單片機的熔絲位配置是AVR單片機初學者很容易出錯的地方,其實只要注意一些事項,還是能夠盡量避免單片機被鎖死,即使單片機被鎖死,也可以使用一些方法解鎖,本文講述我在剛開始接觸AVR單片機時熔絲位配置出現(xiàn)的一些問題。1、AVR單片機的熔絲位是比較獨到的特征,可以控制系統(tǒng)的時鐘,JTAG調(diào)試[詳細]
眾里尋他千百度,默然回首還是看不懂你的代碼!我相信,對于初學單片機編程或其他語言編程的朋友來說,剛開始我們編程時總喜歡把所有的代碼都寫在一個文件中。(當然如果你是絕世天才那就另當別論了,哈哈)。其實我也如此,剛開始我就想,將所有的代碼都寫在一個文件中那該多方便,打開一個文件都可以看清。當[詳細]
PIC18F系列d:目標寄存器選擇位 0表示結果保存至W寄存器中,1表示保存到文件寄存器f中。a: 快速操作RAM位 0表示快速操作RAM內(nèi)的RAM單元(BSR寄存器被忽略)。1表示存儲區(qū)由BSR指定面向字節(jié)的操作指令1、ADDWF f,d,a;將f中的內(nèi)容與W中的內(nèi)容相加,存儲在d提定的寄存器中.2、ADDWFC f,d,a;將f中的內(nèi)容與W中的內(nèi)容帶進[詳細]
最近有個項目,需要一個繼電器,接收到低電平就動作,用的STC15W104、使用的市面上的開關電源5V/3A.本來看似簡單到底的一個東西,卻花費了將近3天的時間搞定。1.現(xiàn)象一產(chǎn)品是1U機箱 內(nèi)部一個ARM主板,需要定時硬重啟一次。暫且叫STC控制板,控制板在不帶載的情況下,觸發(fā)正常,與程序很符合,但是帶載后,第[詳細]
近年來,各個計算機生產(chǎn)廠家已進入更高性能的32位單片機研制、生產(chǎn)階段。由于控制領域?qū)?2位單片機需求并不十分迫切,所以32位單片機的應用并不很多。 需要提及的是,單片機的發(fā)展雖然按先后順序經(jīng)歷了4位、8位、16位的階段,但從實際使用情況看,并沒有出現(xiàn)推陳出新、以新代舊的局面。4位、8位、16位單片[詳細]
//====標志位應用 定義聯(lián)合體實體====typedef union uFLG{ uint8 Flg ; //定義整形數(shù)據(jù) struct FLAG{ //位域定義 uint8 Fl[詳細]
中斷的優(yōu)點中斷函數(shù)只在中斷觸發(fā)源觸發(fā)的時候才會執(zhí)行,其他時間不執(zhí)行. 如果不使用中斷而且如果要根據(jù)某個端口的變化而作相應的函數(shù)操作,就必須不斷地查詢端口的信號,而中斷不用,只要端口一有變化,就會系統(tǒng)就會自動進入中斷函數(shù), 我覺得這就是中斷的目的,也是優(yōu)點.中斷優(yōu)先級1) AVR單片機在同一個優(yōu)先級中,中斷[詳細]
1、4位共陽數(shù)碼管的有一個位的其中一段不亮,而其他位的該段能正常顯示。這有些不符合常理,因為共陽數(shù)碼管的4個為的段是連在一起的,如果是程序問題或者硬件連接有問題,應該4位全不亮。原因:經(jīng)排查,原因是發(fā)現(xiàn)電路板的背面該段和其他位的位選線短路了,這樣就導致當動態(tài)掃描的時候,要顯示這一位的時候,其[詳細]
下面的這個是STM32的定時器邏輯圖,看圖有助于理解:TIM3的ARR寄存器和PSC寄存器,確定PWM頻率。這里配置的這兩個定時器確定了PWM的頻率,我的理解是:PWM的周期(頻率)就是ARR寄存器值與PSC寄存器值相乘得來,但不是簡單意義上的相乘,例如要設置PWM的頻率參考上次通用定時器中設置溢出時間的算法,例如輸出[詳細]
下面是實現(xiàn)將片內(nèi)RAM30H單元開始的15B的數(shù)據(jù)傳送到片外RAM3000H開始的單元中去的8051單片機匯編語言代碼: STRAT:MOV R0,#30H MOV R7,#0FH [詳細]
慎用標志位(本人單片機菜鳥,高手請高抬貴手,歡迎指點!~)這里說的是合理謹慎的運用標志位,否則很容易出現(xiàn)錯誤,也很難debug。今天工作的時候,修改定時器定時功能的時候,得出的經(jīng)驗,這里說的與具體的單片機無關,是個通用的想法。以我今天修改的為例:PIC單片機的兩個I/O引腳控制著兩個LED燈(分別為藍燈[詳細]
答:8051內(nèi)部128B的數(shù)據(jù)RAM區(qū),包括有工作寄存器組區(qū)、可直接位尋址區(qū)和數(shù)據(jù)緩沖區(qū)。各區(qū)域的特性如下:(1)00H~1FH為工作寄存器組區(qū),共分4組,每組占用8個RAM字節(jié)單元,每個單元作為一個工作寄存器,每組的8個單元分別定義為8個工作寄存器R0~R7。當前工作寄存器組的選擇是由程序狀態(tài)字PSW的RS1、RS0兩位來確[詳細]
下面是自己在學習AVR單片機時的學習經(jīng)驗,分享出來給大家,一起學習。 1、 AVR單片機采用RISC架構,8051單片機采用CISC架構。前者速度為后者的2~4倍,為流水線操作指令2、 AVR單片機有32個通用寄存器(地址在RAM區(qū)從$0000開始到$001F),其中有6個(最后6個)合并為3個16位的X,Y,Z寄存器,用來[詳細]
當前的嵌入式應用程序開發(fā)過程里,并且C語言成為了絕大部分場合的最佳選擇。如此一來main函數(shù)似乎成為了理所當然的起點——因為C程序往往從main函數(shù)開始執(zhí)行。但一個經(jīng)常會被忽略的問題是:微控制器(單片機)上電后,是如何尋找到并執(zhí)行main函數(shù)的呢?很顯然微控制器無法從硬件上定位main函數(shù)的入口地址[詳細]
當我們買回來一個單片機開發(fā)板(我的單片機型號是STC89C52)時,我們或許會遇到這樣一個問題:當我們用配備的一點五米長的公對公的USB線連接電腦和單片機時電腦會提示驅(qū)動安裝失敗。這是因為電腦的USB串口和單片機開發(fā)板的串口時不同的。這是你應該打開賣家配給你的光盤資料A》安裝USB驅(qū)動程序》USB轉(zhuǎn)串口CH340驅(qū)[詳細]
GPIO:STM32的(64引腳的)IO口一共有3個,分別是PA、PB、PC.STM32的IO端口可以由軟件配置成8種模式:1,輸入浮空2,輸入上拉3,輸入下拉4,模擬輸入5,開漏輸出6,推挽輸出7,推挽復用功能8,開漏復用功能STM32的每個IO端口都有7個寄存器來控制。他們分別是:配置模式的2個32位的端口配置寄存器CRL和C[詳細]
今天教大家編寫STM32的bootloader,其實編寫bootloader主要事項有以下:1、為你的bootloader程序選擇存儲器地址,因為STM32的存儲器FLASH存儲程序代碼空間為512K,需要進行劃分。2、如果需要使用JTAG在線調(diào)試,則需要配置區(qū)域:3、為您的用戶程序選擇合適的存儲空間:同時配置在線調(diào)試區(qū)域:4、bootlo[詳細]
掃碼關注我們
0755-82591179
傳真:0755-82591176
郵箱:vicky@yingtexin.net
地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A08
Copyright © 2014-2025 穎特新科技有限公司 All Rights Reserved. 粵ICP備14043402號-4