概述——什么是makefile?或許很多Winodws的程序員都不知道這個(gè)東西,因?yàn)槟切¦indows的IDE都為你做了這個(gè)工作,但我覺得要作一個(gè)好的和professional的程序員,makefile還是要懂。這就好像現(xiàn)在有這么多的HTML的編輯器,但如果你想成為一個(gè)專業(yè)人士,你還是要了解HTML的標(biāo)識(shí)的含義。特別在Unix下的軟[詳細(xì)]
單片機(jī)主要作用是控制外圍的器件,并實(shí)現(xiàn)一定的通信和數(shù)據(jù)處理。但在某些特定場(chǎng)合,不可避免地要用到數(shù)學(xué)運(yùn)算,盡管單片機(jī)并不擅長實(shí)現(xiàn)算法和進(jìn)行復(fù)雜的運(yùn)算。下面主要是介紹如何用單片機(jī)實(shí)現(xiàn)數(shù)字濾波。在單片機(jī)進(jìn)行數(shù)據(jù)采集時(shí),會(huì)遇到數(shù)據(jù)的隨機(jī)誤差,隨機(jī)誤差是由隨機(jī)干擾引起的,其特點(diǎn)是在相同條件下測(cè)量同[詳細(xì)]
藍(lán)牙(Bluetooth):是一種無線技術(shù)標(biāo)準(zhǔn),可實(shí)現(xiàn)固定設(shè)備、移動(dòng)設(shè)備和樓宇個(gè)人域網(wǎng)之間的短距離數(shù)據(jù)交換(使用2.4—2.485GHz的ISM波段的UHF無線電波)。藍(lán)牙技術(shù)最初由電信巨頭愛立信公司于1994年創(chuàng)制,當(dāng)時(shí)是作為RS232數(shù)據(jù)線的替代方案, 藍(lán)牙可連接多個(gè)設(shè)備,在與單片機(jī)連接使用也得到了廣泛應(yīng)用。1、端口連[詳細(xì)]
物聯(lián)網(wǎng)的興起,不少公司提供了物聯(lián)網(wǎng)的免費(fèi)服務(wù),這對(duì)提高對(duì)物聯(lián)網(wǎng)認(rèn)識(shí)起到了一定的作用。三年前我也搭建用Arduino搭建了一個(gè)家庭基礎(chǔ)數(shù)據(jù)感知的平臺(tái),數(shù)據(jù)通過互聯(lián)網(wǎng)傳到了Yeelink物聯(lián)網(wǎng)平臺(tái),采集了近三年的數(shù)據(jù)。隨著時(shí)間的推移數(shù)據(jù)日積月累,從數(shù)據(jù)中也得到了很多信息,但是可能初期的物聯(lián)網(wǎng)公司的轉(zhuǎn)型,服[詳細(xì)]
單片機(jī)一般都有內(nèi)部ROM/EEPROM/FLASH供用戶存放程序。為了防止未經(jīng)授權(quán)訪問或拷貝單片機(jī)的機(jī)內(nèi)程序,大部分單片機(jī)都帶有加密鎖定位或者加密字節(jié),以保護(hù)片內(nèi)程序。如果在編程時(shí)加密鎖定位被使能(鎖定),就無法用普通編程器直接讀取單片機(jī)內(nèi)的程序,這就是所謂拷貝保護(hù)或者說鎖定功能。事實(shí)上,這樣的保護(hù)措施很[詳細(xì)]
1. IIC總線基本概念1.1總線概述IIC總線是PHLIPS公司推出的一種串行總線,是具備多主機(jī)系統(tǒng)所需的包括總線裁決和高低速器件同步功能的高性能串行總線。1.2總線結(jié)構(gòu)IIC總線是由數(shù)據(jù)線SDA和時(shí)鐘線SCL構(gòu)成的串行總線,可發(fā)送和接收數(shù)據(jù)。在CPU與被控IC之間、IC與IC之間可以進(jìn)行雙向傳送,最高傳送速率100kbps。[詳細(xì)]
本人在大四工作實(shí)習(xí)期間,由于工作需要,需要使用STM8單片機(jī)測(cè)量一個(gè)方波脈沖的頻率,一開始想要使用定時(shí)器捕獲,可是需要測(cè)量的脈沖頻率較高,用捕獲測(cè)量不僅測(cè)量不準(zhǔn)確,而且效率低下。于是乎想到了用外部計(jì)數(shù)TIMx_ETR功能測(cè)量!真正的問題來了,之前從來沒用過STM8的外部脈沖計(jì)數(shù)功能,而且網(wǎng)上也是在找不到[詳細(xì)]
c8051f單片機(jī)是在MCS51單片機(jī)基礎(chǔ)上發(fā)展起來的,既有繼承,又有很大的創(chuàng)新。按照功能可分為專用型和通用型。專用型:100MHz高速型的如f120芯片;24位高分辨率AD的如f350芯片;帶usb功能的芯片如f320和f340;超低功耗的芯片如f410;還有帶CAN總線的芯片如f040和f060。通用型:f020,f330d等,內(nèi)部帶有AD,DA,SPI,I2C,W[詳細(xì)]
SPI總線接口芯片為完成單片機(jī)的常規(guī)外圍電路擴(kuò)展設(shè)計(jì)帶來了機(jī)遇,可擴(kuò)展的外圍電路包括A/D與D/A轉(zhuǎn)換器、顯示、時(shí)鐘、存儲(chǔ)器、監(jiān)視復(fù)位、I/O、顯示等。本文利用國內(nèi)目前較為流行的I2C,SPI串行通信協(xié)議實(shí)現(xiàn)單片機(jī)外圍電路的A/D轉(zhuǎn)換、D/A轉(zhuǎn)換、時(shí)鐘、I/O擴(kuò)展、E2PROM以及LED驅(qū)動(dòng)器件的擴(kuò)展功能,實(shí)現(xiàn)了單片機(jī)系統(tǒng)[詳細(xì)]
int8 *pRStut1 = ADDR1 ; //申請(qǐng)一個(gè)8位指針變量 變量名為pRStut1int16 *pRStut2 = ADDR2 ; //申請(qǐng)一個(gè)16位指針變量 變量名為pRStut2uint8 RStu1 _at_ ADDR1 ; //申請(qǐng)一個(gè)8位變量 變量名為RStu1uint16 RStu2 _at_ ADDR2 ; //申請(qǐng)一個(gè)16位變量 變量名為RStu2DEF_8BIT_REG_AT(RStu1,ADDR1); //申請(qǐng)一個(gè)8位變量[詳細(xì)]
sfr用于將一個(gè)單片機(jī)的特殊功能寄存器(special function register)賦值給一個(gè)變量,這樣在后面的程序中就可以中這個(gè)變量指引(refer to)該寄存器。sbit與sfr用法類似,只是sbit是位操作,用于將某個(gè)sfr中具體位賦值給一個(gè)變量,這樣后面程序就可用通過該變量為該位清0或置1。STC該系列單片機(jī)的特殊功能寄存器布[詳細(xì)]
buck電路這是一個(gè)降壓電路,SW 在此處通入PWM ,進(jìn)行降壓的主要工作,Vout分壓后,最高不超過芯片工作電壓 (5V 也行 )輸入到PIC AN1口,進(jìn)行AD轉(zhuǎn)換,將轉(zhuǎn)換的結(jié)果在1602上顯示出來。如果電壓不是想要的電壓 程序便改變PWM的占空比,以達(dá)到需要的值。主要環(huán)節(jié)在1602 的初始化 寫數(shù)據(jù) 和寫指令 以及 PIC的AD啟動(dòng)[詳細(xì)]
1. 利用I/O1.1 利用LED進(jìn)行可視化管理這種方法需要有多余的I/O。(如果可能,也可以將實(shí)現(xiàn)次要功能的I/O暫時(shí)借來一用。)其電路很簡(jiǎn)單,一個(gè)LED通過限流電阻接到VCC電源。I/O設(shè)置為輸出方式。我們可以用下面的宏來定義LED的操作。#define LED_YELLOW_ON() PA6D=0#define LED_YELLOW_OFF() PA6D=1#define L[詳細(xì)]
單片機(jī)的應(yīng)用范圍十分廣泛,主要的應(yīng)用領(lǐng)域有: (1) 工業(yè)控制。單片機(jī)可以構(gòu)成各種工業(yè)控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)等。如數(shù)控機(jī)床、自動(dòng)生產(chǎn)線控制、電機(jī)控制、溫度控制等。 (2) 儀器儀表。如智能儀器、醫(yī)療器械、數(shù)字示波器等。 (3) 計(jì)算機(jī)外部設(shè)備與智能接口。如圖形終端機(jī)、傳真機(jī)、復(fù)印機(jī)、打[詳細(xì)]
在單片機(jī)學(xué)習(xí)中,我們常常遇到這樣那樣的零星問題,這里我將我遇到的問題總結(jié)如下,都是個(gè)人見解,如果不對(duì),萬望指出。(持續(xù)更新中)問題0001:51單片機(jī)下載失敗常見原因1.查看單片機(jī)是否插反了;2.下載軟件選擇正確的單片機(jī)型號(hào)(注意STC89C52和STC89C52RC是不同的) ;3.檢測(cè)是否連接了晶振 ,時(shí)候有晶振接觸[詳細(xì)]
很多時(shí)候我們需要實(shí)現(xiàn)設(shè)備的開關(guān)機(jī),而比較常用的方法有硬件開關(guān)的開關(guān)機(jī)和純粹的軟件開關(guān)機(jī)。硬件開關(guān)機(jī)一般都是用撥碼式的硬件開關(guān)實(shí)現(xiàn),缺點(diǎn)是占用空間比較大,外觀不美觀。而單純的軟件開關(guān)無法實(shí)現(xiàn)真正的關(guān)機(jī),只是單片機(jī)進(jìn)入睡眠或者休眠狀態(tài),存在耗電等問題。為了解決這些問題,有時(shí)候我們不得不進(jìn)行軟[詳細(xì)]
設(shè)單片機(jī)采用8051,未擴(kuò)展片外ROM,片外RAM采用一片6116,編程將其片內(nèi)ROM從0100H單元開始的10B得內(nèi)容依次外接到片外RAM從100H單元開始得10B中去。解: MOV R2,#00H ;源數(shù)據(jù)緩沖器地址偏移量00H AMOV&nbs[詳細(xì)]
最近看了一個(gè)大神吳堅(jiān)鴻的文章,他的軟件架構(gòu)寫得還是不錯(cuò)的,但是代碼風(fēng)格一般,全局變量滿天飛,但開發(fā)出來的產(chǎn)品穩(wěn)定,性能也好。不管怎么說,在企業(yè)里,老板只追求結(jié)果,不追求過程,即使代碼寫得再不好,能實(shí)現(xiàn)功能就不錯(cuò)了。在這里,我借鑒他的“”三區(qū)一線理論“做下分析”。 [詳細(xì)]
.error: #18:6.error: #18: expected a ")"如果是出現(xiàn)在c文件中, 多半是因?yàn)樯倭艘粋(gè)")",或者錯(cuò)誤行有編譯器不識(shí)別的字符如果出現(xiàn)在頭文件中,錯(cuò)誤行又是一個(gè)函數(shù)聲明,多半是因?yàn)樵诤瘮?shù)聲明中有編譯器不認(rèn)識(shí)的字符error: #20error: #20: identifier "TIM2_IRQChannel" is un[詳細(xì)]
IO口控制方向寄存器 TRISA~TRISAE 比如 TRISB=0x00; // 1為輸入, 0為輸出 , 這樣就把portB端口全部設(shè)為輸出數(shù)據(jù)寄存器 PORTA~PORTE 比如 PORTB=0x01; // 1為置高,0為置低 , 這樣就把portB1口置高,其它portB口置低例: 點(diǎn)燈程序#include__CONFIG (0x3B31);// pic單片機(jī)需要進(jìn)行寄存器配置,詳[詳細(xì)]
掃碼關(guān)注我們
0755-82591179
郵箱:ivy@yingtexin.net
地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A09
Copyright © 2014-2025 穎特新科技有限公司 All Rights Reserved. 粵ICP備14043402號(hào)-4