單片微型計算機原理及其應用_2_第1頁
單片微型計算機原理及其應用_2_第2頁
單片微型計算機原理及其應用_2_第3頁
單片微型計算機原理及其應用_2_第4頁
單片微型計算機原理及其應用_2_第5頁
已閱讀5頁,還剩86頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第七章MCS-51系統的串行接口71 串行通訊概述一、串行通訊的兩種基本方式1異步傳送方式 第n個字符(一串行幀)n+1n-1P10D0D1D2D3D4D5D6D7P10D0起始位起始位數數據據位位校驗位校驗位停止位停止位圖 7-2 異步通訊的幀格式開始開始結束結束同步字符同步字符同步字符同步字符數據段數據段CRC字符字符#1CRC字符字符#2圖 7-3 同步傳送方式二、 波特率圖 7-4 串行通訊的制式 三、數據傳送的方向1單工制式(Simplex)2半雙工制式(Half Duplex)3全雙工(Full-duplex)制式72 MCS-51單片機的串行接口一、MCS-51串行口結構圖 7-

2、5 MCS-51串行口組成示意1串行口數據緩沖器SBUF 2串行口控制寄存器SCON見表格7-1SM0位地位地址址9F9E9D9C9B9A9998SCONSM1SM2RENTB8RB8TIRI接收中斷標志發送中斷標志接收數據第9位發送數據第9位接收控制0:禁止接收1:允許接收多機通信0:單機對單機1:多機通信圖 7-6 串行口控制寄存器SCON圖 7-6 串行口控制寄存器SCON3特殊功能寄存器PCONPCON主要是為CHMOS型單片機的電源控制設置的專用寄存器,單元地址為87H,不能位尋址。其格式如圖7-7所示。SMODGF1GF0PDIDL通用標志位空閑控制位0:正常方式1:空閑方式掉電控

3、制位0:正常方式1:掉電方式波特率選擇位SMOD=1時,方式1、2和3的波特率加倍圖 7-7 PCON各位定義二、MCS-51串行的工作方式MCS-51的串行口有四種工作方式,它是由SCON中的SM1和SM0來決定的,如表格7-1表格 7-1 串行口的工作方式SM0SMl工作方式工作方式方式簡單描述方式簡單描述波特率波特率000移位寄存器移位寄存器I/O主振頻率主振頻率/120118位位UART可變可變1029位位UART主振頻率主振頻率/32或主振頻率或主振頻率/641139位位UART可變可變1方式0圖 7-8 串行口方式0的時序2方式1在方式1時,串行口被設置為波特率可變的8位異步通信接

4、口。其時序如圖7-9所示。圖 7-9 串行口方式1的時序3方式2串行口工作為方式2時,被定義為9位異步通信接口。其時序如圖7-10所示。4方式3圖 7-10 串行口方式2、3的時序三、MCS-51串行通信的波特率1方式0的波特率2方式2的波特率 3方式1或方式3的波特率波特率(方式1、3)fosc=6Mfosc=12Mfosc=11.059MSMODT1方式初值SMODT1方式初值SMODT1方式初值62.5k12FFH19.2k12FDH9.6k02FDH4.8k12F3H02FAH2.4k12F3H12F3H02F4H1.2k12E6H02E6H02E8H60012CCH02CCH02D0

5、H30002CCH0298H02A0H137.5121DH021DH022EH1100272H01FEEBH01FEFFH表格 7-2 常用波特率和定時器T1初值關系表73 MCS-51單片機串行口的應用 一、串行口方式0用作擴展并行I/O口圖 7-11 串行口方式0擴展并行輸出口MOVSCON,#00H;串行口方式;串行口方式0初始化初始化MOVA,#80H;最左一位發光二極管先亮;最左一位發光二極管先亮CLRP1.0;關閉并行輸出;關閉并行輸出START1:MOVSBUF,A;開始串行輸出;開始串行輸出LOOP:JNBTI,LOOP;查詢;查詢TISETBP1.0;啟動并行輸出;啟動并行輸

