51單片機利用I/O口高阻狀態實現觸摸控制LED燈

51單片機利用I/O口高阻狀態實現觸摸控制LED燈

1.概述

這篇文章介紹使用I/O口的高阻狀態實現一個觸摸控制LED燈亮滅的實驗。該實驗通過手觸摸P3.7引腳,改變電平信號控制燈的亮滅。

2.實驗過程

2.1.實驗材料

名稱型號數量
單片機STC12C20521
LED彩燈1
晶振12MHZ1
電容30pf2
電阻100歐姆1
面包板1
連接線5

2.2.電路原理

將P3.7接口的燈連接到P1.7接口上,其他的按照電路圖鏈接即可。
在這里插入圖片描述

在這里插入圖片描述

2.3.實驗程序

/*************************************************************
* 程序名: IO口高阻模式實現觸控控制LED燈
* 編寫人: bruce
* 硬件支持:STC12C2052
* 日  期: 2023-11-23
* 修改日志: 
/*************************************************************/#include<STC12C2052AD.H>// 定義P1.3 和 P1.2接口
sbit LED1 = P1^7;
sbit KEY = P3^7;void main(void){//設置P1接口為準雙口模式P1M0 = 0X00;P1M1 = 0X00;//設置P3.7接口為高阻模式P3M0 = 0X80;P3M1 = 0X00;// 定義接口高電平LED1 = 1;while(1){LED1 = ~KEY;}}

將手指放在P3.7接口上燈就會點亮,離開后就會熄滅。但是在實際使用中,手指還沒接觸到P3.7接口,燈就亮了,這就是受到干擾造成的。下面對此做了優化。

  • 首先將P3.7設置為準雙口+延遲,避免未接觸到P3.7就變為低電平控制燈亮。在手開始接觸P3.7時,該接口處于準雙口,有輸出功能可以將干擾電流拉到GND,消除了一部分干擾
  • 當設置P3.7為高阻狀態時,增加一個延遲,再次消除一部分干擾。
  • 經過優化后比之前要穩定很多,手指觸摸到P3.7和P1.0引腳才會點亮LED燈。
/*************************************************************
* 程序名: IO口高阻模式實現觸控控制LED燈
* 編寫人: bruce
* 硬件支持:STC12C2052
* 日  期: 2023-11-23
* 修改日志: 
/*************************************************************/#include<STC12C2052AD.H>// 定義P1.3 和 P1.2接口
sbit LED1 = P1^7;
sbit KEY = P3^7;/*********************************************************************************************
函數名:毫秒級CPU延時函數
調  用:DELAY_MS (?);
參  數:1~65535(參數不可為0)
返回值:無
結  果:占用CPU方式延時與參數數值相同的毫秒時間
備  注:應用于1T單片機時i<600,應用于12T單片機時i<125
/*********************************************************************************************/
void DELAY_MS (unsigned int a){unsigned int i;while( --a != 0){for(i = 0; i < 600; i++);}
}void main(void){//設置P1接口為準雙口模式P1M0 = 0X00;P1M1 = 0X00;//設置P3.7接口為高阻模式P3M0 = 0X80;P3M1 = 0X00;//初始化高低電平LED1 = 1;KEY = 0;while(1){//當手靠近還未觸摸到P3.7引腳,感應到微電流后就會改變狀態使控制燈的開關不穩定。//設置為準雙口,+ 延遲 過濾微電流影響觸摸不穩定現象。P3M0 = 0X00;DELAY_MS(2);P3M0 = 0X80;DELAY_MS(2);LED1 = ~KEY;}}
觸控燈效果

在這里插入圖片描述

在這里插入圖片描述

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

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

相關文章

Elasticsearch:ES|QL 函數及操作符

如果你對 ES|QL 還不是很熟悉的話&#xff0c;請閱讀之前的文章 “Elasticsearch&#xff1a;ES|QL 查詢語言簡介???????”。ES|QL 提供了一整套用于處理數據的函數和運算符。 功能分為以下幾類&#xff1a; 目錄 ES|QL 聚合函數 AVG COUNT COUNT_DISTINCT 計數為近…

geemap學習筆記013:為遙感動態GIF圖添加圖名

前言 遙感動態GIF圖可以展示地理區域隨時間的變化&#xff0c;這對于監測自然災害、濕地變化、城市擴展、農田變化等方面非常有用&#xff0c;并且可以反復觀察圖像&#xff0c;以更深入地了解地表的動態變化。本節主要是對遙感動態GIF圖添加圖名&#xff0c;以便于更好地理解…

聚觀早報 |一加12正式開啟預訂;OPPO Reno11系列賣點

【聚觀365】11月24日消息 一加12正式開啟預訂 OPPO Reno11系列賣點 小鵬第三季度營收財報 Claude 2.1 聊天機器人公布 現代汽車將與倫敦大學學院合作 一加12正式開啟預訂 全新的一加12系列公開亮相已有一段時間&#xff0c;不久前一加官方宣布&#xff0c;該機將于12月4日…

android:The application could not be installed: INSTALL_FAILED_TEST_ONLY

1、問題描述 在android12 &#xff08;OPPO PEEM00&#xff09;上安裝APP時&#xff0c;提示上述異常 原因分析&#xff1a; android:testOnly&#xff1a;應用是否是為了測試&#xff0c;它可能向外暴露數據&#xff0c;引發安全漏洞。因此國內廠商的手機檢測到這個屬性為t…

ebpf實戰(一)-------監控udp延遲

問題背景: 為了分析udp數據通信中端到端的延遲,我們需要對整個通信鏈路的每個階段進行監控,找出延遲最長的階段. udp接收端有2個主要路徑 1.數據包到達本機后&#xff0c;由軟中斷處理程序將數據包接收并放入udp socket的接收緩沖區 數據接收流程 2. 應用程序調用recvmsg等a…

<JavaEE> 什么是進程控制塊(PCB Process Control Block)?

目錄 一、進程控制塊的概念 二、進程控制塊的重要屬性 2.1 唯一身份標識&#xff08;PID&#xff09; 2.2 內存指針 2.3 文件描述符表 2.4 狀態 2.5 優先級 2.6 記賬信息 2.7 上下文 一、進程控制塊的概念 進程控制塊&#xff08;Process Control Block, PCB&#xff…

Springboot引入分布式搜索引擎Es RestAPI

文章目錄 RestAPI初始化RestClient創建索引庫刪除索引庫判斷索引庫是否存在總結 RestClient操作文檔增加文檔數據查詢文檔刪除文檔修改文檔批量導入文檔小結 RestAPI ES官方提供了各種不同語言的客戶端&#xff0c;用來操作ES。這些客戶端的本質就是組裝DSL語句&#xff0c;通…

IOS Frida 常用腳本

調用堆棧 console.log("bt:" + Thread.backtrace(this.context,Backtracer.ACCURATE).map(DebugSymbol.fromAddress).join(\n\t)); Hook 調用,修改返回值 // Get a reference to the openURL selectorvar openURL = ObjC.classes.UIApplication["- openURL:&qu…

uni-app 跨端開發注意事項

文章目錄 前言H5正常但App異常的可能性標題二H5正常但小程序異常的可能性小程序正常但App異常的可能性小程序或App正常&#xff0c;但H5異常的可能性App正常&#xff0c;小程序、H5異常的可能性使用 Vue.js 的注意區別于傳統 web 開發的注意H5 開發注意微信小程序開發注意支付寶…

Docker實用篇

Docker實用篇 0.學習目標 1.初識Docker 1.1.什么是Docker 微服務雖然具備各種各樣的優勢&#xff0c;但服務的拆分通用給部署帶來了很大的麻煩。 分布式系統中&#xff0c;依賴的組件非常多&#xff0c;不同組件之間部署時往往會產生一些沖突。在數百上千臺服務中重復部署…

STM32入門筆記15_PWR電源管理模塊

PWR和低功耗模式 PWR簡介 PWR(Power Control) 電源控制PWR負責管理STM32內部的電源供電部分&#xff0c;可以實現可編程電壓檢測器和低功耗模式的功能可編程電壓檢測器(PVD) 可以監控VDD電源電壓&#xff0c;當VDD下降到PVD閾值以下或上升到PVD閾值之上時&#xff0c;PVD會觸…

C++學習之路(一)什么是C++?如何循序漸進的學習C++?【純干貨】

C是一種高級編程語言&#xff0c;是對C語言的擴展和增強。它在C語言的基礎上添加了面向對象編程&#xff08;OOP&#xff09;的特性&#xff0c;使得開發者能夠更加靈活和高效地編寫代碼。 C的名字中的“”符號表示在C語言的基礎上向前發展一步&#xff0c;即“加加”&#x…

iOS APP包分析工具 | 京東云技術團隊

介紹 分享一款用于分析iOSipa包的腳本工具&#xff0c;使用此工具可以自動掃描發現可修復的包體積問題&#xff0c;同時可以生成包體積數據用于查看。這塊工具我們團隊內部已經使用很長一段時間&#xff0c;希望可以幫助到更多的開發同學更加效率的優化包體積問題。 工具下載…

LeeCode前端算法基礎100題(4)- 無重復字符的最長子串

一、問題詳情&#xff1a; 給定一個字符串 s &#xff0c;請你找出其中不含有重復字符的 最長子串 的長度。 示例 1: 輸入: s "abcabcbb" 輸出: 3 解釋: 因為無重復字符的最長子串是 "abc"&#xff0c;所以其長度為 3。示例 2: 輸入: s "bbbbb…

在VMware Workstation的Centos上實現KVM虛擬機的安裝部署:詳細安裝部署過程(保姆級)

KVM概述 ? 以色列qumranet公司研發&#xff0c;后被RedHad公司收購 &#xff08;1&#xff09;kvm只支持x86平臺 &#xff08;2&#xff09;依賴于 HVM,inter VT AMD-v ? KVM是&#xff08;Kernel-based Virtual Machine&#xff09;的簡稱&#xff0c;是一個開源的系統虛擬…

Spark---補充算子

一、Spark補充Transformation算子 1、join,leftOuterJoin,rightOuterJoin,fullOuterJoin 作用在K&#xff0c;V格式的RDD上。根據K進行連接&#xff0c;對&#xff08;K&#xff0c;V&#xff09;join&#xff08;K&#xff0c;W&#xff09;返回&#xff08;K&#xff0c;&a…

世界復合醫學雜志世界復合醫學雜志社世界復合醫學編輯部2023年第8期目錄

論著 能譜&#xff08;Revolution&#xff09;CT胸腹聯合胸痛三聯CTA掃描對急性胸痛患者疾病的差異分析 左明飛;溫麗娟;焦宇; 1-38 超聲引導下肩袖間隙注射及肩胛上神經阻滯聯合觸發點針刺治療粘連性肩關節囊炎的療效分析 余菲;王嫻;戴甫成;張維;劉武;孫勇; 4-8 神…

python tkinter 使用(六)

python tkinter 使用&#xff08;六&#xff09; 本文主要講述tkinter中進度條的使用。 1:確定的進度條 progressbar tkinter.ttk.Progressbar(root, mode"determinate", maximum100, value0) progressbar.pack()def updateProgressBar():for i in range(100):pr…

【Unity】 UGUI的PhysicsRaycaster (物理射線檢測)組件的介紹及使用

1. 什么是PhysicsRaycaster組件&#xff1f; PhysicsRaycaster是Unity UGUI中的一個組件&#xff0c;用于在UI元素上進行物理射線檢測。它可以檢測鼠標或觸摸事件是否發生在UI元素上&#xff0c;并將事件傳遞給相應的UI元素。 2. PhysicsRaycaster的工作原理 PhysicsRaycast…

【Proteus仿真】【51單片機】智能垃圾桶設計

文章目錄 一、功能簡介二、軟件設計三、實驗現象聯系作者 一、功能簡介 本項目使用Proteus8仿真51單片機控制器&#xff0c;使用報警模塊、LCD1602液晶模塊、按鍵模塊、人體紅外傳感器、HCSR04超聲波、有害氣體傳感器、SG90舵機等。 主要功能&#xff1a; 系統運行后&#xf…