❶ 用單片機實現
1、用if或swich語句分支判斷,一一對應輸出。
2、用樓上的辦法,將輸出量按照輸入0-7的順序放在一個數組內,使用時,將輸入量作為數組下標值,P0口再輸出這個元素值:
unsigned char ABC[]={127,191,223... ...};
unsigned char INPUT;
INPUT=P1&7;
P0=ABC[INPUT];
3、將128這個數右移(輸入值+1),然後按位取反,P0口輸出這個數。
❷ 用單片機實現六個功能,選擇什麼單片機比較好
問問題要問清楚,這也體現了個人修學素養。
用單片機實現六個功能,哪六個功能?如果是鍵盤掃描、LED閃爍、數碼管驅動、串口通信、定時信號輸出、蜂鳴器報警,普通51單片機就可以完成。
如果是普通51單片機不能勝任的,可以選擇功能強大的32位ARM單片機。
❸ 用51單片機實現音樂播放的原理是什麼
需要寫一段程序。
如果是簡單的音樂,編樂譜推蜂鳴器就可以;如果是mp3/wav之類的音樂,需要晶元自帶解碼模塊,或者使用外部解碼晶元,還需要dac將聲音推出來。
聲音的頻譜范圍約在幾十到幾千赫茲,若能利用程序來控制單處機某個口線的「高」電平或低電平,則在該口線上就能產生一定頻率的矩形波,接上喇叭就能發出一定頻率的聲音,若再利用延時程序控制「高」「低」電平的持續時間,就能改變輸出頻率,從而改變音調。要准確奏出一首曲子,必須准確地控制樂曲節奏,即一音符的持續時間。音符的節拍我們可以用定時器T0來控制,送入不同的初值,就可以產生不同的定時時間。便如某歌曲的節奏為每分鍾94拍,即一拍為0.64秒。
❹ 如果自己需要用單片機,但是要實現一些功能,該怎麼做
應該用板子單獨DIY。不知道怎麼連說明你軟硬體知識都還不夠,繼續努力學
❺ 用51單片機實現時鍾功能程序
anEQUP0;
weiEQUP2;
keyBITP3.7;
ORG0000H
AJMPMAIN;絕對轉移指令,2kb范圍(11位)內跳轉LJMP16位64kb范圍內跳轉
;短轉移指令的功能是先使程序計數器PC加1兩次(即:取出指令碼),然後把加2後的地址和rel相加作為目標轉移地址。因此,短轉移指令是一條相對轉移指令,是一條雙位元組雙周期指令
ORG0030H;指明後面的程序從程序存儲器的0030H單元開始存放
DELAY200US:;@11.0592MHz
NOP
NOP
NOP
PUSH30H
PUSH31H
MOV30H,#2
MOV31H,#179
NEXT:
DJNZ31H,NEXT
DJNZ30H,NEXT
POP31H
POP30H
RET
ORG0060H
;DISPLAY子程序
DISPLAY:
PUSHACC;不能寫A,此處ACC代表地址,push後跟地址,代表把地址內的內容壓入棧中
PUSH00H;R0
PUSH06H;R6
PUSH07H;R7
PUSH83H;DPH
PUSH82H;DPL
MOVR6,#01H;位選數據,01指的是緩沖區最低位數據
MOVR7,#08H;循環次數
FLAG:
MOVan,#0x00;消影
MOVA,R6
CPLA;取反
MOVwei,A;位選
MOVA,#disBufDat
ADDA,R7
SUBBA,#0X08
MOVR0,A
MOVA,@R0;讀出要顯示的數據到A
MOVDPTR,#disTab
MOVCA,@A+DPTR;從rom取數據,取出要顯示的數據對應的段碼
MOVan,A;段選
MOVA,R6
RLA
MOVR6,A;更新下一次位選
LCALLDELAY200US
DJNZR7,FLAG
POP82H;DPL
POP83H;DPH
POP07H
POP06H
POP00H
POPACC
RET
ORG0100H
;定時器中斷0初始化
T0_INIT:
MOVTMOD,#0X01
MOVTH0,#0X3C
MOVTL0,#0XB0
SETBEA
SETBTR0
SETBET0
RET
ORG0130H
;T0中斷處理程序
INT_TIMERE0:
PUSHACC
SETBRS0
MOVTH0,#0X3C
MOVTL0,#0XB0
INCR0
MOVA,R0
SUBBA,#0X14
JBCY,SECFLAG
MOVR0,#0x00
INCsec
SECFLAG:
CLRRS0
POPACC
RETI
ORG000BH;定時器/計數器T0入口地址
LJMPINT_TIMERE0;跳轉到定時器/計數器中斷服務程序中去
disTab:DB0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00,0x40;0-f,空白,橫杠的段選數據
disBufDatEQU47H;定義顯示緩沖數據變數區,8個
disBufDatHeadEQU40H//單片機上顯示在最左邊
secEQU48H
;主程序
ORG0180H
MAIN:
MOVSP,#0X60;將0x60到0x7f設為堆棧區
LCALLT0_INIT
MOVdisBufDatHead,#0X00
MOVdisBufDatHead+1,#0X00
MOVdisBufDatHead+2,#0X11
MOVdisBufDatHead+3,#0X11
MOVdisBufDatHead+4,#0X11
MOVdisBufDatHead+5,#0X11
MOVdisBufDatHead+6,#0X11
MOVdisBufDatHead+7,#0X11
MOVsec,#0X3A
WHILE:
JBkey,KEYSCAN
MOVsec,0x00
KEYSCAN:
MOVA,sec
SUBBA,#3CH;超過60s歸零
JBCY,CLEAR
MOVsec,#0X00;clr加ram地址無效
CLEAR:
MOVA,sec
MOVB,#0AH
DIVAB;A/B,商存到A中,余數存B中
MOVdisBufDatHead,A
MOVdisBufDatHead+1,B
LCALLDISPLAY
LJMPWHILE;循環
END;
(5)用單片機實現擴展閱讀
51機器周期和指令周期
1、機器周期是指單片機完成一個基本操作所花費的時間,一般使用微秒來計量單片機的運行速度,51單片機的一個機器周期包括12個時鍾振盪周期,也就是說如果51單片機採用12MHz晶振,那麼執行一個機器周期就只需要1μs;如果採用的是6MHz的晶振,那麼執行一個機器周期就需要2μs。
2、指令周期是指單片機執行一條指令所需要的時間,一般利用單片機的機器周期來計量指令周期。在51單片機里有單周期指令(執行這條指令只需一個機器周期),雙周期指令(執行這條指令只需要兩個機器周期),四周期指令(執行這條指令需要四個機器周期)。
除了乘、除兩條指令是四周期指令,其餘均為單周期或雙周期指令。也就是說,如果51單片機採用的是12MHz晶振,那麼它執行一條指令一般只需1~2微秒的時間;如果採用的是6MH晶振,執行一條指令一般就需2~4微秒的時間。
❻ 神經網路如何用單片機實現
用單片機開發神經網路應用主要考慮三個方向:
1)網路本身,神網本質上是一組矩陣,矩陣在單片機中的表現可以通過數組來實現;
2)輸入輸出,神網的應用就是把輸入陣列與網路本身的矩陣點乘叉乘後算術求和,產生輸出矩陣,把輸入輸出的演算法做到單片機里也不是難事;
3)訓練,神網的權值矩陣都是訓練出來的,採用諸如前向或反向的演算法,可以做離線也可以做在線,如果做離線就沒有必要把演算法實現在單片機內,PC上就可以做,然後導入矩陣即可;如果做在線則是相對較難的技術,需要在單片機上實現,對於單片機本身的資源要求也較高。
簡單說,1)是基礎,也最容易;1)+2)就已經是神經網路的應用了,也容易實現;1)+2)+Matlab神經網路離線訓練是易於實現,且富有彈性的應用方式;1)+2)+在線訓練基本上就是具備自己學習能力的機器人,這是學術界一直探索的方向。
希望能給你一些啟發,研究神網對我來說已經是五六年前的過去了,還是很懷念那時候的激情,個人認為這將是二十一世紀後期最有影響力的技術之一。
❼ 用單片機可以實現與電腦程序的通信嗎
當然可以了,
你單片機程序寫一個接收串口的程序,然後按接收到的數據進行相應的處理。完全沒有問題,以前我們做過一個產品就是這樣處理的!
其實最簡單的方法就是用一個串口助手從電腦上給你單片機傳數據,讓你單片機電路來執行!
❽ 單片機可以做什麼
借花獻佛:
目前單片機滲透到我們生活的各個領域,幾乎很難找到哪個領域沒有單片機的蹤跡。導彈的導航裝置,飛機上各種儀表的控制,計算機的網路通訊與數據傳輸,工業自動化過程的實時控制和數據處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統,錄像機、攝像機、全自動洗衣機的控制,以及程式控制玩具、電子寵物等等,這些都離不開單片機。更不用說自動控制領域的機器人、智能儀表、醫療器械以及各種智能機械了。因此,單片機的學習、開發與應用將造就一批計算機應用與智能化控制的科學家、工程師。 單片機廣泛應用於儀器儀表、家用電器、醫用設備、航空航天、專用設備的智能化管理及過程式控制制等領域,大致可分如下幾個范疇:
智能儀器
單片機具有體積小、功耗低、控制功能強、擴展靈活、微型化和使用方便等優點,廣泛應用於儀器儀表中,結合不同類型的感測器,可實現諸如電壓、電流、功率、頻率、濕度、溫度、流量、速度、厚度、角度、長度、硬度、元素、壓力等物理量的測量。採用單片機控制使得儀器儀表數字化、智能化、微型化,且功能比起採用電子或數字電路更加強大。 例如精密的測量設備(電壓表、功率計,示波器,各種分析儀)。
工業控制
單片機具有體積小、控制功能強、功耗低、環境適應能力強、擴展靈活和使用方便等優點,用單片機可以構成形式多樣的控制系統、數據採集系統、通信系統、信號檢測系統、無線感知系統、測控系統、機器人等應用控制系統。例如工廠流水線的智能化管理,電梯智能化控制、各種報警系統,與計算機聯網構成二級控制系統等。
家用電器
現在的家用電器廣泛採用了單片機控制,從電飯煲、洗衣機、電冰箱、空調機、彩電、其他音響視頻器材、再到電子秤量設備和白色家電等。
網路和通信
現代的單片機普遍具備通信介面,可以很方便地與計算機進行數據通信,為在計算機網路和通信設備間的應用提供了極好的物質條件,現在的通信設備基本上都實現了單片機智能控制,從手機,電話機、小型程式控制交換機、樓宇自動通信呼叫系統、列車無線通信、再到日常工作中隨處可見的行動電話,集群移動通信,無線電對講機等。
醫用設備領域
單片機在醫用設備中的用途亦相當廣泛,例如醫用呼吸機,各種分析儀,監護儀,超聲診斷設備及病床呼叫系統等等。
模塊化系統
某些專用單片機設計用於實現特定功能,從而在各種電路中進行模塊化應用,而不要求使用人員了解其內部結構。如音樂集成單片機,看似簡單的功能,微縮在純電子晶元中(有別於磁帶機的原理),就需要復雜的類似於計算機的原理。如:音樂信號以數字的形式存於存儲器中(類似於ROM),由微控制器讀出,轉化為模擬音樂電信號(類似於音效卡)。 在大型電路中,這種模塊化應用極大地縮小了體積,簡化了電路,降低了損壞、錯誤率,也方便於更換。
汽車電子
單片機在汽車電子中的應用非常廣泛,例如汽車中的發動機控制器,基於CAN匯流排的汽車發動機智能電子控制器、GPS導航系統、abs防抱死系統、制動系統、胎壓檢測等。
此外,單片機在工商、金融、科研、教育、電力、通信、物流和國防航空航天等領域都有著十分廣泛的用途。
❾ 單片機如何實現具體的控制的
建議你仔細看看它的一些IO埠結構圖,然後配合看這些埠的控制和數據寄存器,以及埠相關的匯編指令.注意哦,一定要看匯編的指令才有用,C的看不出來.
實際上,最終埠的輸入和輸出,都是由埠對應的數據寄存器來控制的.
輸入的時候,埠上所呈現的外部電路的狀態,就呈現在輸入寄存器里,用單片機的程序讀出來,就是表示該狀態的數據.比如說讀到了0xF0,就表示該埠的高4條IO處於高電平,低4條IO處於低電平.
同樣的,輸出的時候,就是單片機的程序將數據寫入到埠的輸出寄存器里,這樣就可以在對應的埠上呈現出對應的狀態,用於控制外部的電路.同樣的,比如說你輸出一個0x0F,就表示將該埠的高4條IO置為低電平,而低4條IO置為高電平.
當然,單片機的結構有很多種,有些單片機不分輸入和輸出寄存器,有些單片機也沒有控制寄存器,但也有很多單片機具有這些寄存器.
控制寄存器的作用,是配置埠的各種功能和模式.
比如說要將某埠的某幾條IO引腳設為帶弱上拉的輸入,那麼就應該打開弱上拉寄存器的對應幾bit,並且打開輸入輸出控制寄存器的對應幾bit,部分片子還需要關閉輸入狀態,這樣就將該埠的指定幾條IO引腳配置為了輸入狀態.而輸出的配置也類似,無非就是幾個寄存器的值不同.
配置好了之後,這些埠和這些IO就可以完成實際的輸入和輸出控制了.
如果是標準的MCS51單片機,例如AT89C51/52之類的,則埠要簡單得許多,沒有這么多的控制寄存器,也部分輸入和輸出寄存器.建議你找它們的用戶手冊仔細看看埠結構那一部分.
一般來說,這些資料要在"用戶手冊"中才有,普通的"數據手冊"裡面不一定有.
希望以上回答能讓你大致了解單片機是如何實現具體控制的了.
❿ 利用51單片機實現以下功能
這個可以用MSC51單片機來實現啊!
你是要做成 PCB板嗎?
可以和我們聯系啊
[email protected]
========================================
如果有不詳細的地方,請繼續提問!
軟體開發(VB / VC++/PLC/組態軟體)、單片機設計
松下伺服 PLC:
松下伺服:
MHMD082G1U+MCDHT3520
MHMD042G1U+MBDHT2510
西門子 觸摸屏 PLC 變頻器:
CPU224 CPU226 CPU313 CPU314 CPU315, SMART 1000
PRO-FACE觸摸屏:
三菱 PLC: FX1N FX2N /