單片機學習筆記.AD/DA(略含有SPI,用的是普中開發板上的XPT2046芯片)

?AD/DA基礎知識?

硬件電路:?


?模電運放知識回顧:?

? ?虛短(Virtual Short)

  • 定義:運放同相輸入端(+)和反相輸入端(-)的電位近似相等,即V+= V-,仿佛兩個輸入端短路,但實際上并未真正連接(無電流通過),因此稱為 “虛短”。

? 虛斷(Virtual Open)

  • 定義:運放同相輸入端和反相輸入端的輸入電流近似為零,即 I+ =?I- ,仿佛兩個輸入端開路,但實際上仍有微弱電流(理想運放忽略),因此稱為 “虛斷”。

eg.? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?分析:

?


?DA原理:

T型電阻網絡DA:?

?PWM型DA:


SPI協議:

?這里時序圖以XPT2046為例:

?硬件原理圖:

??

引腳定義:?

sbit XPT2046_CS=P3^5;
sbit XPT2046_DCLK=P3^6;
sbit XPT2046_DIN=P3^4;
sbit XPT2046_DOUT=P3^7;

?命令字:

選定對應通道:?

在頭文件里對命令字進行宏定義 :

#define XPT2046_XP_8  0x9c         //1001 1;8位1:單端00
#define XPT2046_YP_8  0xDc
#define XPT2046_VBAT_8 0xAc
#define XPT2046_AUX_8 0xEc#define XPT2046_XP_12  0x94        //1001 1;8位1:單端00
#define XPT2046_YP_12  0xD4
#define XPT2046_VBAT_12 0xA4
#define XPT2046_AUX_12 0xE4

?XPT2046讀取AD值:

