日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀]*.I/O引腳和I/O端口P0(P0.7~P0.0)1.P0是一個漏極開路型準(zhǔn)雙向I/O口.2.在訪問外存時, 它是數(shù)據(jù)總線和地址總線的低8位分時復(fù)用接口.3.在EPROM編程時, 它接收指令字節(jié); 在驗證程序時, 輸出指令字節(jié), 并要求外接上拉電阻

*.I/O引腳和I/O端口

P0(P0.7~P0.0)

1.P0是一個漏極開路型準(zhǔn)雙向I/O口.
2.在訪問外存時, 它是數(shù)據(jù)總線和地址總線的低8位分時復(fù)用接口.
3.在EPROM編程時, 它接收指令字節(jié); 在驗證程序時, 輸出指令字節(jié), 并要求外接上拉電阻.

P1(P1.7~P1.0)1.P1口是帶內(nèi)部上拉電阻的8位雙向I/O口, 它是通用I/O口.
2.在EPROM編程和程序驗證時, 它接收低8位地址.P2(P2.7~P2.0)1.P2是帶內(nèi)部上拉電阻的8位雙向I/O口.
2.在訪問外存時, 它輸出8位高地址.
3.在對EPROM編程時和程序驗證時, 它接收8位高地址.P3(P3.7~P3.0)1.P3是帶內(nèi)部上拉電阻的8位雙向I/O口, 它是雙功能I/O口.
2.除基本輸入/輸出功能外, 每個引腳還有特殊功能.
I/O口特殊/專用功能P3.0RXD:串行數(shù)據(jù)接收P3.1TXD:串行數(shù)據(jù)發(fā)送P3.2/INT0:外部中斷0輸入請求P3.3/INT1:外部中斷1請求輸入P3.4T0:定時器0外部計數(shù)脈沖輸入P3.5T1:定時器1外部計數(shù)脈沖輸入P3.6/WR:外部數(shù)據(jù)存儲器寫信號P3.7/RD:外部數(shù)據(jù)存儲器讀信號






*.復(fù)位寄存器狀態(tài)

寄存器內(nèi)容寄存器內(nèi)容PC0000HTMOD00HA00HTCON00HB00HTH000HPSW00HTL000HSP07HTH100HDPTR0000HTL100HP0~P30FFHSCON00HIPXXX00000BSBUFXXIE0XX00000BPCON00H













*.特殊功能寄存器

特殊功能寄存器功能名稱地址復(fù)位狀態(tài)B通用寄存器F0H00HA累加器E0H00HPSW程序狀態(tài)字D0H00HIP中斷優(yōu)先級控制B8HXXX0000BP3P3端口B0H0FFHIE中斷使能控制A8H0XX00000BP2P2端口A0H0FFHSBUF串行發(fā)送/接收緩沖器99HXXHSCON串行口控制98H00HP1P1端口90H0FFHTH1T1定時器高8位8DH00HTH0T0定時器高8位8CH00HTL1T1定時器低8位8BH00HTL0T0定時器低8位8AH00HTMOD定時器/計數(shù)器方式控制89H00HTCON定時器控制88H00HPCON電源控制87H00HDPH地址寄存器高8位83H00HDPL地址寄存器低8位82H00HSP堆棧指針81H07HP0P0端口80H0FFH

































*.可位尋址的特殊功能寄存器

寄存器名D7D6D5D4D3D2D1D0電源控制寄存器 PCONSMOD


GF1GF0PDIDL波特率倍乘位


用戶標(biāo)志用戶標(biāo)志掉電方式位待機方式位定時器方式控制寄存器 TMODGATEC/-TM1M0GATEC/-TM1M0T1門控位T1定時器/計數(shù)器選擇T1工作方式選擇T0門控位T0定時器/計數(shù)器選擇T0工作方式選擇程序狀態(tài)字 PSWCYACF0RS1RS0OV
P進位標(biāo)志輔助進位標(biāo)志用戶標(biāo)志工作寄存器組選擇標(biāo)志溢出標(biāo)志
奇偶標(biāo)志中斷優(yōu)先級控制器 IP


PSPT1PX1PT0PX0


串口優(yōu)先級設(shè)置T1優(yōu)先級設(shè)置/INT1優(yōu)先級設(shè)置T0優(yōu)先級設(shè)置/INT0優(yōu)先級設(shè)置中斷使能寄存器 IEEA

ESET1ETXET0EX0CPU總中斷使能

串口中斷使能T1中斷使能/INT1中斷使能T0中斷使能/INT0中斷使能串口控制寄存器 SCONSM0SM1SM2RENTB8RB8TIRI串口工作方式選擇位允許接收發(fā)送數(shù)據(jù)第9位接收數(shù)據(jù)第9位發(fā)送完成中斷標(biāo)志接收數(shù)據(jù)中斷標(biāo)志定時器控制寄存器 TCONTF1TR1TF0TR0IE1IT1IE0IT0T1溢出標(biāo)志T1運行控制位T0溢出位T0運行控制位/INT1中斷標(biāo)志/INT1觸發(fā)方式/INT0中斷標(biāo)志/INT0觸發(fā)方式