6、出ACALLDELAY;顯示延時;顯示延時CLRTI;清發送中斷標志;清發送中斷標志RRA;準備右邊一位顯示;準備右邊一位顯示CLRP1.0;關閉并行輸出;關閉并行輸出SJMPSTART1;再一次串行輸出;再一次串行輸出二、方式1與點對點的異步通訊在下面給出的實現指定功能的通訊程序中,發送和接收都通過調用子程序來完成,并設發送數據區的首地址為20H,接收數據區的首地址為40H。主程序:MOVTMOD,#20H;定時器;定時器1設為方式設為方式2MOVTL,#0F3H;定時器初值;定時器初值MOVTH1,#0F3H;8位重裝值位重裝值SETBTR1;啟動定時器;啟動定時器1MOVSCON,#50

7、H;串行口設為方式;串行口設為方式1,REN1MOVR0,#20H;發送數據區首址;發送數據區首址MOVR1,#40H;接收數據區首址;接收數據區首址ACALLSOUT;輸出一個字符;輸出一個字符$:SJMP$;等待中斷;等待中斷中斷服務程序:ORG0023H;串行口中斷入口;串行口中斷入口AJMPSBRl;轉至中斷服務程序;轉至中斷服務程序SBRl:JNBRI,SEND;TI1,為發送中斷為發送中斷ACALLSIN;RI1,為接收中斷為接收中斷SJMPNEXT;轉至統一的出口;轉至統一的出口SEND:ACALLSOUT;調用發送子程序;調用發送子程序NEXT:RETI;中斷返回;中斷返回發送

8、子程序:SOUT:MOVA,Ro;取發送數據到;取發送數據到AMOVC,P;加上奇校驗位;加上奇校驗位CPLCMOVACC.7,CINCR0;修改發送數據指針;修改發送數據指針MOVSBUF,A;發送;發送ASCII碼碼CLRTI;清發送中斷標志;清發送中斷標志RET接收子程序:SIN:MOVA,SBUF;讀出接收緩沖區內容;讀出接收緩沖區內容MOVC,P;取出校驗位;取出校驗位CPLC;奇校驗;奇校驗ANLA,#7FH;刪除校驗位;刪除校驗位MOVR1,A;讀入接收緩沖區;讀入接收緩沖區INCR1;修改接收數據指針;修改接收數據指針CLRRI;清接收中斷標志;清接收中斷標志RET三、方式2、

9、方式3與多機通訊TXDRXD80310#從機TXDRXD主機TXDRXD80311#從機TXDRXD8031n#從機圖 7-12 多機通訊連接示意圖1多機通信原理2多機通信實現四、微機與單片機之間的通訊圖 7-13 微機與單片機串行通信接口74 相互通道接口標準及其選擇一、相互通道的典型結構 二、關于RS-232C、RS-449、RS-422、RS-423和RS-485接口(a)主從式分布(b)串行總線式串行通訊接口主計算機系統TXDRXD1#單片機應用系統TXDRXD2#單片機應用系統TXDRXDn#單片機應用系統TXDRXD0#單片機應用系統發送接收TXDRXDTXDRXD1#單片機應用系

10、統n#單片機應用系統圖 7-14 多機系統的相互通道2 2抗干擾能力抗干擾能力1RS-232C接口公用電話交換網ModemModemRS-232C接口RS-232C接口DTEDCEIBM CompatibleAIBM CompatibleBDTEDCE圖 7-15 通過電話網實現遠程連接表格 7-3 微機中常用的RS-232C接口信號引腳號引腳號符號符號名稱名稱說明說明1PGND保護地保護地為了安全和大地相連,有時可不接為了安全和大地相連,有時可不接2TXD發送數據發送數據從從DTE到到DCE的數據線的數據線3RXD接收數據接收數據從從DCE到到DTE的數據線的數據線4RTS請求發送請求發送當

11、當DTE希望在數據線上傳遞數據時由希望在數據線上傳遞數據時由DTE發出,發出,DCE通過所得通過所得到的控制信號決定是否響應到的控制信號決定是否響應5CTS允許發送允許發送允許計算機發送數據時,則由允許計算機發送數據時,則由DCE發出發出6DSR數字置位就緒數字置位就緒當數據線已被接好后由當數據線已被接好后由DCE發出發出7SGND信號地信號地作為信號地的公共回路作為信號地的公共回路8DCD數據載波檢測數據載波檢測當當DCE已經從數據線上接收到信號時發出此信號已經從數據線上接收到信號時發出此信號20DTR數字終端就緒數字終端就緒當當DTE已準備好和調制解調器交換數據時,由已準備好和調制解調器交

