欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      單片機(jī)實(shí)習(xí)報(bào)告標(biāo)準(zhǔn)文本

      時(shí)間:2019-05-14 11:04:22下載本文作者:會(huì)員上傳
      簡(jiǎn)介:寫(xiě)寫(xiě)幫文庫(kù)小編為你整理了多篇相關(guān)的《單片機(jī)實(shí)習(xí)報(bào)告標(biāo)準(zhǔn)文本》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫(xiě)寫(xiě)幫文庫(kù)還可以找到更多《單片機(jī)實(shí)習(xí)報(bào)告標(biāo)準(zhǔn)文本》。

      第一篇:?jiǎn)纹瑱C(jī)實(shí)習(xí)報(bào)告標(biāo)準(zhǔn)文本

      遼寧科技學(xué)院實(shí)習(xí)報(bào)告

      目錄

      前言………………………………………………………………… 2 軟件實(shí)驗(yàn)

      清零程序??????????????????????? 3 拆字程序…………………………………………………………… 4 拼字程序…………………………………………………………… 5 數(shù)據(jù)排序?qū)嶒?yàn)……………………………………………………… 6 脈沖計(jì)數(shù)…………………………………………………………… 7 電腦時(shí)鐘…………………………………………………………… 11 二進(jìn)制轉(zhuǎn)到BCD碼………………………………………………… 18 八段數(shù)碼管顯示…………………………………………………… 19 鍵盤(pán)掃描程序……………………………………………………… 22 倒計(jì)時(shí)秒表………………………………………………………… 24 硬件實(shí)驗(yàn)

      P1口亮燈實(shí)驗(yàn)…………………………………………………… 28 A/D轉(zhuǎn)換實(shí)驗(yàn)……………………………………………………… 28 實(shí)習(xí)心得…………………………………………………………… 30

      遼寧科技學(xué)院實(shí)習(xí)報(bào)告

      清零程序

      實(shí)驗(yàn)?zāi)康?/p>

      掌握匯編語(yǔ)言設(shè)計(jì)和調(diào)試方法,熟悉鍵盤(pán)操作。實(shí)驗(yàn)內(nèi)容

      把2000H~20FFH的內(nèi)容清零。實(shí)驗(yàn)步驟

      ★本實(shí)驗(yàn)涉及外部數(shù)據(jù)存儲(chǔ)器擴(kuò)展尋址操作,因此在實(shí)驗(yàn)前按硬件實(shí)驗(yàn)十九(數(shù)據(jù)存儲(chǔ)器和程序存儲(chǔ)器擴(kuò)展實(shí)驗(yàn))連接存儲(chǔ)器擴(kuò)展電路。

      以0100H為起始地址用連續(xù)或單步方式運(yùn)行程序,檢查2000H~20FFH中執(zhí)行程序前后的內(nèi)容變化。程序流程

      實(shí)驗(yàn)程序

      MOV DPTR,#2000H;把(2000H)送DPTR MOV R0,#00H;R0中的內(nèi)容送0 LOOP: MOV @DPTR,#0;把0送(DPTR)INC DPTR;DPTR+1 INC R0;R0自加1 CJNE R0,#00H,LOOP;當(dāng)R0再次加到00時(shí)到20FFH單元清零完成 END ;結(jié)束

      遼寧科技學(xué)院實(shí)習(xí)報(bào)告

      MOV @R0,A;送2002H END

      拼字程序

      實(shí)驗(yàn)?zāi)康?/p>

      進(jìn)—步掌握匯編語(yǔ)言設(shè)計(jì)和調(diào)試方法。實(shí)驗(yàn)內(nèi)容

      把2000H、2001H的低位分別送入2002H高低位,一般本程序用于把顯示緩沖區(qū)的數(shù)據(jù)取出拼裝成—個(gè)字節(jié)。實(shí)驗(yàn)步驟

      ★本實(shí)驗(yàn)涉及外部數(shù)據(jù)存儲(chǔ)器擴(kuò)展尋址操作,因此在實(shí)驗(yàn)前按硬件實(shí)驗(yàn)十九(數(shù)據(jù)存儲(chǔ)器和程序存儲(chǔ)器擴(kuò)展實(shí)驗(yàn))連接存儲(chǔ)器擴(kuò)展電路。

      以0100H為起始地址用單步或斷點(diǎn)方式運(yùn)行程序,檢查2002H內(nèi)容變化情況。程序流程

      實(shí)驗(yàn)程序

      ORG 0100H MOV R0,#2000H MOV A,@R0 SWAP A;交換高低4位 ANL A,#0FH;(2000H)內(nèi)容取低位 MOV R1,A;A內(nèi)容送至R1 INC R0;R0自加1

      遼寧科技學(xué)院實(shí)習(xí)報(bào)告

      實(shí)驗(yàn)程序

      ORG 0100H Q1: MOV R3,#50H;50H給R3 MOV A,R3 ;R3給A MOV R0,A;50H給R0 MOV R7,#0AH;長(zhǎng)度10送R7 CLR 00H;00H單元標(biāo)志位清零 MOV A,@R0;(50H)給A Q2: INC R0;R0內(nèi)容為51H MOV R2,A ;A給R2 CLR C;Cf位清零 MOV 22H,@R0;51H內(nèi)容送22H CJNE A,22H,Q3;50H,51H內(nèi)容相等則跳轉(zhuǎn) SETB C;置位C Q3: MOV A,R2 JC Q1;大于交換位置 SETB 00H;00H位標(biāo)志位置1 XCH A,@R0;交換50H,51H內(nèi)容 SUB R0,#1;R0減1 XCH A,@R0 INC R0 ;R0自加1 Q1: MOV A,@R0 DJNZ R7,Q2;R7-1不等于0則跳轉(zhuǎn)Q2 JB 00H,Q1;有交換繼續(xù) SJMP $;無(wú)條件跳到當(dāng)前 END

      脈沖計(jì)數(shù)(定時(shí)器/計(jì)數(shù)器綜合實(shí)驗(yàn))實(shí)驗(yàn)?zāi)康?/p>

      遼寧科技學(xué)院實(shí)習(xí)報(bào)告

      MOV TH0,#00H MOV TL0,#00H;定時(shí)計(jì)數(shù)器初始化 SETB TR0;開(kāi)計(jì)數(shù)器 LO29: MOV R2,TH0 MOV R3,TL0;取出TH0.TL0內(nèi)容 LCALL ZOY0;二轉(zhuǎn)十進(jìn)制 MOV R0,#79H MOV A,R6 LCALL PTDS MOV A,R5 LCALL PTDS MOV A,R4 LCALL SSEE;LCALL PTDS;SJMP LO29;ZOY0: CLR A MOV R4,A MOV R5,A MOV R6,A;0 MOV R7,#10H LO30: CLR C;R2 R3 MOV A,R3;RLC A MOV R3,A MOV A,R2 RLC A MOV R2,A MOV A,R6 ADDC A,R6;(R4 R5 R6)*2+CY DA A;;79H給R0 ;R6給A ;調(diào)用PTDSS ;R5給A 顯示 送顯示緩沖區(qū) 循環(huán)計(jì)數(shù).顯示 送R4 R5 R6 左移.移出的 最高位送CY ;A給R3 ;R2給A 送R4 R5 R6 十進(jìn)制調(diào)整

      遼寧科技學(xué)院實(shí)習(xí)報(bào)告

      MOV A,@R0 MOV DPTR,#DDFF MOVC A,@A+DPTR;取字形代碼 MOV R1,#0DCH MOVX @R1,A;字形送入 MOV A,30H;右移 RR A MOV 30H,A DEC 31H MOV A,#0FFH MOVX @R1,A;關(guān)顯示

      DJNZ R7,SSE1;6位顯示完了嗎? DJNZ R5,SSE2;5次顯示完了嗎? CLR RS1 RET;-------------------------DDFF: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H DB 88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,89H,0DEH;-------------------------END 電腦時(shí)鐘(定時(shí)器、中斷綜合實(shí)驗(yàn))實(shí)驗(yàn)?zāi)康?/p>

      熟悉MCS-51定時(shí)器,串行口和中斷初始化編程方法,了解定時(shí)器的應(yīng)用實(shí)時(shí)程序的設(shè)計(jì)與調(diào)試技巧。實(shí)驗(yàn)內(nèi)容

      編寫(xiě)程序,從本實(shí)驗(yàn)系統(tǒng)鍵盤(pán)上輸入時(shí)間初值,用定時(shí)器產(chǎn)生0.1S定時(shí)中斷,對(duì)時(shí)鐘計(jì)數(shù)器計(jì)數(shù),并將數(shù)值實(shí)時(shí)地送數(shù)碼管顯示。實(shí)驗(yàn)步驟

      以0030H為起始地址連續(xù)運(yùn)行程序,在鍵盤(pán)上輸入時(shí)間初值,按執(zhí)行鍵EXEC執(zhí)行,數(shù)碼管上實(shí)時(shí)顯示時(shí)間值。

      遼寧科技學(xué)院實(shí)習(xí)報(bào)告

      PUSH ACC SETB 0D3H INC 23H MOV A,23H CJNE A,#0AH,DONE MOV 23H,#00H SSE2: MOV 30H,#20H MOV 31H,#7EH MOV R7,#06H SSE1: MOV R1,#0DDH MOV A,30H

      MOVX @R1,A MOV A,22H INC A DA A MOV 22H,A CJNE A,#60H,DONE MOV 22H,#00H MOV A,21H INC A DA A MOV 21H,A CJNE A,#60H,DONE MOV 21H,#00H MOV A,20H INC A DA A MOV 20H,A CJNE A,#24H,DONE MOV 20H,#00H DONE: POP ACC POP PSW RETI;------------------------SSEE: SETB RS1 MOV R5,#05H

      MOV R0,31H MOV A,@R0 MOV DPTR,#DDFF

      MOVC A,@A+DPTR MOV R1,#0DCH

      MOVX @R1,A MOV A,30H RR A MOV 30H,A DEC 31H MOV A,#0FFH

      MOVX @R1,A DJNZ R7,SSE1 DJNZ R5,SSE2 CLR RS1 RET

      ;----------------------------DDFF:

      DB 0C0H,0F9H,0A4H,0B0H,99H DB 92H,82H,0F8H,80H,90H DB 88H,83H,0C6H,0A1H,86H DB 8EH,0FFH,0CH,89H,0DEH;----------------------------X3: MOV R4,A

      遼寧科技學(xué)院實(shí)習(xí)報(bào)告

      JZ X10 MOV R2,#88H MOV R4,#88H X10: DEC R4 MOV A,R4 XRL A,#82H JZ X11 MOV A,R4 XRL A,#0EH JZ X11 MOV A,R4 JZ X12 MOV R4,#20H DEC R2 SJMP X13 X12: MOV R4,#0FH X11: MOV R2,04H NOP NOP MOV R4,03H X13: MOV R1,#48H MOV A,R2 MOV @R1,A INC R1 MOV A,R3 MOV @R1,A MOV A,R4 JB ACC.5,X113 JB ACC.4,X113 MOV DPTR,#LS3

      MOVC A,@A+DPTR

      X113: RET

      ;---------------------LS3:

      DB 07H,04H,08H,05H DB 09H,06H,0AH DB 0BH,01H,00H,02H DB 0FH,03H,0EH DB 0CH,0DH

      ;-----------------------DIS: PUSH DPH PUSH DPL SETB RS1 MOV R0,#7EH MOV R2,#20H MOV R3,#00H MOV DPTR,#LS0 LS2: MOV A,@R0 MOVC A,@A+DPTR MOV R1,#0DCH MOVX @R1,A MOV A,R2 inc R1 MOVX @R1,A LS1: DJNZ R3,LS1 CLR C RRC A MOV R2,A DEC R0 JNZ LS2

      遼寧科技學(xué)院實(shí)習(xí)報(bào)告

      LEDS: MOV @R0,A INC R0 CJNE R0,#7EH,LEDS INC A MOV @R0,A RET;----------------------LCK0: LCALL X2 JB ACC.4,LDFC LCALL X3 DB 79H,7EH SJMP LCK0 LDFC: CJNE A, #16H,LCK0 MOV A, 7AH SWAP A ORL A, 79H MOV 22H, A CJNE A, #60H,LE09 LE09: JNC LE24 MOV A, 7CH SWAP A ORL A, 7BH MOV 21H, A CJNE A, #60H,LE15 LE15: JNC LE24

      MOV A, 7EH SWAP A ORL A, 7DH MOV 20H, A CJNE A, #24H,LE21 LE21: JNC LE24 RET

      ;------------------------LE24: CLR 8CH LJMP CHK00 DELYA: PUSH 02H DELYB: PUSH 02H DELYC: PUSH 02H DELYD: DJNZ R2,DELYD

      LCALL SSEE POP 02H DJNZ R2,DELYC POP 02H DJNZ R2,DELYB POP 02H

      DJNZ R2,DELYA RET

      ;-----------------------END

      遼寧科技學(xué)院實(shí)習(xí)報(bào)告

      DIV AB MOV RESULT+1,A;余數(shù)除以10,得十位數(shù) MOV RESULT+2,B;余數(shù)為個(gè)位數(shù) RET LOOP1: MOV SP 30H ;指針到30H MOV A,#123 ;123立即數(shù)給A CALL LOOP2 ;調(diào)用LOOP2 LJMP $ ;跳到當(dāng)前 END

      八段數(shù)碼管顯示

      實(shí)驗(yàn)要求

      利用實(shí)驗(yàn)系統(tǒng)提供的顯示設(shè)備,動(dòng)態(tài)顯示一行數(shù)據(jù)。實(shí)驗(yàn)?zāi)康?/p>

      1.了解數(shù)碼管動(dòng)態(tài)顯示的原理。

      2.了解用總線方式控制數(shù)碼管顯示。實(shí)驗(yàn)說(shuō)明

      本實(shí)驗(yàn)系統(tǒng)提供了6位八段碼LED顯示電路,學(xué)生只要按地址輸出相應(yīng)數(shù)據(jù),就可以實(shí)現(xiàn)對(duì)顯示器的控制。程序流程

      遼寧科技學(xué)院實(shí)習(xí)報(bào)告

      MOV r7,#0 DELAYLOOP: DJNZ r7,DELAYLOOP DJNZ r6,DELAYLOOP RET DISPLAYLED: MOV r0,#LEDBUF MOV r1,#6;共6個(gè)八段管 MOV r2,#100000b;從左邊開(kāi)始顯示 Loop: MOV DPTR,#OUTBIT MOV a,#0 MOVX @DPTR,a;關(guān)所有八段管 MOV a,@r0 MOV DPTR,#OUTSEG MOVX @DPTR,a MOV DPTR,#OUTBIT MOV a,r2 MOVX @DPTR,a;顯示一位八段管 MOV r6,#01 CALL DElAY MOV a,r2;顯示下一位 RR a MOV r2,a inc r0 DJNZ r1,Loop MOV DPTR,#OUTBIT MOV a, #0 MOVX @DPTR,a;關(guān)所有八段管 RET

      遼寧科技學(xué)院實(shí)習(xí)報(bào)告

      實(shí)驗(yàn)程序

      YWJ: MOV P1,#0F0H MOV R3,P1;OFOH MOV P1,#0FH MOV A,P1 ORL A,R3 CPL A JZ YWJ1 LCALL YS1MS MOV P1,#0F0H MOV R3,P1 MOV P1,#0FH MOV A,P1 ORL A,R3 CPL A YWJ1:RET YS1MS:MOV R1,#4 LOOP:MOV R2,#250 LOOP1:DJNZ R2,LOOP1 DJNZ R1,LOOP RET END 倒計(jì)時(shí)秒表

      給R3 ;0FH中的內(nèi)容給A ;A和R3或 ;0F0給P1 ;0FH給A

      遼寧科技學(xué)院實(shí)習(xí)報(bào)告

      實(shí)驗(yàn)?zāi)康?/p>

      熟悉MCS-51定時(shí)器,串行口和中斷初始化編程方法,了解定時(shí)器的應(yīng)用實(shí)時(shí)程序的設(shè)計(jì)與調(diào)試技巧。實(shí)驗(yàn)內(nèi)容

      編寫(xiě)程序,從本實(shí)驗(yàn)系統(tǒng)鍵盤(pán)上輸入時(shí)間初值,用定時(shí)器產(chǎn)生10MS定時(shí)中斷,對(duì)秒表計(jì)數(shù)器計(jì)數(shù),并將數(shù)值實(shí)時(shí)地送數(shù)碼管顯示。實(shí)驗(yàn)步驟

      以0030H為起始地址連續(xù)運(yùn)行程序,在鍵盤(pán)上輸入時(shí)間初值,按執(zhí)行鍵EXEC執(zhí)行,數(shù)碼管上實(shí)時(shí)顯示時(shí)間值。倒計(jì)時(shí)到0時(shí)P1口燈亮。程序終止 實(shí)驗(yàn)程序

      在數(shù)字時(shí)鐘基礎(chǔ)上做出修改,此處只列出修改的程序段 主程序:

      ORG 0000H SJMP CHK00 ORG 000BH LJMP CLOCK;INT_T0 ORG 0030H CHK00: MOV SP,#60H LCALL LEDP CHK0: LCALL LCK0 LCALL PTDS0 MOV TMOD,#02H ORL IE,#82H MOV TL0,#06H MOV TH0,#06H MOV 23H,#00H SETB TR0 LOO5: LCALL DIS LCALL PTDS0 SJMP LOO5

      遼寧科技學(xué)院實(shí)習(xí)報(bào)告

      DA a JMP done DONE4: MOV 24h,a ANL a,#0fh CJNZ a,#00h,done3 JMP done5 done2: MOV a,24h SUBB a,#07h MOV 20h,a DA a JMP done DONE1: MOV 24h,a ANL a,#0fh CJNZ a,#00h,done3 JMP done2 done3: DA a;時(shí)單元清零 DONE: POP ACC;退棧 POP PSW RETI dde2: MOV p1,#0ffh MOV A,#00h MOV p1,A 子程序2;-LCK0: LCALL X2 JB ACC.4,LDFC LCALL X3 DB 79H,7EH SJMP LCK0 LDFC: CJNE A, #16H,LCK0

      遼寧科技學(xué)院實(shí)習(xí)報(bào)告

      P1口亮燈實(shí)驗(yàn)

      實(shí)驗(yàn)?zāi)康模?/p>

      ⑴學(xué)習(xí)P1口的使用方法;

      ⑵學(xué)習(xí)延時(shí)子程序的編寫(xiě)。

      實(shí)驗(yàn)預(yù)備知識(shí):

      ⑴P1口對(duì)準(zhǔn)雙向口,每一位都可獨(dú)立地定義為輸出線或輸入線。

      ⑵本實(shí)驗(yàn)中延時(shí)子程序采用指令循環(huán)來(lái)實(shí)現(xiàn),機(jī)器周期(12/6MHz)*指令所需機(jī)器周期數(shù)* 循環(huán)次數(shù),在系統(tǒng)時(shí)間允許的情況下可以采用此方法。

      實(shí)驗(yàn)內(nèi)容:

      P1作為輸出口,接八只發(fā)光二極管,編寫(xiě)程序,使發(fā)光二極管循環(huán)點(diǎn)亮。

      實(shí)驗(yàn)步驟:

      P1.O~P1.7用插針連至L1~L8,運(yùn)行程序后,觀察發(fā)光二極管閃亮移位情況。

      實(shí)驗(yàn)流程:

      A/D轉(zhuǎn)換實(shí)驗(yàn)

      實(shí)驗(yàn)?zāi)康模?/p>

      ⑴掌握A/D轉(zhuǎn)換與單片機(jī)接口的方法;

      ⑵了解A/D芯片0809轉(zhuǎn)換性能及編程方法;

      ⑶通過(guò)實(shí)驗(yàn)了解單片機(jī)如何進(jìn)行數(shù)據(jù)采集。

      實(shí)驗(yàn)內(nèi)容:

      利用實(shí)驗(yàn)儀上的0809做A/D轉(zhuǎn)換實(shí)驗(yàn),實(shí)驗(yàn)儀上的W1電位器提供模擬量輸入。編制程

      序,將模擬量轉(zhuǎn)換成數(shù)字量,通過(guò)發(fā)光二極管L1~L8顯示。

      第二篇:?jiǎn)纹瑱C(jī)實(shí)習(xí)報(bào)告

      單片機(jī)實(shí)習(xí)報(bào)告

      單片機(jī)>實(shí)習(xí)報(bào)告

      (一)這次實(shí)習(xí)我們使用控制電路的單片機(jī)是AT89S51型號(hào)的。通過(guò)它實(shí)現(xiàn)對(duì)八盞雙色燈發(fā)光二極管的控制P0和《單片機(jī)實(shí)習(xí)報(bào)告總結(jié)》正文開(kāi)始》 這次實(shí)習(xí)我們使用控制電路的單片機(jī)是AT89S51型號(hào)的。通過(guò)它實(shí)現(xiàn)對(duì)八盞雙色燈發(fā)光二極管的控制P0和P2口控制四盞燈。在AT89S51的9引腳接復(fù)位電路,對(duì)電路實(shí)現(xiàn)復(fù)位控制。在電路中接入74S164譯碼器和共陰極數(shù)碼管,通過(guò)AT89S51的P3口數(shù)據(jù)的輸入對(duì)共陰極數(shù)碼管的控制。同時(shí)也可實(shí)現(xiàn)雙色發(fā)光的二極管與共陰極數(shù)碼管的共同作用。在AT89S51的P3.2口接上中斷控制電路,P3.5口接入蜂鳴器,使電路實(shí)現(xiàn)中斷作用,也使電路便于檢測(cè)。盡量朝“單片”方向設(shè)計(jì)硬件系統(tǒng)。系統(tǒng)器件越多,器件之間相互干擾也越強(qiáng),功耗也增大,也不可避免地降低了系統(tǒng)的穩(wěn)定性。系統(tǒng)中的相關(guān)器件要盡可能做到性能匹配。如選用CMOS芯片單片機(jī)構(gòu)成低功耗系統(tǒng)時(shí),系統(tǒng)中所有芯片都應(yīng)盡可能選擇低功耗產(chǎn)品。

      硬件電路設(shè)計(jì):

      1)確保硬件結(jié)構(gòu)和應(yīng)用軟件方案相結(jié)合。硬件結(jié)構(gòu)與軟件方案會(huì)相互影響,軟件能實(shí)現(xiàn)的功能盡可能由軟件實(shí)現(xiàn),以簡(jiǎn)化硬件結(jié)構(gòu)。必須注意,由軟件實(shí)現(xiàn)的硬件功能,一般響應(yīng)時(shí)間比硬件實(shí)現(xiàn)長(zhǎng),且占用CPU時(shí)間;

      2)可靠性及抗干擾設(shè)計(jì)是硬件設(shè)計(jì)必不可少的一部分,它包括芯片、器件選擇、去耦濾波、印刷電路板的合理布線、各元器相互隔離等;

      3)盡量朝“MCS-51單片”方向設(shè)計(jì)硬件系統(tǒng)。系統(tǒng)器件越多,器件之間相互干擾也越強(qiáng),所消耗功耗也增大,也不可避免地降低了系統(tǒng)的穩(wěn)定性;

      4)系統(tǒng)中的相關(guān)器件要盡可能做到性能匹配。如選用CMOS芯片單片機(jī)構(gòu)成低功耗系統(tǒng)時(shí),系統(tǒng)中所有芯片都應(yīng)盡可能選擇低功耗產(chǎn)品。

      1.1 單片機(jī)型號(hào)及特性

      單片機(jī)型號(hào)是 AT89S51。特性是:⑴8031 CPU與MCS-51⑵兼容 4K字節(jié)可編程FLASH存儲(chǔ)器(壽命:1000寫(xiě)/擦循環(huán))⑶全靜態(tài)工作:0Hz-24KHz ⑷三級(jí)程序存儲(chǔ)器保密鎖定 ⑸128*8位內(nèi)部RAM ⑹32條可編程I/O線⑺兩個(gè)16位定時(shí)器/計(jì)數(shù)器 ⑻6個(gè)中斷源⑼可編程串行通道⑽低功耗的閑置和掉電模式⑾片內(nèi)振蕩器和時(shí)鐘電路

      1.2 晶振電路

      單片機(jī)晶振的兩個(gè)電容的作用 這兩個(gè)電容叫晶振的負(fù)載電容,分別接在晶振的兩個(gè)腳上和對(duì)地的電容,一般在幾十皮發(fā)。它會(huì)影響到晶振的諧振頻率和輸出幅度,晶振的負(fù)載電容=[(Cd*Cg)/(Cd+Cg)]+Cic+△C式中Cd,Cg為分別接在晶振的兩個(gè)腳上和對(duì)地的電容,Cic(集成電路內(nèi)部電容)+△C(PCB上電容)經(jīng)驗(yàn)值為3至5pf。各種邏輯芯片的晶振引腳可以等效為電容三點(diǎn)式振蕩器。晶振引腳的內(nèi)部通常是一個(gè)反相器,或者是奇數(shù)個(gè)反相器串聯(lián)。在晶振輸出引腳 XO 和晶振輸入引腳 XI 之間用一個(gè)電阻連接,對(duì)于 CMOS 芯片通常是數(shù) M 到數(shù)十M 歐之間。很多芯片的引腳內(nèi)部已經(jīng)包含了這個(gè)電阻,引腳外部就不用接了。這個(gè)電阻是為了使反相器在振蕩初始時(shí)處與線性狀態(tài),反相器就如同一個(gè)有很大增益的放大器,以便于起振。石英晶體也連接在晶振引腳的輸入和輸出之間,等效為一個(gè)并聯(lián)諧振回路,振蕩頻率應(yīng)該是石英晶體的并聯(lián)諧振頻率。晶體旁邊的兩個(gè)電容接地,實(shí)際上就是電容三點(diǎn)式電路的分壓電容,接地點(diǎn)就是分壓點(diǎn)。以接地點(diǎn)即分壓點(diǎn)為參考點(diǎn),振蕩引腳的輸入和輸出是反相的,但從并聯(lián)諧振回路即石英晶體兩端來(lái)看,形成一個(gè)正反饋以保證電路持續(xù)振蕩。在芯片設(shè)計(jì)時(shí),這兩個(gè)電容就已經(jīng)形成了,一般是兩個(gè)的容量相等,容量大小依工藝和版圖而不同,但終歸是比較小,不一定適合很寬的頻率范圍。外接時(shí)大約是數(shù) PF 到數(shù)十 PF, 依頻率和石英晶體的特性而定。需要注意的是: 這兩個(gè)電容串聯(lián)的值是并聯(lián)在諧振回路上的,會(huì)影響振蕩頻率。當(dāng)兩個(gè)電容量相等時(shí),反饋系數(shù)是 0.5, 一般是可以滿足振蕩條件的,但如果不易起振或振蕩不穩(wěn)定可以減小輸入端對(duì)地電容量,而增加輸出端的值以提高反饋量。

      電路如圖所示

      1.3 復(fù)位電路

      單片機(jī)在開(kāi)機(jī)時(shí)或在工作中因干擾而使程序失控,或工作中程序處于某種死循環(huán)狀態(tài)等情況下都需要復(fù)位。復(fù)位作用是使CPU以及其他功能部件,如串行口,中斷都恢復(fù)到一個(gè)確定初始狀態(tài),并從這個(gè)狀態(tài)開(kāi)始工作。

      復(fù)位電路有兩種:上電、按鈕復(fù)位,考慮到各部件影響,采用按鈕復(fù)位,當(dāng)電阻給電容充電,電容的電壓為高電平,當(dāng)按下按鈕時(shí)芯片復(fù)位腳近似低電平,于是芯片復(fù)位。

      單片機(jī)實(shí)習(xí)報(bào)告

      (二)一、生產(chǎn)實(shí)習(xí)的目的和意義:

      生產(chǎn)實(shí)習(xí)是培養(yǎng)本科學(xué)生理論聯(lián)系實(shí)際,提高實(shí)際動(dòng)手操作能力的重要教學(xué)環(huán)節(jié)。本專業(yè)的生產(chǎn)實(shí)習(xí)旨在使學(xué)生廣泛了解實(shí)際電子產(chǎn)品生產(chǎn)的全過(guò)程,熟悉電子產(chǎn)品的主要技術(shù)管理模式,并在實(shí)習(xí)的操作過(guò)程中學(xué)習(xí)、掌握電子產(chǎn)品的焊接、安裝、調(diào)試的實(shí)際操作技能。鞏固和加深理解所學(xué)的理論,開(kāi)闊眼界,提高能力,為培養(yǎng)高素質(zhì)大學(xué)本科人才打下必要的基礎(chǔ)。通過(guò)學(xué)習(xí),是理論與實(shí)際相結(jié)合,可以使學(xué)生加深對(duì)所學(xué)知識(shí)的理解,并為后續(xù)專業(yè)課的學(xué)習(xí)提供必要的感性知識(shí),同時(shí)使學(xué)生直接了解本業(yè)的生產(chǎn)過(guò)程和生產(chǎn)內(nèi)容,為將來(lái)走上工作崗位提供必要的實(shí)際生產(chǎn)知識(shí)。

      二、實(shí)習(xí)的基本內(nèi)容:

      集中授課,進(jìn)行相關(guān)知識(shí)的學(xué)習(xí)。

      學(xué)習(xí)、掌握電子產(chǎn)品的獨(dú)立性設(shè)計(jì)與安裝、調(diào)試的能力;進(jìn)一步掌握電子測(cè)量?jī)x器的正確使用方法,電元器件的測(cè)量與篩選技術(shù)。

      初步了解電子整機(jī)產(chǎn)品的工藝過(guò)程。

      為能使學(xué)生得到充分的鍛煉,較大的提高學(xué)生的實(shí)際動(dòng)手能力,本次生產(chǎn)實(shí)習(xí)安排每一位學(xué)生獨(dú)立完成全部系統(tǒng)的設(shè)計(jì)與安裝工作。

      本實(shí)習(xí)環(huán)節(jié),學(xué)生要獨(dú)立使用電焊鐵及各種電子測(cè)試設(shè)備電路安裝與調(diào)試,要學(xué)生嚴(yán)格遵守電器設(shè)備的使用安全,遵守實(shí)驗(yàn)室的各項(xiàng)>規(guī)章制度。

      三、基本要求:

      在教師的指導(dǎo)下練習(xí)在測(cè)試電路德核心板上焊接元件,掌握焊接要領(lǐng)。

      熟悉元器件的性能及管腳分配。

      在給定的PCB板上焊接跳線,IC插座,電阻,電容,LED器件等。

      檢查焊接是否正確。

      插上元器件,運(yùn)行系統(tǒng),并觀測(cè)系統(tǒng)工作是否正常。

      四、總體設(shè)計(jì)電路思想和原理:

      本次生產(chǎn)實(shí)習(xí)用到的開(kāi)發(fā)板和模塊共7塊,分別為:?jiǎn)纹瑱C(jī)核心板,電子鐘模塊,MP3模塊,RFID模塊,無(wú)線傳輸模塊,脈搏傳感模塊,GPS模塊。

      各模塊相互組合,其所能實(shí)現(xiàn)的基本功能如下:

      單片機(jī)核心板+電子鐘模塊:實(shí)現(xiàn)時(shí)間的顯示,溫度的測(cè)量,且可通過(guò)遙控器調(diào)時(shí)、定鬧等。

      單片機(jī)核心板+無(wú)線傳輸模塊:實(shí)現(xiàn)數(shù)據(jù)的近距離無(wú)線傳輸。

      單片機(jī)核心板+MP3模塊(含SD卡):實(shí)現(xiàn)MP3播放功能。

      單片機(jī)核心板+RFID模塊:實(shí)現(xiàn)地鐵檢票系統(tǒng)的模擬。

      單片機(jī)核心板+脈搏傳感模塊:實(shí)現(xiàn)人體脈搏傳感的測(cè)量。

      單片機(jī)核心板+GPS模塊:實(shí)現(xiàn)GPS衛(wèi)星定位功能。

      (一)核心板電路設(shè)計(jì)

      單片機(jī)核心板電路主要包括STC12C5A60S2單片機(jī),電子鐘模塊接口電路,MP3接口電路,無(wú)線傳輸模塊接口電路,脈搏傳感模塊接口電路,GPS模塊接口電路,串口擴(kuò)展電路,電源供電電路。該系統(tǒng)的單片機(jī)是宏晶科技生產(chǎn)的單時(shí)鐘機(jī)器周期(IT)的單片機(jī),是高速、低功耗、超強(qiáng)干擾的新一代8051單片機(jī)。通過(guò)使用STC-ISP軟件,該單片機(jī)可實(shí)現(xiàn)串口在線編程,無(wú)需編程器,無(wú)需仿真器。

      核心板電路的設(shè)計(jì)思想主要是圍繞單片機(jī)芯片的工作原理和特點(diǎn),為其實(shí)現(xiàn)合理的設(shè)計(jì)出外圍電路:包括電源電路,顯示電路部分,復(fù)位電路部分,串行口通信電路,按鍵電路等。

      (二)電子鐘模塊電路設(shè)計(jì)

      該模塊主要用到的芯片有:時(shí)鐘保持芯片DS1302,單總線數(shù)字溫度傳感器DS18B20,紅外遙控解碼器TL1838A。

      該模塊電路設(shè)計(jì)的思想是了解這三種芯片的工作電壓,DS1302的工作時(shí)鐘頻率以及三種芯片與單片機(jī)之間的硬件連接。

      (三)MP3模塊電路設(shè)計(jì)

      該模塊用到的主要芯片有MP3音頻解碼芯片VS1003,3.3V電壓轉(zhuǎn)換芯片LM1117-3.3,2.5V電壓轉(zhuǎn)換芯片LM1117-2.5。

      該電路的設(shè)計(jì)思想主要是了解芯片的作用和特點(diǎn),尋找各芯片之間的聯(lián)系,VS1003芯片是該模塊的主要部分。單片機(jī)設(shè)有單獨(dú)解碼MP3文件的功能,而單片機(jī)可與通過(guò)VS1003的接口電路的連接,進(jìn)行MP3的解碼,實(shí)現(xiàn)音頻的輸出。通過(guò)芯片各引腳的功能和特點(diǎn),合理的設(shè)計(jì)出相應(yīng)的外圍電路。

      (四)RFID模塊電路的設(shè)計(jì)

      該模塊的電路所用到的主要芯片為13.56MHZ的非接觸式通信讀卡芯片F(xiàn)M1702。該芯片是基于ISO/4443標(biāo)準(zhǔn)的非接觸卡讀卡機(jī)專用芯片,采用0.6微米CMOS、EEPROM工藝,支持13.56MHZ頻率下的type A非接觸式通信協(xié)議,支持多種加窗算法,兼容philips的MFRC530(SPI接口)讀卡機(jī)芯片。

      該模塊的電路設(shè)計(jì)思想是基于FM1702各引腳的功能和特點(diǎn),合理的設(shè)計(jì)芯片的外圍電路,其中的電容和電感所構(gòu)成的天線是芯片與S50卡通信的工具。

      五、單元電路設(shè)計(jì):

      單片機(jī)核心板電路分析

      單片機(jī)核心板是本次實(shí)習(xí)中最重要的部分,它是實(shí)現(xiàn)各種模塊功能的基礎(chǔ)部分。單片機(jī)核心板的核心是STC12C5A60S2單片機(jī)芯片,圍繞該芯片設(shè)計(jì)出相應(yīng)電源供電電路,蜂鳴器驅(qū)動(dòng)電路,按鍵電路,串行口通信電路,復(fù)位電路,液晶屏驅(qū)動(dòng)電路以及各模塊的接口電路,由以上的電路部分就構(gòu)成一個(gè)核心板電路系統(tǒng)。

      電子鐘模塊電路分析

      電子鐘模塊配合單片機(jī)核心板,可在LCD1602液晶屏上顯示當(dāng)前的日期(年月日)時(shí)間(時(shí)分秒),環(huán)境溫度值,和紅外遙控解碼值。用戶可通過(guò)遙控器或單片機(jī)核心板上的按鍵來(lái)進(jìn)行日期和時(shí)間的設(shè)置。

      通過(guò)遙控上的“EQ”鍵,可控制LED顯示界面在時(shí)間、溫度、紅外解碼之間的切換。如果想調(diào)整時(shí)間,需要首先使用遙控器的“EQ”鍵將LCD顯示調(diào)制時(shí)間界面;之后通過(guò)按“播放停止鍵”將時(shí)間停止;然后再按“左快捷鍵”向右切換;最后按“加減鍵”可以進(jìn)行數(shù)值的加減操作,調(diào)整完成后,再次按“播放停止鍵”,時(shí)間開(kāi)始運(yùn)行。另外通過(guò)單片機(jī)核心板上的K1-K4鍵也可以完成時(shí)間的調(diào)整:其中K1鍵對(duì)應(yīng)遙控器的“右快捷鍵”,即實(shí)現(xiàn)向右切換年月日時(shí)分;K3鍵對(duì)應(yīng)遙控器的“加鍵”,即實(shí)現(xiàn)年月日時(shí)分的加1;K4鍵對(duì)應(yīng)遙控器的“減鍵”,即實(shí)現(xiàn)年月日時(shí)分的減1。

      MP3電路模塊分析

      是一單芯片MP3/WMA/MIDI音頻解碼和ADPCM編碼芯片,其擁有一個(gè)高性能低功耗的DSP處理器核VS-DSP。5K的指令RAM,0.5K的數(shù)據(jù)RAM,串行的控制和數(shù)據(jù)輸入接口,4個(gè)通用IO口,1個(gè)UART口;同時(shí)片內(nèi)帶有一個(gè)可變采樣率的DAC,一個(gè)立體聲DAC以及音頻耳機(jī)放大器;VS1003通過(guò)一個(gè)串行接口來(lái)接收輸入的比特流,它可以作為一個(gè)系統(tǒng)的從機(jī)。

      與單片機(jī)連接的引腳主要有7個(gè),分別為:SO、SI、SCLK、XDCS、XRESET、DREQ、MOSI,只有保證它們與單片機(jī)正確可靠的連接,才能對(duì)VS1003進(jìn)行有效的操作與控制。另外,VS1003各部分的供電電壓與輸出電壓值是不同的。

      芯片各部分供電電壓如下表:

      供電部分最小電壓推薦電壓最大電壓

      模擬)

      數(shù)字)

      卡是一種大容量,性價(jià)比高,體積小,訪問(wèn)接口簡(jiǎn)單的存儲(chǔ)卡。SDIMMC卡大量 應(yīng)用于數(shù)碼相機(jī)、MP3、手機(jī)、大容量存儲(chǔ)設(shè)備。作為這些便攜式設(shè)備的存儲(chǔ)載體,它具有低功耗,非易失性,保存數(shù)據(jù)無(wú)需消耗能量的特點(diǎn)。

      卡只使用了1-7觸點(diǎn)。對(duì)于1號(hào)引腳(CD/DAT3)擴(kuò)展的DAT線(DAT1-DAT3)在上電后處于輸入狀態(tài),它們?cè)趫?zhí)行SET-BUS-WIDTH命令后作為DAT線操作,當(dāng)不用DAT1-DAT3線時(shí),主機(jī)應(yīng)使自己的DAT1-DAT3線處于輸入模式,這樣定義是為與MMC卡保持兼容。上電后,CD/DAT3作為帶50K上拉電阻的輸入線(可用于檢測(cè)卡是否存在或選擇SPI模式)。用戶可以在正常的數(shù)據(jù)傳輸中用SET-CLR-CARD-DETECT(ACMDA口)命令斷開(kāi)上拉電阻的連接。MMC卡的該引腳在SD模式下為保留引腳,在SD模式下無(wú)任何作用。對(duì)于2號(hào)引腳CMD,MMC卡在SD模式下為IO/PP/OO,MMC卡在SPI模式下為I/PP。

      關(guān)于電壓匹配問(wèn)題,SD卡的邏輯電平相當(dāng)于3.3V TTL電平標(biāo)準(zhǔn),而單片機(jī)的邏輯電平為5V。因此,它們之間不能直接相連,否則會(huì)有燒毀SD卡的可能。解決邏輯器件接口的電平兼容問(wèn)題,原則主要有兩條:一為輸出電平器件輸出高電平的最小電壓值,應(yīng)大于接受電壓器件識(shí)別為高電平的最低電壓值;二為輸出電平器件輸出低電平的最大電壓值,應(yīng)小于接受器件識(shí)別為低電平的最高電壓值??紤]到SD卡在SPI協(xié)議的工作模式下,通訊都是單向的,于是在單片機(jī)向SD卡傳輸數(shù)據(jù)時(shí)采用晶體管加上拉電阻法的方案。在SD卡向單片機(jī)傳輸數(shù)據(jù)時(shí),可以直接連接。因?yàn)樗鼈冎g的電平剛好滿足上述的電平兼容原則,既經(jīng)濟(jì)又實(shí)用。該方案可以雙電源供電(一個(gè)5V電源,一個(gè)3.3V電源供電),3.3V電源可用ASL1117穩(wěn)壓管從5V電源穩(wěn)壓獲取。

      RFID模塊電路分析

      基于FM1702SL的非接觸式IC卡讀寫(xiě)器,只要稍加改動(dòng)就能開(kāi)發(fā)成不同的射頻識(shí)別應(yīng)用系統(tǒng),如考勤系統(tǒng),門(mén)禁系統(tǒng),公交車收費(fèi)系統(tǒng)等。S50非接觸式卡符合MIFARE的國(guó)際標(biāo)準(zhǔn),容量8K位,數(shù)據(jù)保存期10年,又可改寫(xiě)10萬(wàn)次,讀無(wú)限次。S50卡不帶電源,自帶天線,內(nèi)含加密控制邏輯電路和通用邏輯電路,卡與讀卡器之間的通訊采用國(guó)際通用DES和RES保密交叉算法,具有較高的保密性能。

      單片機(jī)與FMITDISL通用SPI總線通信,采用中斷工作模式,在FMITDISL復(fù)位后,必須進(jìn)行一次初始化程序以便初始化SPI接口模式,而且可以同步實(shí)現(xiàn)單片機(jī)和FMITDISL的啟動(dòng)工作。信息存儲(chǔ)在MIFARSE卡里,讀寫(xiě)器與卡通過(guò)各自的天線建立起二者之間非接觸信息傳輸通道。當(dāng)卡進(jìn)入系統(tǒng)的工作區(qū)時(shí),讀寫(xiě)器向卡發(fā)射一組固定頻率的電磁波,卡內(nèi)有一個(gè)LC串聯(lián)諧振電路,其頻率與讀寫(xiě)器發(fā)射的頻率相同,在電磁波的激勵(lì)下,LC諧振電路產(chǎn)生共振,從而使電容內(nèi)有了電荷,在這個(gè)電容的另一端接有一個(gè)單向?qū)ǖ碾娮铀?,將帶?nèi)容內(nèi)的電荷送到另一個(gè)電容內(nèi)存儲(chǔ),當(dāng)所有積累的電荷達(dá)到2V時(shí),此電容可做到電源為其它電路提供工作電壓,將卡內(nèi)數(shù)據(jù)發(fā)射出去或讀取讀寫(xiě)器的數(shù)據(jù)。

      根據(jù)互感原理可知,讀寫(xiě)器天線半徑越大,匝數(shù)越多,讀寫(xiě)器上的天線和卡上的天線的互感系數(shù)就越大。根據(jù)國(guó)際標(biāo)準(zhǔn)的要求,卡和讀寫(xiě)器的通信距離為10cm,通過(guò)調(diào)整天線驅(qū)動(dòng)電壓可以改變通信的最長(zhǎng)距離。天線的傳輸帶寬和品質(zhì)因數(shù)成反比關(guān)系。過(guò)高的品質(zhì)因數(shù)會(huì)導(dǎo)致帶寬減小,從而減弱讀寫(xiě)器的調(diào)制邊帶,會(huì)導(dǎo)致讀寫(xiě)器無(wú)法與卡通信。

      無(wú)線傳輸模塊分析

      是一無(wú)線通信芯片,采用FSK調(diào)制,可以實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)或是1對(duì)6的無(wú)線通信。無(wú)線通信速度最高可達(dá)2Mbps,只需為單片機(jī)系統(tǒng)預(yù)留5個(gè)GPIO,1個(gè)中斷輸入引腳,就可很容易地實(shí)現(xiàn)天線通信的功能,非常適合用MCU系統(tǒng)構(gòu)建無(wú)線通信功能。

      具有收發(fā)模式,待機(jī)模式和掉電模式,四種工作模式,并由CE、寄存器內(nèi)部PWR、VP和PRIM、RX共同控制。nRF24L01所有的配置都由配置寄存器來(lái)定義,這些配置寄存器可通過(guò)SPI口訪問(wèn)。SPI接口由SCK、MOSI、MISO及CSN組成,在配置模式下單片機(jī)通過(guò)SPI接口配置nRF24L01的工作參數(shù),在發(fā)射或接收模式下單片機(jī)SPI接口發(fā)送和接收數(shù)據(jù)。

      單片機(jī)的控制指令從nRF24L01的MOSI引腳輸入,而nRF24L01的狀態(tài)信息和數(shù)據(jù)是從其MISO引腳輸出并送給單片機(jī)的。利用SPI傳輸數(shù)據(jù)時(shí),是先傳輸?shù)臀蛔止?jié),再傳輸高位字節(jié),并且在傳輸每個(gè)字節(jié)時(shí)是從高位傳起。

      六、單片機(jī)軟件系統(tǒng)工作流程

      通過(guò)使用STC-ISP軟件,STC12C5A60S2單片機(jī)可實(shí)現(xiàn)串口在線編程。由于現(xiàn)在大的數(shù)據(jù)計(jì)算機(jī)都不存在提供單獨(dú)的串口,所以需要USB轉(zhuǎn)RS232串口線。

      USB轉(zhuǎn)RS232串口設(shè)備驅(qū)動(dòng)程序的安裝

      STC-ISP V483串口下載軟件

      七、實(shí)習(xí)過(guò)程心得:

      新學(xué)期伊始,就迎來(lái)了為期四周的單片機(jī)生產(chǎn)實(shí)習(xí)。在這次生產(chǎn)實(shí)習(xí)過(guò)程中,我受益頗多。這是我們經(jīng)歷的第一次廣泛了解實(shí)際電子產(chǎn)品生產(chǎn)的全過(guò)程。從最初的設(shè)計(jì),到焊接,安裝,調(diào)試,我們都是逐一親自動(dòng)手操作完成的。在這次實(shí)習(xí)中,我們遇到了不少問(wèn)題,但正是因?yàn)橛辛诉@些問(wèn)題,才有了我們更加深入學(xué)習(xí)的機(jī)會(huì)。為了解決這些問(wèn)題,我們查資料,探討,請(qǐng)教老師,充分利用自己身邊的一切資源來(lái)學(xué)習(xí)。這樣的學(xué)習(xí)過(guò)程讓我們對(duì)所學(xué)內(nèi)容理解的更深刻,而且大大提高了我們的團(tuán)結(jié)協(xié)作能力。在實(shí)際操作焊接的過(guò)程中,我們從笨拙到熟練,動(dòng)手能力不斷提高,有了很大的進(jìn)步。這為我們以后步入工作崗位做了良好的鋪墊。

      總之,通過(guò)這次生產(chǎn)實(shí)習(xí),我受益匪淺,各方面的能力都有了提高。最后,感謝在實(shí)踐過(guò)程中悉心指導(dǎo)的每一位老師!

      第三篇:?jiǎn)纹瑱C(jī)實(shí)習(xí)報(bào)告

      實(shí)

      習(xí)

      報(bào)

      實(shí)習(xí)名稱 :

      嵌入式系統(tǒng) 實(shí)習(xí)

      系部名稱 :

      信科院

      專業(yè)班級(jí):

      計(jì)本 08 -5

      學(xué)生姓名:

      陳鵬任

      學(xué)

      號(hào):

      3080417907

      指導(dǎo)教師:

      陳小琴 金紅 楊光杰

      日 日

      期:

      2010.12.18

      一. 引言

      目前,嵌入式技術(shù)已成為通信和消費(fèi)類產(chǎn)品的共同發(fā)展方向。嵌入式系統(tǒng)幾乎包括了生活中的所有電器設(shè)備,如掌上PDA、移動(dòng)計(jì)算設(shè)備、電視機(jī)頂盒、手機(jī)上網(wǎng)、數(shù)字電視、多媒體、汽車、微波爐、數(shù)字相機(jī)、家庭自動(dòng)化系統(tǒng)、電梯、空調(diào)、安全系統(tǒng)、自動(dòng)售貨機(jī)、蜂窩式電話、消費(fèi)電子設(shè)備、工業(yè)自動(dòng)化儀表與醫(yī)療儀器等。

      嵌入式系統(tǒng)是先進(jìn)的計(jì)算機(jī)技術(shù)、半導(dǎo)體技術(shù)、電子技術(shù)和各個(gè)行業(yè)的具體應(yīng)用相結(jié)合的產(chǎn)物,這就決定了它必然是一個(gè)技術(shù)密集、資金密集、高度分散、不斷創(chuàng)新的知識(shí)集成系統(tǒng)。嵌入式系統(tǒng)一般指非PC系統(tǒng)。它是以應(yīng)用為中心、軟硬件可裁減的、能適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗等綜合性要求的專用計(jì)算機(jī)系統(tǒng)。簡(jiǎn)單地說(shuō),嵌入式系統(tǒng)是集系統(tǒng)的應(yīng)用軟件與硬件于一體,類似于PC中BIOS的工作方式,具有軟件代碼小、高度自動(dòng)化、響應(yīng)速度快等特點(diǎn),因此特別適合于要求實(shí)時(shí)和多任務(wù)的系統(tǒng)。嵌入式系統(tǒng)主要由嵌入式處理器、相關(guān)支撐硬件、嵌入式操作系統(tǒng)及應(yīng)用軟件系統(tǒng)等組成。

      通過(guò)這次實(shí)訓(xùn),老師讓我們了解最基本的嵌入式系統(tǒng)設(shè)計(jì),開(kāi)發(fā)的流程,結(jié)合掌握所學(xué)的知識(shí),做出一個(gè)單片機(jī)與上位機(jī)通信的簡(jiǎn)單嵌入式系統(tǒng)。

      二.課題設(shè)計(jì) 1 .基本原理

      MCS-51 單片機(jī)串行口發(fā)送/接收數(shù)據(jù)時(shí),通過(guò) 2 個(gè)串行緩沖器 SBUF 進(jìn)行,這 2 個(gè)緩沖器采用一個(gè)地址(98H),但在物理上是獨(dú)立的。其中接收緩沖器只能讀出不能寫(xiě)入,發(fā)送緩沖器只能寫(xiě)入不能讀出。

      ① 發(fā)送過(guò)程,由指令 MOV SBUF,A 啟動(dòng),此時(shí)待傳送的數(shù)據(jù)由 A 累加器傳入串行發(fā)送緩沖器 SBUF,由硬件自動(dòng)在發(fā)送字符的始、末加上起始位(低電平)、停止位(高電子)及其它控制位(如奇偶位等),而后在移位脈沖的控制下,低位在前,高位在后,逐位從 TXD 端(方式 0 除外)發(fā)出。

      ② 接收過(guò)程,串行口的接收與否受制于允許接收位 REN 的狀態(tài),當(dāng) REN 被軟件置“1”后,允許接收器接收。串口的接收器以所選波特率的 16 倍速對(duì) RXD線進(jìn)行監(jiān)視。當(dāng)“1”到“0”跳變時(shí),檢測(cè)器連續(xù)采樣到 RXD 線上低電平時(shí)。便認(rèn)定 RXD 端出現(xiàn)起始位,繼而接收控制器開(kāi)始工作。在每位傳送時(shí)間的第 7、8、9 三個(gè)脈沖狀態(tài)采樣 RXD 線,決定所接收的值為“0”或“1”。當(dāng)接收完停止位后,控制電路使中斷標(biāo)志 R1 置為“1”,此時(shí)程序可通過(guò) MOV

      A,SBUF指令將接收到的字符從 SBUF 送入累加器 A,從而完成一幀數(shù)據(jù)的接收工作。

      2.原理框架

      3.硬件電路原理 圖,對(duì)各模塊進(jìn)行分別介紹

      機(jī) LCD 顯示電路 復(fù)位電路 時(shí)鐘電路 電源電路 串行口通信電路

      3.1 液晶顯示模塊

      1602LCD 采用標(biāo)準(zhǔn)的 14 腳(無(wú)背光)或 16 腳(帶背光)接口,各引腳接口如下所示

      接口信號(hào)說(shuō)明 編號(hào) 符號(hào) 引腳說(shuō)明 編號(hào) 符號(hào) 引腳說(shuō)明 1 VSS 電源地 9 D2 Data I/O 2 VDD 電源正極 10 D3 Data I/O 3 VL 液晶顯示偏壓信號(hào) 11 D4 Data I/O 4 RS 數(shù)據(jù)/命令選擇端(H/L)D5 Data I/O 5 R/W 讀/寫(xiě)選擇端(H/L)D6 Data I/O 6 E 使能信號(hào) 14 D7 Data I/O 7 D0 Data I/O 15 BLA 背光源正極 8 D1 Data I/O 16 BLK 背光源負(fù)極 用 LCD1602 液晶顯示模塊顯示字符或字符串之前必須對(duì)其進(jìn)行初始化,LCD1602 液晶顯示模塊的初始化流程如下:

      ? 5.0 初始化過(guò)程(復(fù)位過(guò)程)

      ? 5.1 延時(shí) 15ms ? 5.2 寫(xiě)指令 38H(不檢測(cè)忙信號(hào))

      ? 5.3 延時(shí) 5ms ? 5.4 寫(xiě)指令 38H(不檢測(cè)忙信號(hào))

      ? 5.5 延時(shí) 5ms ? 5.6 寫(xiě)指令 38H(不檢測(cè)忙信號(hào))

      ? 5.7(以后每次寫(xiě)指令、讀/寫(xiě)數(shù)據(jù)之前均需檢測(cè)忙信號(hào))

      ? 5.8 寫(xiě)指令 38H:顯示模式設(shè)置 ? 5.9 寫(xiě)指令 38H:顯示關(guān)閉 ? 5.10 寫(xiě)指令 01H:顯示清屏 ? 5.11 寫(xiě)指令 06H:顯示光標(biāo)移動(dòng)設(shè)置 ? 5.12 寫(xiě)指令 0CH:顯示開(kāi)關(guān)及光標(biāo)位置

      表 8 LCD1602 液晶模塊內(nèi)部的控制器控制指令 指令 指令碼

      說(shuō)明

      RS

      R/W D0

      D1

      D2

      D3

      D4

      D5

      D6

      D7

      清屏

      0 0 0 0 0 0 0 0 0 1 清顯示,光標(biāo)回位

      光標(biāo)返回

      0 0 0 0 0 0 0 0 1 * ADD=0 時(shí),回原位

      輸入方式

      0 0 0 0 0 0 0 1 I/D S 決定是否移動(dòng)以及移動(dòng)方向

      顯示開(kāi)關(guān)

      0 0 0 0 0 0 1 D C B D-顯示,C-光標(biāo),B-光標(biāo)閃爍

      移位

      0 0 0 0 0 1 S/C R/L * * 移動(dòng)光標(biāo)及整體顯示

      功能設(shè)置

      0 0 0 0 1 DL N F * * DL-數(shù)據(jù)位數(shù),L-行數(shù),F-字體

      CGRAM 地址設(shè)置

      0 0 0 1 A5 A4 A3 A2 A1 A0 設(shè)置 CGRAM 的地址 DDRAM 地址設(shè)置

      0 0 1 A6 A5 A4 A3 A2 A1 A0 設(shè)置 DDRAM 的地址 忙標(biāo)志/讀地址計(jì)數(shù)器

      0 1 BF AC6 AC5 AC4 AC3 AC2 AC1 AC0 讀出忙標(biāo)志位(BF)及 AC 值 CGRAM/DDRAM 數(shù)據(jù)寫(xiě)0 寫(xiě)數(shù)據(jù) 將內(nèi)容寫(xiě)入 RAM 中 CGRAM/DDRAM 數(shù)據(jù)讀1 讀數(shù)據(jù) 將內(nèi)容從 RAM 中讀出

      LCD1602 液晶顯示模塊可以和單片機(jī) AT89C51 直接接口,電路如下圖所示。

      RP110KGND1VDD2VO3RS4RW5E6DB07DB18DB29DB310DB411DB512DB613DB714BL115BL216U2LCD1620X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10GND20VCC40EA/VP31nPSENRXDTXDALEU1AT89S51P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7+5VP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7RWRSE+5VnWRVCCnWRnRD

      AT89S52 和 LCD1602 液晶模塊連接電路 液晶顯示模塊是一個(gè)慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的忙標(biāo)志為低電平,表示不忙,否則此指令失效。要顯示字符時(shí)要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符,表 9 是 LCD1602 的內(nèi)部顯示地址。即第 1 行的顯示地址應(yīng)為 80H+顯示位置,第 2 行的顯示地址應(yīng)為 40H+顯示位置。

      表 9

      LCD1602 的內(nèi)部顯示地址

      3.2 串口通信模塊 RS-232C 標(biāo)準(zhǔn)(協(xié)議)的全稱是 EIA-RS-232C 標(biāo)準(zhǔn),其中 EIA(Electronic Industry Association)代表美國(guó)電子工業(yè)協(xié)會(huì),RS(recommended standard)代表推薦標(biāo)準(zhǔn),232 是標(biāo)識(shí)號(hào),C 代表 RS232 的最新一次修改,在這之前,有 RS232B、RS232A,它規(guī)定連接電纜和機(jī)械、電氣特性、信號(hào)功能及傳送過(guò)程。RS-232C 適合于數(shù)據(jù)傳輸速率在 0~20000b/s 范圍內(nèi)的通信。

      PC 機(jī)常用 DB-9 連接器作為提供多功能 I/O 卡或主板上 COM1 和 COM2 兩個(gè)串行接口的連接器,它只提供異步通信的 9 個(gè)信號(hào),9 針串口功能見(jiàn)表 10,并且對(duì)電纜長(zhǎng)度也有要求:

      RS-232C 標(biāo)準(zhǔn)規(guī)定,若不使用 MODEM,在碼元畸變小于 4%的情況下,DTE 和 DCE 之間最大傳輸距離為 15m(50 英尺)??梢?jiàn)這個(gè)最大的距離是在碼元畸變小于 4%的前提下給出的,為了保證碼元畸變小于 4%的要求,接口標(biāo)準(zhǔn)在電氣特性中規(guī)定,驅(qū)動(dòng)器的負(fù)載電容應(yīng)小于 2500pF。

      表 10針串口功能一覽表 針腳 功能 針腳 功能 1 載波檢測(cè) 6 數(shù)據(jù)準(zhǔn)備完成 2 接收數(shù)據(jù) 7 發(fā)送請(qǐng)求 3 發(fā)送數(shù)據(jù) 8 發(fā)送清除 4 數(shù)據(jù)終端準(zhǔn)備完成 9 振鈴指示 5 信號(hào)地線

      本方案對(duì) RS-232-C 接口采用 3 線制(RXD、TXD、GND)軟握手的零 MODEM 方式進(jìn)行單片機(jī)和 PC 之間的數(shù)據(jù)通信,即 PC 機(jī)和單片機(jī)的發(fā)送數(shù)據(jù)線(TXD)與接收數(shù)據(jù)(RXD)交叉連接,二者的地線(GND)直接相連,其它信號(hào)線如握手信號(hào)線均不用,而采用軟件握手。但由于 RS-232-C 的邏輯電對(duì)地是對(duì)稱的,與 TTL、MOS 邏輯電平完全不同,邏輯 0 電平規(guī)定為+5~ +15V 之間,邏輯 1 是電平為-5~-15V 之間,因此利用 MAX232芯片進(jìn)行電平轉(zhuǎn)換,電路連接如圖 11。

      C1-3V+2C2+4C2-5V-6R209D2110VCC16GND15D1014R1113R1012D1111R218D207C1+1IC2MAX232C13C12C11C10VCC162738495J232DB9 圖 RS-232-C 通信連接電路

      3.3 電源模塊 +220PFC5C60.1uFS12Vin+5VGNDU37805R81.5KD0LED123POWCON3SPD2

      充電電路

      4.軟件設(shè)計(jì) ((1)流程圖

      ((2)代碼附錄 //示 接收電腦送過(guò)來(lái)的數(shù)據(jù),并且顯示 16 進(jìn)制數(shù),并將數(shù)據(jù)回傳到電腦 腦 #include //LCD 的口線 sbit E=P2^5;sbit RW=P3^6;sbit RS=P2^6;unsigned char recdata[28];//定義 RS232 數(shù)組 unsigned char recv_p;unsigned char bdata myflag;sbit recokbit = myflag^0;void Delay(unsigned int t);void SendCommandByte(unsigned char ch);//傳送命令 void SendDataByte(unsigned char ch);//傳送數(shù)據(jù) void InitLcd(void);//LCD 顯示 void disprec(void);//顯示 void rs232(void);void main(void)//主函數(shù) {

      InitLcd();//初始化 LCD

      myflag=0x00;//標(biāo)志痊

      SendCommandByte(0x80);//調(diào)用發(fā)送命令

      Delay(2);

      SendDataByte(“c”);//初始化顯示 CPR:

      SendDataByte(“p”);

      SendDataByte(“r”);

      SendDataByte(“:”);

      TMOD=0x20;//定時(shí)器的設(shè)置

      TH1=0xf3;//計(jì)時(shí)器

      TL1=0xf3;

      SCON=0x50;//設(shè)定串行工作方式

      TR1=1;

      REN=1;//允許中斷

      IE=0x90;//中斷允許標(biāo)志

      while(1)

      {

      if(recokbit==1)//接收數(shù)據(jù)

      {

      recokbit=0;

      disprec();

      }

      } }

      //以下為串口中斷程序 void rs232(void)interrupt 4//中斷串行口

      {

      if(RI==1)//控制電路使中斷標(biāo)志 R1 置為“1 此時(shí)程序可通過(guò) MOV

      A,SBUF 指令將接收到的字符從 SBUF 送入累加器 A,從而完成一幀數(shù)據(jù)的接收工作

      {

      RI=0;

      recdata[recv_p]=SBUF;

      SBUF=recdata[recv_p];

      recv_p++;if(recv_p>27)recv_p=0;//

      recokbit=1;//接受完成}

      } void Delay(unsigned int t)

      // delay 40us {

      for(;t!=0;t--);} //============================================= void SendCommandByte(unsigned char ch){

      RS=0;

      RW=0;

      P0=ch;

      E=1;//使能端口為 1,接收命令

      Delay(1);

      E=0;

      Delay(100);

      //delay 40us }

      //=============================================

      //-------------------------------------------------------void SendDataByte(unsigned char ch){

      TI=0;//開(kāi)始發(fā)送數(shù)據(jù)

      SBUF=ch;

      while(!TI);

      RS=1;//輸入數(shù)據(jù)

      RW=0;//為 0 時(shí)寫(xiě),1 時(shí)讀

      P0=ch;

      E=1;

      Delay(1);

      E=0;//使能信號(hào)為 0 時(shí),不能輸入

      Delay(100);//delay 40us } //-------------------------------------------------void InitLcd(void){ unsigned char i;for(i=0;i<28;i++)recdata[i]=0x30;//初始化數(shù)組 0 recv_p=0;

      SendCommandByte(0x30);

      SendCommandByte(0x30);

      SendCommandByte(0x30);

      SendCommandByte(0x38);//設(shè)置工作方式

      SendCommandByte(0x0c);//顯示狀態(tài)設(shè)置

      SendCommandByte(0x01);//清屏

      SendCommandByte(0x06);//輸入方式設(shè)置 } void disprec(void){

      unsigned char i;

      for(i=0;i<12;i++)

      {

      SendCommandByte(0x84+i);

      SendDataByte(recdata[i]);

      }

      for(i=0;i<16;i++)

      {

      SendCommandByte(0xc0+i);

      SendDataByte(recdata[i+12]);

      }

      }

      5.調(diào)試過(guò)程((1)測(cè)試數(shù)據(jù)

      采用 RS232 把 PC 機(jī)與單片機(jī)連接起來(lái),運(yùn)行上位機(jī)程序如下圖所示:

      向單片機(jī)發(fā)送信息時(shí),PC 機(jī)顯示信息重復(fù)了。

      ((2))

      數(shù)據(jù)分析

      PC 機(jī)發(fā)送的數(shù)據(jù)給單片機(jī)能正常顯示,但單片機(jī)返回給 PC 機(jī)的信息重復(fù)了,經(jīng)過(guò)反復(fù)檢查,原來(lái)是 recdata[recv_p]=SBUF;SBUF=recdata[recv_p];這語(yǔ)句重寫(xiě)了,刪了,就恢復(fù)正常通信顯示了。

      三. 結(jié)論 經(jīng)過(guò)這次嵌入式系統(tǒng)實(shí)訓(xùn),熟悉了單片機(jī)設(shè)計(jì),開(kāi)發(fā)的流程,在楊琴老師,金紅老師,楊光杰老師的辛勤指導(dǎo)下,在和組員龐卡努力下,從最初的元件領(lǐng)取,電路焊接,利用 PROTEL99 畫(huà)電路原理圖,到代碼的編寫(xiě),我負(fù)責(zé)下位機(jī)程序,龐卡負(fù)責(zé)上位機(jī)的程序,經(jīng)過(guò)我們的共同努力,加上各位老師的指導(dǎo),終于在老師規(guī)定的時(shí)間內(nèi)完成了單片機(jī)與上位機(jī)的通信。

      這次嵌入式系統(tǒng)實(shí)訓(xùn),學(xué)習(xí)了嵌入式系統(tǒng)簡(jiǎn)單開(kāi)發(fā)流程,加深所學(xué)知識(shí)的理解。

      第四篇:?jiǎn)纹瑱C(jī)實(shí)習(xí)報(bào)告

      重慶城市管理職業(yè)學(xué)院

      信息工程學(xué)院

      單片機(jī)實(shí)習(xí)報(bào)告

      專業(yè)班級(jí)電子A0801

      學(xué)號(hào)0401080112

      姓名呂爽

      組號(hào)第一組

      實(shí) 驗(yàn) 室 單片機(jī)實(shí)訓(xùn)室

      成績(jī)?cè)u(píng)定

      老師簽名

      2009年 12月 25日

      實(shí)訓(xùn)課題:99數(shù)字跑表

      實(shí)訓(xùn)目的:通過(guò)實(shí)驗(yàn)掌握顯示的接口電路及程序設(shè)計(jì),熟悉各種操作指令,子程序的調(diào)用以及中斷知識(shí)和計(jì)數(shù)器的計(jì)數(shù)

      實(shí)訓(xùn)原理:通過(guò)把設(shè)計(jì)好的程序利用軟件將編譯得到HEX格式文件加載到單片機(jī)芯片中,實(shí)現(xiàn)仿真電路,得到仿真電路結(jié)果。

      實(shí)驗(yàn)儀器:電腦,Keil軟件,Proteus軟件

      實(shí)訓(xùn)要求:(1)四位LED數(shù)碼管動(dòng)態(tài)顯示,顯示最小時(shí)間為0.01秒,最多顯示時(shí)間99秒;

      (2)由按鍵控制,第一次按下鍵,開(kāi)始計(jì)時(shí),第二次按下鍵,停止計(jì)時(shí),第三次按下鍵,清零。

      在Keil軟件中,新建一個(gè)項(xiàng)目,命名為跑表,然后根據(jù)程序流程圖和仿真電路圖編寫(xiě)程序。調(diào)試程序,檢查程序是否有誤,保存。得程序如下:

      編寫(xiě)程序

      ORG0000H

      LJMPMAIN

      ORG0003H

      LJMPL1

      ORG0030H

      /*開(kāi)始程序*/

      MAIN:SETBIT0

      SETBP1.0;至高電頻

      SETBEA;開(kāi)中斷控制位

      SETBEX0;開(kāi)外部中斷0

      MOVDPTR,#TAB;將TAB所代表的地址送入DPTR

      MOV30H,#0

      MOV40H,#0

      MOVR1,#0

      /*判斷R1,然后進(jìn)行判斷*/

      L4:JBP1.0,L14;P1.0的值為1,則轉(zhuǎn)移至L14

      INCR1;R1加1

      SETBP1.0

      L14:MOVR3,#2

      /*使時(shí)間達(dá)到0.01秒*/

      L9:ACALLL3;絕對(duì)調(diào)用L3程序

      ACALLL2

      DECR3;寄存器減1

      CJNER3,#0,L9

      /*當(dāng)按一次開(kāi)關(guān)時(shí)進(jìn)行跑秒*/

      CJNER1,#1,L5;寄存器R1中的值不為1,則轉(zhuǎn)移到L5

      MOVA,30H

      ADDA,#1

      DAA

      CJNEA,#99H,L6

      ACALLL7

      CLRA

      L6:MOV30H,A

      /*當(dāng)再一次按鍵時(shí),暫停*/

      L5:CJNER1,#2,L10

      SJMPL4;轉(zhuǎn)移到L4

      /*當(dāng)繼續(xù)按鍵時(shí),清零*/

      L10: CJNER1,#3,L11

      MOV30H,#0

      MOV40H,#0

      MOVR1,#0

      L11: SJMPL4

      /*跑秒顯示后兩位*/

      L2:

      CLRP2.3

      MOVA,30H

      ANLA,#0FH

      MOVCA,@A+DPTR

      MOVP0,A

      LCALLL3

      SETBP2.3

      CLRP2.2

      MOVA,30H

      SWAPA

      ANLA,#0FH

      MOVC A,@A+DPTR

      MOVP0,A

      LCALLL3

      SETBP2.2/*跑秒顯示前兩位*/

      CLRP2.1

      MOVA,40H

      ANLA,#0FH

      MOVCA,@A+DPTR

      MOVP0,A

      LCALL L3

      SETB P2.1

      CLRP2.0

      MOVA,20H

      SWAP A

      ANLA,#0FH

      MOVCA,@A+DPTR

      MOVP0,A

      LCALLL3

      SETBP2.0

      RET

      /*顯示用的時(shí)間*/

      l3: MOVR7,#250

      J0: NOP;延遲一個(gè)機(jī)器周期的時(shí)間

      NOP

      DJNZR6,J0;寄存器減1不為0,轉(zhuǎn)移到J0

      RET

      /*終端打開(kāi)*/

      L1: CLR EA

      CLR P1.0

      SETBEA

      RETI

      /*秒位顯示*/

      L7: MOVA,40H

      ADDA,#1

      DAA

      CJNEA,#99H,L8

      CLR A

      L8: MOV40H,A

      RET

      TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH

      END

      四:檢查程序是否有誤,然后修改,并將無(wú)誤的程序保存編譯為HEX格式文件,然后加載到單片機(jī)芯片中,查看電路,觀看仿真電路結(jié)果.得到課題要求的結(jié)果。

      五、實(shí)訓(xùn)小結(jié)

      1)通過(guò)實(shí)訓(xùn),我們自己動(dòng)手分析設(shè)計(jì)程序加深了對(duì)知識(shí)的理解和對(duì)指令的運(yùn)用。

      2)通過(guò)對(duì)程序的編譯和電路的仿真,使我們能夠更直觀得看到程序運(yùn)行的結(jié)果。

      3)通過(guò)實(shí)訓(xùn)與所學(xué)知識(shí)的結(jié)合,提高我們動(dòng)手的能力和對(duì)技能的熟悉。強(qiáng)化了我們得專業(yè)技能,能更好的運(yùn)用所學(xué)知識(shí)。

      第五篇:?jiǎn)纹瑱C(jī)實(shí)習(xí)報(bào)告

      1602液晶顯示設(shè)計(jì)

      一、實(shí)驗(yàn)簡(jiǎn)介:

      通過(guò)學(xué)習(xí)本門(mén)課程,能夠掌握利用51單片機(jī)完成簡(jiǎn)單項(xiàng)目的應(yīng)用系統(tǒng)設(shè)計(jì)和調(diào)試,掌握單片機(jī)應(yīng)用程序的編寫(xiě)和調(diào)試過(guò)程。本次實(shí)習(xí),我的題目是用51單片機(jī)控制1602液晶顯示指定字符的設(shè)計(jì),需要分別設(shè)計(jì)系統(tǒng)的硬件電路及調(diào)試軟件程序,并能夠正確演示調(diào)試結(jié)果。

      二、實(shí)驗(yàn)要求:

      1、查找資料學(xué)習(xí)單片機(jī)的LCD點(diǎn)陣顯示原理;

      2、理解KST-51的LCD點(diǎn)陣顯示電路圖;

      3、編制程序在點(diǎn)陣LCD上實(shí)現(xiàn)字母:我愛(ài)單片機(jī)繪制原理圖;

      4、完成實(shí)驗(yàn)報(bào)告的撰寫(xiě)。

      三、硬件電路:

      (一)89C52系列單片機(jī)

      89C52是INTEL公司MCS-51系列單片機(jī)中基本的產(chǎn)品,它內(nèi)置8位中央處理單元、512字節(jié)內(nèi)部數(shù)據(jù)存儲(chǔ)器RAM、8k片內(nèi)程序存儲(chǔ)器(ROM)32個(gè)雙向輸入/輸出(I/O)口、3個(gè)16位定時(shí)/計(jì)數(shù)器和5個(gè)兩級(jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)時(shí)鐘振蕩電路。此外,89C52還可工作于低功耗模式,可通過(guò)兩種軟件選擇空閑和掉電模式。在空閑模式下凍結(jié)CPU而RAM定時(shí)器、串行口和中斷系統(tǒng)維持其功能。掉電模式下,保存RAM數(shù)據(jù),時(shí)鐘振蕩停止,同時(shí)停止芯片內(nèi)其它功能。89C52有PDIP(40pin)和PLCC(44pin)兩種封裝形式。

      1、單片機(jī)最小系統(tǒng)

      KST-51單片機(jī)開(kāi)發(fā)板

      最小系統(tǒng)是指單片機(jī)正常工作的最基本的外圍配置,主要包括時(shí)鐘電路、復(fù)位電路等。

      51單片機(jī)最小系統(tǒng)是利用XTAL1和XTAL2兩個(gè)引腳外接晶體振蕩器的內(nèi)部時(shí)鐘方式,C1和C2的作用是穩(wěn)定頻率和快速起振,典型值為30pf,晶體振蕩器的振蕩頻率典型值為6 MHZ、12 MHZ或者11.0592 MHZ,系統(tǒng)與PC通信時(shí)常采用11.0592MHZ。

      復(fù)位電路設(shè)計(jì)形式包括:上電復(fù)位、按鍵復(fù)位、和利用專業(yè)的復(fù)位芯片進(jìn)行管理,本次設(shè)計(jì)采用按鍵復(fù)位方式。

      51單片機(jī)最小系統(tǒng)

      2、單片機(jī)引腳功能

      51系列單片機(jī)有40個(gè)引腳,包括2個(gè) 電源引腳,2個(gè)外界晶振引腳,4個(gè)控制或 其他電源復(fù)用引腳,32個(gè)I/O引腳。1)主電源引腳(2根)VCC(Pin40):電源輸入,接+5V電源 GND(Pin20):接地線 2)外接晶振引腳(2根)

      XTAL1(Pin19)、XTAL2(Pin18)主要用來(lái)構(gòu)成單片機(jī)的時(shí)鐘電路。時(shí)鐘電路用來(lái)產(chǎn)生單片機(jī)工作所需的時(shí)鐘信號(hào)。時(shí)鐘信號(hào)分為內(nèi)部時(shí)鐘方式和外部時(shí)鐘方式。3)控制引腳(4根)

      RST/VPP(Pin9):復(fù)位引腳,引腳上出現(xiàn)2個(gè)機(jī)器周期的高電平將使單片機(jī)復(fù)位。

      ALE/PROG(Pin30):地址鎖存允許信號(hào) PSEN(Pin29):外部存儲(chǔ)器讀選通信號(hào)

      EA/VPP(Pin31):程序存儲(chǔ)器的內(nèi)外部選通,接低電平從外部程序存儲(chǔ)器讀指令,如果接高電平則從內(nèi)部程序存儲(chǔ)器讀指令。4)輸入/輸出引腳(32根)

      P0口是一個(gè)雙功能的8位并行口,可以用做地址/數(shù)據(jù)總線,另外P0口還可以作為通用I/O口使用,此時(shí)為準(zhǔn)雙向口,且內(nèi)部無(wú)上拉電阻。

      P1口是單功能的I/O口,只能作為通用的I/O口使用,為準(zhǔn)雙向口,但內(nèi)部有上拉電阻。

      P2口是一個(gè)雙功能口,為準(zhǔn)雙向口,但內(nèi)部有上拉電阻,P2口功能主要有一下兩個(gè)方面:一是作為高8位地址輸出線使用時(shí),P2口可以輸出外部存儲(chǔ)器的高8位地址,與P0口輸出的低8位地址一起構(gòu)成16位地址,可以尋址64位的地址空間;二是作為通用I/O口使用時(shí),與P1口使用方法一樣。

      P3口作為通用I/O口時(shí)使用方法與P1一樣。另外,P3口主要作為第二功能使用。

      (二)1602字符液晶

      P3口第二功能表

      字符型液晶顯示模塊是一種專門(mén)用于顯示字母、數(shù)字、符號(hào)等點(diǎn)陣式LCD,1602是指顯示的內(nèi)容為16*2,即可以顯示兩行,每行16個(gè)字符。字符液晶絕大多數(shù)是基于HD44780液晶芯片的。

      1602實(shí)物圖 1、1602LCD的特性

      ? +5V電壓,對(duì)比度可調(diào) ? 內(nèi)含復(fù)位電路

      ? 提供各種控制命令,如:清屏、字符閃爍、光標(biāo)閃爍、顯示移位等多種功能

      ? 有80字節(jié)顯示數(shù)據(jù)存儲(chǔ)器DDRAM ? 內(nèi)建有160個(gè)5X7點(diǎn)陣的字型的字符發(fā)生器CGROM ? 8個(gè)可由用戶自定義的5X7的字符發(fā)生器CGRAM

      2、字符型LCD1602接口 引腳2、1為1602的電源和地,引腳15、16 為背光電源,引腳4、5、6為控制端口,引腳7-14為 數(shù)據(jù)端口,以下為各個(gè)端口的詳細(xì)介紹。3、1602存儲(chǔ)器

      HD44780內(nèi)置了DDRAM(顯示數(shù)據(jù)存儲(chǔ)RAM)、CGROM(字符存儲(chǔ)ROM)和CGRAM(用戶自定義RAM)。

      DDRAM就是顯示數(shù)據(jù)RAM,用來(lái)寄存待顯示的字符代碼。共80個(gè)字節(jié),其地址和屏幕的對(duì)應(yīng)關(guān)系如下表:

      在DDRAM的00H地址處顯示數(shù)據(jù),則必須將00H加上80H,即0X80+0x00,若要在DDRAM的01H處顯示數(shù)據(jù),則必須將01H加上80H即 0X80+0x01。以此類推。

      字符發(fā)生存儲(chǔ)器(CGROM)已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,如下表所示,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫(xiě)、常 用的符號(hào)、和日文假名等,每一個(gè)字符都有一個(gè)固定的代碼。4、1602指令表

      對(duì)DDRAM的內(nèi)容和地址操作,HD44780的指令集及其設(shè)置說(shuō)明,共有11條指令: 1)清屏指令

      功能:<1> 清除液晶顯示器,即將DDRAM的內(nèi)容全部填入“空白”的字符碼20H;<2> 光標(biāo)歸位,即將光標(biāo)撤回液晶顯示屏的左上方;<3> 將地址計(jì)數(shù)器(AC)的值設(shè)為0。

      2)光標(biāo)歸位指令

      功能:<1> 把光標(biāo)撤回到顯示器的左上方;<2> 把地址計(jì)數(shù)器(AC)的值設(shè)置為0;<3> 保持DDRAM的內(nèi)容不變 3)輸入模式設(shè)置指令

      功能:設(shè)定每次寫(xiě)入1位數(shù)據(jù)后光標(biāo)的移位方向,并且設(shè)定每次寫(xiě)入的一個(gè)字符是否移動(dòng)。參數(shù)設(shè)定的情況如下所示: 位名 設(shè)置

      I/D 0=寫(xiě)入新數(shù)據(jù)后光標(biāo)左移 1=寫(xiě)入新數(shù)據(jù)后光標(biāo)右移

      S 0=寫(xiě)入新數(shù)據(jù)后顯示屏不移動(dòng) 1=寫(xiě)入新數(shù)據(jù)后顯示屏整體右移1個(gè)字 4)顯示開(kāi)關(guān)控制指令

      功能:控制顯示器開(kāi)/關(guān)、光標(biāo)顯示/關(guān)閉以及光標(biāo)是否閃爍。參數(shù)設(shè)定的情況如下:

      位名 設(shè)置 D 0=顯示功能關(guān) 1=顯示功能開(kāi) C 0=無(wú)光標(biāo) 1=有光標(biāo) B 0=光標(biāo)不閃爍 1=光標(biāo)閃爍 5)設(shè)定顯示屏或光標(biāo)移動(dòng)方向指令

      功能:使光標(biāo)移位或使整個(gè)顯示屏幕移位。參數(shù)設(shè)定的情況如下: S/C R/L 設(shè)定情況

      0 0 光標(biāo)左移1格,且AC值減1 0 1 光標(biāo)右移1格,且AC值加1 1 0 顯示器上字符全部左移一格,但光標(biāo)不動(dòng) 1 1 顯示器上字符全部右移一格,但光標(biāo)不動(dòng) 6)功能設(shè)定指令

      功能:設(shè)定數(shù)據(jù)總線位數(shù)、顯示的行數(shù)及字型。參數(shù)設(shè)定的情況如下: 位名 設(shè)置

      DL 0=數(shù)據(jù)總線為4位 1=數(shù)據(jù)總線為8位 N 0=顯示1行 1=顯示2行 F 0=5×7點(diǎn)陣/每字符 1=5×10點(diǎn)陣/每字符 7)設(shè)定CGRAM地址指令

      功能:設(shè)定下一個(gè)要存入數(shù)據(jù)的CGRAM的地址。8)設(shè)定DDRAM地址指令

      功能:設(shè)定下一個(gè)要存入數(shù)據(jù)的CGRAM的地址。9)讀取忙信號(hào)或AC地址指令

      功能:<1> 讀取忙碌信號(hào)BF的內(nèi)容,BF=1表示液晶顯示器忙,暫時(shí)無(wú)法接收單片機(jī)送來(lái)的數(shù)據(jù)或指令;當(dāng)BF=0時(shí),液晶顯示器可以接收單片機(jī)送來(lái)的數(shù)據(jù)或指令;<2> 讀取地址計(jì)數(shù)器(AC)的內(nèi)容。10)數(shù)據(jù)寫(xiě)入DDRAM或CGRAM指令

      功能:<1> 將字符碼寫(xiě)入DDRAM,以使液晶顯示屏顯示出相對(duì)應(yīng)的字符;<2> 將用戶自己設(shè)計(jì)的圖形存入CGRAM。11)從CGRAM或DDRAM讀出數(shù)據(jù)的指令

      功能:讀取DDRAM或CGRAM中的內(nèi)容。

      5、時(shí)序圖

      (1)讀狀態(tài) 輸入:RS=0,RW=1,E=1 讀數(shù)據(jù) 輸入:RS=1,RW=1,E=1(2)寫(xiě)指令 輸入:RS=0,RW=0,E=下降沿脈沖,DB0~DB7=指令碼 寫(xiě)數(shù)據(jù) 輸入:RS=1,RW=0,E=下降沿脈沖,DB0~DB7=數(shù)據(jù)

      四、實(shí)習(xí)結(jié)果與討論:

      通過(guò)程序的編輯在1602型LCD上實(shí)現(xiàn)了顯示英文字符,通過(guò)本次實(shí)驗(yàn)的學(xué)習(xí)進(jìn)一步熟悉了1602型LCD,對(duì)其操作有了更多的心得體會(huì),在本次實(shí)驗(yàn)中獲益匪淺。

      五、實(shí)驗(yàn)程序: #include #include #define uchar unsigned char #define uint unsigned int

      sbit LCD_RS = P2^0;sbit LCD_RW = P2^1;sbit LCD_EN = P2^2;

      uchar code dis1[] = {“woai danpianji”};uchar code dis2[] = {“huizhi yuanlitu”};uchar code dis3[] = {“chen jian”};uchar code dis4[] = {“ dianzihua 1101 ”};

      void delay(int ms){ int i;while(ms--){ for(i = 0;i< 250;i++){ _nop_();_nop_();_nop_();_nop_();} } }

      bit lcd_busy(){ bit result;LCD_RS = 0;LCD_RW = 1;LCD_EN = 1;_nop_();_nop_();_nop_();_nop_();result =(bit)(P0&0x80);LCD_EN = 0;return result;} void lcd_wcmd(uchar cmd){ while(lcd_busy());LCD_RS = 0;LCD_RW = 0;LCD_EN = 0;_nop_();_nop_();P0 = cmd;_nop_();_nop_();_nop_();_nop_();LCD_EN = 1;_nop_();_nop_();_nop_();_nop_();LCD_EN = 0;}

      void lcd_wdat(uchar dat){ while(lcd_busy());LCD_RS = 1;LCD_RW = 0;LCD_EN = 0;P0 = dat;_nop_();_nop_();_nop_();_nop_();LCD_EN = 1;_nop_();_nop_();_nop_();_nop_();LCD_EN = 0;}

      void lcd_pos(uchar pos){ lcd_wcmd(pos|0x80);//數(shù)據(jù)指針=80+地址變量 }

      void lcd_init(){ lcd_wcmd(0x38);//16*2顯示,5*7點(diǎn)陣,8位數(shù)據(jù) delay(5);lcd_wcmd(0x38);delay(5);lcd_wcmd(0x38);delay(5);lcd_wcmd(0x0c);//顯示開(kāi),關(guān)光標(biāo) delay(5);lcd_wcmd(0x06);//移動(dòng)光標(biāo) delay(5);lcd_wcmd(0x01);//清除LCD的顯示內(nèi)容 delay(5);}

      void flash(){ delay(600);//控制停留時(shí)間 lcd_wcmd(0x08);//關(guān)閉顯示 delay(200);//延時(shí) lcd_wcmd(0x0c);//開(kāi)顯示 delay(200);//延時(shí) lcd_wcmd(0x08);//關(guān)閉顯示 delay(200);//延時(shí) lcd_wcmd(0x0c);//開(kāi)顯示 delay(200);} main(){ uchar i;delay(10);lcd_init();// 初始化LCD

      while(1){ lcd_wcmd(0x06);//向右移動(dòng)光標(biāo)

      lcd_pos(0);//設(shè)置顯示位置為第一行的第1個(gè)字符 i = 0;while(dis1[i]!= '