《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > SPI總線在51單片機(jī)系統(tǒng)中的實(shí)現(xiàn)
SPI總線在51單片機(jī)系統(tǒng)中的實(shí)現(xiàn)
單片機(jī)/DSP
摘要: 本文通過對(duì)支持SPI總線的AD器件MAX189性能分析,簡要介紹了SPI總線在單片機(jī)系統(tǒng)中如何應(yīng)用,并利用其制作一款簡易的電壓表。
Abstract:
Key words :

        一個(gè)完整的單片機(jī)系統(tǒng),通常包括鍵盤輸入、顯示輸出、打印輸出、數(shù)據(jù)采集等許多功能模塊。這些功能模塊一般是通過I/O端口實(shí)現(xiàn)與單片機(jī)的數(shù)據(jù)交換,但是單片機(jī)的I/O端口有限,且一般用來處理數(shù)字信號(hào),從而產(chǎn)生了總線式傳輸模式。
現(xiàn)在大多數(shù)單片機(jī)都是傳統(tǒng)的三總線結(jié)構(gòu),即地址,數(shù)據(jù),控制三總線。由于方便控制,三總線得到廣泛的應(yīng)用。但是作為并行總線,它也有一定的局限性。不適合遠(yuǎn)距離的傳輸。與I/O口的數(shù)目存在矛盾。隨著電子技術(shù)的進(jìn)步,發(fā)展出很多新的總線接口,如USB、I2C、CAN、SPI、1-Wire等。這些總線的特點(diǎn)都是串行接口,只需要幾根甚至一根線就可以實(shí)現(xiàn)數(shù)據(jù)的傳輸。本文通過對(duì)支持SPI總線的AD器件MAX189性能分析,簡要介紹了SPI總線在單片機(jī)系統(tǒng)中如何應(yīng)用,并利用其制作一款簡易的電壓表。

  一、SPI總線簡介
  SPI(Serial Peripheral Interface)是MOTOROLA公司提出的同步串行總線方式。因其硬件功能強(qiáng)大而被廣泛應(yīng)用。在單片機(jī)組成的智能儀器和測(cè)控系統(tǒng)中。如果對(duì)速度要求不高,采用SPI總線模式是個(gè)不錯(cuò)的選擇。它可以節(jié)省I/O端口,提高外設(shè)的數(shù)目和系統(tǒng)的性能。標(biāo)準(zhǔn)SPI總線由四根線組成:串行時(shí)鐘線(SCK)、主機(jī)輸入/從機(jī)輸出線(MISO)。主機(jī)輸出/從機(jī)輸入線(MOSI)和片選信號(hào)(CS)。有的SPI接口芯片帶有中斷信號(hào)線或沒有MOSI。圖1給出了SPI的典型時(shí)序圖。
  SPI主要性能如下:
  全雙工,三線同步傳輸
  1.05Mbit/s的最大主機(jī)位速率
  四種可編程主機(jī)位速率
  可編程串行時(shí)鐘極性與相位
  發(fā)送結(jié)束中斷標(biāo)志
  寫沖突保護(hù)
  總線競爭保護(hù)
  二、MAX189芯片
  MAX189是美國美信公司設(shè)計(jì)的一種12位串行A/D轉(zhuǎn)換器。其內(nèi)部集成了大帶寬跟蹤/保持電路和串行接口。轉(zhuǎn)換速率高,功耗低,精度高。并且有SPI、Microwire和TMS320兼容的4線串行接口,與微處理器接口。只需要很少的口線,很節(jié)約資源。
  MAX189的特點(diǎn):
  三線高速串行接口,12位分辨率
  8.5 us逐次逼近型ADC
  單一5V工作電壓,工作電流1.5mA。關(guān)斷電流2uA
  0-5v模擬輸入電壓范圍
  使用片外時(shí)鐘源
  外置參考電壓
  內(nèi)部跟蹤/保持電路,75ksps采樣速率
  1/2LSB整體非線性度
  MAX189的時(shí)序如圖2,表1給出了MAX189引腳功能。
  PIN 名稱 功能說明
  1 VCC 電源輸入,+5V(±5%)
  2 AIN 模擬電壓輸入端,0-REF。
  3 /SHDN 三電平關(guān)閉輸入端,低電平關(guān)斷
  4 REF 用于模擬信號(hào)的基準(zhǔn)電壓端,使用外部基準(zhǔn)源時(shí)用作輸入
  5 GND 模擬和數(shù)字地
  6 DOUT 串行數(shù)據(jù)輸出端,數(shù)據(jù)在sclk的下降沿輸出
  7 /CS 片選,低電平有效
  8 SCLK 串行時(shí)鐘輸入端(最大5MHz)
  該簡易電壓表電路采用不帶SPI接口的AT89C2051單片機(jī),其指令系統(tǒng)與51系列完全兼容。可以通過軟件模擬SPI時(shí)序,包括串行時(shí)鐘。數(shù)據(jù)輸入和輸出。來實(shí)現(xiàn)對(duì)A/D器件MAX189的操作。所測(cè)電壓經(jīng)過單片機(jī)的處理,采用三個(gè)七段數(shù)碼管顯示。采用SN74LS164擴(kuò)展I/O口。MAX189的2腳為待測(cè)模擬電壓輸入端。圖3是簡易電壓表的原理圖,其中A為數(shù)碼管顯示電路,B為A/D轉(zhuǎn)換部分電路。

  MAX189可以工作在兩種模式下。即普通狀態(tài)和關(guān)斷狀態(tài)。如果將SHDN置低電平。器件處于美斷狀態(tài),電流小于10 uA。當(dāng)把SHDN置高電平或懸空。器件就可以被操作。此時(shí),CS在時(shí)鐘下降沿啟動(dòng)轉(zhuǎn)換.在時(shí)鐘SCLK的每一個(gè)上升沿把一個(gè)最高位為“1”的控制宇節(jié)的各位送入輸入移位寄存器.并啟動(dòng)串行時(shí)鐘.開始將輸入電壓值逐次逼近轉(zhuǎn)換。它用輸入跟蹤/保持(T/H)和12位逐次逼近寄存器(SAR)構(gòu)成的電路系統(tǒng)將模擬信號(hào)轉(zhuǎn)換成12位數(shù)宇信號(hào)輸出。T/H電路不需要外部保持電容。輸出數(shù)據(jù)按照高位在前.低位在后的順序。在12個(gè)SCLK的每一個(gè)下降沿決定逐次逼近的各位并將數(shù)據(jù)送到Dout端。每一位轉(zhuǎn)換結(jié)束后Dout由低電平變?yōu)楦唠娖健?轉(zhuǎn)換過程中不能對(duì)SCLK操作)按照時(shí)序要求。每輸入一個(gè)(移位)脈沖。下降沿取出一位數(shù)據(jù)。單片機(jī)讀取并做處理。讀出12位數(shù)據(jù)后,可以開始下一次轉(zhuǎn)換。
  AT89C2051的串行端口處于模式0。數(shù)據(jù)的發(fā)送和接收都是通過RXD引腳(這里只用來發(fā)送數(shù)據(jù)).TXD則負(fù)責(zé)送出移位脈沖。其數(shù)據(jù)位由LSB開始發(fā)送/接收8個(gè)位。波特率固定為fosc/12。SN74LS164負(fù)責(zé)接收串行口發(fā)送的數(shù)據(jù)。在傳輸8個(gè)位后。其將數(shù)據(jù)并行送出驅(qū)動(dòng)數(shù)碼管.顯示所測(cè)電壓值。
  該電壓表小巧,方便,精度高。程序運(yùn)行比較穩(wěn)定。誤差在0.01V數(shù)量級(jí)。(感謝在設(shè)計(jì)過程中司佑全老師的給予的悉心指導(dǎo))
  源程序
  該程序的作用是是該電路能測(cè)量0-5V的電壓.并用數(shù)碼管實(shí)時(shí)顯示。
  ;占用p1.5,p1.6,p1.7作為模擬SPI時(shí)序與MAX189連接。
  sclk equ P1.5;定義緩沖區(qū)
  cs equ p1.6;
  dout equ p1.7;
  buf equ 50h;
  org 0000h
  ajmp begin
  begin:
  acall init;初始化片內(nèi)資源
  acall load_data;初始化緩沖區(qū)
  acall adc_init;對(duì)AD的操作
  acall con;數(shù)據(jù)處理子程序
  acall display;顯示子程序
  acall load_data
  ajmp begin
  init:mov 36h,#00000000b;加載初值,取高8位數(shù)據(jù)
  mov 37h,#00000000b
  mov r1,#8
  mov r3,柏
  mov scon,#00h
  mov ie,#82h
  setb ti
  ret
  adc_init:acall init_ad;AD的控制
  acall wait
  acall read_ad
  ret
  init_ad: ;啟動(dòng)AD轉(zhuǎn)換
  setb cs
  clr cs
  ret
  wait: ;等待AD轉(zhuǎn)換的結(jié)束
  jnb dout,wait;
  ret
  fasong:jnb ti,$;發(fā)送數(shù)據(jù)
  clr ti
  mov sbuf,a
  ret
  read_ad:
  Ioop1:
  setb sclk
  clr sclk
  mov C,dout
  mov A,36H;
  rlc A
  mov 36H,A
  djnz r1,loop1;讀高8位,存放在36h
 loop11:
  setb sclk
  clr sclk
  mov C,dout
  mov a,37H;
  RLC a
  MOV 37H,a
  DJNZ R3,loopll;
  mov a,36h
  setb cs
  ret
  load_data:mov buf,0fch;掃描顯示器,顯示數(shù)據(jù)
  mov buf+1,#0fch
  mov buf+2,#0h
  mov buf+3,#0h
  ret
  con:mov B,#5
  div AB
  mov B,#10
  div AB
  mov DPTR,#table1
  movc A,@A+DPTR
  mov buf+1,A
  mov A,B
  mov DPTR,#TABLE
  movc A,@A+DPTR
  mov buf,A
  ret
  display:mov r0,#buf;顯示
  lop:mov a,@r0
  acall sent
  inc r0
  cjne r0,#buf+8,lop
  acall delay
  ret
  sent:jnb li,$發(fā)送數(shù)據(jù)
  clr ti
  mov sbuf,a
  ret
  delay:mov r7,#230;
  d1:mov r6,#13O
  d2:djnz r6,d2
  djnz r7,d1
  ret
  table1:db 0fdh,61h,0dbh,0f3h,067h
  db 0b7h,0bfh,0e1h,0ffh,0e7h;帶小數(shù)點(diǎn)的八段顯示數(shù)據(jù)(0--9)
 table1:
  db 0fch;0
  db 060h;1
  db 0dah;2
  db 0f2h;3
  db 066h;4
  db 0b6h;5
  db 0beh;6
  db 0e0h;7
  db 0feh;8
  db 0f6h;9 ;不帶小數(shù)點(diǎn)的八段顯示數(shù)據(jù)
  end