12、換數據時,由DTE發出,使用發出,使用公共通信網時才需要公共通信網時才需要22RI振鈴指示振鈴指示當正在進行通信時,由當正在進行通信時,由DCE發出,使用公共通信網時才需要發出,使用公共通信網時才需要表格7-3微機中常用的RS-232C接口信號123:RS-232C 鏈路發送接收地微機終端123:圖 7-16 簡單的RS-232C數據通訊2RS-449、RS-422、RS-423和RS-485接口特性參數RS-232CRS-423RS-422RS-485工作模式單端發單端收單端發雙端收雙端發雙端收雙端發雙端收在傳輸線上允許的驅動器和接收器數目1個驅動器1個接收器1個驅動器10個接收器1個驅動器

13、10個接收器32個驅動器32個接收器最大電纜長度15m1200m(1kb/s)1200m(90kb/s)1200m(100kb/s)最大速率20kb/s100kb/s(12m)10Mb/s(12m)10Mb/s(15m)驅動器輸出(最大電壓)25V6V6V-7V+12V驅動器輸出(信號電平)5V(帶負載)15V(未帶負載)3.6V(帶負載)6V(未帶負載)2V(帶負載)6V(未帶負載)1.5V(帶負載)5V(末帶負載)驅動器負載阻抗3k7k45010054驅動器電源開路電流(高阻抗態)Vmax/300(開路)100A(開路)100A(開路)100A(開路)接收器輸入電壓范圍15V10V12V-

14、7V+12V接收器輸入靈敏度3V200mV200mV200mV接收器輸入阻抗2k7k4kmin4kmin12kmin第八章 MCS-51單片機的中斷系統自然優先級矢量地址自然優先級矢量地址高級中斷請求PCPC斷請求低級中SCON中斷標志IPPX01PT0110PX110PS100PT10IEEX0ET0EX1ET1ESTCONIE0TF0IE1TF1TIRIRXTXT1IT1=1INT1IT1=0T0INT0IT0=1IT0=0源允許總允許優先級硬件查詢EA圖 8-1 8051的中斷系統81 中斷系統及其管理中斷系統及其管理一、中斷源及中斷入口中斷源中斷源入口地址入口地址外部中斷外部中斷000

15、03H定時器定時器T0中斷中斷000BH外部中斷外部中斷10013H定時器定時器T1中斷中斷001BH串行口中斷串行口中斷0023H二、外部中斷請求標志2SCON的中斷標志 1TCON中的中斷標志三、中斷允許控制四、中斷源優先級的設定五、中斷響應處理過程2中斷處理1中斷響應的過程3中斷返回 4外部中斷響應時間82 擴充外部中斷源擴充外部中斷源一、利用定時器進行擴充8051INT0INT1P1.3P1.2P1.1P1.0XI0XI1XI2XI3XI4R5.1KVCC圖 8-2 多外部中斷源連接方法二、采用中斷和查詢相結合的方法擴充外部中斷源EXINT:PUSHPSWPUSHACCJBP10,SA

16、V1JBP11,SAV2JBP12,SAV3JBP13,SAV4DISUB:POPACCPOPPSWRETISAV1:;XI1中斷服務程序AJMPDISUBSAV2:;XI2中斷服務程序AJMPDISUBSAV3:;XI3中斷服務程序AJMPDISUBSAV4:;XI1中斷服務程序AJMPDISUB83 中斷系統的應用中斷系統的應用8051P1.7P1.4P1.3P1.0INT0+5V+5V+5V+5V+5V圖 8-3 外部中斷實驗第九章單片機應用系統的設計方法及實例91 顯示器、鍵盤與單片機的連接一、LED數碼管與單片機的連接共陰極共陽極 5Va b cdefgdp(a)( b)a bcde