unsigned int XPT2046_ReadAD(unsigned char Command)//s=1開始檢測,a2a1a0選地址
{unsigned char i;unsigned int ADValue;XPT2046_CS=0;XPT2046_DCLK=0;for(i=0;i<8;i++){XPT2046_DIN=Command&(0x80>>i);XPT2046_DCLK=1;Delayms(1);XPT2046_DCLK=0;}for(i=0;i<16;i++){XPT2046_DCLK=1;Delayms(1);XPT2046_DCLK=0;if(XPT2046_DOUT==1){ADValue|=(0x8000>>i);}}XPT2046_CS=1;if(Command&0x08)//0000 0100{return ADValue>>8;}else{return ADValue>>4;}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/916854.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/916854.shtml
英文地址,請注明出處:http://en.pswp.cn/news/916854.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

避坑指南:VMware安裝CentOS常見錯誤及完美解決方案

1. 引言 虛擬機允許在同一臺機子上有不同的操作系統&#xff0c;還可以用于搭建實驗環境、軟件測試和兼容性測試等。我是主攻大數據方向的會用到Linux操作系統&#xff0c;所以虛擬機對我來說是很有必要的。我把之前的筆記和安裝包整理了一下&#xff0c;就有了現在這個教程。…

Python爬蟲04_Requests豆瓣電影爬取

一、 爬取豆瓣電影排行榜數據 import requests import json url ‘https://movie.douban.com/j/chart/top_list’ param { ‘type’:‘24’, ‘interval_id’:‘100:90’, ‘action’:‘’, ‘start’:‘0’, #從庫中的第幾部電影去取 ‘limit’:‘20’, } headers { ‘Use…

工業物聯網模塊運營指南?

一、運營目標 工業物聯網模塊運營的核心目標在于通過高效運作,實現提高工業設備運行效率、降低生產成本、推動生產過程智能化管理,進而提升企業的整體競爭力。這一目標是后續所有運營工作的出發點和落腳點,為各項運營環節提供方向指引。 二、關鍵運營環節及做法 (一)設…

9.項目起步(3)

1項目起步-靜態資源初始化 和 Error Lens 安裝圖片資源和樣式資源error lens 安裝2項目起步-scss文件自動導入為什么要自動導入自動導入配置scss變量自動導入$xtxColor: #27ba9b; $helpColor: #e26237; $sucColor: #1dc779; $warnColor: #ffb302; $priceColor: #cf4444;css: {p…

MCP提示詞工程:上下文注入的藝術與科學

MCP提示詞工程&#xff1a;上下文注入的藝術與科學 &#x1f31f; Hello&#xff0c;我是摘星&#xff01; &#x1f308; 在彩虹般絢爛的技術棧中&#xff0c;我是那個永不停歇的色彩收集者。 &#x1f98b; 每一個優化都是我培育的花朵&#xff0c;每一個特性都是我放飛的蝴蝶…

字節跳動GR-3:可泛化、支持長序列復雜操作任務的機器人操作大模型(技術報告解讀)

1.總結 GR-3 是一個大規模的視覺 - 語言 - 動作&#xff08;VLA&#xff09;模型。它對新物體、新環境以及含抽象概念的新指令展現出較好的泛化能力。此外&#xff0c;GR-3 支持少量人類軌跡數據的高效微調&#xff0c;可快速且經濟地適應新任務。GR-3 在處理長周期和靈巧性任…

713. 乘積小于 K 的子數組

中等 給你一個整數數組 nums 和一個整數 k &#xff0c;請你返回子數組內所有元素的乘積嚴格小于 k 的連續子數組的數目。 示例 1&#xff1a; 輸入&#xff1a;nums [10,5,2,6], k 100 輸出&#xff1a;8 解釋&#xff1a;8 個乘積小于 100 的子數組分別為&#xff1a;[10…

【算法】 SM2、FSRS、SuperMemo算法實現艾賓浩斯記憶曲線,通過以上算法你也可以開發出單詞記憶軟件

有那些算法可以實現艾賓浩斯單詞記憶 用戶: 有那些算法可以實現艾賓浩斯單詞記憶 元寶: 以下是基于 艾賓浩斯遺忘曲線 的智能記憶算法實現方案&#xff0c;結合 間隔重復算法 與 現代機器學習技術&#xff0c;提供從理論到實踐的完整解決方案&#xff1a; 一、核心算法原理 1. …

SQL167 連續簽到領金幣

SQL167 連續簽到領金幣 題目描述 用戶行為日志表 tb_user_log iduidartical_idin_timeout_timesign_in110102021-07-07 10:00:002021-07-07 10:00:091210102021-07-08 10:00:002021-07-08 10:00:091310102021-07-09 10:00:002021-07-09 10:00:42141010 2021-07-10 10:00:00 …

PHP性能優化與高并發處理:從基礎到高級實踐

引言 在當今高流量的互聯網環境中,PHP應用的性能優化變得至關重要。本文將全面探討PHP性能優化的各個層面,從基礎優化技巧到高級并發處理方案,幫助開發者構建高性能的PHP應用。 基礎性能優化 OPcache配置優化 ; php.ini 推薦OPcache配置 [opcache] opcache.enable=1 opc…

C++ std::map erase() 和迭代器詳解:常見面試陷阱與深入理解

在使用 C 的 std::map 時&#xff0c;配合 erase() 和迭代器的使用是一個經典面試點&#xff0c;也是實際開發中經常出錯的地方。本文將深入講解 erase() 的行為、end() 的本質以及迭代器失效規則&#xff0c;幫助你寫出更健壯的代碼。1. erase(it) 的行為當你使用 erase(it) 刪…

求職招聘小程序源碼搭建招聘小程序開發定制人力資源系統

身份&#xff1a;求職者、企業求職者&#xff1a;完善簡歷&#xff0c;簡歷投遞企業&#xff1a;企業入駐&#xff0c;查看簡歷企業會員&#xff1a;半年 、年度 權益&#xff1a;每日發布條數、刷新條數&#xff0c;簡歷下載數量聊天&#xff1a;求職者可以和企業聊天招聘會…

【31】C# WinForm入門到精通 ——保存文件SaveFileDialog 【屬性、方法、事件、實例、源碼】

WinForm 是 Windows Form 的簡稱&#xff0c;是基于 .NET Framework 平臺的客戶端&#xff08;PC軟件&#xff09;開發技術&#xff0c;是 C# 語言中的一個重要應用。 .NET 提供了大量 Windows 風格的控件和事件&#xff0c;可以直接拿來使用。 本專欄內容是按照標題序號逐漸…

socket網絡編程(1)

socket網絡編程&#xff08;1&#xff09; 設計echo server進行接口使用 生成的Makefile文件如下 .PHONY:all all:udpclient udpserverudpclient:UdpClient.ccg -o $ $^ -stdc17 -static udpserver:UdpServer.ccg -o $ $^ -stdc17.PHONY:clean clean:rm -f udpclient udpserver…

數據集:機器學習的基石

三、數據集&#xff1a;機器學習的基石1. sklearn 玩具數據集&#xff1a;快速入門的理想選擇1.1 玩具數據集的特點與價值sklearn 內置的玩具數據集&#xff08;Toy Datasets&#xff09;是機器學習入門的絕佳資源。這類數據集通常具有以下特點&#xff1a;數據量小&#xff1a…

SQL排查、分析海量數據以及鎖機制

1. SQL排查 1.1 慢查詢日志: mysql提供的一種日志記錄, 用戶記錄MySQL中響應時間超過閾值的SQL語句(long_query_time, 默認10秒), 慢查詢日志默認是關閉的, 建議開發調優時打開, 最終部署的時候關閉 1.1.1 檢查是否開啟了慢查詢日志 show variables like %slow_query_log%;臨…

conda 安裝prokka教程

本章教程,記錄如何在wsl2+ubuntu下載通過conda安裝prokka軟件包。 Prokka 是一個快速的、功能強大的基因組注釋工具,特別適用于細菌基因組的注釋。它能夠自動化完成從基因組序列到功能注釋的整個流程,包括基因的識別、功能預測和注釋,并且支持多種文件格式輸出,廣泛應用于…

CSS3 圓角

CSS3 圓角 引言 CSS3圓角是現代網頁設計中非常重要的一項功能&#xff0c;它使得網頁元素的外觀更加平滑、美觀。本文將詳細介紹CSS3圓角的概念、實現方法以及相關屬性&#xff0c;幫助您更好地掌握這一技巧。 CSS3圓角概念 CSS3圓角指的是通過CSS3屬性為元素&#xff08;如div…

牛頓-拉夫森法求解非線性方程組

牛頓-拉夫森法&#xff08;Newton-Raphson method&#xff09;是一種用于求解非線性方程組的迭代方法。該方法通過線性化非線性方程組&#xff0c;并逐步逼近方程組的解。以下是牛頓-拉夫森法求解非線性方程組的詳細步驟和MATLAB實現。 1. 牛頓-拉夫森法的基本原理 對于非線性方…

Windows系統使用命令生成文件夾下項目目錄樹(文件結構樹)的兩種高效方法

Windows系統使用命令生成文件夾下項目目錄樹&#xff08;文件結構樹&#xff09;的兩種高效方法前言&#xff1a;**方法一&#xff1a;tree 命令 —— 快速生成經典目錄樹****方法二&#xff1a;PowerShell —— 可以精準過濾“降噪”的命令**這份列表非常精煉&#xff0c;只包…