實(shí)驗(yàn)程序:/*******************************led.c*********************************/#include"stm32f4xx.h"//在SYSTEM目錄下可以找到,把ST官方的部分庫抽取出來,組成了一個(gè)SYSTEM目錄#include"sys.h"voidLED_Ini
名稱:51單片機(jī)驅(qū)動(dòng)蜂鳴器發(fā)聲平臺(tái):Keil 4, Ly-51S學(xué)習(xí)板內(nèi)容:模擬報(bào)警聲,如鬧鐘 滴 滴 滴 滴-----------------------------------------------------*/ #include sbit SPK = P1^2; void delay_2us(unsigned char
第一階段 是先瀏覽教科書里的硬件部分,大至了解單片機(jī)的硬件結(jié)構(gòu)。如 ROM、RAM、地址、I/O口等,以及看一些廠家的MCU資料(Data Sheet),來加強(qiáng)MCU所提供各項(xiàng)資源的印象?! 〉诙A段 就是了解二進(jìn)位數(shù)
DMA可以認(rèn)為連接兩個(gè)“地址”數(shù)據(jù)通道。DMA共享系統(tǒng)總線,不占用CPU,所以可以實(shí)現(xiàn)快速數(shù)據(jù)傳輸。這里以DMA連接存儲(chǔ)器(數(shù)組)和串口(USART1->DR)為例。1 void DMA_init(void)2 {4 RCC->AHBENR|=1DR;//讀外設(shè)串口數(shù)據(jù)
方式0應(yīng)用 通過設(shè)置TMOD寄存器中的M1M0位00選擇定時(shí)器方式0,方式0的計(jì)數(shù)位數(shù)是13位,對(duì)T0來說,TL0寄存器的低5位(高3位未用)和TH0寄存器的8位組成。TL0的低5位溢出時(shí)向TH0進(jìn)位,TH0溢出時(shí),置位TCON中的TF
DMA,全稱為:DirectMemoryAccess,即直接存儲(chǔ)器訪問。DMA傳輸方式無需CPU直接控制傳輸,也沒有中斷處理方式那樣保留現(xiàn)場和恢復(fù)現(xiàn)場的過程,通過硬件為RAM與I/O設(shè)備開辟一條直接傳送數(shù)據(jù)的通路,能使CPU的效率大為提
生活上有很多東西都搭載著單片機(jī)而進(jìn)行工作的,而且有相當(dāng)一部分的設(shè)備、儀器、產(chǎn)品都是靠蓄電池來提供電源的,往往這些靠蓄電池供電的設(shè)備、儀器、產(chǎn)品都能夠用上一大段時(shí)間。例如我們經(jīng)常接觸到的遙控器,假若MCU一
想搞清楚PLC與單片機(jī)有什么不同,在網(wǎng)上搜了許多,看得頭都大了,還是一團(tuán)霧水。最后把其中說到點(diǎn)子上的一些句子,綜合起來認(rèn)真分析總結(jié),本人認(rèn)為PLC與單片機(jī)的差別應(yīng)該是:1.PLC是應(yīng)用單片機(jī)構(gòu)成的比較成熟的控制系
#includesbit P1_1 = P1^1;//定時(shí)器的初始化void delay_1ms(void){TMOD = 0x01;//采用16位計(jì)數(shù)器TH0= 0xFC;TL0= 0x18;ET0= 0;TR0= 1;//開啟while(!TF0);TF0= 0;TR0 = 0;}void main(void){while(1){P1_1 = 1;delay_1m
I2C總線是Philips公司提出的一種集成電路IC器件之間相連接的總線協(xié)議,其目的是使電子系統(tǒng)(不只 限于單片機(jī)系統(tǒng))各個(gè)IC器件之間的連線變得容易。因?yàn)槭褂脗鹘y(tǒng)的并行總線在IC器件之間連接,往往會(huì)使得IC之間連線較多
串口xmodem的移植比較簡單,參考ymodem協(xié)議就行。實(shí)驗(yàn)環(huán)境:Linux ubuntu 9.10(來自韋東山老師光盤自帶虛擬機(jī))開發(fā)板:Jz2440(ARM9S3C2440NANDK9F2G08SDRAMK4S561632 * 2)U-Boot: u-boot-1.1.6燒寫工具: OpenJt
#include"1602.h"#include"18b20.h"#include"main.h"__CONFIG(0X0B31);main(){charmsg[2][16]={"Temperature:",".C"};delay_us2(40,40);delay_us2(100,200);initial();while(1){start_convert();change
一直都是用STM32做項(xiàng)目中的主控芯片,在編程的時(shí)候,之前一直忽視了一個(gè)問題,那就是寄存器的位置是如何定義的,為什么用一個(gè)USART1->CR操作就能夠給這個(gè)CR寄存器賦值?其實(shí)這是一個(gè)比較底層的問題,不懂這方面的知識(shí)
三相交流異步電動(dòng)機(jī)的節(jié)電器節(jié)電保護(hù)一直是電機(jī)領(lǐng)域研究的熱點(diǎn),特別是近幾年來全國出現(xiàn)電力供應(yīng)緊張的局面,使得對(duì)交流異步電動(dòng)機(jī)的節(jié)能設(shè)備的研究和推廣更為迫切。三相異步電動(dòng)機(jī)由于結(jié)構(gòu)簡單,智能節(jié)電器使用方便
Flash的操作:stm32大容量的flash不僅用來存儲(chǔ)程序代碼,還可用來存儲(chǔ)一些數(shù)據(jù)和系統(tǒng)用戶的參數(shù)。程序的代碼一般保存在從flash開始區(qū)域,剩下的區(qū)域空間大小可以用來存儲(chǔ)用戶數(shù)據(jù)(大小取決于Flash的大小和代碼占用空