17、fgdp圖 9-1 共陰極和共陽極數碼管1靜態顯示eVCCfdgch+ibAaBVCRLEDVSSC8031P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7abcdfgdp(a)(b)圖 9-2 靜態顯示原理DISP:MOVR0,#50H;R0指向第一個顯示單元MOVR2,#4;循環計數器賦初值MOVR3,#0;顯示位指針賦初值LOOP:MOVA,R0ANLA,#0FH;取第i個顯示單元的低4位SWAPAORLA,R3;第i個顯示單元的低4位送R3的高4位MOVP1,A;第i個顯示單元的低4位送R3指出的數碼管去顯示MOVA,R0ANLA,#0F0H;取第i個顯示單元的高4位I

18、NCR3;指向下一個數碼管ORLA,R3;第i個顯示單元的高4位送R3指出的數碼管去顯示MOVP1,A;將第i個顯示單元的高4位送到相應的數碼管去顯示INCR0;指向下一個顯示單元INCR3;指向下一個LED數碼管DJNER2,LOOP;未顯示完4單元的8個BCD碼,返回繼續顯示RETP1 .7P1.6P1.5P1.48031P1.3P1.2P1.1P1.0DCBALEGY0AY1BY2CY7DCBALEDCBALE74LS138MC14495 圖9-3采用譯碼器的靜態顯示接口電路2串行顯示接口8031RXDTXDP1.0ABCLKCLRABCLKCLRABCLKCLR74LS164圖9-5串

19、行顯示接口DISP:SETBP1.0;選通顯示器MOVSCON,#00H;置串口方式0MOVR0,#50H;R0指向第一個顯示單元MOVR2,#4;循環計數器置初值MOVDPTR,#TAB;DPTR指向第一個顯示單元LOOP: MOVA,R0ANLA,#0FH;取第i個顯示單元的低4位MOVCA,ADPTR;查譯碼表MOCSBUF,A;第i個顯示單元的低4位的顯示碼送串口緩沖器WAIT1: JNBTI,$;未發送完,等待CLRTI;清發送中斷標志MOVA,R0ANLA,#0F0H;取第i個顯示單元的高4位SWAPAMOVCA,ADPTR;查譯碼表MOCSBUF,A;第i個顯示單元的高4位的顯示

20、碼送串口緩沖器WAIT2: JNBTI,$;未發送完,等待CLRTI;清發送中斷標志INCR0DJNZR2,LOOP;未發送完4個單元的8個字符,返回繼續RETTAB:DB03H,9FH,25H,0DH,99H,DB49H,41H,1FH,01H,19H3動態掃描顯示接口P1.7PI.6P1.5P1.4P1.3P1.2P1.1P1.0AT89C2051P3.3P3.2P3.1P3.0+5V圖 9-6 動態掃描顯示接口電路;-主程序-STAR: LOOP: ACALL S00EF;將顯示緩沖區內容送去顯示SJMPLOOP;-送顯示子程序-DISP: CLRAORLA,P3;取P3口內容ANLA,

21、#0F0HMOVR3,A;保護P3口高4位MOVA,43H;取位選信號ANLA,#0FH;位選信號送A的低4位ORLA,R3;P3口高4位送A的高4位MOVR0,34H;取段選指針MOVP1,#0FFH;關顯MOVP3,A;輸出位選信號MOVA,R0;顯示內容送AMOVDPTR,#TAB;譯碼表首址送DPTRMOVCA,A+DPTR;查表譯顯示碼MOVP1,A;輸出段選信號1MOVA,43H;RLA;MOV43H,A;位選指針指向下一位INC34H;段選指針指向下一位JB ACC.0,DONE;不到最后一位,轉MOV34H,#50H;段選指針復位MOV43H,#0EEH;位選指針復位DONE:

22、 RET;-顯示譯碼表-TAB:DB 0C0H;顯示字符0,相對地址00HDB 0F9H;1DB 0A4H;2DB 0B0H;3DB 99H;4DB 92H;5DB 82H;6DB 0F8H;7DB 80H;8DB 90H;91GVcc1A12G2Y41Y11A22A42Y31Y21A32A32Y21Y31A42A22Y11Y4GND2A1P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.78031S1S4S3S2(a)(b)圖9-7按鍵與單片機直接連接S1S4S3S2P0 .0P0.1P0.2P0.38031P2.7RD1A11Y11A21Y21A31Y31A41Y41G+5V7