此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
毛片精品免费在线观看| 欧美体内谢she精2性欧美| 洋洋av久久久久久久一区| 久久精品99无色码中文字幕| 亚洲一二三区在线观看| 一二三四社区欧美黄| 亚洲精品国产视频| 亚洲黄网站在线观看| 亚洲国产欧美精品| 亚洲成人在线| 亚洲国产成人久久| 亚洲国产va精品久久久不卡综合| 一区二区三区在线免费观看| 激情成人亚洲| 精品9999| 亚洲第一搞黄网站| 亚洲电影免费| 亚洲国内在线| 亚洲精品久久久久久一区二区 | 国内成人自拍视频| 国语自产精品视频在线看一大j8| 国产亚洲精品美女| 黄色成人片子| 亚洲电影在线看| 亚洲肉体裸体xxxx137| 日韩视频―中文字幕| 一区二区不卡在线视频 午夜欧美不卡在 | 国产精品一区在线观看| 国产农村妇女精品一区二区| 国产欧美精品日韩区二区麻豆天美 | 亚洲一区国产视频| 午夜精品一区二区三区在线视| 午夜精品久久久久久久99热浪潮| 久久精品二区| 嫩草国产精品入口| 欧美日韩免费在线| 国产精品成人一区二区艾草| 国产精品日韩精品| 国产在线精品自拍| 亚洲国产影院| 亚洲一区久久久| 久久精品亚洲国产奇米99| 亚洲人成亚洲人成在线观看| 国产精品99久久99久久久二8 | 一本色道综合亚洲| 亚洲欧美日韩国产一区二区| 久久国产精品久久w女人spa| 毛片精品免费在线观看| 欧美日韩在线精品一区二区三区| 国产精品亚洲人在线观看| 狠狠狠色丁香婷婷综合久久五月| 亚洲黄色免费网站| 亚洲在线免费观看| 亚洲区一区二区三区| 亚洲一区免费在线观看| 久久久久国色av免费观看性色| 欧美国产日产韩国视频| 国产精品捆绑调教| 亚洲第一在线综合网站| 在线亚洲一区二区| 亚洲国产高清视频| 亚洲欧美高清| 欧美国产亚洲精品久久久8v| 国产精品海角社区在线观看| 国产一区二区电影在线观看| 亚洲毛片av在线| 久久国内精品自在自线400部| 99亚洲一区二区| 久久全国免费视频| 欧美新色视频| 亚洲韩国精品一区| 性久久久久久| 亚洲视频大全| 女生裸体视频一区二区三区| 国产精品亚洲欧美| 亚洲精品在线电影| 久久国产精品亚洲77777| 中日韩视频在线观看| 久久综合九色99| 国产精品无码永久免费888| 亚洲成在线观看| 午夜激情亚洲| 亚洲一区二区在线| 欧美精品久久久久久| 国内成人精品2018免费看 | 亚洲一二三区精品| 亚洲精品一区中文| 久久久激情视频| 国产精品久久久久久av福利软件 | 久久一区激情| 国产精自产拍久久久久久| 亚洲精品一区二区三区在线观看| 欧美在线视频一区二区三区| 亚洲欧美一区二区在线观看| 欧美日韩成人一区二区| 亚洲国产精品成人| 亚洲第一偷拍| 久久精品二区| 国产精品男女猛烈高潮激情| 亚洲精品美女在线| 亚洲欧洲在线一区| 免播放器亚洲一区| 国内精品久久久久久久影视麻豆| 亚洲免费一级电影| 午夜在线播放视频欧美| 国产精品久久久久久久久久久久久| 亚洲国产成人精品久久久国产成人一区| 欧美一区二区三区在线看| 欧美一区二区三区久久精品茉莉花 | 欧美在线电影| 欧美在线网站| 国产日韩欧美一区| 亚洲欧美日韩综合一区| 亚洲欧美不卡| 国产精品国产三级欧美二区| 一本色道久久88综合日韩精品| 一本色道久久加勒比88综合| 欧美韩日视频| 亚洲精品在线视频| 一区二区精品在线观看| 欧美日韩精品三区| 99在线精品视频| 亚洲一区自拍| 国产精品视频男人的天堂| 亚洲尤物在线视频观看| 性欧美xxxx大乳国产app| 国产精品一区二区在线观看网站 | 亚洲欧美伊人| 国产毛片精品国产一区二区三区| 国产精品99久久久久久宅男| 亚洲视频国产视频| 国产精品国产亚洲精品看不卡15| 亚洲视屏在线播放| 午夜精品美女久久久久av福利| 国产美女高潮久久白浆| 欧美一区中文字幕| 美女国内精品自产拍在线播放| 依依成人综合视频| 亚洲美女黄色片| 欧美日韩一区二区三| 在线一区二区三区做爰视频网站| 午夜在线一区| 国语自产精品视频在线看| 亚洲国产99精品国自产| 欧美精品一二三| 一区二区三区久久久| 欧美亚洲一级| 国内精品久久久久久久影视麻豆| 亚洲国产一二三| 欧美日韩精品一区二区三区| 亚洲网站视频| 久久亚洲国产精品一区二区| 亚洲国内自拍| 亚洲欧美三级在线| 国外精品视频| 日韩午夜在线电影| 国产精品日日摸夜夜添夜夜av| 欧美怡红院视频| 欧美激情视频给我| 亚洲午夜精品17c| 久久综合伊人77777蜜臀| 亚洲精品视频在线观看网站| 亚洲永久在线观看| 国精产品99永久一区一区| 一区二区高清| 国产视频久久久久久久| 91久久久久久久久| 国产精品久久看| 亚洲国产欧美一区二区三区久久 | 尤物网精品视频| 亚洲少妇诱惑| 国内成+人亚洲+欧美+综合在线| 亚洲每日在线| 国产视频欧美视频| av成人免费观看| 国内精品视频一区| 一区二区三区国产在线| 国产一区二区三区奇米久涩| 99pao成人国产永久免费视频| 国产精品有限公司| 9l国产精品久久久久麻豆| 国产精品一二三视频| 亚洲精品午夜精品| 国产欧美日韩一区二区三区在线| 亚洲蜜桃精久久久久久久| 国产精品一区二区三区乱码| 妖精成人www高清在线观看| 国产亚洲综合在线| 亚洲特级片在线| 亚洲电影视频在线| 久久av免费一区| 99精品视频网| 欧美1区免费| 欧美在线观看视频| 国产精品福利在线观看网址| 91久久夜色精品国产九色| 国产日产高清欧美一区二区三区| 亚洲性夜色噜噜噜7777| 亚洲承认在线| 久久一二三国产|