導航:首頁 > 操作系統 > 單片機撥碼器程序

單片機撥碼器程序

發布時間:2022-05-28 04:13:34

① 基於單片機的電話自動撥號器的程序

你要是用MT8888的話,我之前做過有一段代碼可以試試。
其實這個創意已經被做了無數遍了,沒啥前途...

② 8052單片機怎樣讀出8421BCD碼撥碼開關設定的數值

void read()
{
unsigned char ge,shi; //用兩個變數來存放轉換後的個位(ge)與十位(shi)
unsigned char temp_P1;//用來存放P1口的狀態
temp_P1=~P1; //讀取P1口並取反,例如P1口為1010 1100則temp_P1=0101 1100
temp_P1=temp_P1&0x0f;//去掉高4位後temp_P1=0000 1100
shi=temp_P1/10; //讀取二進制數0000 1100的十位,此例中等到數據「1」
ge=temp_P1%10; //讀取二進制數0000 1100的個位,此例中等到數據「2」
//至此,成功把單片機P1.0,P1.1,P1.2,P1.3狀態(1100)轉換成十進制數12,並分別保存在變數shi,ge中
}

③ 51單片機怎麼寫編碼器的程序

可以用T0或T1的計數器模式來處理編碼器的脈沖信號。

④ 單片機怎樣讀取撥碼開關然後把它用數碼管顯示出來

首先設計硬體,然後根據硬體寫代碼。
P1口不夠接就用三態緩沖器。
開啟三態緩沖器,讀數據,存數據到內存,然後切換三態緩沖器再讀數據到內存,調用顯示子函數在數碼管上顯示出來。

⑤ 用51單片機讀取撥碼開關的C程序,兩個8421撥碼開關

假如DIP開關接P1,共8位,檢測後通過串口發送出去。
#include<reg51.h>
main()
{
TMOD=0x20;
SCON=0x50;
TH1=0xfd;
TL1=0xfd;
TR1=1;
TI=0;
while(1)
{
if(P1!=0xff)
{
SBUF=P1;
while(!TI);
TI=0;
}
}
}

⑥ 單片機讀取8421撥碼開關的程序

GET8421:

MOVA,P1

CPLA

ANLA,#0FH

MOV22H,A

MOVA,P1

SWAPA

CPLA

ANLA,#0FH

MOV23H,A

MOVA,P2

CPLA

ANLA,#0FH

MOV24H,A

MOVA,P2

SWAPA

CPLA

ANLA,#0FH

MOV25H,A

RET

⑦ 51單片機如何控制電話撥號,原理是什麼電路如何接謝謝了。

有專門用於單片機控制撥號的晶元,,撥號線D0,D1,D2,D3能排列成十六種狀態,能出16種雙音頻信號或15鍾脈沖信號.單片機用四條線控制D0,D1,D2,D3,再用兩條線控制/CE和ACK就可。

單片機,全稱單片微型計算機(英語:Single-Chip Microcomputer),又稱微控制器(Microcontroller),是把中央處理器、存儲器、定時/計數器(Timer/Counter)、各種輸入輸出介面等都集成在一塊集成電路晶元上的微型計算機。與應用在個人電腦中的通用型微處理器相比,它更強調自供應(不用外接硬體)和節約成本。它的最大優點是體積小,可放在儀表內部,但存儲量小,輸入輸出介面簡單,功能較低。由於其發展非常迅速,舊的單片機的定義已不能滿足,所以在很多應用場合被稱為范圍更廣的微控制器;從上世紀80年代,由當時的4位、8位單片機,發展到現在的32位300M的高速單片機。

⑧ 麻煩大神用C語言寫一段程序,4位撥碼開關控制3個LED的程序。

#include"reg51.h"
sbitled_1=P0^0;
sbitled_2=P0^1;
sbitled_3=P0^3;
intmain(void)
{
while(1)
{
switch(P2&0x0F)
{
case12:
case8:
case7:
case9:
case10:
case11:
case13:
case14:
case15:led_1=0;led_2=1;led_3=1;break;
case4:
case5:
case6:led_1=1;led_2=0;led_3=1;break;
case0:
case1:
case2:led_1=1;led_2=1;led_3=0;break;
}
}
}

⑨ 飛思卡爾單片機 撥碼開關控制LED燈 主程序

飛思卡爾單片機的普通輸入輸出的某一個埠同一時刻只能做輸入或者輸出。且需事先初始化埠寄存器。'0'為輸入,『1』為輸出。同時要清空數據寄存器內容。 比方說使用PORTA_PA0口控制單個外部共陽指示燈的顯示,顯然為輸出控制。可以這樣寫
/*初始化*/
DDRA=0X01;//定義方向寄存器輸出,也可以寫成0Xff 只是其他的7個口不用
PORTA_PA0=1;//共陽 初始化指示燈不亮
/*主函數*/
PORTA_PA0=0;//PA0埠輸出0 低電平 指示燈亮
比方說使用PORTA_PA3口讀取外部電平信號,顯然為輸入控制。可以這樣寫
/*初始化*/
DDRA=0X00;//定義方向寄存器輸入,8個埠全為輸入
/*主函數*/
unsigned char LED;
LED=PORTA_PA3;//讀入埠數據

你上面的程序 我的理解是這樣的,程序事先有宏定義LED_DD、 led :

LED_DD = 0x0F; //方向寄存器 高四位輸入(撥碼開關) 低四位輸出
led = 0xFF; //給定初始值
for(;;)
{
Num = led; //讀撥碼開關

led = Num>>4; //送顯示

delay(10);

}

單片機微控制器的工作原理是靠內部時鍾晶振來執行程序的,每一個時鍾周期執行一步程序。其實for循環前面的程序僅僅是完成單片機埠初始化、系統參數初始化。程序一直在for循環和中斷服務程序里執行,也就是遵循掃描的原理。 沒了for循環 你的程序就只能讀取埠的狀態一次執行到main()函數最後一條指令就停止工作了。

⑩ 求3位撥碼開關的程序代碼,用來對51系列單片機進行編址的。

撥碼開關 作為 電路板地址 就是 根據 那幾個IO口的電平的讀取值,來給電路板一個地址值的,,,
准確的說, 5位撥碼開關,讀到的值最大是31 , 地址就相對的是0-31了
在讀撥碼開關的狀態的時候,先把 那幾個IO口 置1 ,然後再進行狀態讀取 ,

閱讀全文

與單片機撥碼器程序相關的資料

熱點內容
禁止某個程序的命令 瀏覽:495
榮耀如何給隱私相冊加密 瀏覽:455
python三角分支 瀏覽:202
javaclass判斷 瀏覽:884
了解財經用什麼app 瀏覽:115
我的世界命令葯水效果 瀏覽:491
戰場將軍怎麼下命令 瀏覽:754
pythonsyslog伺服器 瀏覽:855
java運算符號 瀏覽:616
查南海鋁錠價格下載什麼app 瀏覽:131
執行命令要迅速心得500字 瀏覽:570
ms如何提交任務到伺服器 瀏覽:95
命令添加用戶 瀏覽:425
51單片機和430 瀏覽:570
vb設備管理系統源碼 瀏覽:274
樓層框架梁加密范圍 瀏覽:783
php如何傳參數 瀏覽:425
阿里雲伺服器埠分配 瀏覽:209
支付寶收益源碼大全 瀏覽:720
安卓如何提升和平精英畫質 瀏覽:490