23、4LS244圖9-8帶鎖存器的按鍵與單片機的接口電路兩次按鍵值不同嗎?第一次發現鍵按下嗎 ?鍵有效標志 =0嗎 ?無鍵按下嗎?置第一次發現鍵按下標志,存鍵值清鍵有效標志清第一次發現鍵按下標志,清鍵值下標志,保存鍵值鍵處理返回開始置鍵有效標志鍵有效標志 =1嗎?YYYYY圖 9-9 按鍵接口程序流程圖程序如下:KSCAN:MOVDPTR,#7FFFH;指向244MOVXA,DPTR;讀244ANLA,#0FH;取4個按鍵的值CJNEA,#0FH,LOOS ;無鍵按下,轉去判斷是否鍵放開JB11H,L0475;鍵有效標志等于1,等待鍵放開,返回JC10H,SETSYN;第一次發現鍵按下,轉去置標志

24、,存鍵值CJNEA,R4,CLRSYN ;兩次讀得的按鍵值不同,鍵無效,清第一次發現鍵按下標志SETB11H;置鍵有效標志RETLOOS:JNB11H,RETUR;鍵有效標志等于0,未按過鍵,返回SJMPKEYDO;鍵放開,轉鍵處理SETSYN:SETB10H;置第一次發現鍵按下標志MOVR4,A;保存鍵值SJMPRETUR;返回CLRK:CLR11H;清鍵有效標志CLRSYN:CLR10H;清第一次發現鍵按下標志MOVR4,#00H;清鍵值暫存單元RETKEYDO:RRCAJCJUS2;沒按S1,再判斷S2ALMPDOS1;轉鍵S1處理程序JUS2:JCJUS3;沒按S2,再判斷S3ALMP

25、DOS2;轉鍵S2處理程序JUS3:JCJUS4;沒按S3,再判斷S4ALMPDOS3;轉鍵S3處理程序JUS4:JCRETUR;沒按S4,誤判斷,退出ALMPDOS4;轉鍵S4處理程序DOS1:;鍵S1處理程序SJMPRETURDOS2:;鍵S2處理程序SJMPRETURDOS3:;鍵S3處理程序SJMPRETURDOS4:;鍵S4處理程序SJMPRETUR三、鍵盤與單片機的接口P0 .0P0.1P0.2P0.3P2.7RD8031P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.71Y11Y2 1Y31Y42Y12Y22Y32Y41G2G1A11A21A31A42A11A2 2

26、A3 2A4+5VS8S1S32S25S24S17S16S974LS244圖 9-10 鍵盤與單片機的接口電路兩次按鍵值不同嗎?第一次發現鍵按下嗎?鍵有效標志=0 嗎?R2 1 0 嗎?置第一次發現鍵按下標志,存鍵值清鍵有效標志清第一次發現鍵按下標志,清鍵值下標志,保存鍵值鍵處理返回開始置鍵有效標志鍵有效標志=1 嗎?向所有的行輸出0讀入各列的值全為1嗎?向第i 行輸出0i i+1讀入各列的值有0 嗎?第j 列等于0 嗎?j j+1R3 1 0 嗎?R2 行數R3 列數YYYYYYYYY圖 9-11 鍵盤接口程序流程圖二、A/D轉換器與單片機的接口CSVccRDCLKRWRDB0CLKDB1I

27、NTRDB2VIN()VIN()DB4AGNDDB5VREF/2DB6DGNDDB7DB3圖9-12ADC0801ADC0805P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7RDWRINT 1P2.7CLKRDB0CLKIDB1DB2VREF/2DB3DB4VIN(+)DB5DB6VIN(-)DB7RDDGNDWRINTRAGNDCS10K150PNCVIN(05V)+圖 9-13 ADC08010805與單片機的接口93 D/A轉換器與單片機的連接轉換器與單片機的連接一、D/A轉換器的基本原理R R2 2R R2 2R R2 2R R2 2R R2 2R R2 2R RR