*.中斷系統(tǒng)

中斷源入口地址長度中斷允許中斷標(biāo)志中斷優(yōu)先級位觸發(fā)方式中斷標(biāo)志清零方式同級內(nèi)部優(yōu)先級/INT00003H8EX0(IE.0)IE0(TCON.1)PX0(IP.0)IT0(TCON.0)
0:電平觸發(fā)
1:下降沿觸發(fā)
電平觸發(fā)時需軟件清零最高T0000BH8ET0(IE.1)TF0(TCON.5)PT0(IP.1)
無需軟件清零
/INT10013H8EX1(IE.2)IE1(TCON.3)PX1(IP.2)IT1(TCON.2)電平觸發(fā)時需軟件清零
T1001BH8ET1(IE.3)TF1(TCON.7)PT1(IP.3)
無需軟件清零
串口0023H8ES(IE.4)

RI(SCON.0)
TI(SCON.1)

PS(IP.4)
需軟件清零最低





















*.定時器/計數(shù)器工作方式

M1M0工作方式功能00方式013位計數(shù)器01方式116位計數(shù)器10方式2可自動重新裝入的8位計數(shù)器11方式3T0分為兩個獨立的8位計數(shù)器,T1停止









*.串口工作方式

SM0SM1方式說明000位移寄存器方式(用于I/O擴展)0118位UART,波特率可變(T1溢出率/n)1029位UART,波特率為fosc/64或fosc/321139位UART,波特率可變(TI溢出率/n)








  注:表中n為32/2SMOD,SMOD為PCON的第7位波特率倍乘位

*.定時器/計數(shù)器初值的計算
環(huán)境:
  晶振:12.0000MHz
  定時器:T0
  溢出條件:(TH0<<8|TL0)由0FFFFH變?yōu)?000H(0FFFFH+1 產(chǎn)生的進位置位TF0產(chǎn)生中斷)

假設(shè)延時時間為50ms,則:
  頻率:ft= 12.0000MHz
  時鐘周期:Tt= 1/ft(SI)
  機器周期:Tm= 12*Tt= 12*1/(12*10^6),(SI) = 12*1/12 (us) = 1 (us)(前面的12是因為51是12分頻,即12個時鐘周期為1個機器周期)
  所以:
    50ms == 50000us == 50000個機器周期
    由 0FFFFH 到 10000H 為 1個機器周期,則:
  初值:start = 0FFFFH + 1H - 50000D = 65536D - 50000D = 15536D = 3CB0H
    于是:TH0 = 0x3C,TL0 = 0xB0

  若晶振頻率為:ft= 11.0592MHz
  同樣:機器周期Tm= 12*Tt= 12*1/(11.0592*10^6),(SI) = 12/11.0592 (us) = 1.085069(us)
  所以:
    50ms == 50000us = 50000/1.085069 = 46080D 個機器周期
    初值:start = 0FFFFH + 1H - 46080D = 65536D - 46080D = 19456D = 4C00H
    于是:TH0 = 0x4C, TL0 = 0x00

*.串口通信中定時器工作方式下波特率初值計算以及晶振的選擇
  當(dāng)串口工作方式為1(8位UART),T1為定時器時:
    k=13:定時器工作方式0; k=16, 工作方式1, k=8, 工作方式2, ...
    T1溢出率 = Fosc/(12*(2k-初值)),即每秒溢出次數(shù),Fosc:晶振頻率,*12:轉(zhuǎn)換為時鐘周期
    所以 波特率 = T1溢出率/(32/2SMOD) = 2SMOD*/32*T1溢出率 = 2SMOD* Fosc/(32*12*(2k-初值))
    常用波特率:9600bps,192000bps,4800bps, ...
    所以當(dāng)波特率=9600bps, SMOD=0, k=8時:
      波特率 = 2SMOD* Fosc/(32*12*(2k-初值)) = Fosc/(384*(256-初值)) = 9600
      當(dāng)晶振為11.0592Mhz時:9600=11.0592*106/(384(256-初值)),求得:初值=253D = 0FDH,此時恰為整數(shù)(即TH1=TL1 = 0xFD)
      當(dāng)晶振為12.0000MHz時:初值為252.744791, 不為整數(shù)
這就是為什么在進行串行通信時要選擇11.0592MHz晶振, 不選擇12MHz晶振的原因.


*.由定時器1產(chǎn)生的常用波特率

波特率 bps晶振頻率 Fosc波特率倍乘
SMOD定時器1C/-T模式重裝載值62500121020FFH1920011.05921020FDH960011.05920020FDH480011.05920020FAH240011.05920020F4H120011.05920020E8H13750011.05920021DH110600272H110120010FEEBH















本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