單片機(jī)演奏一個音符,是通過引腳,周期性的輸出一個特定頻率的方波。這就需要單片機(jī),在半個周期內(nèi)輸出低電平、另外半個周期輸出高電平,周而復(fù)始。半個周期的時間是多長呢?眾所周知,周期為頻率的倒數(shù)
這個題目用51單片機(jī)的匯編語言來做,實際上是進(jìn)行兩個字節(jié)的BCD碼的減法。列出豎式如下: 07 04H - 00 44H -------------- 06 60H由于51單片機(jī)的特點,BCD碼的減法,必須要用加法進(jìn)行,方能進(jìn)行“十進(jìn)制
;----------------------------------------------------------------------------------------P1口外接4×4按鍵, 常用的讀出鍵值的方法有“查表法”和“反轉(zhuǎn)法”。查表法的程序最為簡短,但是稍多占用
問題:書上說的,要測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ù)碼
//有個題目,要求順序按下四個按鍵。//如果不按照指定的次序來按,將顯示出錯誤提示。//要求如下://第一次、SW1 按住時 D1 亮,松開時 D1 滅(如第一次按的不是 SW1,是SW2、3、4的話,D5 常亮);//第
硬件:74HC164驅(qū)動四個數(shù)碼管,矩陣鍵盤。設(shè)計要求:第一次按按鍵1顯示1- - -、按按鍵2顯示2- - -,以此類推,按1~9都是這樣顯示。第二次按按鍵(如果第一次按的是1)(第二次按的是2)顯示12-- ;第
;用51單片機(jī)控制 2位數(shù)碼管動態(tài)顯示 00 ~ 99。;從 00 開始顯示,顯示數(shù)字每隔一段時間加 1,一直到 99,然后回到 00。;從 00 到 10 每隔 100ms 加 1;;從 10 到 20 每隔 200ms 加 1;;其它依此類推;;從
給STC89C51安一個LCD1602液晶顯示器。寫一段程序,使得STC89C51有計時、顯示功能。當(dāng)給STC89C51一個連續(xù)的高電平時,單片機(jī)開始計時,同時在顯示器上顯示計時的秒數(shù);當(dāng)結(jié)束高電平時,計時停止,但是顯