28、RR RR Rf fV Vo oV VR Rd d0 0 d d1 1 d d2 2 d dn n- -1 1圖 9-14 T型網絡D/A轉換器二、D/A轉換器與單片機的接口1內部結構八位輸入鎖存器八位DAC寄存器八位D/A轉換器CSVccWR1ILEAGND WR2DI3XFERDI2DI4DI1DI5DI0DI6VREFDI7RfbIOUT1DI0DI7ILECSWR1WR2ILE1ILE2XFERDGNDIOUT2AGNDRfbIOUT2IOUT1VREF圖 9-15 DAC0832的引腳排列 圖 9-16 DAC0832結構圖3接口電路(1)單緩沖器方式P2.7P0.0P0.1P0.2

29、P0.3P0.4P0.5P0.6P0.78031WRCSVCCXFERILEDI0VREFDI1RfbDI2DI3IOUT1DI4DI5IOUT2DI6DI7WR1WR2DGND+ +- -+ +- -ab+5V圖 9-17 DAC0832與單片機的接口(2)雙緩沖器方式P2 .5P2 .6P2 .7P 0.0P 0.1P 0.28031P 0.3P 0.4P 0.5P 0.6P 0.7WRCSVCCILEXFERDI0DI1DI2DI30832DI4( 1)DI5DI6DI7WR1WR2DGNDCSVCCXFERILEDI0DI1DI2DI30832DI4( 2)DI5DI6DI7WR1WR

30、2DGND+5V圖 9-18 多路DAC0832同步轉換的接口電路程序如下:MOVDPTR,#0DFFFH;指向0832(1)MOVA,#data1MOVXDPTR,A;data1送0832(1)鎖存器MOVXDPTR,#0BFFFH;指向0832(2)MOVA,#data2MOVXDPTR,A;data2送0832(2)鎖存器MOVDPTR,#7FFFH;指向0832(1)和0832(2)的數據傳送端MOVXDPTR,A;data1和data2同時送D/A轉換器進行轉換94 MCS-51單片機應用系統設計舉例單片機應用系統設計舉例一、系統構成及控制原理1234567889圖 9-19 糖果包

31、裝機的結構圖4877圖 920 走紙輪的頂視圖vvtO圖 9-21 相位誤差與速度誤差開始初始化周期誤差超標嗎?改變速度相位誤差超標嗎?改變速度誤差方向YY圖 9-22 控制流程圖二、硬件電路1主程序圖 9-23 硬件電路初始化開始沒測到走紙信號嗎?沒測到切紙信號嗎?走紙早嗎?走紙慢小于 3 嗎?走紙快小于 1嗎?走紙晚小于 2 嗎?電磁離合齒輪通電,提速 2走紙晚減少了嗎?脹緊皮帶輪電機正轉秒,提速 1走紙早小于 2 嗎?走紙快嗎?電磁離合齒輪斷電,減速 2走紙早減少了嗎?脹緊皮帶輪電機反轉 秒,減速 1走紙快 x,脹緊皮帶輪電機反轉x 秒,減速 x走紙慢 y,脹緊皮帶輪電機正轉y秒,提速

32、y電磁齒輪有電嗎?電磁齒輪沒電嗎?YYYYYYYYYYYY圖 9-24 主程序流程圖-初始化-ORG0000HAJMPADR00ORG0003HCLREX0;關外部中斷0,以防止脈沖抖動造成中斷重復響應AJMPINT0ORG000BHAJMPT0ORG0013HCLREX1;關外部中斷1AJMPINT1ORG001BHAJMPT1ORG0030HADR00:MOVR0,#20H;20H70H單元清0MOVR1,#50HCLRAADR10:MOVR0,AINCR0DJNZR1,ADR10ACALLSUB1;清顯示器MOVSP,#5FH;堆棧從60H開始MOVSCON,#00H;串行口置為方式0M

33、OV A,43H ;相位滯后誤差送A ACALL SUB2 ;將A中絕對誤差轉為相對誤差放在R7中 MOV A,R7 CLR C SUBB A,#2JNC ADR20 ;相位滯后小于2%,返回JB P1.0,ADR75 ;電磁離合齒輪有電,轉MOV R5,43H ;保存本次測量的相位誤差SETB P1.0 ;電磁離合齒輪通電,提速2%AJMP ADR20 ;返回ADR75:MOV A,R5 ;取回上次測量的相位誤差CLR CSUBB A,43H ;減本次測量的相位誤差進行比較JNC ADR20 ;本次測量的相位誤差小,返回SETB P1.1 ;否則,脹緊電機正轉,提速MOV R2,#06H ;

