找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 10998|回復: 3
打印 上一主題 下一主題
收起左側

單片機ADC0809模數(shù)轉換實驗程序與Proteus仿真

  [復制鏈接]
跳轉到指定樓層
樓主
ID:977450 發(fā)表于 2021-11-3 20:40 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
1、了解A/D轉換與單片機的接口;
2、了解ADC0809轉換性能及編程方法;
3、通過實驗了解單片機如何進行數(shù)據(jù)采集。
4、熟練Proteus仿真軟件的使用;
5、熟練單片機實驗箱的實驗操作。
二、實驗預習要求
1、掌握ADC0808的工作原理;
2、掌握數(shù)碼管顯示的原理。
三、實驗設備和器件
PC機                                                        一臺
PROTEUS仿真軟件     一套
實驗箱                                                        一臺
ISP下載器                                          一臺
51仿真器            一臺(可選)
四、實驗要求
1、利用ADC0808/(0809)做A/D轉換器,由實驗板上的電位器提供模擬量輸入,編寫程序將模擬量轉換成二進制數(shù)字量,用P1口輸出到發(fā)光二極管顯示,或通過八段碼數(shù)碼管將數(shù)值顯示出來。實物板中使用ADC0809芯片,它與ADC0808是全兼容的。
五、實驗原理
A/D 是模擬量到數(shù)字量的轉換,依靠的是模數(shù)轉換器(Analog to Digital Converter),簡稱ADC。A/D轉換器大致有三類:一是雙積分A/D轉換器,優(yōu)點是精度高,抗干擾性好,價格便宜,但速度慢;二是逐次逼近A/D轉換器,精度、速度、價格適中;三是并行A/D轉換器,速度快,價格也昂貴。
圖:ADC0808
上圖所示就是ADC0808。實驗用的ADC0808屬第二類,是含8 位A/D 轉換器、8 路多路開關,以及與微型計算機兼容的控制邏輯的CMOS組件,其轉換方法為逐次逼近型。ADC0808的精度為 1/2LSB。在AD 轉換器內部有一個高阻抗斬波穩(wěn)定比較器,一個帶模擬開關樹組的256 電阻分壓器,以及一個逐次通近型寄存器。8 路的模擬開關的通斷由地址鎖存器和譯碼器控制,可以在8 個通道中任意訪問一個單邊的模擬信號。具體的引腳功能如下:
1~5和26~28(IN0~IN7):8路模擬量輸入端。
8、14、15和17~21:8位數(shù)字量輸出端。
22(ALE):地址鎖存允許信號,輸入,高電平有效。
6(START): A/D轉換啟動脈沖輸入端,輸入一個正脈沖(至少100ns寬)使其啟動(脈沖上升沿使0808復位,下降沿啟動A/D轉換)。
7(EOC): A/D轉換結束信號,輸出,當A/D轉換結束時,此端輸出一個高電平(轉換期間一直為低電平)。
9(OE):數(shù)據(jù)輸出允許信號,輸入,高電平有效。當A/D轉換結束時,此端輸入一個高電平,才能打開輸出三態(tài)門,輸出數(shù)字量。
10(CLK):時鐘脈沖輸入端。要求時鐘頻率不高于640KHZ。
12(VREF(+))和16(VREF(-)):參考電壓輸入端。
11(Vcc):主電源輸入端。
13(GND):地。
23~25(ADDA、ADDB、ADDC):3位地址輸入線,用于選通8路模擬輸入中的一路。
查詢ADC0808的數(shù)據(jù)手冊可以知道其時序圖,如下圖所示。根據(jù)時序圖來編寫程序。
圖:ADC0808ADC的時序圖

六、Proteus使用的元器件
元器件名稱
規(guī)格
說明
AT89C51

51單片機
BUTTON

按鍵,用于最小系統(tǒng)復位
CAP
30pF
電容,用于搭建復位電路
CAP-ELEC
10uF
電解電容,用于搭建復位電路
CRYSTAL
11.0592M
晶振,給單片機提供時鐘信號
7SEG-MPX4-CA

4位共陽數(shù)碼管
RES
10k、100
電阻
RESPACK-8
10k
排阻
ADC0808

模數(shù)轉換芯片
POT-HG
100k
可調電位器
74LS02

二輸入四或非門
七、原理圖設計
總原理圖:
1.在Proteus中繪制單片機最小系統(tǒng),包括主控芯片、晶振電路和復位電路。

