版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
案例2單片機(jī)最小系統(tǒng)設(shè)計
01
用戶名:stu
密碼:stu2014.9.18單片機(jī)最小系統(tǒng)設(shè)計步驟硬件設(shè)計工具軟件:AltiumDesigner、DXP軟件設(shè)計工具軟件:KeiluVision調(diào)試萬用表示波器最小系統(tǒng)-硬件單元電路電源及其指示燈電路晶振電路復(fù)位電路ROM啟動選擇電路下載接口電路獨立按鍵電路發(fā)光二極管電路等電源及其指示燈電路電源接插件XH2.54KF2510KF7.62HT5.08DC電源插座壓線鉗發(fā)光二極管5mm、3mm直徑貼片發(fā)光管060308051206電阻1/4W立式電阻(碳膜、金屬膜)貼片電阻熱敏電阻壓敏電阻晶振電路時鐘:定時與控制部件晶振和電容組成的并聯(lián)諧振回路。晶振:1.2MHz~12MHz之間選擇(典型:6M、12M、11.0592M)電容:瓷片電容5~30PF調(diào)試單片機(jī)最小系統(tǒng)時,可用示波器測晶振波形(正弦信號)來判斷CPU是否已工作(正弦波)無源有源瓷片電容8051周期振蕩周期:指振蕩源的周期(石英晶體的振蕩周期)時鐘周期:(稱S周期)為振蕩周期的2倍機(jī)器周期:一個機(jī)器周期含6個時鐘周期,即12個振蕩周期。指令周期:完成一條指令占用的全部時間。805l的指令周期含1-4個機(jī)器周期機(jī)器周期:T=12/fosc若fosc=6MHz,則805l的:振蕩周期=1/6us;時鐘周期=1/3us;機(jī)器周期=2us;指令周期=2~8us。
復(fù)位電路為什么要復(fù)位?單片機(jī)死機(jī)時,需要復(fù)位;復(fù)位后CPU從地址0000H開始執(zhí)行程序。怎么復(fù)位?在RST輸入端出現(xiàn)高電平時實現(xiàn)復(fù)位和初始化。復(fù)位時RST引腳至少保持一定時間的高電平-高電平持續(xù)24個振蕩周期以上(6MHz-4us)。當(dāng)RST引腳返回低電平以后,CPU從地址0000H開始執(zhí)行程序,復(fù)位時晶振上無信號。6*6*5mm微動按鈕12*12*7mm微動按鈕復(fù)位電路復(fù)位電路上電復(fù)位(R=10k,C=10uFt=RC=100ms)手動復(fù)位看門狗自動復(fù)位看門狗監(jiān)控復(fù)位電路IMP705/706/813L為帶看門狗μP監(jiān)控電路。程序中要對813“喂狗”,若1.6秒內(nèi)沒有“喂狗”信號(P1.0),則813會自動產(chǎn)生信號對CPU復(fù)位。8051存儲器系統(tǒng)存儲器分類ROM:程序存儲器,放代碼AT89S51片內(nèi)(4K)片外最大64K(0000H~FFFFH)RAM:數(shù)據(jù)存儲器,放數(shù)據(jù)AT89S51片內(nèi)(256字節(jié))片外最大64K(0000H~FFFFH)8051的ROM與RAM采用獨立編址(地址會出現(xiàn)重疊)系統(tǒng)是通過控制信號PSEN#(ROM編程選擇使能)RD#(RAM讀控制)WR#(RAM寫控制)來區(qū)分對ROM還是RAM的操作ROM啟動選擇電路AT89S51單片機(jī)片內(nèi)含4KFlashROM地址范圍:000H~3FFH片外亦可擴(kuò)展到最大64K的ROM地址范圍:0000H~FFFFH8051單片機(jī)系統(tǒng)是從0H地址處開始運(yùn)行的,因此8051單片機(jī)設(shè)置了EA#(ExternalAddress外部地址)選通控制位EA#=0:用外部ROM啟動EA#=1:用內(nèi)部ROM啟動ROM(程序存儲器)ROM保留地址其它ROM地址RAM(隨機(jī)存儲器)低128字節(jié)(00H~7FH)RAM區(qū)高128字節(jié)(80H-FFH)特殊功能寄存器(SFR)的區(qū)8051有21個特殊功能寄存器,其它是預(yù)留,不能用于存儲數(shù)據(jù)具體見下頁805121個特殊功能寄存器(SFR)符號地址注釋符號地址注釋*ACCE0H累加器*P3B0H通道3*BF0H乘法寄存器PCON87H電源控制及波特率選擇*PSWD0H程序狀態(tài)字*SCON98H串行口控制器SP81H堆棧指針SBUF99H串行數(shù)據(jù)緩沖器DPL82H數(shù)據(jù)存儲器指針(低8位)*TCON88H定時器控制DPH83H數(shù)據(jù)存儲器指針(高8位)TMOD89H定時器方式選擇*IEA8H中斷允許控制器TL08AH定時器0低8位*IPD8H中斷優(yōu)先控制器TL18BH定時器0高8位*P080H通道0TH08CH定時器1低8位*P190H通道1TH18DH定時器1高8位*P2A0H通道2*:表示該SFR可以位尋址8051單片機(jī)程序下載編程器方式ISPInSystemProgram在系統(tǒng)編程IAPInApplicationProgram在應(yīng)用編程:通過RS232、CAN、以太網(wǎng)等ISP下載接口電路ByteBlasterII并口下載實驗室臺式機(jī)參閱\Isplay1.3\ISPlay使用手冊.pdfAVRISPUSB下載學(xué)生筆記本參閱\progisp168\USB-ASP使用說明.docFC10P壓線頭DC10P簡易牛角座IDC壓線鉗輸入檢測電路1-獨立按鍵電路高電平有效低電平有效輸入檢測電路2-大信號輸入工程應(yīng)用中,很多開關(guān)量輸入信號為12V或24V,要傳入MCU,應(yīng)將對應(yīng)信號轉(zhuǎn)換成MCU的匹配電平,可采用電阻分壓或光耦方式實現(xiàn),具體電路見下:電路1:電阻分壓電路(74HC14:六施密特反相器)輸入檢測電路2-大信號輸入若輸入信號為12V或24V的開關(guān)信號,要傳入MCU,應(yīng)將對應(yīng)信號轉(zhuǎn)換成MCU的匹配電平,可采用電阻分壓或光耦方式實現(xiàn),具體電路見下:電路2:光耦電路開關(guān)量輸出控制電路1-發(fā)光二極管電路上拉接法(典型)低電平驅(qū)動下拉接法高電平驅(qū)動開關(guān)量輸出控制電路2-大信號輸出工業(yè)現(xiàn)場的開關(guān)量通常是12V或24V,而MCU輸出一般為5V或3.3V,因此需要加驅(qū)動電路。具體方法可采用三極管或集成達(dá)林頓管驅(qū)動。繼電器驅(qū)動電路開關(guān)量輸出控制電路2-大信號輸出工業(yè)現(xiàn)場的開關(guān)量通常是12V或24V,而MCU輸出一般為5V或3.3V,因此需要加驅(qū)動電路。具體方法可采用三極管或集成達(dá)林頓管驅(qū)動。達(dá)林頓管驅(qū)動8051I/O口8051單片機(jī)有4組8位P0P1P2P3每個端口可作為輸入或輸出字節(jié)操作位操作(位尋址)部分端口除I/O功能外的第二功能P0AD7~AD0低8位地址總線/8位數(shù)據(jù)總線分時復(fù)用P2A15~A8高8位地址總線P3RXD、TXD、INT0#、INT1#T0、T1、WR#、RD#8051I/O讀寫操作字節(jié)操作#include“reg51.h”//sfrP1=0x90;讀字節(jié)unsignedchara;a=P1;//讀8位a=P1&0x01;//讀1位a=P1&0x0f;//讀4位寫字節(jié)P2=0x01;//寫8位常量P2=a[i];//寫8位數(shù)組元素P2=P2|0x01;//對P2.0置1P2=P2&0x0f;//對P2高4位清0,低4位保持不變位操作sbitP1_0=P1^0;//必須先定義位讀位bdatamy_byte=0x20;sbitmy_bit=my_byte^0;或bitmy_bit=0x00;my_bit=P1_0;if(my_bit==1){;}if(P1_0==1){;}寫位P1_0=1;P1_0=0;P1_0=~P1_0;端口輸出控制-字節(jié)操作方式#include"reg51.h"#defineDELAY1000voiddelay(unsignedintn){ unsignedinti; for(i=0;i<n;i++) ;}voidmain(){ P2=0x7f; delay(DELAY_1S); P2=0xBf; delay(DELAY_1S); P2=0xDf; delay(DELAY_1S); P2=0xEf; delay(DELAY_1S); P2=0xF7; delay(DELAY_1S); P2=0xFB; delay(DELAY_1S); P2=0xFD; delay(DELAY_1S); P2=0xFE; delay(DELAY_1S);}問題:1、8狀態(tài)完成后程序結(jié)束,應(yīng)該加死循環(huán)while(1);2、低電平有效時,16進(jìn)制數(shù)據(jù)書寫較繁瑣,可采用位取反“~”實現(xiàn);3、8組語句可采用通過數(shù)組,用循環(huán)實現(xiàn),以簡化程序。具體方法見下頁端口輸出控制-字節(jié)操作方式while內(nèi)嵌for語句voidmain(){ unsignedchard[8]={0x80,0x40,0x20,0x10, 0x08,0x04,0x02,0x01}; unsignedchari; while(1) { for(i=0;i<8;i++) { P2=~d[i]; delay(DELAY_1S); } }}while內(nèi)嵌if語句voidmain(){ unsignedchard[8]={0x80,0x40,0x20,0x10, 0x08,0x04,0x02,0x01}; unsignedchari; i=0; while(1) { P2=~d[i]; delay(DELAY_1S); i++; if(i==8) i=0; }}問題:1、程序中數(shù)組d與變量i為什么要用unsignedchar類型定義?2、左右程序執(zhí)行一次while循環(huán)各用多少時間?采用哪種方式更好?為什么?3、若要改變循環(huán)移動方向,程序應(yīng)如何修改?端口輸出控制-字節(jié)操作方式循環(huán)左移改為循環(huán)右移voidmain(){ unsignedchard[8]={0x80,0x40,0x20,0x10, 0x08,0x04,0x02,0x01}; unsignedchari; i=0; //i=7; while(1) { P2=~d[i]; delay(DELAY_1S); i++; //i--; if(i==8) //if(i==-1) i=0; //i=7 }}觀察Proteus仿真效果voidmain(){ unsignedchard[8]={0x80,0x40,0x20,0x10, 0x08,0x04,0x02,0x01}; chari; i=7; while(1) { P2=~d[i]; delay(DELAY_1S); i--; if(i==-1) i=7; }}問題原因:1、unsignedchari;i是不可能為負(fù)的,因此應(yīng)修改為chari;端口輸出控制-位操作方式注意sbit定義位必須在源程序的上方必須在函數(shù)外該程序的最終執(zhí)行效果如何?顯然本例用字節(jié)方式輸出更方便端口輸入檢測-字節(jié)操作方式voidmain(){ while(1) { if(P1&0x01==0) //S0按下 { //循環(huán)左移 } elseif(P1&0x02==0) //S1按下 { //循環(huán)右移 }
}}8051輸入S0(P1.0)S1(P1.1)有效電平:低電平,即只要判斷P1.0、P1.1是否為低電平即可字節(jié)輸入方式判斷存在的問題:關(guān)系運(yùn)算符(==)比位與運(yùn)算符(&)的優(yōu)先級高端口輸入檢測-位操作方式voidmain(){ while(1) { if(S0==0) //S0按下 { //循環(huán)左移 } elseif(S1==0) //S1按下 { //循環(huán)右移 }
}}8051輸入,首先定義sbitS0=P1^0; //位定義sbitS1=P1^1; //位定義有效電平:低電平,即只要判斷P1.0、P1.1是否為低電平即可位輸入方式判斷對于按鍵判斷,顯然位方式輸入更簡單延時1秒實現(xiàn)#defineDELAY_1S10000采用宏定義設(shè)置1S延時常數(shù),根據(jù)實際運(yùn)行效果改變其值,達(dá)到粗略的運(yùn)行效果。延時函數(shù)定義voiddelay(unsignedintn){ unsignedinti; for(i=0;i<n;i++) ;}其形參數(shù)值范圍為0~65535,采用循環(huán)空語句方式實現(xiàn)延時。延時函數(shù)調(diào)用delay(DELAY_
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年煙酒批發(fā)業(yè)務(wù)協(xié)議模板
- 2025年獸用生物制品項目提案報告模板
- 2025年汽車大燈項目規(guī)劃申請報告
- 2025年水電自動化項目提案報告模式
- 開學(xué)軍訓(xùn)心得體會15篇
- 入職的邀請函八篇
- 2021年度社團(tuán)活動個人總結(jié)【十二篇】
- 個人述職報告怎么寫【12篇】
- 昆蟲記讀書筆記6篇
- 活動計劃模板七篇
- 供應(yīng)鏈年終總結(jié)報告
- 體育訓(xùn)練服務(wù)行業(yè)市場調(diào)研分析報告
- 2025年八省聯(lián)考新高考 語文試卷
- 山東省東營市(2024年-2025年小學(xué)四年級語文)統(tǒng)編版期末考試(上學(xué)期)試卷及答案
- 期末+(試題)+-2024-2025學(xué)年重大版英語五年級上冊
- 新能源汽車案例之吉利EV450無法上電的故障診斷與排除
- 村里廟會募捐倡議書
- 自控系統(tǒng)操作說明
- 2024年俄羅斯反沖洗過濾器行業(yè)應(yīng)用與市場潛力評估
- 餐飲采購合同樣本
- DL∕ Z 860.2-2006 變電站通信網(wǎng)絡(luò)和系統(tǒng) 第2部分:術(shù)語
評論
0/150
提交評論