34、設置最小提速量ACALL SUB3 ;延時0.6秒CLR P1.1 ;停止脹緊電機正轉AJMP ADR20;-相位超前誤差調整-ADR80:MOV A,42H ;相位超前誤差送A ACALL SUB2 ;將A中絕對誤差轉為相對誤差放在R7中 MOV A,R7 CLR C SUBB A,#2 JC ADR20 ;相位超前誤差小于2%,返回JNB P1.0,ADR85 ;電磁離合齒輪未通電,轉取比較兩次測量的誤差MOV R6,42H ;保存本次測量的誤差CLR P1.0 ;電磁離合齒輪斷電,減速2%AJMP ADR20 ;返回ADR85:MOV A,R6 ;取回上次測量的誤差CLR CSUBB A

35、,42H ;減本次測量的誤差JNC ADR20 ;本次測量的誤差小,返回SETB P1.2 ;否則,脹緊電機反轉,減速MOV R2,#06H ;設置最小減速量ACALL SUB3 ;延時0.6秒CLR P1.2 ;停止脹緊電機反轉AJMP ADR202子程序1)絕對誤差轉換為相對誤差子程序SUB2:MOVB,#64HMULABMOVR7,#00HADR90:CLRCSUBBA,41;誤差的百分數減切紙周期JCADR0A0;不夠減,轉INCR7;夠減,商加1AJMPADR90;返回再減ADR0A0:MOVR6,BCJNER6,#00H,ADR0B0AJMPADR0C0;無位可借,除法結束ADR0

36、B0:DECB;借位INCR7;商加1AJMPADR90;返回再減ADR0C0:RET(2)R20.1秒延時子程序R20.1秒延時子程序,用于控制P1.1和P1.2輸出的脈沖寬度。程序如下:SUB3:MOVR3,#64HADR0D0:MOVR4,#0F9HADR0E0:NOPNOPDJNZR4,ADR0E0DJNZR3,ADR0D0DJNZR2,SUB3RET3中斷服務程序T0、T1、INT0和INT1中斷服務程序的流程圖如圖9-25圖9-28。(36H)( 36H)1定時器0賦初值(37H)( 37H)1定時器1賦初值返回返回開始開始9-圖25 T0中斷服務程序 圖 9-26 T1中斷服務程

37、序( 40H )(36H )( 36H )00H( 42H )(37H )( 41H )(37H )( 37H )00H( 43H )(36H )( 10H ) 1( 11H ) 1顯示緩沖區內容加1顯示緩沖區內容送顯開始開始返回返回圖 9-27 INT0中斷服務程序 圖 9-28 INT1中斷服務程序(4)INT1中斷服務程序INT1:PUSHPSWMOV41H,37H;取走紙周期MOV37H,#00H;為下一次記數做準備MOV43H,36H;取走紙滯后切紙的時間MOVR5,#00H;清監視計數器SETB11H;置檢測到走紙周期標志SETBRS0;選中1區工作寄存器MOVR1,#30H;R1

38、個位ADR0F0:INCR1;顯示緩沖區某位加1CJNER1,#0AH,ADR180;加1后不到10,退出MOVR1,#00H0;加1后等于10,將該位清0INCR1;指向顯示緩沖區下一位CJNER1,#36H,ADR0F0;不到顯示緩沖區最高位,返回將下一位加1MOVR0,#2FH;顯示緩沖區位指針R0賦初值MOVR2,#06H;顯示位數送R2ADR100:INCR0;指向顯示緩沖區下一位MOVDPTR,#ADR120;基址指針送指向顯示譯碼表首址MOVA,R0;某位顯示內容送AMOVCA,A+DPTR;顯示內容譯成顯示碼后AMOVSBUF,A;顯示碼通過串口送去顯示ADR110:JNBTI

