前些日子,做而論道寫了一篇關(guān)于單片機(jī)發(fā)音的文章,后來,就不斷有網(wǎng)友來電詢問單片機(jī)電子琴的設(shè)計方法。以前制作過一個24鍵(獨(dú)立按鍵)的,程序是用匯編語言寫的,估計多數(shù)人看不了。下面,把新設(shè)計的
用單片機(jī)89S51,4×4矩陣鍵盤,控制16個發(fā)光二極管,程序有點(diǎn)錯誤哪位高手給指點(diǎn)一下。我所做的矩陣鍵盤控制的發(fā)光二極管只有8個亮8個不亮,和P2口連接的亮和P0口連接的不亮,高手給點(diǎn)意見?;卮穑合铝?/p>
sbit SPK = P1^7 ;指定揚(yáng)聲器接口 ORG 0000H LJMP START ORG 000BH LJMP T0_INT ORG 001BH LJMP T1_INT;------------------------------------------------------------B_ZQ_TAB: ;定時半周期初始值數(shù)據(jù)
;========================================================;設(shè)計要求;;1、硬件設(shè)計要求;使用AT89C51單片機(jī),時鐘12MHz,設(shè)計時鐘電路和上電復(fù)位電路,;P0口、P1口、P2口分別驅(qū)動3個LED七段數(shù)碼管顯示
問題:用C51系列單片機(jī)測TTL(f
K4、K3:“進(jìn)出”模擬檢測鍵。每先按K3、再按K4,即代表“進(jìn)”一人次;每先按K4、再按K3,則代表“出”一人次。每“進(jìn)”一人次,就在原“進(jìn)”顯示基礎(chǔ)上加1(“進(jìn)”顯示初始狀態(tài)為“b000”);每“出”
讓一個單片機(jī)的LED數(shù)碼顯示器,從第一位顯示1、第二位顯示數(shù)字2、第三位顯示3、...一直到第六位顯示6,每個數(shù)字間隔0.5秒。然后一直循環(huán)下去。求一個C 語言程序?。?/p>
MCS-51系列單片機(jī)指令如何判斷字節(jié)數(shù)如何區(qū)分指令為單字節(jié),雙字節(jié)還是三字節(jié)?//------------------------------------------------------------------最佳答案:最基本的方法是查表,但是,查過一遍之
問題:做了一個小設(shè)計,用的是AT89C2051,其中P1口接兩位BCD指撥開關(guān),P3.2接了一個開關(guān),P3.3接了一個繼電器。兩位BCD指撥開關(guān)的具體接法是公共端接P1.1和P1.2口,8421分別接在P1.3~P1.6口。我想通過開
單片機(jī)同一IO口輸出兩組數(shù)組基于80C51,因?yàn)闆]有多余的口可用,只能用同一IO口輸出兩組數(shù)組,高4位一組輸出0~9,低4位一組輸出0~15!試試看: MOV R0, #s1 ;數(shù)組一的指針 MOV R1, #s2 ;數(shù)組二的指針 LC
單片機(jī)演奏一個音符,是通過引腳,周期性的輸出一個特定頻率的方波。這就需要單片機(jī),在半個周期內(nèi)輸出低電平、另外半個周期輸出高電平,周而復(fù)始。半個周期的時間是多長呢?眾所周知,周期為頻率的倒數(shù)
問題:書上說的,要測P1口引腳電平,需要讓對應(yīng)的引腳先置位,比如測P1.0口: ORL P1, #01H ;先置位 MOV C, P1.0 ;再讀接口既然給P1口數(shù)據(jù)可以產(chǎn)生電平的話,那先置位再測還有什么用,那不明擺著變成高
單片機(jī)的 P4.0,P2.0--P2.6 這幾個 IO 上面接一個 4*4 的鍵盤。這里P4.0是最低位,P2.6是最高位。一個按鍵接在同一個端口上 很好操作的,但是這些 IO 在兩個端口上面。這些端口不連續(xù)應(yīng)該咋寫鍵盤程序
通過矩陣鍵盤輸入,并顯示在一位數(shù)碼管上。#include#define uint unsigned int#define uchar unsigned charsbit duanx = P2^6;sbit weix = P2^7;uchar key, k_tmp, view;uchar show[] = { 0x3f,0x06,0
要求:上電燈不亮,按一下按鍵燈亮,再按一下燈閃爍,再按一下燈閃爍更快,再按一下燈滅...。如此循環(huán)。為此,編程如下。//----------------------------------------------#includeunsigned char n =
51單片機(jī),要求用 8 位數(shù)碼管動態(tài)顯示 12 位學(xué)號。還要用按鍵調(diào)整走動速度,C語言的。//-------------------------------------------#include #include sbit k_add = P3^1;sbit k_sub = P3^4;//------
遇到的問題如下:第二個數(shù)碼管不亮,電平跳變都是對的。如果在中斷的P1,P2賦值那一塊加上死循環(huán)兩個數(shù)碼管就都能亮了,但是不能時刻測電壓值了,糾結(jié)。道編程如下: #includeunsigned char tab[16] =
要求:P1.0輸出周期為2ms的方波,P1.1輸出5ms的方波,占空比都為1:1.(高低電平一樣的)。晶振頻率為24MHz。(使用T0和T1兩個定時計數(shù)器)匯編或C都行。編程如下://================================
要求:使用4×4矩陣鍵盤,由 P0 經(jīng)過 164 驅(qū)動數(shù)碼管顯示按鍵值,并發(fā)音。用PROTEUS仿真運(yùn)行時的屏幕截圖如下://電路說明如下。//單片機(jī):使用51系列兼容的即可;//4×4矩陣鍵盤:接在P1口;//一位數(shù)碼
硬件:74HC164驅(qū)動四個數(shù)碼管,矩陣鍵盤。設(shè)計要求:第一次按按鍵1顯示1- - -、按按鍵2顯示2- - -,以此類推,按1~9都是這樣顯示。第二次按按鍵(如果第一次按的是1)(第二次按的是2)顯示12-- ;第