熟妇人妻中文字幕在线视频_无码人妻精品视频_久久躁夜夜躁狠狠躁_偷碰人妻无码视频

現(xiàn)在位置:范文先生網(wǎng)>理工論文>電子通信論文>P87LPC764單片機(jī)的I2C總線顯示電路

P87LPC764單片機(jī)的I2C總線顯示電路

時(shí)間:2023-02-21 00:10:37 電子通信論文 我要投稿
  • 相關(guān)推薦

P87LPC764單片機(jī)的I2C總線顯示電路

  摘要:I2C總線是Philips公司推出的芯片間串行傳輸總線。目前,已有不少大電氣公司半導(dǎo)體廠商推出了不少帶有I2C總線接口的單片機(jī)。本文介紹一種利用Philips公司生產(chǎn)的P87LPC764單片機(jī)作為I2C總線控制器與I2C總線顯示器件SAA1064構(gòu)成的I2C顯示電路,并給出相應(yīng)的程序清單。
  關(guān)鍵詞:I2C總線P87LPC764單片機(jī)SAA1064顯示電路
  
  I2C總線是Philips公司推出的芯片間串行傳輸總線。它以串行數(shù)據(jù)線(SDA)和串行時(shí)鐘線(SCL)2根連線實(shí)現(xiàn)了完善的全雙工同步數(shù)據(jù)傳送,可以極方便地構(gòu)成多機(jī)系統(tǒng)和外圍器件擴(kuò)展系統(tǒng)。關(guān)于I2C總線的結(jié)構(gòu)和工作原理詳見參考文獻(xiàn)1。
  
  一、P87LPC764單片機(jī)I2C總線接口
  
  P87LPC764是Philips公司生產(chǎn)的一種小封裝、低成本、高性能的單片機(jī)(有關(guān)它的詳細(xì)介紹見參考文獻(xiàn)2)。它采用80C51加速處理器結(jié)構(gòu),片內(nèi)帶有支持I2C總線的硬件接口。當(dāng)激活I(lǐng)2C總線時(shí),P87LPC764端口1中的P1.2與P1.3分別作為SCL和SDA行使I2C總線功能。其I2C總線由3個(gè)特殊功能寄存器控制,這3個(gè)寄存器為I2C控制寄存器I2CON、I2C配置寄存器I2CFG和I2C數(shù)據(jù)寄存器I2DAT。各寄存器格式和位含義參見本刊第5期第36頁。
  
  二、I2C總線顯示器件SAA1064
  
  1.引腳功能
  
  SAA1064是I2C總線系統(tǒng)中典型的LED驅(qū)動控制器件,為雙極型集成電路,有2×8位輸出驅(qū)動接口,可靜態(tài)驅(qū)動2位或動態(tài)驅(qū)動4位8段LED顯示器。SAA1064的器件地址為0111,其引腳地址端ADR按輸入電平大小將A1A0編為4個(gè)不同的從地址,故在1個(gè)I2C總線系統(tǒng)中最多可以掛接4片SAA1064,實(shí)現(xiàn)16位LED顯示。SAA1064為24腳雙列直插封裝,其引腳排列如圖1所示。
  
  ADR尋址端,SAA1064通過對該腳輸入不同的模擬電壓,以確定其不同的地址。SAA1064規(guī)定輸入該腳的電壓值為VEE、(3/8)Vcc、(5/8)Vcc及Vcc時(shí),分別對應(yīng)十六地地址70H、72H、74H、76H(寫操作)或71H、73H、75H、77H(讀操作)。
  
  CEXT時(shí)鐘振蕩器的外接電容,典型值為2.7nF。
  
  P1~P8段驅(qū)動輸出端口1。P1為最低位,P8為最高位。
  
  P9~P16段驅(qū)動輸出端口2。P9為最低位,P16為最高位。
  
  MX1、MX2動態(tài)顯示方式時(shí)的公共極驅(qū)動信號輸出端,用以切換兩對數(shù)碼管輪流顯示。
  
  SDA、SCLI2C總線的數(shù)據(jù)線和時(shí)鐘線。
  
  2.數(shù)據(jù)操作格式
  
  SAA1064除了與LED驅(qū)動控制相關(guān)的寫操作外,還有能反映系統(tǒng)上電標(biāo)志的讀操作。SAA1064的讀操作狀態(tài)字節(jié)的讀出操作,其狀態(tài)字節(jié)僅最高位有意義,定義為PR。上電后PR為"1",在對其進(jìn)行讀狀態(tài)字節(jié)操作后清零。因此,PR=1表示從上次讀狀態(tài)后出現(xiàn)過掉電和加電。利用這一功能,在系統(tǒng)中可作為冷熱啟動標(biāo)志。
  
 。1)數(shù)據(jù)的輸入操作
  
  SAA1064的顯示驅(qū)動控制只需要I2C總線對其進(jìn)行寫入操作,即按照子地址(SUBADR)寫入控制命令字節(jié)及顯示器的段碼數(shù)據(jù)即可,其數(shù)據(jù)操作格式如下:
  
  SSLAWASUBADRACOMAdata1Adata2Adata3Adata4AP
  SLAW為SAA1064的地址。
  
  SUBADR為SAA1064片內(nèi)地址單元首址。
  
  COM為SAA1064的控制命令。
  
  data1~data4為動態(tài)顯示方式的4個(gè)LED顯示器的共陰極段選碼。
  
 。2)子地址單元
  
  SAA1064片內(nèi)有5個(gè)地址單元,占用了3位地址位(SC、SB、SA),分別用于裝入控制字節(jié)和4個(gè)顯示段碼,具體地址分配如表1所列。由于SAA1064寫操作具有地址自動加1功能,故在數(shù)據(jù)操作格式的寫入順序中,SUBADR應(yīng)為00H。
  
  0000SASBSC單元地址功能000000000H控制寄存器00101H數(shù)字位101002H數(shù)字位201103H數(shù)字位310004H數(shù)字位410105H保留不用11006H保留不用11107H保留不用
 。3)控制命令COM格式
  
  SAA1064具有較強(qiáng)的控制功能,能實(shí)現(xiàn)亮度控制,顯示器測試,動、靜態(tài)及位亮、暗顯示。這些控制命令集中設(shè)置在控制寄存器中?刂泼睿–OM)格式如下:
  
  -C6C5C4C3C2C1C0
  C0動態(tài)、靜態(tài)顯示選擇,C0=1動態(tài)顯示。
  
  C1數(shù)碼管1、3亮滅選擇,C1=1選擇亮。
  
  C2數(shù)碼管2、4亮滅選擇,C2=1選擇亮。
  
  C3測試位,C3=1時(shí)所有段點(diǎn)亮,正常工作時(shí)該位為0。
  
  C4、C5、C6輸出電流控制位,為1時(shí)分別對應(yīng)3mA、6mA、12mA。皆為1時(shí)輸出電流最大為21mA。
  
  三、顯示電路實(shí)例
  
  圖2是P87LPC764與SAA1064的接口電路實(shí)例。P87LPC764單片機(jī)采用6MHz的內(nèi)部RC振蕩器,訪問4片SAA1064,驅(qū)動16只數(shù)碼管顯示,每片SAA1064的接線如圖2所示。
  
  該應(yīng)用電路是一個(gè)單主的I2C總線系統(tǒng),不會出現(xiàn)總線競爭問題,而且數(shù)據(jù)傳送操作只有主發(fā)送方式,因此,在編程過程中沒有檢測總線錯(cuò)誤。在數(shù)據(jù)發(fā)送過程中,每發(fā)送1個(gè)字節(jié),都檢測應(yīng)答信號,如無應(yīng)答信號,建立標(biāo)志位F0,程序重新開始發(fā)送數(shù)據(jù)。
  
  以下是該I2C總線顯示電路的程序清單,顯示緩沖區(qū)為30H到3FH單元。
  
  START:MOVR0,#30H;顯示緩沖區(qū)首地址
  
  MOVR1,#17H;SAA1064控制碼
  
  MOVR2,#70H;SAA1064(1)的地址
  
  MOVR3,#04H;4片SAA1064
  
  LOOP:ACALLDISP
  
  JBF0,START;無應(yīng)答信號重新開始
  
  INCR2;
  
  INCR2;
  
  DJNZR3,LOOP;
  
  ┆
  
  以下是顯示子程序
  
  DISP:CLRF0;清除無應(yīng)答標(biāo)志
  
  MOVI2CFG,#30H;請求成為I2C總線主機(jī)
  
  JNBMASTER,$;等待成為I2C總線主機(jī)
  
  MOVI2CON,#1CH;清除起動條件
  
  MOVA,R2;取從設(shè)備地址
  
  ACALLSEND;發(fā)送從設(shè)備地址
  
  JBF0,DISP2;無應(yīng)答信號轉(zhuǎn)移
  
  MOVA,#0;SAA1064子地址
  
  ACALLSEND;發(fā)送子地址
  
  JBF0,DISP2;無應(yīng)答信號轉(zhuǎn)移
  
  MOVA,R1;取SAA1064控制碼
  
  ACALLSEND;發(fā)送控制碼
  
  JBF0,DISP2;無應(yīng)答信號轉(zhuǎn)移
  
  MOVR4,#04H;四只數(shù)碼管
  
  DISP1:MOVA,@R0;取字形代碼
  
  ACALLSEND;發(fā)送字形代碼
  
  JBF0,DISP2;無應(yīng)答信號轉(zhuǎn)移
  
  INCR0;修正顯示單元地址
  
  DJNZR4,DISP1;
  
  DISP2:ACALLSSTP;發(fā)送停止位
  
  RET;
  
  ;發(fā)送1個(gè)字節(jié)
  
  SEND:MOVR4,#8H;設(shè)置數(shù)據(jù)格式為8位
  
  SENDB:MOVI2DAT,A;發(fā)送數(shù)據(jù)位
  
  RLA;取下一個(gè)數(shù)據(jù)位
  
  JNBDRDY,$;等待數(shù)據(jù)準(zhǔn)備好
  
  DJNZR4,SENDB;
  
  MOVI2CON,#0A0H;轉(zhuǎn)換為接收模式
  
  JNBATN,$;等待應(yīng)答信號
  
  JNBRDAT,SENDE;是應(yīng)答位嗎?
  
  SETBF0;建立無應(yīng)答信號標(biāo)志
  
  SENDE:RET;
  
 。话l(fā)送停止位
  
  SSTP:CLRMASTRQ;取消主機(jī)位置
  
  MOVI2CON,#21H;產(chǎn)生總線停止條件
  
  JNBATN,$;等待
  
  MOVI2CON,#20H;清除數(shù)據(jù)準(zhǔn)備好標(biāo)志
  
  JNBATN,$;等待發(fā)送停止條件
  
  MOVI2C0N,#91H;釋放I2C總線
  
  CLRTIRUN;停止定時(shí)器I的運(yùn)行
  
  RET
  
  
  
  
  
  

【P87LPC764單片機(jī)的I2C總線顯示電路】相關(guān)文章:

MAX517與單片機(jī)的I2C總線數(shù)據(jù)通信08-06

I2C總線控制的TV顯示處理器TDA9332H及其應(yīng)用08-06

基于CPLD的系統(tǒng)中I2C總線的設(shè)計(jì)08-06

用Verilog HDL實(shí)現(xiàn)I2C總線功能08-06

基于VHDL的I2C總線控制核設(shè)計(jì)08-06

基于DSP與CPLD的I2C總線接口的設(shè)計(jì)與實(shí)現(xiàn)08-06

應(yīng)用McBSP實(shí)現(xiàn)I2C總線控制器08-06

消費(fèi)總線電力線接口電路的設(shè)計(jì)08-06

I2C總線數(shù)字式溫濕度傳感器SHT11及其在單片機(jī)系統(tǒng)的應(yīng)用08-06