39、,$;等待1個字節傳送完畢CLRTI;清傳送完標志,為下一次傳送做準備DJNZR2,ADR100;6位沒有全部顯示完,返回繼續顯示CLRRS0POPPSWSETBEX1;開外部中斷1RETIADR120:DB03H;顯示0DB9FH;顯示1DB25HDB0DHDB99HDB49HDB41HDB1FHDB01HDB09H;顯示9第十章 單片機的開發及開發工具101 概述概述一、單片機的開發二、開發手段的選擇仿真插頭單片機應用系統(用戶系統)EPROM寫入插口開發模板通用計算機系統總線10-1微機開發系統圖 10-2 偉福仿真器菜單界面市場調查,可行性分析,確定方案及系統的功能、指標、成本、完成期

40、限等。總體設計,選擇機型,劃分軟硬件功能。硬件原理圖設計及元器件選擇印刷線路圖設計及 制作焊接、組裝系統樣機并加電檢查確定算法,劃分軟件功能模塊程序流程圖設計程序編制用仿真頭與開發系統聯機用測試程序對I/O口、存儲器等硬件進行測試硬件正確嗎?檢查并排除硬件故障將源程序匯編連接并裝入開發裝置的RAM中以單步、跟蹤、設斷點以及連續等方式仿真運行程序程序正確嗎?分析并且排除故障,修改程序將程序固化到ROM中,實際運行實際系統運行正確嗎?排除軟、硬件故障結束開始11YYY圖10-3單片機應用系統的開發過程102 單片機的開發軟件單片機的開發軟件一、805l宏匯編語言二、PL/M-51語言三、C-51語

41、言第十一章第十一章AT89系列系列FLASH單片機簡介單片機簡介圖 11-1 AT89C 單片機的結構框圖圖 11-2 AT89S 單片機的結構框圖表格 11-1 程序加密位及其功能程序加密位程序加密位功能功能方式方式LB1LB2LB31UUU不設程序加密不設程序加密2PUU禁止從外部程序存儲器中執禁止從外部程序存儲器中執行行MOVC指令讀取內部程序指令讀取內部程序存儲器,存儲器,E()A()被采被采樣并在復位時鎖存,禁止對樣并在復位時鎖存,禁止對閃速存儲器進一步編程。閃速存儲器進一步編程。3PPU與方式與方式2相同,同時禁止校相同,同時禁止校驗內部存儲器。驗內部存儲器。4PPP與方式與方式3

42、相同,同時還禁止相同,同時還禁止外部的執行。外部的執行。注:P=被編程U=未編程其它組合未被定義表格 11-2 程序加密位配制表型號型號加密位加密位AT89C51LB1、LB2、LB3AT89C52LB1、LB2、LB3AT89C1051LB1、LB2AT89C2051LB1、LB2112 AT89系列主要單片機型號系列主要單片機型號圖11-3AT89C51的引腳圖圖 11-4 定時器2的捕獲方式圖11-5自動重裝入方式(DCEN=0)圖 11-6 自動重裝入方式(DCEN=1)圖 11-7 波特率發生器方式圖 11-4 定時器2的捕獲方式圖11-5自動重裝入方式(DCEN=0)圖11-6自動

43、重裝入方式(DCEN=1)圖 11-7 波特率發生器方式圖 11-8 時鐘輸出方式圖 11-9 AT89C1051/2051的引腳圖第十二章第十二章MCS-96系列單片機簡介系列單片機簡介121 MCS-96概述概述RXD/P2.1RESETTXD/P2.0EXTINT/P2.2HSI.0VpdHSI.1VREFHSI.2/HSO.4ANGNDHSI.2/HSO.5ACH4/P0.4HSO.0ACH5/P0.5HSO.1ACH7/P0.7HSO.2ACH6/P0.6HSO.3EAVssVccVppVssPWM/P2.5XTAL1WRXTAL2N.CALE/ADVREADYRDA15/P4.7AD0/P3.0A14/P4.6AD1/P3.1A13/P4.5AD2/P3.2A12/P4.4AD3/P3.3A11/P4.3AD4/P3.4A10/P4.2AD5/P3.5A9/P4.1AD6/P3.6A9/P4.0AD7/P3.7串行接收 /P2.11串行發送 /P2.0 2高速輸入 03高速輸入 14高速輸入 2/高速輸出 45高速輸入 3/高速輸出 56高速輸出 07高速輸出 1 8高速輸出 2 9高速輸出 3

溫馨提示

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

最新文檔

評論

0/150

提交評論