下面給出一個(gè)例子練習(xí)邏輯指令,本程序可以實(shí)驗(yàn)板或Keil C51仿真軟件上運(yùn)行,注意觀(guān)察程序運(yùn)行結(jié)果。MOV A,#24HMOV R0,#37HORL A,R0XRL A,#29HMOV 35H,#10HORL 35H,#29HMOV R0,#35HANL A,@R0
/*************************************************************音樂(lè)播放器:按鍵0-9對(duì)應(yīng)最多10首樂(lè)曲,當(dāng)一首樂(lè)曲播放完畢后,響應(yīng)按鍵的動(dòng)作去播放相應(yīng)的音樂(lè),另外,右、下這兩個(gè)按鍵對(duì)應(yīng)著下一首,左上這兩個(gè)按
一、8個(gè)按鍵控制8個(gè)LED燈1 /*******************************************************************************2 實(shí)驗(yàn)名稱(chēng): 8個(gè)獨(dú)立按鍵控制8盞LED燈(按下哪個(gè)鍵,那個(gè)鍵對(duì)應(yīng)的LED亮)3 實(shí)驗(yàn)時(shí)間: 2015/1/2
1 什么是矩陣鍵盤(pán)? 這里補(bǔ)一個(gè)鍵盤(pán)的定義 大家看原理圖,這就是矩陣鍵盤(pán)(4*4) 四行 分別連到P3.0 P3.1 P3.2(INT0) P3.3(INT1) (從上到下)
一、LED點(diǎn)陣發(fā)光原理8*8單色單片機(jī)結(jié)構(gòu)圖如下:從電路圖中很簡(jiǎn)單的就可以看出來(lái),想要點(diǎn)亮點(diǎn)陣中的某一個(gè)LED燈。只要使得那個(gè)燈所在的行輸出高電平,所在列輸出低電平就好。二、點(diǎn)陣掃描實(shí)驗(yàn) 1 /*******************
今天學(xué)習(xí)了下矩陣鍵盤(pán),4*4, 分別代表0~F這16個(gè)數(shù)字我們按了哪個(gè)鍵就顯示到數(shù)碼管上看完郭老師講解原理后就自己動(dòng)手寫(xiě)了,郁悶的是在keil軟件中,我在switch-case語(yǔ)句中 少了個(gè)冒號(hào),竟然編譯通過(guò)!結(jié)果當(dāng)然不正確了,然后
1、在HD44780控制的1602LCD的顯示屏上顯示兩條字符串 和 兩個(gè)用戶(hù)自定義的字符/*******************************************************************************說(shuō)明:AT89S52芯片,12M晶振*外設(shè):HD44780控制的1
//晶振=8M//MCU=STC10F04XE//P0.0-P0.6共陽(yáng)數(shù)碼管引腳//Trig=P1^0//Echo=P3^2#include//包括一個(gè)52標(biāo)準(zhǔn)內(nèi)核的頭文件#defineucharunsignedchar//定義一下方便使用#defineuintunsignedint#defineulongunsignedlong//**
在學(xué)校很少用到外擴(kuò)ROM/RAM的情況,都是用C語(yǔ)言編程,不差空間,代碼太大了,買(mǎi)個(gè)大ROM的芯片就行了。現(xiàn)在工作了,單位是做SoC的,采用了51的IP核,才算對(duì)51的代碼/數(shù)據(jù)空間有了清晰的認(rèn)識(shí)。MCS-51使用哈弗結(jié)構(gòu),它的
STC 89C52RC#includetypedefunsignedcharuchar;typedefunsignedintuint;typedefunsignedlongulong;sbitADDR0=P1^0;sbitADDR1=P1^1;sbitADDR2=P1^2;sbitADDR3=P1^3;sbitENLED=P1^4;ulongperiodCnt=0;//PWM周期計(jì)數(shù)值u
程序功能:數(shù)碼管前三位顯示一個(gè)跑表,從000到999之間以1%秒速度運(yùn)行,當(dāng)按下一個(gè)獨(dú)立鍵盤(pán)時(shí)跑表停止,松開(kāi)手后跑表繼續(xù)運(yùn)行。(用定時(shí)器設(shè)計(jì)表)。按下第二個(gè)時(shí)計(jì)時(shí)開(kāi)始,按下第三個(gè)是計(jì)數(shù)值清零。123456789101112131
1.鎖存器加引腳的典型結(jié)構(gòu)51單片機(jī)的I/O端口都有內(nèi)部總線(xiàn)實(shí)現(xiàn)操作控制。P0-P3四個(gè)I/O口都可以做普通I/O口,因此,要求具有輸出鎖存功能。內(nèi)部總線(xiàn)有事分時(shí)操作,因此每個(gè)I/O端口都有相應(yīng)的鎖存器。然而I/O端口又是外
實(shí)現(xiàn)的功能:密碼鎖,紅外控制,溫度計(jì)功能等連線(xiàn):鍵盤(pán)接P0,P2接數(shù)碼管,接上LCD,P1.0接蜂鳴器,P1.2-P1.7接步進(jìn)電機(jī)C程序:#include #include typedef unsigned int uint;typedef unsigned char uchar;bit FlagC
某系統(tǒng)有3個(gè)外部中斷源1、2、3,當(dāng)某一中斷源變?yōu)榈碗娖綍r(shí),便要求CPU進(jìn)行處理,它們的優(yōu)先處理次序由高到低依次為3、2、1,中斷處理程序的入口地址分別為1000H,1100H,1200H。試編寫(xiě)主程序及中斷服務(wù)程序(轉(zhuǎn)至相應(yīng)
解釋 void timer0() interrupt 1 using 21、返回值 函數(shù)名 interrupt n其中n 對(duì)應(yīng)中斷源的編號(hào),其值從0 開(kāi)始,以80C51 單片機(jī)為例,編號(hào)從0~4,分別對(duì)應(yīng)外中斷0、定時(shí)器0 中斷、外中斷1、定時(shí)器1 中斷和串行口中斷。
寄存間接尋址方式是指寄存器中存放的是操作數(shù)的地址,即操作數(shù)是通過(guò)寄存器間接得到的,因此稱(chēng)為寄存器間接尋址。MCS-51單片機(jī)規(guī)定工作寄存器的R0、R1做為間接尋址寄存器。用于尋址內(nèi)部或外部數(shù)據(jù)存儲(chǔ)器的256個(gè)單元。
使用芯片STC89C52RC, 2個(gè)鎖存器6個(gè)帶小數(shù)點(diǎn)共陰極數(shù)碼管顯示一個(gè)24時(shí)制時(shí)鐘沒(méi)有時(shí)鐘芯片,所以掉電后時(shí)間會(huì)復(fù)位原理圖為T(mén)X-1C開(kāi)發(fā)板暫時(shí)顯示了半小時(shí),一秒不差,未驗(yàn)證有無(wú)其他bug,代碼貼上來(lái),歡迎高手指點(diǎn)===========
實(shí)現(xiàn)的功能有:走 時(shí)、校時(shí)、鬧鐘、溫度、遙控這幾個(gè)功能。要想實(shí)現(xiàn)這幾個(gè)功能,其中走時(shí)所需要的就是時(shí) 鐘芯片,即 DS1302;時(shí)間需要顯示給人看,就需要顯示器件,我們用到了點(diǎn)陣、數(shù)碼管、 獨(dú)立 LED、液晶;再來(lái)看
以52單片機(jī)來(lái)說(shuō),一共有6個(gè)中斷源,其說(shuō)明如下(序號(hào)用于中斷程序的編寫(xiě)):中斷源名稱(chēng)默認(rèn)級(jí)別序號(hào)說(shuō)明INT0最高0外部中斷0,由P3.2端口線(xiàn)引入,低電平或下降沿引起INT1第32由P3.3端口線(xiàn)引入,低電平或下降沿引起T0第
昨天在群里面有一個(gè)網(wǎng)友提到51單片機(jī)使用printf為什么編譯通過(guò)了,但是沒(méi)有效果 。這里將我的筆記翻出來(lái)共享一下,這個(gè)實(shí)驗(yàn)本身沒(méi)有太大的意義,主要是記錄51單片機(jī)應(yīng)該如何使用Printf函數(shù)。實(shí)驗(yàn)名稱(chēng):串口通信之單片