2. 添加ADC0808芯片,IN0端口連接可調電位器,ADDA、B、C三個端口接地,VREF+接電源,VREF-接地,EOC、CLOCK通過標號連接到單片機的P3.0和P3.1口,8個輸出口通過標號連接到單片機的P0口,P0口需要添加上拉排阻。
3.添加74LS02,2和6引腳共同連接到P2.7口,并添加電阻上拉;3引腳通過標號連接到P3.6,5引腳了解到P3.7,1引腳接入0808的START端口,4引腳接入0808的OE端口。
3.添加4位共陽數(shù)碼管,A-DP通過標號連接到P1口,1-4位選通過標號連接到P2.0-P2.3。
八、程序流程圖
九、硬件連接圖
1. 硬件電路
圖:8位共陽數(shù)碼管
圖:ADC0809模數(shù)轉換
2.硬件連接表
MCU-AT89S52
模數(shù)轉換
8位共陽數(shù)碼管
P37
RD

P36
WR

P27
CS

ALE
CLK

P30
EOC

P00~P07
DB0~DB7

P10~P17

SA~SH
P20~P23

C0~C3

IN0接100K電位器

GND
A、B、C



十、實驗步驟
1、新建原理圖
  • 打開Proteus 8,點擊新建工程;
  • 命名工程,最好用英文或數(shù)字命名
  • 創(chuàng)建原理圖,選擇DEFAULT
  • 選擇不創(chuàng)建PCB設計;
  • 創(chuàng)建固件項目,系列選擇8051,控制器選擇AT89C52,編譯器選擇Keil for 8051;
  • 點擊藍色的P圖標進入元器件選取界面;
  • 在左上角輸入所需元器件關鍵字,并在右側列表雙擊選取所需器件,點擊確定
  • 選取后,左側的器件欄窗口會有相應元器件列表;
  • 參考原理圖設計步驟完成器件的排布和連線。

2、新建程序

  • 在51芯片處單擊右鍵,選擇編輯源代碼
  • 根據(jù)程序流程圖,在main.c文件中輸入完整程序代碼。

3、Proteus中編譯和仿真

  • 在快捷工具欄中的下拉列菜單Debug /Release/配置選項中,選擇Debug。
  • 然后在工程中,右鍵單擊AT89C52,在出現(xiàn)的下拉列表中選擇構建工程,或點擊工具欄構建工程圖標快捷鍵Ctrl+F7進行構建工程,等待編譯完成
  • 編譯成功后,切換到原理圖狀態(tài)下點擊運行按鈕快捷鍵F12,可通過人機接口觀察程序的仿真結果,如下圖所示。
4、硬件實驗
  • 連接ISP下載器一端到PCUSB接口,另一端連到目標板。
  • 在快捷工具欄中的下拉列菜單Debug /Release/配置選項中,選擇Release。
  • 點擊工程設置,按如下步驟設置,設置完成后點擊確定;
  • 點擊上傳圖標,等待上傳。
  • 出現(xiàn)固件上傳完成提示,表示程序上傳成功。
  • 實驗現(xiàn)象參考附件視頻。
十一、參考程序
參考程序見光盤
、實驗現(xiàn)象
程序下載并運行后,數(shù)碼管顯示當前電壓值,調節(jié)電位器在0—5V調節(jié)電壓,數(shù)碼管跟隨顯示。附GIF圖和實驗視頻。



Proteus仿真只能用8.1版本打開,
Keil程序下載:
ADC0809模數(shù)轉換實驗.rar (731.2 KB, 下載次數(shù): 150)

評分

參與人數(shù) 1黑幣 +40 收起 理由
admin + 40 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏7 分享淘帖 頂4 踩
回復

使用道具 舉報

沙發(fā)
ID:995757 發(fā)表于 2021-12-23 14:54 | 只看該作者
你好,我是一名大二的學生,今年剛開始接觸單片機,我們有一個實驗和你這個實驗是類似的,不過我還要用到8255A來輸出,轉換的模擬信號,在數(shù)碼管上后兩位上顯示出來顯示出來。但我我的protues電路圖仿真那個IN0口的模擬輸入一直沒有轉換出來,代碼是師傅給的,沒有給電路圖,是我自己編的,我不知道是我連線的問題還怎么樣,看到你這個帖子,我就想來請教下你,可不可以幫我看看
回復

使用道具 舉報

板凳
ID:1137320 發(fā)表于 2024-11-23 10:10 | 只看該作者
太感謝樓主了,幫大忙了
回復

使用道具 舉報

地板
ID:1140022 發(fā)表于 2024-12-16 19:56 | 只看該作者

太感謝樓主了,幫大忙了
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表