關(guān)于單片機(jī)C語(yǔ)言的精確延時(shí),網(wǎng)上很多都是大約給出延時(shí)值沒(méi)有準(zhǔn)確那值是多少,也就沒(méi)有達(dá)到精確高的要求,而51hei給出的本函數(shù)克服了以上缺點(diǎn),能夠精確計(jì)數(shù)出要延時(shí)值且精確達(dá)到1us,本舉例所用CPU為STC
深入理解并應(yīng)用C51對(duì)標(biāo)準(zhǔn)ANSIC的擴(kuò)展是學(xué)習(xí)C51的關(guān)鍵之一。因?yàn)榇蠖鄶?shù)擴(kuò)展功能都是直接針對(duì)8051系列CPU硬件的。大致有以下8 類(lèi): 8051存儲(chǔ)類(lèi)型及存儲(chǔ)區(qū)域l;存儲(chǔ)模式l存儲(chǔ)器類(lèi)型聲明l變量類(lèi)型聲明l 位變
1 概述 隨著半導(dǎo)體技術(shù)的飛速發(fā)展,以及移動(dòng)通信、網(wǎng)絡(luò)技術(shù)、多媒體技術(shù)在嵌入式系統(tǒng)設(shè)計(jì)中的應(yīng)用,單片機(jī)從4位、8位、16位到32位,其發(fā)展歷程一直受到廣大電子愛(ài)好者的極大關(guān)注。單片機(jī)功能越來(lái)越
本設(shè)計(jì)主要由信號(hào)采集電路、放大整形電路、分頻電路、信號(hào)處理電路、電源電路和顯示電路等模塊組成。當(dāng)采集到的被測(cè)信號(hào)經(jīng)過(guò)放大整形電路后被整形為幅度適中 的矩形波后,根據(jù)其頻率的高低選擇相應(yīng)的分頻電路對(duì)其進(jìn)行適當(dāng)?shù)姆诸l處理,然后單片機(jī)對(duì)分頻后的信號(hào)進(jìn)行測(cè)頻
本系統(tǒng)采用Proteus與Keil軟件結(jié)合構(gòu)建實(shí)驗(yàn)平臺(tái)。首先在計(jì)算機(jī)上利用Proteus制作硬件電路原理圖;接著使用Keil軟件編制程序,完成系統(tǒng)的軟件設(shè)計(jì);最后將程序編譯生成的代碼文件載入到單片機(jī)中,執(zhí)行仿真功能便可以在計(jì)算機(jī)中上看到最終的運(yùn)行效果。
1. 程序在RAM中運(yùn)行 要點(diǎn):(1)程序的下載地址改到RAM空間中 (2)程序的debug之前要設(shè)定SP,PC指針到Ram空間 新建工程,選擇STM32 的具體型號(hào),我買(mǎi)的萬(wàn)利的開(kāi)發(fā)板,選擇stm32f103Vb。 設(shè)定程序下
對(duì)于proteus 6.9以后的版本,在安裝盤(pán)里或LABCENTER公司有vdmagdi插件,安裝該插件即可實(shí)現(xiàn)與KEIL的聯(lián)調(diào)。 首先安裝vdmagdi軟件,然后再進(jìn)行以下設(shè)置: Keil設(shè)置 在Keil軟件上單擊“Project菜單/Options for Target”選
本學(xué)期開(kāi)了門(mén)嵌入式的課程,在實(shí)驗(yàn)課上用到了一款基于ARMCortex-M3處理器的LPC1768的實(shí)驗(yàn)板。本來(lái)這種課程我覺(jué)得應(yīng)該可以學(xué)到很多東西,可是我發(fā)現(xiàn)實(shí)驗(yàn)課上老師基本只是講了xx實(shí)驗(yàn)課的要求,然后你就拿
文章大綱:一:EEPROM芯片介紹(包括各種讀寫(xiě)的時(shí)序與管腳定義)二:S3C2440中對(duì)于IIC需要配置的寄存器三:IIC成功讀寫(xiě)EEPROM的程序(光盤(pán)的那個(gè)IIC讀寫(xiě)程序真心對(duì)初學(xué)者不好理解)一:EEPROM芯片介紹在
option -> c/c++ -> language/code genderation -> optimization選項(xiàng)下的優(yōu)化等級(jí)優(yōu)化級(jí)別說(shuō)明(僅供參考):則其中的 Code Optimization 欄就是用來(lái)設(shè)置C51的優(yōu)化級(jí)別。共有9個(gè)優(yōu)化級(jí)別(書(shū)上這么寫(xiě)的
__use_no_semihosting_swi,即不使用半主機(jī)模式,防止程序進(jìn)入軟件中斷。1.在嵌入式程序編譯時(shí)如果出現(xiàn)printf、fopen、fclose等文件操作,因程序中并沒(méi)有對(duì)這些函數(shù)的底層實(shí)現(xiàn),使得設(shè)備運(yùn)行時(shí)會(huì)進(jìn)入軟
首先點(diǎn)擊左邊 Project 窗口的 Target 1,然后使用菜單“Project->Option for target ‘target1’”即出現(xiàn)對(duì)工程設(shè)置的對(duì)話框,這個(gè)對(duì)話框可謂非常復(fù)雜,共有 8 個(gè)頁(yè)面,要全部搞清可不容易,好在絕大部
單片機(jī)空間分配看*.M51文件,ARM,DSP空間分配看*.map文件1、函數(shù)定位:假如要把C源文件 tools.c 中的函數(shù)int BIN2HEX(int xx){...}放在CODE MEMORY的0x1000處,先編譯該工程,然后打開(kāi)該工程的M51文件,在* * * C
概述進(jìn)行C/C++開(kāi)發(fā)的時(shí)候我們都會(huì)需要打印調(diào)試信息,打印調(diào)試信息時(shí)我們習(xí)慣使用printf函數(shù),但是在Keil C51環(huán)境下,由于我們的程序是下載到單片機(jī)里,使用printf函數(shù)時(shí)不能直接打印到串口上,這個(gè)時(shí)候就需要我們對(duì)
工作中經(jīng)過(guò)摸索實(shí)驗(yàn),總結(jié)出單片機(jī)大致應(yīng)用程序的架構(gòu)有三種:1. 簡(jiǎn)單的前后臺(tái)順序執(zhí)行程序,這類(lèi)寫(xiě)法是大多數(shù)人使用的方法,不需用思考程序的具體架構(gòu),直接通過(guò)執(zhí)行順序編
keil中常見(jiàn)的幾種警告,固然,相對(duì)于錯(cuò)誤的,警告的程度不及錯(cuò)誤的嚴(yán)重性,有時(shí)候忽略,會(huì)出現(xiàn)意想不到的錯(cuò)誤。先看看常見(jiàn)的幾種錯(cuò)誤,分析出來(lái)現(xiàn)的原因。1. Warning 280:’i’:unreferenced local variab
怎么知道堆棧使用了多少? 比如51單片機(jī),怎么查看堆棧使用情況,有沒(méi)有溢出?最大堆棧=子程序調(diào)用最大級(jí)數(shù)+中斷最大嵌套級(jí)數(shù)
有不少的在校的大學(xué)生寫(xiě)信給我,問(wèn)在學(xué)校里應(yīng)該學(xué)習(xí)什么電子知識(shí).就業(yè)形勢(shì)越來(lái)越嚴(yán)峻,不光是在中國(guó),全球都一樣,全球經(jīng)濟(jì)的發(fā)展速度放慢,至少會(huì) 持續(xù)幾年的時(shí)間.半導(dǎo)體產(chǎn)業(yè)目前進(jìn)入低潮,很多公司裁員和虧損.但是技術(shù)還
從業(yè)十年,教你單片機(jī)入門(mén) 第19講:在開(kāi)始本節(jié)內(nèi)容之前,先告訴大家前面第十一節(jié)內(nèi)容有一處筆誤,unsigned long的數(shù)據(jù)長(zhǎng)度應(yīng)該是4個(gè)字節(jié),而不是3個(gè)字節(jié)。上一節(jié)提到了一個(gè)“隱藏中間變量”的概念,兩個(gè)加
從業(yè)十年,教你單片機(jī)入門(mén)基礎(chǔ) 第五講:Keil平臺(tái)軟件的安裝我就不多講了,網(wǎng)上這方面的資料很多,大家可以百度一下如何安裝keil的教程。下面開(kāi)始講解用keil軟件新建,關(guān)閉,打開(kāi)一個(gè)完整工程的操作流程。第一步:新