PIC16F87X系列單片機的復(fù)位功能設(shè)計得比較完善,根據(jù)引起單片機內(nèi)部復(fù)位的條件和原因,可以將PIC單片機復(fù)位系統(tǒng)分為五個模塊進(jìn)行介紹:1.上電復(fù)位每次單片機加電時,上電復(fù)位電路都要對電源電壓VDD的上升過程進(jìn)行檢測,當(dāng)VDD值上升到規(guī)定值1.6~1.8V時,就產(chǎn)生一個有效的復(fù)位信號,需經(jīng)過72ms加1024個時鐘周[詳細(xì)]
1. 立即尋址 例: MOV A , #10H ;將立即數(shù) 10H 送給 A 累加器,即 (A) ← 10H 注意:立即數(shù)的前面必有 “#” 標(biāo)志。 2.直接尋址 例: MOV A , 36H ;將內(nèi)部 RAM 中 36H 單元內(nèi)的數(shù)據(jù) 送到累加器 A 中,即 A ← (36H) 在上面這條指令中,帶下劃線的操作數(shù)是所在存儲單元的地[詳細(xì)]
(1)分析課題,確定解決方案和算法;(2)分配系統(tǒng)資源及存儲單元;(3)繪制程序流程圖;(4)設(shè)計程序,并反復(fù)調(diào)試和修改。彩燈循環(huán)設(shè)計 ORG 0000H MAIN: MOV P1, #80H ;D7 發(fā)光 MOV P1, #40H ;D6 發(fā)光 MOV P1, #20H ;D5 發(fā)光 MOV P1, #10H ;D4 發(fā)光 MOV P1, #08H ;D3 發(fā)光 MOV P1, #0[詳細(xì)]
一、傳送類指令 ?。?)片內(nèi)數(shù)據(jù)傳送指令 (16條) 此類指令參入的源操作數(shù)和目的操作數(shù)有 #data/A/Rn/@Ri/direct 五個,其不同組合,共有 15 條指令 ?。?)片外數(shù)據(jù)傳送指令 (4條) 當(dāng)你想把一個數(shù)送到單片機外部擴展 RAM 的某個單元或外部擴展 I/O 口某個端口,或者你想從該 單元、端口將數(shù)據(jù)[詳細(xì)]
1.按鍵的分類 按鍵按照結(jié)構(gòu)原理可分為兩類,一類是觸點式開關(guān)按鍵,如機械式開關(guān)、導(dǎo)電橡膠式開關(guān)等;另一類是無觸點式開關(guān)按鍵,如電氣式按鍵,磁感應(yīng)按鍵等。前者造價低,后者壽命長。目前,微機系統(tǒng)中最常見的是觸點式開關(guān)按鍵。 按鍵按照接口原理可分為編碼鍵盤與非編碼鍵盤兩類,這兩類鍵[詳細(xì)]
要求在數(shù)碼管上循環(huán)顯示數(shù)字 1~5。 范例分析: 1.1硬件分析 數(shù)碼管采用共陽極結(jié)構(gòu)。 1.2軟件設(shè)計 設(shè)計中要求循環(huán)顯示1~5,很顯然應(yīng)采用循環(huán)的方法來實現(xiàn),最簡單的方法是將1~5的段碼依次由P0口送出。 準(zhǔn)備程序 2、控制轉(zhuǎn)移類指令的特點及使用 ?。?)長轉(zhuǎn)移指令 [詳細(xì)]
單片機控制系統(tǒng)中,往往只需要幾個功能鍵,此時,可采用獨立式按鍵結(jié)構(gòu)。 1.獨立式按鍵結(jié)構(gòu) 獨立式按鍵是直接用 I/O 口線構(gòu)成的單個按鍵電路,其特點是每個按鍵單獨占用一根 I/O 口線,每個按鍵的工作不會影響其它 I/O 口線的狀態(tài)。獨立式按鍵的典型應(yīng)用如圖所示。 獨立式按鍵電路配置靈活,軟件結(jié)[詳細(xì)]
1、中斷概述 中斷是指計算機暫時停止原程序執(zhí)行轉(zhuǎn)而響應(yīng)需要服務(wù)的緊急事件(執(zhí)行中斷服務(wù)程序),并在服務(wù)完后自動返回原程序執(zhí)行的過程。 中斷由中斷源產(chǎn)生,中斷源在需要時可以向CPU提出 “ 中斷請求 ” 。 “ 中斷請求 ” 通常是一種電信號, CPU一旦對這個電信號進(jìn)行檢測和響應(yīng)便可自動轉(zhuǎn)[詳細(xì)]
1.結(jié)構(gòu) 2 個定時器 T0 和 T1:16 位加 1 計數(shù)器,通過編程來設(shè)置工作狀態(tài) 定時器方式寄存器TMOD:設(shè)置定時器的工作方式 定時器控制寄存器TCON:啟動和停止定時器的計數(shù);計數(shù)溢出標(biāo)志 2.工作原理 MCS-51 單片機定時/計數(shù)器的工作原理: 歸根結(jié)底是計數(shù)器。每接收到一個計數(shù)脈[詳細(xì)]
我認(rèn)為單片機堆棧溢出最重要的原因是我們編程序有問題,即在程序設(shè)計初期沒有留出足夠的空間供堆棧使用,堆棧一旦溢出程序一般會亂指,就是我們所說的程序跑分。一般我們不容許出現(xiàn)這個現(xiàn)象,因此我們在設(shè)計程序的時候首先要在內(nèi)部RAM里開辟一段連續(xù)的地址當(dāng)堆棧使用,且只能讓它通過PUSH和POP指令進(jìn)行訪問[詳細(xì)]
我們可以通過單片機控制三極管的基極來間接控制后邊的小燈的亮滅,用法大家基本熟悉了。還有一個控制就是進(jìn)行不同電壓之間的轉(zhuǎn)換控制,比如我們的單片機的IO口是5V系統(tǒng),如果直接接12V系統(tǒng)會燒壞單片機,所以我們加一個三極管,三極管的工作電壓高于單片機的IO口電壓,用5V的IO口來控制12V的電路,如圖1所示。圖[詳細(xì)]
第一個知識點,去耦電容的應(yīng)用,那首先要介紹一下去耦電容的應(yīng)用背景,這個背景就是電磁干擾,也就是傳說中的EMI。 1、冬天的時候,尤其是空氣比較干燥的內(nèi)陸城市,很多朋友都有這樣的經(jīng)歷,手觸碰到電腦外殼、鐵柜子等物品的時候會被電擊,實際上這就是“靜電放電”現(xiàn)象,也稱之為ESD?! ?、不知道[詳細(xì)]
data –可尋址片內(nèi)ram 0x00-0x7f bdata—可位尋址片內(nèi)ram idata—可尋址片內(nèi)ram,允許訪問全部內(nèi)部ram 0x00-0xff padata—分頁尋址訪問片外ram xdata—可尋址片外ram 0x0000- 0xffff code-[詳細(xì)]
在錯誤的道路上日夜兼程,最終也無法成功。因此,方法和思路絕對是第一重要的。一些學(xué)技術(shù)的同學(xué),往往看到這類章節(jié)會直接跳過去,因為大多數(shù)類似章節(jié)都是廢話連篇。但是,今天在這里我可以很負(fù)責(zé)任的告訴你,本章節(jié)講到的學(xué)習(xí)單片機的方法,都是我們學(xué)習(xí)單片機的無數(shù)經(jīng)驗和教訓(xùn)總結(jié)出來的瑰寶。因為我[詳細(xì)]
對Flash-based的MCU來說, ISP和ICP幾乎是不可或缺的功能, 但我們經(jīng)常被這兩個功能搞混, 究竟他們的差別在哪里? 對客戶的意義又是什么?在這里, 和大家分享并澄清一些觀念, 希望對大家有所幫助, 進(jìn)而解答來自客戶關(guān)于ISP與ICP的疑問. 1)在開發(fā)階段 改cod[詳細(xì)]
一個單片機應(yīng)用系統(tǒng)的硬件電路設(shè)計包含兩部分內(nèi)容:一是系統(tǒng)擴展,即單片機內(nèi)部的功能單元,如ROM、RAM、I/O、定時器/計數(shù)器、中斷系統(tǒng)等不能滿足應(yīng)用系統(tǒng)的要求時,必須在片外進(jìn)行擴展,選擇適當(dāng)?shù)男酒?,設(shè)計相應(yīng)的電路。二是系統(tǒng)的配置,即按照系統(tǒng)功能要求配置外圍設(shè)備,如鍵盤、顯示器、打印機、A/D、[詳細(xì)]
首先談一下變量。顧名思義,所謂變量就是可以改變的量,類似于數(shù)學(xué)方程中的未知數(shù)(X,Y,Z)。從計算機硬件角度上看,變量實際是一個個RAM單元的符號抽像。在C語言中,變量必須先用數(shù)據(jù)類型定義才能使用。 眾所周知,C語言數(shù)據(jù)類型分為基[詳細(xì)]
有朋友想定制一個凈水機控制器,有一些獨特的功能要增加,但是商品控制板沒有這樣的功能,問我能否做一個,我覺得單片機完全能滿足這種簡單的控制需要,上手開始編程序時候突然感到,用plc邏輯編這種功能是非常簡單輕松的,而如果用匯編或C編卻感覺有點棘手,編程效率不高,所以想為何不在單片機上實現(xiàn)PLC的[詳細(xì)]
單片機程序死機,跑飛了可以從以下幾個方面查找原因: 1. 意外中斷。是否打開了某個中斷,但是沒有響應(yīng)和清除中端標(biāo)志,導(dǎo)致程序一直進(jìn)入中斷,造成死機假象 2. 中斷變量處理不妥。若定義某些會在中斷中修改的全局變量,這時要注意兩個問題:首先為了防止[詳細(xì)]
掃碼關(guān)注我們
0755-82591179
傳真:0755-82591176
郵箱:vicky@yingtexin.net
地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A08
Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved. 粵ICP備14043402號-4