學(xué)習(xí)-單片機(jī)應(yīng)用基礎(chǔ)_第1頁
學(xué)習(xí)-單片機(jī)應(yīng)用基礎(chǔ)_第2頁
學(xué)習(xí)-單片機(jī)應(yīng)用基礎(chǔ)_第3頁
學(xué)習(xí)-單片機(jī)應(yīng)用基礎(chǔ)_第4頁
學(xué)習(xí)-單片機(jī)應(yīng)用基礎(chǔ)_第5頁
已閱讀5頁,還剩245頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

單片機(jī)應(yīng)用基電子信息: 單片機(jī)學(xué)教學(xué)目①了解單片機(jī)的基本結(jié)構(gòu)和工作②掌握單片機(jī)輸入輸出的C51③激發(fā)熱情、培 、打扎基課程特課程特點(diǎn)和基礎(chǔ)知識(shí)多(電分、數(shù)電,C語言看書、上課、筆記課外閱Keil、Proteus、參考資張毅剛,單片機(jī)原理及應(yīng)用,高等 周立功,單片機(jī)實(shí)驗(yàn)與實(shí)踐, 及6.宏晶科技,課程考平課程考①考勤②作業(yè)③實(shí)驗(yàn)期末成績(jī):60時(shí)間安時(shí)間安班17電信B(理論17光電(理論17無線(理論

星期厚

星期厚

星期厚學(xué)習(xí)是快樂

什么是痛苦Geniusisonepercentinspirationandninety-ninepercentperspiration.Accordingly,a‘genius’isoftenmerelya whohasdoneallofor 11KEILPROTEUS仿真應(yīng)用1計(jì)算1微 微處理器單片機(jī)SCMsinglechip MCUmicrocontrollerunit仿真器emulator,嵌入式計(jì)embedded1.1年月日, 彈彈道時(shí)鐘:100KHz,速度:5000次加法/秒。1.11.11.11.11946年6·諾依曼提出了“”和“二進(jìn)制運(yùn)算”的思想,構(gòu)建了計(jì)算機(jī)由運(yùn)算器、控制器、器、輸入設(shè)備和.器 1.11.1﹡電子管計(jì)﹡晶體管計(jì)﹡集成電路﹡大規(guī)模集成電路計(jì)算﹡超大規(guī)模集成電路1.1 序和數(shù)據(jù),另 成了運(yùn)算器和控制

4004微處理1.1微型計(jì)算機(jī)系微微處理 器+I/O接口微微型計(jì)算機(jī)(主板微微型計(jì)算機(jī)系1.1單板機(jī)系微微處理 器+I/O接口+鍵盤顯單單板機(jī)1.1微處理微處理 器+I/O+鍵盤顯單單片機(jī)系微型計(jì)算

{通用微型計(jì)算

微控制器1.11.1嵌入式計(jì)算

微處理器數(shù)字信號(hào)處理器1.1嵌入式系定義:嵌入到對(duì)象體系中的計(jì)算機(jī)系統(tǒng)或三要素:計(jì)算機(jī)、嵌入型 性特點(diǎn):實(shí)時(shí)性,性和可裁減性,安全性和應(yīng)用模式:設(shè)備級(jí),板級(jí),級(jí),SoC1.1﹡ATMEL公司融入 器技術(shù)的AT89系列﹡Philips公司的80C51、80C552系列﹡華邦公司的W78C51、W77C51高速低價(jià)系﹡ADI公司的ADμC8xx高精度ADC系列﹡LG公司的GMS90/97低壓高速 公司的DS89C420高速(50MIPS)系列﹡Cygnal公司的C8051F系列高速SOC1.1提供了更為廣泛的選擇空年來推出 的MCS-96系列16﹡Microchip的PIC系列RISC單片機(jī)﹡TI的MSP430F系列16位低功耗單片機(jī)1.1結(jié)構(gòu)上突出①對(duì)I/O端口直接進(jìn)行 ③可靠性非1.1計(jì)算V.S.數(shù)字電1.1程序控制復(fù)雜運(yùn)算:運(yùn)算+①價(jià)②品種型③引④體積⑤功耗⑥多IO接口模塊:I/O口、ADC、WDT、ISP、IAP等部單片機(jī)的應(yīng)①智能儀器②機(jī) 產(chǎn)③實(shí)時(shí)工業(yè)④分布式系統(tǒng)的前端⑤家用①機(jī)器機(jī)器唯一使用語言,其他語言要轉(zhuǎn)②匯編語符號(hào)語言,面相機(jī)③高級(jí)淡化機(jī)器,面向過程,面向Keil集成開發(fā)環(huán)KeilC51是用于80C51單片機(jī)的C51語Keil集成開發(fā)環(huán)Keil集Keil集成開發(fā)編輯窗工程輸出窗Keil 編輯文件并加入到工程。編“0Errors,0動(dòng)態(tài)調(diào)Keil集Keil集成開發(fā)程序寄存器窗觀察窗1.41.4PROTEUS英國(guó)LabCenterElectronics公司1989信號(hào)源和示波器等測(cè)試1.4PROTEUS1.4PROTEUS1.4PROTEUS1.4PROTEUS例例1-1在單片機(jī)的P1端口的每個(gè)管腳分別連接1個(gè)199 P2 12345678 P10P1P13P1P16 P3.2/ P3.3/ P3 #includevoiddelayms(unsignedint);voidmain(void) unsignedchari,ch;

頭文//延時(shí)若干{單片機(jī)

//8個(gè)LED初始狀態(tài)//8個(gè)LED狀態(tài)送到P1//8個(gè)LED狀態(tài)左移1 //延時(shí)1000}}}voiddelayms(unsigned{unsignedinti,j;}程序區(qū)①頭②輸入輸出,端口(管腳CH1單片機(jī)是怎樣的一 ,與計(jì)算機(jī)的區(qū)別是什么單片機(jī)的資源都有KEIL開發(fā)環(huán)境的應(yīng)用步驟是在單片機(jī)P1.1管腳上接1個(gè)LEDLED每隔1秒亮1次,時(shí)鐘頻率為12MHz謝謝大 80C51的基本80C5180C51 器組中斷系80C51的基本吃什么 有什么菜喜歡:現(xiàn)金,不動(dòng)產(chǎn),古董,債券,,運(yùn)作?2.180C512.180C51復(fù)控2.180C512.180C51 外部時(shí) 內(nèi)部時(shí)80C51外部時(shí)鐘方式2.180C512.180C51內(nèi)部時(shí)鐘方式①1.2-12MHz2.180C512.180C51機(jī)器周期機(jī)器周期S1S2S3S4S5S6振蕩器晶振周期P180C51分頻器P2時(shí)鐘周期(S狀態(tài)1機(jī)器周期=12晶振周期或1S狀態(tài)=2個(gè)時(shí)鐘周期,兩個(gè)節(jié)拍指令周期:指令的執(zhí)行時(shí)間(1,2,4)2.180C512.180C51機(jī)器周期TM=12T0;(M:machine指令周期TI=nTM,(n=1,2,4)。2.180C512.180C51冷啟動(dòng)上電復(fù)位2.180C512.180C51;滿足RST時(shí)間要;2.180C51單片機(jī)2.180C51的內(nèi)容;(Program特殊功能寄存器復(fù)位后的狀態(tài)是確定的

(StackPointer)IP、IE和PCON的有效位為

SFR21個(gè)I/O全雙

24

RSTEAALECentralProcessing

2.22.2Vcc

P0.0 ~

EA

PSEN

P2.7 ~RAM地址寄存器

P2P2口驅(qū)動(dòng)器地址寄存器

P0口驅(qū)動(dòng)器

程序程序計(jì)數(shù)器PC緩沖128/緩沖

4K/8K字節(jié)

P0口鎖存器

譯碼及控制邏輯指令寄存器IR

P2口鎖存器B P1口鎖存器 BP1口鎖存器棧指針SPP3口鎖存器PSW暫存器暫存器PSW暫存器暫存器T2TCONTMODT2RCAP2RCAP2L串口、中斷及定時(shí)/計(jì)數(shù)PCON

振蕩器P1口驅(qū)動(dòng)器P1口驅(qū)動(dòng)器P3口驅(qū)動(dòng)器P1.0 ~ RST P3.0 ~ XTAL XTAL

Vss2.22.2運(yùn)算器由ALU(ArithmeticLogicUnit),③程序狀態(tài)字寄存器匯編C51一般不處理二由指令寄存器IR(InstructionRegister),指令譯ID(InstructionDecoder),定控制器由系

身身

P0.0~

PSENP2.7~P2口驅(qū)動(dòng)器P0P2口驅(qū)動(dòng)器P0口驅(qū)動(dòng)器RAM地址寄存器

ROM程序程序計(jì)RAM128/256

暫存器暫存器

RO4K8K

P0口鎖存器

譯碼及控制邏輯指令寄存器IR

P2口鎖存器B P1口鎖存器BP1口鎖存器棧指針P3口鎖存器暫存器T暫存器T2MOTCOTMOT2COTHRCAP2THSCORCAP2TH中斷及/PCO

振蕩器P1口驅(qū)動(dòng)器P1口驅(qū)動(dòng)器P3口驅(qū)動(dòng)器P1.0~

P3.0~P3.7XTAL2

三、其他寄DPTR:DPH+DPL( 器指針80C51 器組98421

22*4bit(接為1不接為

80C51 器組7880C51 器組 ①內(nèi)部ROM4K字節(jié)②片外ROM:64K,③內(nèi)部RAM:128字節(jié)④片外RAM:64K⑤SFR特殊功能寄存器21硬件連接、指令不一普林斯2.380C51的 硬件不一樣,軟件無區(qū)32個(gè)字16個(gè)字80個(gè)字2.332個(gè)字16個(gè)字80個(gè)字工作工作寄存器區(qū)位尋址區(qū)通用RAM增強(qiáng)型附加空間間接尋址SFR直接尋址

節(jié)節(jié)節(jié)節(jié)

0000H外部外部(I/O)片內(nèi)128字節(jié)

硬件不一樣,軟件2.380C51 器組 0x00-0x1F:工作寄存0x20-0x2F:位尋址0x30-0x7F:通用0x80-0xFF:附加空間

工作工作寄存器區(qū)位尋址區(qū)通用增強(qiáng)型附加空間間接尋址SFR直接尋址FF2.380C51 器組2.位尋址區(qū)(片內(nèi)字節(jié)地位地F2.380C51 器組4.0x80-0xFF之間的部分地址單元。21個(gè)2.380C51 器組與運(yùn)算器相關(guān)3指針類3與中斷相關(guān)2

與定時(shí)/計(jì)數(shù)器相關(guān)6字節(jié)位地---B2.380C51 器組C51變量 器類對(duì)應(yīng)單片機(jī)位尋址區(qū),共128內(nèi)部直接尋址,共128字節(jié)間接尋址,共256字節(jié)分頁間址,共256字節(jié)外部間接尋址,共64k字節(jié)間接尋址,共64k字節(jié)unsignedintxdatadata(00-普通變

2.380C51 器組bdata(20-位idata(00-code2.380C51 器組①四個(gè)I/O端口②32個(gè)引腳,可以單獨(dú)使④多功能復(fù)2.380C51器組其它功驅(qū)動(dòng)(TTL門準(zhǔn)雙上拉√√地址/8√×無4√×地4√×第二42.380C51 器組P3.1:TXD(串行口輸出);P3.3/INT1(外部中斷1輸入);P3.5:T1(定時(shí)器1的外部輸入P3.6:/WR(片外數(shù) 器寫P3.7:/RD(片外數(shù) 器讀)2.380C51 器組應(yīng)用

向端口輸出數(shù)從端口輸入數(shù)2.380C51 器組DataBusControlBusDataBusControlBus分時(shí)復(fù)charxdatay_at_0x2000;2.380C51 器組9842180C51 器組總線型應(yīng)用,片外2.42.480C51中斷系統(tǒng)的CPU進(jìn)行工作A時(shí)發(fā)生了事件B,請(qǐng)求CPUCPU暫時(shí)中斷當(dāng)前工作A,轉(zhuǎn)去處理事件事件B處理完后,回到工作A被中斷的地方繼續(xù)處理A??利用率可靠性與函數(shù)調(diào)用中斷系5個(gè)中斷源,2個(gè)優(yōu)先級(jí),兩級(jí)嵌套

IT010110

EX0ET01EX11

EA

PX00PT00PX10

ET1ES

PT10PS0

先 信 2.42.4中斷①外部中斷②T0溢出中斷③外部中斷④T1溢出中斷⑤串行口中斷(RI或

2.4中斷系中斷規(guī)①高級(jí)中斷可以打斷低級(jí)中斷②低級(jí)中斷不能打斷同級(jí)和高級(jí)中斷服③系統(tǒng)在執(zhí)行有關(guān)中斷寄存器修改時(shí)不中斷①中斷初②中斷服務(wù)CH21.單片機(jī)系統(tǒng)復(fù)位常見的有哪幾種方法?繪出其 3C513C51程序C51的程序結(jié)C51的指C51程序采用C51的優(yōu)①編譯器能自動(dòng)完成變量 單元的分②常用功能模塊和算法函數(shù),方C51①編寫源②建立工程,加入源程③編譯產(chǎn)生④仿真調(diào)試、 C513C51程序C51C51C51浮動(dòng)目標(biāo)碼模塊列表文件浮動(dòng)目標(biāo)碼模塊列表文件絕對(duì)定位目標(biāo)碼文件映像文件絕對(duì)定位目標(biāo)碼文件映像文件硬件仿真器硬件仿真器3C51程序例1-1在單片機(jī)的P1端口的每個(gè)管腳分別連接1個(gè)LED,如圖1-6所

●●●●●●●● 9

P2 00000001

P1 P1 P1 P1 P1

P3.2/ P3.3/ P3

C51程序#includevoiddelayms(unsignedint);voidmain(void) unsignedchari,ch;

頭文 函//延時(shí)若干毫秒的主函{單片機(jī)

//8個(gè)LED初始狀態(tài)//8個(gè)LED狀態(tài)送到P1//8個(gè)LED狀態(tài)左移1 //延時(shí)1000}}}C51程序voiddelayms(unsignedint{

函數(shù)定unsignedinti,j;}程序區(qū)②輸入輸出,端口(管腳C51數(shù)據(jù)類長(zhǎng)度(位取值范字符signed8數(shù)據(jù)類長(zhǎng)度(位取值范字符signed8-unsigned8短整signedshort-unsignedshortsigned-unsigned長(zhǎng)整signed-unsigned浮點(diǎn)0,1.7E-38~3.4E+38(絕對(duì)值bit(位器區(qū)1183.1C51①盡可能采用3.1C51分配地址(RAM的0x20~0x2F區(qū)域)的0x20~0x2F區(qū)域)3.1C513.1C51/*BITRegister/*#ifndef /* sbit=#define sbit =sbit=/*BYTERegistersbit =sbit=sfr =sbit =sbit=sfr =sbitRS1=sbit=sfr =sbitRS0=/*P3sfr =sbit =sbit=sfrPSW=sbit =sbit=sfrACC=/*TCONsbit=sfr =sbitTF1=sbit=sfr=sbit=sbitINT1=sfr=sbit=sbitINT0=sfrDPH=sbit=sbitTXD=sfrPCON=sbit=sbitRXD=sfrTCON=sbit=/*SCONsfrTMOD=sbit=sbitSM0=sfrTL0=sbit=sbitSM1=sfrTL1=/* sbitSM2=sfrTH0=sbit=sbitREN=sfrTH1=sbit=sbitTB8=sfr =sbit=sbitRB8=sfr =sbit=sbit =sfrSCON=sbit=sbit =sfrSBUF=sbit=3.1C513.1C51整型常量十進(jìn)制整數(shù):1,-八進(jìn)制整數(shù)小數(shù)形式指數(shù)形式:2.3e5,4.5E-字符、字符 e”const數(shù)據(jù)類型標(biāo)識(shí)符=常量;#define 標(biāo)識(shí)符常量C51an1an2

十進(jìn)d a0,1,2 ,

d a

八進(jìn)d a0,1,2 ,

十六d a0,1,2 ,9,a,b,c,d,e, 3.1C513.1C51十進(jìn)二進(jìn)八進(jìn)十六進(jìn)0001112223334445556667778899ABCDEF3.1C51除被3.1C51除被除余2222202312110101d=110101d=110十進(jìn)制整數(shù)→二(十六)進(jìn)制數(shù)1位十六進(jìn)制數(shù)對(duì)應(yīng)43.1C513.1C51)。地內(nèi)a3.1C51舉3.1C51舉例說明C51中數(shù)據(jù) charch1

signedint unsignedint floatf1,f2,f3,f4;3.1C513.1C51;浮點(diǎn)0,1.17E-38~3.4E+38(絕對(duì)值}3.1C51兩個(gè)位“&”運(yùn)算:結(jié)果為一位,“見0為0,否則為1”。兩個(gè)整&”運(yùn)算:結(jié)果為整數(shù),它們的二進(jìn)制形式的常用于對(duì)指定的位清零及檢測(cè)某二進(jìn)制位的值是1還是0 3.1C513.1C51可用于指定某些位為1D7D6 111D7D6 1113.1C513.1C51兩個(gè)整^”運(yùn)算:結(jié)果是一個(gè)整數(shù),是對(duì)它們二進(jìn)制可以令某些位反相(0?1) 110001 01 3.1C513.1C51變”。?。01101001100101103.1C51左移運(yùn)算符 移一位相當(dāng)于乘以2。比如a的值為15( “a=a<<1;”后,a變成了30(00011110B)。 0 0 11

3.1C51右移運(yùn)算符3.1C51使整型表達(dá)式值二進(jìn)制形式中的每一位7(0000。00001111000001113.1C51C51變量 器類器類對(duì)應(yīng)單片機(jī)位尋址區(qū),共128內(nèi)部直接尋址,共128字節(jié)間接尋址,共256字節(jié)分頁間址,共256字節(jié)外部間接尋址,共64k字節(jié)間接尋址,共64k字節(jié)unsignedintxdatadata(00-普通code查表

bdata(20-3.1C513.1C51idata(00-數(shù)3.1C51經(jīng)常使用的變量:片內(nèi)RAM不經(jīng)常使用或規(guī)模較大的變量:片外RAM模器類 小模式認(rèn)在片內(nèi)RAM緊湊模式。默認(rèn)在片外RAM大模式認(rèn)在片外RAM3.1C513.1C51intintdataintbdatai2=2;intidatai3=3;intpdatai4=4;intxdataintcodei6=0x06;inti7=7;}

3.1C51種 變量的作用域:指程序的一個(gè)范圍,范圍內(nèi) 3.1C51最簡(jiǎn)單,常數(shù)值量列表

特殊說數(shù)值類型 多文件,靜態(tài)externunsignedchardatax,y,z;staticcharxdataa,b,c;3.2C51ABCD3.2C51ABCDE語句elseif(條件表達(dá)式2)語句…

if(x>=90)ch=??;elseifelseif(條件表達(dá)式seif

語句語句

elseif(x>=60)ch=?D?;elsech=?E?;3.2C513.2C51switch(表達(dá)式 case常量表達(dá)式1:語句case常量表達(dá)式2:語句… case常量表達(dá)式n:語句default:語句}根據(jù)表達(dá)式的值,選擇相應(yīng)的語句i支路3.2C513.2C51AE casex=?;brak;case8:x=?B?break;case7:x=?C?break;x=?D?break;default:x=?E;}3.2C51while語3.2C51循環(huán)條(條件表循環(huán)條語循環(huán)條循環(huán)條語while(條件表達(dá)式3.2C513.2C51循環(huán)條循環(huán)條3.3C51地p內(nèi)a地3.3C51地p內(nèi)a地內(nèi)pchara,把a(bǔ)的地址賦給了指針變量pp指向了變量achara,*p=&a;//指針的初始化

3.3C51數(shù)據(jù)類型[指 器類型]*[指 char*xdata 器類bdata/data/編器類bdata/data/編3.3C51char*xdata指針本身存于xdata空間,它指向charint*data指針本身存于data空間,它指向int由于指向?qū)ο蟮目臻g在編譯時(shí)無法確定(運(yùn)3.3C51voidmain(){//通用指 intidatainti1=123;datainti2=234;xdatainti3=345;}3.3C51基 器的指數(shù)據(jù)類型[指向 器類型]*[指針 指針占1個(gè)字節(jié)(idata*,data*,pdata*)或2個(gè)字節(jié)(code*,xdata*)chardata指針指向data區(qū)charintxdata 器空間,運(yùn)行速度快,但它所指對(duì)象具有定 器空間,兼容性不好3.3C51 chardata*xdatastr在xdata空間,指向data區(qū)的char型數(shù)intxdata*datanum在data空間,指向xdata區(qū)的int型數(shù)據(jù)longcode*idatapow在idata空間,指向code區(qū)的long型數(shù)C51void{intdata//data區(qū)變量int*data//區(qū)一般指針intdata//指向data區(qū)的指針intxdata//xdata區(qū)變量intxdata*data//data區(qū)指針指向xdata區(qū)intdata*xdata//xdata區(qū)指針指向data區(qū)//一般指針指向任意//指向data區(qū)//一般指針指向任意//指向xdata區(qū)//指向data區(qū)//pp1指向//different}//differentR3.3C51將程序區(qū)十六個(gè)字符R3.3C51void charcodearray[]=“012chardata*pp1=0x30;charcode*pp2=array;unsignedchari;{}}C51將程序區(qū)十六個(gè)字符送到內(nèi)部RAM30H開始的chardatapp1[16]_at_0x30;unsignedchari_at_0x50;voidmain()

絕對(duì)地址,全局變 charcodearray[]=" charcode*pp2=array;{}}3.3C51將程序區(qū)十六個(gè)字符送到內(nèi)部RAM30H開3.3C51#includevoidmain()

絕對(duì)地址頭 charcode charcode*pp2=array;unsignedchari;{使用使用}}3.3C51將9個(gè)無符號(hào)單字節(jié)數(shù)的和放在內(nèi)3.3C51#includeunsignedcharsum_at_0x40;voidmain() 絕對(duì)unsignedchari; 程序缺陷?修改3.3C51絕對(duì)地址3.3C51unsignedcharsum_at_0x40;unsigned *p=0x30;//XBYTE[地址DBYTE[地址Theabsacc.hincludefilecontainsdefinitionsformacrosthatallowyoutodirectlyaccessthedifferentmemoryareasofthe8051.3.4C513.4C51[編譯模式[reentrant[interruptm][using{函數(shù)} usingn:確定工作寄存器組,取值為0~3C51參數(shù)①主調(diào)函數(shù)要向被調(diào)函數(shù)傳遞②傳遞給被調(diào)函數(shù)的數(shù)據(jù)稱為實(shí)際參數(shù),即實(shí)③實(shí)參向形參的傳遞是單向④參數(shù)傳遞可以采用寄存器、固 器位置方寄存器參數(shù)傳遞的參char、1字節(jié)指int、2字節(jié)指long、一般指參數(shù)R6、R1、R2、參數(shù)R4、R1、R2、參數(shù)R2、R1、R2、C51固 器位置參數(shù)傳3.4C51中斷函數(shù)3.4C51void函數(shù)名(void)interruptm[using{函數(shù)}中斷外中斷定時(shí)器外中斷定時(shí)器串行m01234單片機(jī)輸出應(yīng)信號(hào)4.1LED顯示4.1LED顯示8個(gè)LED與單片機(jī)如多個(gè)數(shù)碼管怎么控制4.1LED顯示4.1LED顯示8個(gè)LED與單片機(jī)如1秒間隔如何實(shí)現(xiàn)D1R1390RLE高電平(5V,1)點(diǎn) 低電平(0V,0)點(diǎn)4.1LED顯示例4-1在單片機(jī)的P1端口的每個(gè)管腳分別連接1個(gè)LED,如圖1-6所4.1LED顯示●●●●●●●●●●●●●●●●00000001●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●1919189 P2 12345678 P10P1P13P1P16 P3.2/ P3.3/ P3 ●●●●●●●●4.1LED4.1LED顯示i++,chi++,ch左移,延時(shí)i=0,ch=LEDNY輸出狀態(tài)值到頭文4.1頭文4.1LED顯示voiddelayms(unsignedint);voidmain(void) unsignedchari,ch;

//延時(shí)若干毫秒的{單片機(jī)

//8個(gè)LED初始狀態(tài)//8個(gè)LED狀態(tài)送到P1//8個(gè)LED狀態(tài)左移1 //延時(shí)1000}}}4.1LED顯示void4.1LED顯示{unsignedinti,j;}程序區(qū)②輸入輸出,端口(管腳 aafgbecdhafgbecdh g g

afgbeafgbecdhaabcdefgh編0111111001100211011010311110010401100110510110110610111110711100000811111110911110110A11101110b00111110C10011100d01111010E10011110F10001110g g 點(diǎn)亮熄滅afgbeafgbecdhahgfedcba編0001111110011201011011301001111401100110501101101601111101700000111801111111901101111A01110111b01111100C00111001d01011110E01111001F01110001g g 點(diǎn)亮熄滅1.共陰極(1點(diǎn)) 列g(shù))g 4.abcdefgh排列 d共Pabcdefgh編11001110共Pa共Pabcdefgh編00110001共Phgfedcba編01110011g g共Ph共Phgfedcba編10001100d符編hgfedcba000111111100000110201011011301001111401100110501101101601111101700000111801111111901101111A01110111b01111100C00111001d01011110E01111001F01110001例例4-2使用80C51單片機(jī)和兩個(gè)獨(dú)立的數(shù)碼管進(jìn)912345678P3.5/T1i++,i++,延時(shí)NYvoid unsignedchari,i2,i1; //無限循

00-//00~99//十位提//個(gè)位P2=~tubecode[i2];//十位顯示P3=~tubecode[i1];//個(gè)位顯示,共陽 //延時(shí)1秒} 反}8050.. 19

P0.0/AD039P0.1/AD1P0.2/AD2

P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD7P2.0/A8 6 6

P3.5/T1

22 23 24 25 26 27 28 8050..1、什么是動(dòng)態(tài)2、如何實(shí)現(xiàn)動(dòng)態(tài)顯3、位選擇怎么實(shí)4、段顯示怎么實(shí)5、個(gè)十百千位的6、小數(shù)點(diǎn)顯示 unsignedchari4,i3,i2,i1,j;unsignedinti;

0000- //無限循

//0000-9999//千位提//百位提//十位提//個(gè)位提 P2=~tubecode[i4千位段輸

//千位位控//延時(shí)//P2=~tubecode[i3百小數(shù) //十位小數(shù)P2=~tubecode[i1];//個(gè)位段輸}}}}1

74HC

1

23456789

234567892345678911 912345678

P10P1P13P1P16

234562345678923456789 P35 P36/WR

331212

664545

88

99數(shù)碼管2D0Q0D1Q1D2Q2D3Q36D4Q4D5Q5D6Q6D7Q71OEunsignedintxdatapa4_at_0x8000;unsignedintxdata

//個(gè)位數(shù)碼管地//十位數(shù)碼管地 unsignedchari1,i2,i3,i4;unsignedintpa2=0x2000;unsignedintpa1=0x1000;unsignedinti; P2.4=1,P2.4=1,P2.7=1,

//百位數(shù)碼管地//千位數(shù)碼管地//無限循//0000-9999//千位提//百位提//十位提//個(gè)位提1000}}}

XBYTE[pa1]=~tubecode[i1];//千位鎖存XBYTE[pa2]=~tubecode[i2];//百位鎖存pa3=~tubecode[i3];//十位編碼鎖存pa4=~tubecode[i4];//個(gè)位編碼鎖存 機(jī)器期脈

外部

①THi+Tli:加1計(jì)數(shù)器(16位②TMOD:工作方式寄存器,確定工作方式③TCON:控制寄存器,控制啟動(dòng)和停止,標(biāo)志 定時(shí)/計(jì)數(shù)器初①確定Ti的工作方式,設(shè)置②計(jì)算初值,并將其寫入TH0、TL0、TH1、③設(shè)置中斷優(yōu)先權(quán)PT0、④啟動(dòng)定時(shí)/計(jì)數(shù)器,設(shè)置TR0、⑤中斷允許,設(shè)置ET0、ET1,EA工作方式寄存器

信號(hào)產(chǎn)

字節(jié)地C//T:定時(shí)/計(jì)數(shù)模式選C//T=0為定時(shí)模式;C//T=1為計(jì)數(shù)模式GATE:門控GATE=0時(shí),只要TRi=1,就可以工GATE=1時(shí),要同時(shí)使TRi=1,/INTi=1 M1M0:工作方式設(shè)工作 方式13位定時(shí)/計(jì)數(shù)方式16位定時(shí)/計(jì)數(shù)方式8位自動(dòng)重裝定時(shí)/計(jì)數(shù)方式 計(jì)數(shù)脈沖的兩個(gè)來①機(jī)器周期脈 定時(shí),直接計(jì)數(shù)②外部引腳脈沖 計(jì)數(shù),檢測(cè)邊沿計(jì)數(shù)中斷標(biāo)志產(chǎn)定時(shí)模式:定時(shí)時(shí)間已到;T=(2n-765432176543210TRi:Ti運(yùn)行控

信號(hào)產(chǎn)

字節(jié)地TFi:Ti溢出中斷請(qǐng)求標(biāo)志TFi計(jì)數(shù)溢出時(shí)自動(dòng)置1,中斷響應(yīng)后自動(dòng)清也可以軟件置1或清0 定時(shí)/計(jì)數(shù)器初①確定Ti的工作方式,設(shè)置②計(jì)算初值,并將其寫入TH0、TL0、TH1、③設(shè)置中斷優(yōu)先權(quán)PT0、④啟動(dòng)定時(shí)/計(jì)數(shù)器,設(shè)置TR0、⑤中斷允許,設(shè)置ET0、ET1,EA XTAL1

9C

P3.5 80C51 main

T0 高電平結(jié)束T0 T0等等T0#include<reg51.h>unsignedcharflag;

信號(hào)產(chǎn)//標(biāo)志變sbitP10=P1^0;{}

//輸出管腳//T0定時(shí)工作方式//計(jì)數(shù)器初始//定時(shí)器開始工//允許T0//允許總中void

信號(hào)產(chǎn) unsignedintth,tl,t=20000;//高低電平脈沖float

//占空//高電平脈//低電平脈沖

//低電平初始值高8//低電平初始值低8//T0初始 //無限循}voidT0_ISR(void)interrupt{ //設(shè)置低電平} //設(shè)置高電平}}4.4LED點(diǎn)陣?yán)?-6用單片機(jī)和8*8LED點(diǎn)陣循環(huán)4.4LED點(diǎn)陣1、LED點(diǎn)陣2、LED點(diǎn)陣3、LED點(diǎn)陣如何編4、1s如何定5、如何實(shí)現(xiàn)動(dòng)態(tài)顯示4.4LED點(diǎn)陣4.4LED點(diǎn)陣各行:低逐列掃4.4LED4.4LED點(diǎn)陣●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●4.4LED4.4LED點(diǎn)陣●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●4.4LED4.4LED點(diǎn)陣●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●4.4LED4.4LED點(diǎn)陣●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●LED點(diǎn)陣?yán)?-6用單片機(jī)和8*8LED點(diǎn)陣循環(huán)顯示0~F 19

6 6

C1C2C3C4C5C6C7C8

44

R1R2R3R4R5R6R7R8C3、4.4LED4.4LED點(diǎn)陣main顯示字main顯示字符及行1s50ms再定T11s再定時(shí),字符T11s再定時(shí),字符T0初始等 等main顯示字符及行T1Nmain顯示字符及行T1N第8行到Y(jié)從第0行開5ms再定4.4LED點(diǎn)陣T1T0初始等 等顯示當(dāng)前行,行T1T1LED點(diǎn)陣ucharcode{{0x00,0x18,0x24,0x24,0x24,0x24,0x18,0x00},{0x00,0x08,0x18,0x08,0x08,0x08,0x1C,0x00},//'1'//0~F共16{0x00,0x18,0x24,0x04,0x08,0x10,0x3C,0x00},{0x00,0x3C,0x08,0x10,0x08,0x04,0x24,0x18},

字符的點(diǎn)陣{0x00,0x08,0x18,0x28,0x28,0x3C,0x08,0x08},//'4'據(jù),共陰極{0x00,0x3C,0x20,0x38,0x04,0x24,0x18,0x00},//'5'每行8{0x00,0x18,0x20,0x38,0x24,0x24,0x18,0x00},//'6'表示一個(gè){0x00,0x3C,0x04,0x08,0x10,0x10,0x10,0x00},{0x00,0x18,0x24,0x24,0x18,0x24,0x24,0x18},{0x00,0x18,0x24,0x24,0x1C,0x04,0x24,0x18},{0x00,0x3C,0x24,0x24,0x38,0x24,0x3C,0x00},{0x00,0x18,0x24,0x20,0x20,0x24,0x18,0x00},{0x00,0x38,0x24,0x24,0x24,0x24,0x38,0x00},{0x00,0x3C,0x20,0x20,0x3C,0x20,0x3C,0x00},{0x00,0x3C,0x20,0x3C,0x20,0x20,0x20,0x00}};4.4LED點(diǎn)4.4LED點(diǎn)陣位選擇,高電ucharucharnn=0;uchart20=0;void{}

//當(dāng)前字符顯//當(dāng)前時(shí)間值//50毫秒計(jì)//T0//T0定時(shí),工作方式//50毫秒定//定時(shí)開//允許T0//允許總LED點(diǎn)陣void //T1 TMOD|=0x10;//T1定時(shí),工作方式1,不破壞T0TH1=(65536-}

//5毫秒//T1定時(shí)//允許T1//允許總voidT0_ISR()interrupt }}

//T0中斷服務(wù)//再次50毫秒//50毫秒//1//nn在0~F間遞4.4LED點(diǎn)陣voidT1_ISRinterrupt //T1中4.4LED點(diǎn)陣{//再次5毫秒定////每行顯示,共}

//行選擇,低電平//bitp在0~7間遞void{//T0初始//T1初始//無限循環(huán),等}例4-7利用單片機(jī)和無源蜂鳴器實(shí)現(xiàn)樂曲的1、蜂鳴器分類2、無源蜂鳴器如何演3、音符、音長(zhǎng)概念4、音長(zhǎng)如何控制5、音符如 6、程序如何控制 有源蜂鳴器:內(nèi)部帶震蕩源,一通電就會(huì)叫②音調(diào)表示一個(gè)音音簡(jiǎn)譜頻率定時(shí)常數(shù)低1低2低3中4中5中6中7中8中9中A高B高C高D高E高F不發(fā) 產(chǎn)生相應(yīng)頻率的方f440Hz,其對(duì)應(yīng)的周期為T=1/f=1/440用16位定時(shí)計(jì)數(shù)器定時(shí)的初始值(12MHz時(shí)鐘N0=65536-unsignedintcode節(jié)拍表示一個(gè)音符唱多長(zhǎng)的說明,一拍的時(shí)長(zhǎng)大約為400—500ms。我們以一拍。節(jié)拍節(jié)碼11/4拍22/433/441拍51又1/461又1/271又3/48292又1/4A2又1/2B2又3/4C3D3又1/4E3又1/2F3又3/4C2X1C3 R1 C18

U1XTAL1XTAL1XTAL2PSENPSENP1.0P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.780C51

P0.0/AD0P0.1/AD1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7BUZP2.0/A8P2.1/A9P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A BUZZERP3.P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RDT0T0初始T1T1等等sound結(jié)束符N設(shè)設(shè)置音YNY關(guān)閉關(guān)閉T0關(guān)閉關(guān)閉T0、設(shè)置音調(diào),打開soundsoundT0T0BUZZ反T0T0BUZZ反相輸T1N音長(zhǎng)到Y(jié)音長(zhǎng)清零,音符+1,設(shè)T150ms再定再定uchart1n,t1i,ii;

//T0、T1的計(jì)數(shù)初//音長(zhǎng),50ms計(jì)數(shù),曲子數(shù)據(jù)位ucharcode

D7D6D5D4D3D2D1音 音217};//T0計(jì)數(shù)器初始值sbit //蜂鳴器連接void{}

//T0定時(shí),工作方式//音調(diào)設(shè)//T0中斷允//總中斷允voidT0_ISRinterrupt //T0中斷服 //產(chǎn)生方}void//T1初始{//T1定時(shí),工作方式//50ms//開始定//T1中斷允//總中斷允}voidsound(uchar //演奏,設(shè)置參 uchar

//非結(jié)束音音//節(jié)拍 //非休止 t0h=time[f-t0l=time[f- //定時(shí)開} //休止符}{}}

//結(jié)束voidT1_ISR()interrupt //T1中斷服務(wù)函{//50ms//音長(zhǎng)時(shí)間{//}}void{}第4第4設(shè)計(jì)電路并編程,用4個(gè)獨(dú)立的數(shù)碼管數(shù)碼管實(shí)0~9999的顯示,時(shí)間間隔自定912345678P3.5/T12、按下處3、按一次處理4、字符顯main按N有按鍵Y顯示按鍵getkeyN有按鍵Y延時(shí) 端口N有按鍵Y

判斷按鍵N按鍵彈起Ygetkey①#include#defineucharunsigneducharcodeuchargetkey() ucharkey; {

//準(zhǔn)雙向口要//有按鍵繼//延時(shí)10//再次檢測(cè)到按鍵則繼 //按鍵{casecase0x0d:key=1;break;case0x0b:key=2;break;case0x07:key=3;break;} //防止多次檢}} //返回按鍵}void{ucharkey;{}}

//無限循//讀按//有按鍵則顯199P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD7 12345678 12 1245

ITi=0ITi=1外部中斷初始1、觸發(fā)方式控制位設(shè)置IT0、2、外部中斷允許位設(shè)置EX0、3、總中斷允許位設(shè)置EA199P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD7 12345678 12 1245NNYINT0延時(shí) 端口N有按鍵Y判斷按N按鍵彈起YINT0ucharkey;

的按鍵//外部中斷0初始//邊沿觸發(fā),下降沿//外部中斷0中斷允//總中斷允}voidINT0_ISR()interrupt //外部中斷0服務(wù)函

//P1低4位輸出高電 P1口 高4//有按鍵則繼//延時(shí)10//再讀P1口 高4//再次確認(rèn)有按鍵則{switch(key)//按鍵{casecase0x0d:key=1;break;case0x0b:key=2;break;case0x07:key=3;break;} //邊沿觸發(fā)}}}void{{}}

//外部中斷0初始//假設(shè)無按鍵按//有按鍵按下則顯

對(duì)應(yīng)按下

逐行掃描R1234=1110,Ci=0,表明第4行Ci列按下

線反轉(zhuǎn)法 根據(jù)R1234C1234中0

12345678

P10P12

D7

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論