#include <stdlib.h> #include<stdio.h> #include <malloc.h> #define stack_init_size 100 #define stackincrement 10 typedef struct sqstack { int *base; int *top; int stacksize; } sqstack; int StackInit(sqstack *s) { s->base=(int *)malloc(stack_init_size *sizeof(int)); if(!s->base) return 0; s->top=s->base; s->stacksize=stack_init_size; return 1; } int Push(sqstack *s,int e) { if(s->top-s->base>=s->stacksize) { s->base=(int *)realloc(s->base,(s->stacksize+stackincrement)*sizeof(int)); if(!s->base) return 0; s->top=s->base+s->stacksize; s->stacksize+=stackincrement; } *(s->top++)=e; return e; } int Pop(sqstack *s,int e) { if(s->top==s->base) return 0; e=*--s->top; return e; } int stackempty(sqstack *s) { if(s->top==s->base) { return 1; } else { return 0; } } int conversion(sqstack *s) { int n,e=0,flag=0; printf("輸入要轉化的十進制數:\n"); scanf("%d",&n); printf("要轉化為多少進制:\n"); scanf("%d",&flag); printf("將十進制數%d 轉化為%d 進制是:\n",n,flag); while(n) { Push(s,n%flag); n=n/flag; } while(!stackempty(s)) { e=Pop(s,e); switch(e) { case 10: printf("A"); break; case 11: printf("B"); break; case 12: printf("C"); break; case 13: printf("D"); break; case 14: printf("E"); break; case 15: printf("F"); break; default: printf("%d",e); } } printf("\n"); return 0; } int main() { sqstack s; StackInit(&s); conversion(&s); return 0; }
上傳時間: 2016-12-08
上傳用戶:愛你198
本系統采用MSP430F149單片機為控制核心,利用單片機內置的DA芯片,通過按鍵中斷來邏輯選擇要輸出的波形(正弦波、方波、三角波、鋸齒波),再設置其它鍵來控制波形的幅值及頻率,然后通過單片機控制顯示到LCD1602上。 波形的產生是通過MSP430單片機執行某一波形發生程序,向D/A轉換器的輸入端按一定的規律發生數據,從而在D/A轉換電路的輸出端得到相應的電壓波形。在MSP430學習板的鍵盤按鍵,通過軟件編程來選擇各種波形、幅值電壓和頻率,按不同按鍵產生不同波形的信號。此方案的有點是電路原理比較簡單,實現起來比較容易
上傳時間: 2017-03-13
上傳用戶:彌勒佛祖
產品型號:SGL8022K 產品品牌:SGL/希格瑪 封裝形式:DIP8 SOP8 產品年份:新年份 希格瑪大陸總代理,原裝現貨具有優勢!工程服務,技術支持,讓您的生產高枕無憂。 兩通道觸摸按鍵控制芯片 概述 SGL8022K是一款兩觸摸通道帶兩個邏輯控制輸出的電容式觸摸芯片。具有如下功能特點和優勢:可通過觸摸實現各種邏輯功能控制。操作簡單、方便實用。可在有介質(如玻璃、亞克力、塑料、陶瓷等)隔離保護的情況下實現觸摸功能,安全性高。應用電壓范圍寬,可在2.4~4.5V之間任意選擇。應用電路簡單,外圍器件少,加工方便,成本低。抗電源干擾及手機干擾特性好。EFT可以達到±2KV以上;近距離、多角度手機干擾情況下,觸摸響應靈敏度及可靠性不受影響。 特點 ● LO1與LO2在上電后的初始輸出狀態由上電前OSC的輸入狀態決定。OSC管腳接VDD(高電平)上電,上電后LO1與LO2輸出高電平;OSC管腳接GND(低電平)上電,上電后LO1與LO2輸出低電平。 ● TI1觸摸輸入對應LO1邏輯輸出,TI2觸摸輸入對應LO2邏輯輸出。 ● 按住TI1或TI2,對應LO1或LO2的輸出狀態翻轉;松開后回復初始狀態。 ● 此篇產品敘述為功能簡介,如需要完整產品PDF資料可以聯系許先生索取 QQ:191 888 5898 應用范圍 ● 各種消費性產品 ● 取代按鈕按鍵 ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● 產品型號:SGL8022S 產品品牌:SGL/希格瑪 封裝形式:DIP8 SOP8 產品年份:新年份 希格瑪大陸總代理,原裝現貨具有優勢!工程服務,技術支持,讓您的生產高枕無憂。 量大價優,保證原裝正品。您有量,我有價! 概述 ● SGL8022S是一款兩觸摸通道帶兩個邏輯控制輸出的電容式觸摸芯片。具有如下功能特點和優勢:可通過觸摸實現各種邏輯開關控制。操作簡單、方便實用。可在有介質(如玻璃、亞克力、塑料、陶瓷等)隔離保護的情況下實現觸摸功能,安全性高。應用電壓范圍寬,可在2.4~4.5V之間任意選擇。應用電路簡單,外圍器件少,加工方便,成本低。抗電源干擾及手機干擾特性好。EFT可以達到±2KV以上;近距離、多角度手機干擾情況下,觸摸響應靈敏度及可靠性不受影響。 特點 ● LO1與LO2在上電后的初始輸出狀態由上電前OSC的輸入狀態決定。OSC管腳接VDD(高電平)上電,上電后LO1與LO2輸出高電平;OSC管腳接GND(低電平)上電,上電后LO1與LO2輸出低電平。 ● TI1觸摸輸入對應LO1邏輯輸出,TI2觸摸輸入對應LO2邏輯輸出。 ● 每一次觸摸TI1或TI2,對應LO1或LO2的輸出狀態翻轉一次。如此循環。應用范圍 各種消費性產品 取代按鈕按鍵 此資料為產品概述,可能會有錯漏。如需完整產品PDF資料可以聯系許先生索取QQ:191 888 5898 ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● 產品型號:SGL8022W 產品品牌:SGL/希格瑪 封裝形式:DIP8 SOP8 產品年份:新年份 希格瑪大陸總代理,原裝現貨具有優勢!工程服務,技術支持,讓您的生產高枕無憂。 單通道直流LED 燈光控制觸摸芯片 概述 ● SGL8022W 是一款用于LED 燈光亮度調節及開關控制的單通道觸摸芯片。使用該芯片可以實現LED 燈光的觸摸開關控制和亮度調節。具有如下功能特點和優勢: 燈光亮度可根據需要隨意調節,選擇范圍寬,操作簡單方便。可在有介質(如玻璃、亞克力、塑料、陶瓷等)隔離保護的情況下實現觸摸功能,安全性高。應用電壓范圍寬,可在2.4~5.5V 之間任意選擇。應用電路簡單,外圍器件少,加工方便,成本低。抗電源干擾及手機干擾特性好。EFT 可以達到±2KV 以上;近距離、多角度手機干擾情況下,觸摸響應靈敏度及可靠性不受影響。 特性 ● TI 觸摸輸入對應SO 燈光控制輸出。共有四種功能可選,由OPT1 和OPT2 管腳上電前的輸入狀態來決定。具體如下: 1)OPT1=1,OPT2=1 對應:不帶亮度記憶突明突暗的LED 觸摸無級調光功能 2)OPT1=0,OPT2=1 對應:不帶亮度記憶漸明漸暗的LED 觸摸無級調光功能 3)OPT1=1,OPT2=0 對應:帶亮度記憶漸明漸暗的LED 觸摸無級調光功能 4)OPT1=0,OPT2=0 對應:LED 三段觸摸調光功能 ● 不帶亮度記憶突明突暗的LED 觸摸無級調光功能如下: 初始上電時,燈為關滅狀態。點擊觸摸(觸摸持續時間小于550ms)時,可實現燈光的亮滅控制。一次點擊觸摸,燈亮;再一次點擊觸摸,燈滅。如此循環。燈光點亮或關滅時,無亮度緩沖。且燈光點亮的初始亮度固定為全亮度的90%。 長按觸摸(觸摸持續時間大于550ms)時,可實現燈光無級亮度調節。一次長按觸摸,燈光亮度逐漸增加,松開時燈光亮度停在松開時刻對應的亮度,若長按時間超過3 秒鐘,則燈光亮度達到最大亮度后不再變化;再一次長按觸摸,燈光亮度逐漸降低,松開時燈光亮度停在松開時刻對應的亮度,若長按時間超過3 秒鐘,則燈光亮度達到最小亮度后不再變化。如此循環。 點擊觸摸和長按觸摸可以在任何時候隨意使用,相互之間功能不受干擾和限制。 不帶亮度記憶漸明漸暗的LED 觸摸無級調光功能是在不帶亮度記憶突明突暗的LED 觸摸無級調光功能的基礎上,在點擊觸摸開燈和關燈時,通過使燈光由一個較低亮度緩慢平滑過渡到開燈初始亮度,在點擊觸摸關燈時,使燈光由當前亮度緩慢平滑降低直至關滅,從而達到亮度緩慢變化的視覺緩沖效果,起到保護眼睛和視力的效果。 帶亮度記憶漸明漸暗的LED 觸摸無級調光功能是在不帶亮度記憶漸明漸暗的LED 觸摸無級調光功能的基礎上增加了亮度記憶功能。即在AC220V 電源不斷電的情況下,每次點擊觸摸關燈時的亮度會被記憶,下次點擊觸摸開燈時會以此亮度作為初始亮度。在AC220V 電源掉電的情況下,重新上電后的第一次點擊觸摸開燈,初始亮度固定為全亮度的50%。LED 三段觸摸調光功能, 初始上電時,燈為關滅狀態。 每次點擊觸摸,燈光亮度按低亮度->中兩度->高亮度->滅依次循環變化。 ● 此篇產品敘述為產品功能簡介,如需要完整產品PDF資料可以聯系許先生QQ:1918885898索取! 應用范圍 ● 各種消費性產品 ● 取代按鈕按鍵 此資料為產品概述,可能會有錯漏。如需完整產品PDF資料可以聯系許先生索取QQ:191 888 5898 ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● 產品型號:SGL8022WS 產品品牌:SGL/希格瑪 封裝形式:DIP8 SOP8 產品年份:新年份 希格瑪大陸總代理,原裝現貨具有優勢!工程服務,技術支持,讓您的生產高枕無憂。 單通道直流LED調光觸摸芯片 概述 ● SGL8022WS 是一款專用于LED 燈光開關控制及亮度調節的單通道觸摸芯片。使用該芯片可以方便地實現LED 燈光的觸摸開關控制和分檔及無級亮度調節。具有如下功能特點和優勢: 燈光亮度可根據需要隨意調節,選擇范圍寬,操作簡單方便。可在有介質(如玻璃、亞克力、塑料、陶瓷等)隔離保護的情況下實現觸摸功能,安全性高。 應用電壓范圍寬,可在2.4~5.5V之間任意選擇。 應用電路簡單,外圍器件少,加工方便,成本低。抗電源干擾及手機干擾特性好。EFT可以達到±2KV以上;近距離、多角度手機干擾情況下,觸摸響應靈敏度及可靠性不受影響。 特點 ● 工作電壓:2.4~5.5V ● 工作頻率:4MHz ● 觸摸輸入:一路(TI) 選項輸入:兩路(OP1/OP2) 控制輸出:一路(SO) 控制輸出PWM頻率:20KHz 功能描述: TI觸摸輸入對應SO燈光控制輸出,通過調制PWM輸出信號的占空比控制LED燈的開關和亮度變化,PWM信號的頻率固定為20KHz左右。共有四種功能可選,由OPT1/OPT2管腳上電前的輸入狀態來決定。具體如下: 1)OP1 & OP2全部懸空:不帶亮度記憶不帶亮度緩沖的LED觸摸無級調光2)OP1接地,OP2懸空:帶亮度記憶不帶亮度緩沖的LED觸摸無級調光3)OP1懸空,OP2接地:LED三段觸控調光,【高->中->低->滅】循環4)OP1 & OP2全部接地:LED三段觸控調光,【低->中->高->滅】循環以下為詳細功能說明: ● 不帶亮度記憶不帶亮度緩沖的LED觸摸無級調光功能如下:初始上電時,SO輸出全低電平,LED燈不亮。短按觸摸(觸摸持續時間小于550ms),可實現燈光的開關亮滅控制。一次短按觸摸,燈亮;再一次短按觸摸,燈滅。多次短按,依此循環。燈光點亮或關滅時,無亮度緩沖。且每次開燈的亮度固定為最高亮度,對應輸出PWM信號的高電平占空比為100%。 長按觸摸(觸摸持續時間大于550ms),可實現燈光無級亮度調節。一次長按觸摸,燈光亮度逐漸降低,松開時停在當時的亮度,若長按時間超過3秒鐘,則燈光亮度達到最低后不再變化;再一次長按觸摸,燈光亮度逐漸升高,松開時停在當時的亮度,若長按時間超過3秒鐘,則燈光亮度達到最高后不再變化。多次長按,依此循環。最低亮度的PWM信號占空比為2%,最高亮度為100%。燈不亮的情況下,長按觸摸也可開燈。此種情況下,按鍵按下后首先以最高亮度亮燈,若超過550ms后仍未松開,則開始向下無級調光。點擊觸摸和長按觸摸可在任何時候隨意使用,相互之間功能不受干擾和限制。 帶亮度記憶不帶亮度緩沖的LED觸摸無級調光功能是在不帶亮度記憶不帶亮度緩沖的LED觸摸無級調光功能的基礎上增加了亮度記憶功能。即在電源不斷電的情況下,每次短按觸摸關燈時的亮度會被記憶保存,下次觸摸開燈時會以此亮度作為初始亮度。開燈后第一次調光的方向由之前記憶的亮度值來決定,若記憶亮度值大于50%,則向下調光;若記憶亮度值小于50%,則向上調光。初始上電或斷電后重新上電,第一次開燈的初始亮度固定為100%最高亮度,第一次調光的方向固定為向下調光。 ● LED三段觸控調光,【高->中->低->滅】循環 ● 初始上電時,SO輸出全低電平,LED燈不亮。 ● 第一次觸摸,燈光為高檔亮度;第二次觸摸,燈光為中檔亮度;第三次觸摸,燈光為低檔亮度;第四次觸摸,燈滅。多次按鍵,依此循環。高中低三檔亮度對應的輸出PWM信號占空比分別為100%、40%、10%。 ● LED三段觸控調光,【低->中->高->滅】循環 ● 初始上電時,SO輸出全低電平,LED燈不亮。 ● 第一次觸摸,燈光為低檔亮度;第二次觸摸,燈光為中檔亮度;第三次觸摸,燈光為高檔亮度;第四次觸摸,燈滅。多次按鍵,依此循環。低中高三檔亮度對應的輸出PWM信號占空比分別為10%、40%、100%。 ●此資料為產品概述,可能會有錯漏。如需完整產品PDF資料可以聯系許先生索取QQ:191 888 5898 ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● 產品型號:SGL8023W 產品品牌:SGL/希格瑪 封裝形式:DIP8 SOP8 產品年份:新年份 希格瑪大陸總代理,原裝現貨具有優勢!工程服務,技術支持,讓您的生產高枕無憂。 單通道直流 LED 燈光亮度調節及開關控制的單通道觸摸芯片 概 述 ● SGL8023W 是一款用于LED 燈光亮度調節及開關控制的單通道觸摸芯片。使用該芯片可以實現 LED 燈光的觸摸開關控制和亮度調節。具有如下功能特點和優勢: 燈光亮度可根據需要隨意調節,選擇范圍寬,操作簡單方便。可在有介質(如玻璃、亞克力、塑料、陶瓷等)隔離保護的情況下實現觸摸功能,安全性高。應用電壓范圍寬,可在2.4~5.5V 之間任意選擇。應用電路簡單,外圍器件少,加工方便,成本低。抗電源干擾及手機干擾特性好。EFT 可以達到±2KV 以上;近距離、多角度手機干擾情況下,觸摸響應靈敏度及可靠性不受影響。 特 點 ● TI 觸摸輸入對應SO1 以及SO2 燈光控制輸出。SO2/OPT2 為輸入輸出功能復用管腳,既可以用作調光輸出SO2,也可以用作選項輸入OPT2。共有六種功能可選,由OPT1/OPT2/OPT3管腳上電前的輸入狀態來決定。芯片管腳有內部上拉,懸空為1,接GND 為0,具體如下: 1)OPT1=1,OPT2=1,OPT3=1:不帶亮度記憶不帶亮度緩沖單輸出LED 觸摸無級調光 2)OPT1=1,OPT2=1,OPT3=0:帶亮度記憶不帶亮度緩沖單輸出LED 觸摸無級調光 3)OPT1=1,OPT2=0,OPT3=1:不帶亮度記憶不帶亮度緩沖雙輸出LED 觸摸無級調光 4)OPT1=1,OPT2=0,OPT3=0:帶亮度記憶不帶亮度緩沖雙輸出LED 觸摸無級調光 5)OPT1=0,OPT2=0,OPT3=1:LED 三段觸控調光,順序低->中->高->滅 6)OPT1=0,OPT2=0,OPT3=0:LED 三段觸控調光,順序高->中->低->滅 以下為詳細功能說明: ● 不帶亮度記憶不帶亮度緩沖單輸出LED 觸摸無級調光功能如下: ● TI 觸控輸入對應SO1 一路LED 輸出。初始上電時,燈為關滅狀態。 ● 點擊觸摸(觸摸持續時間小于550ms)時,可實現燈光的亮滅控制。一次點擊觸摸,燈亮;再一次點擊觸摸,燈滅。如此循環。燈光點亮或關滅時,無亮度緩沖。且燈光點亮的初始亮度固定為最高亮度。 ● 長按觸摸(觸摸持續時間大于550ms)時,可實現燈光無級亮度調節。一次長按觸摸,燈光亮度逐漸增加,松開時燈光亮度停在松開時刻對應的亮度,若長按時間超過3 秒鐘,則燈光亮度達到最大亮度后不再變化;再一次長按觸摸,燈光亮度逐漸降低,松開時燈光亮度停在松開時刻對應的亮度,若長按時間超過3 秒鐘,則燈光亮度達到最小亮度后不再變化。如此循環。 ● 點擊觸摸和長按觸摸可以在任何時候隨意使用,相互之間功能不受干擾和限制。 ● 帶亮度記憶不帶亮度緩沖單輸出LED 觸摸無級調光功能是在不帶亮度記憶不帶亮度緩沖單輸出LED 觸摸無級調光功能的基礎上增加了亮度記憶功能。即在電源不斷電的情況下,每次點擊觸摸關燈時的亮度會被記憶,下次點擊觸摸開燈時會以此亮度作為初始亮度。在電源掉電的情況下,重新上電后的第一次點擊觸摸開燈,初始亮度固定為最高亮度。 ● 不帶亮度記憶不帶亮度緩沖雙輸出LED 觸摸無級調光功能是在不帶亮度記憶不帶亮度緩沖單輸出LED 觸摸無級調光功能基礎上將輸出由一路LED 擴展為兩路LED。 ● TI 觸摸輸入對應SO1、SO2 兩路LED 輸出。初始上電時,兩路燈均為關滅狀態。 ● 第一次點擊觸摸,第一路燈(SO1 輸出驅動)亮;第二次點擊觸摸,第一路燈滅,第二路燈(SO2 輸出驅動)亮;第三次點擊觸摸,兩路燈都滅。 當某一路燈亮時,長按觸摸可對此燈亮度進行無級調光。調節方式同上。當兩路燈都不亮時,長按觸摸會首先點亮第一路燈,然后再對此路燈進行無級調光。 ● 帶亮度記憶不帶亮度緩沖雙輸出LED 觸摸無級調光功能是在不帶亮度記憶不帶亮度緩沖雙輸出LED 觸摸無級調光功能的基礎上增加了亮度記憶功能。即在不掉電的情況下,每次觸摸關燈或切換到另外一路燈前的亮度會被記憶保存,下次觸摸開燈或切換到此路燈時會以此被記憶的亮度點亮LED。如發生斷電的話,則重新上電后第一次觸摸開燈或第一次切換到此路燈時亮度,固定為最高亮度。 ● LED 三段觸摸調光功能 ● 初始上電時,燈為關滅狀態。 ● 每次點擊觸摸,依OPTION 選擇不同,燈光亮度按[低亮度->中亮度->高亮度->滅]依次循環變化,或按[高亮度->中亮度->低亮度->滅]依次循環變化。應用范圍 ● 各種消費性產品 ● 取代按鈕按鍵 聯 系 人:許先生 聯 系 QQ:1918885898 聯系手機:18898582398
上傳時間: 2019-02-17
上傳用戶:shubashushi66
#include<stdio.h> #include<string.h> #include<stdlib.h> #define N 100 int iNumOfStu=0; struct score { float math; float english; float computer; }; struct student { int number; char name[20]; struct score sco; float average; }; struct student stu[N]; void print_menu(void);//輸出菜單 void choosemenu(void);//菜單選擇 void input_student1(int);//輸入學生信息 void input_student2(void);//輸入總函數 void input_student3(int &,int);//判斷學號是否重復 void input_student4(int,int);//覆蓋原信息 void sort_student3(student s[],int);//按照英語成績排序 void sort_student4(student s[],int);//按照計算機成績排序 void sort_student2(student s[],int);//按照數學成績排序 void sort_student5(student s[],int);//按照平均成績排序 float input_score2(int);//計算學生平均成績 void print_student2(void);//顯示表頭 void print_student3(int);//顯示學生信息 void print_student1(int);//顯示全部學生資料 void sort_student1(void);//排序總函數 void menu(void);//菜單調度總函數 int search_student2(int);//按學號查詢學生信息并輸出 void search_student3(int);//按平均分最高查詢并輸出 void search_student1(void);//查詢總函數 void delete_student2(int,int);//刪除學生信息 void delete_student1(void);//刪除總函數 void change_student2(int);//修改學生資料 void change_student1(void);//修改總函數 void input_score3(int);//統計成績 void input_score1(void);//統計成績總函數 void print_help(void);//輸出幫助信息 void exit_student(void);//退出系統 void save_student(student *,int);//保存學生信息 void main() { menu(); } void save_student(student *s,int a)//保存學生信息 { FILE *fp; if((fp=fopen("d:\\學生信息.txt","wb"))==NULL) { printf("不能打開文件!\n"); } else { printf("保存信息到D盤\n"); fprintf(fp,"本班所有學生具體信息如下:\r\n"); fprintf(fp," 學號 姓名 數學成績 英語成績 計算機成績 平均成績\r\n"); for(int i=0;i<a;i++) { fprintf(fp,"%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[i].number,stu[i].name,stu[i].sco.math,stu[i].sco.english,stu[i].sco.computer,stu[i].average); fprintf(fp,"\r\n"); } fclose(fp); printf("信息保存成功!\n"); } } void exit_student(void)//退出系統 { exit(1); } void print_help(void)//輸出幫助信息 { printf("本系統所能容納的最大學生數為%d人\n學生信息保存在D盤根目錄下,保存文件為“學生信息.txt”。\n感謝使用!\n",N); } void input_score1(void)//統計成績總函數 { int c; c=search_student2(iNumOfStu); printf("學號:%d\n",stu[c].number); printf("姓名:%s\n",stu[c].name); input_score3(c); printf("新成績錄入成功!\n"); stu[c].average=input_score2(c); } void input_score3(int a)//統計成績 { printf("數學新成績:"); scanf("%f",&stu[a].sco.math); printf("英語新成績:"); scanf("%f",&stu[a].sco.english); printf("計算機新成績:"); scanf("%f",&stu[a].sco.computer); } void change_student2(int a)//修改學生資料 { printf("學號:%d----修改為:",stu[a].number); scanf("%d",&stu[a].number); getchar(); printf("姓名:%s----修改為:",stu[a].name); gets(stu[a].name); printf("數學成績:%.2f----修改為:",stu[a].sco.math); scanf("%f",&stu[a].sco.math); printf("英語成績:%.2f----修改為:",stu[a].sco.english); scanf("%f",&stu[a].sco.english); printf("計算機成績:%.2f----修改為:",stu[a].sco.computer); scanf("%f",&stu[a].sco.computer); } void change_student1(void)//修改總函數 { int c; c=search_student2(iNumOfStu); getchar(); printf("是否要修改此學生信息?(“y”代表是)"); char d; scanf("%c",&d); if(d=='y'||d=='Y') { change_student2(c); stu[c].average=input_score2(c); printf("信息修改成功!\n"); } } void delete_student1(void)//刪除總函數 { int c; c=search_student2(iNumOfStu); getchar(); printf("是否刪除此條記錄?(“y”代表是)"); char d; scanf("%c",&d); if(d=='y'||d=='Y') { delete_student2(c,iNumOfStu); printf("記錄已刪除!\n"); } } void delete_student2(int a,int b)//刪除學生信息 { for(int i=a;i<b-1;i++) { stu[i]=stu[i+1]; } --iNumOfStu; } void search_student1(void)//查詢總函數 { printf("1、按學號查詢\n2、按平均分最高查詢\n請選擇:"); int c; scanf("%d",&c); switch(c) { case 1: { search_student2(iNumOfStu); break; } case 2: { search_student3(iNumOfStu); break; } default: break; } } void menu(void)//菜單調度總函數 { print_menu(); choosemenu(); } void sort_student1(void)//排序總函數 { printf("1、按數學成績排序\n2、按英語成績排序\n3、按計算機成績排序\n4、按平均成績排序\n請選擇:"); int c; scanf("%d",&c); switch(c) { case 1: { sort_student2(stu,iNumOfStu); break; } case 2: { sort_student3(stu,iNumOfStu); break; } case 3: { sort_student4(stu,iNumOfStu); break; } case 4: { sort_student5(stu,iNumOfStu); break; } default: break; } } void print_student1(int a)//顯示全部學生資料 { printf("本班所有學生具體信息如下\n"); print_student2(); for(int i=0;i<a;i++) { print_student3(i); } } void print_student3(int a)//顯示學生信息 { printf("%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[a].number,stu[a].name,stu[a].sco.math,stu[a].sco.english,stu[a].sco.computer,stu[a].average); } void print_student2(void)//顯示表頭 { printf(" 學號 姓名 數學成績 英語成績 計算機成績 平均成績\n"); } void input_student4(int a,int b)//覆蓋原信息 { stu[a]=stu[b-1]; --iNumOfStu; } void input_student3(int &a,int b)//判斷學號是否重復 { if(a!=0) { int i=0; do { if(stu[a].number==stu[i].number) { printf("此學號代表的學生已錄入\n1、覆蓋原信息\n2、重新輸入\n請選擇:"); int c; scanf("%d",&c); switch(c) { case 1: { input_student4(i,iNumOfStu); a=iNumOfStu-1; printf("信息已替換!\n"); break; } case 2: { printf("請重新輸入學生信息:\n"); input_student1(iNumOfStu-1); break; } default: break; } break; } ++i; } while(i<b-1); } } void print_menu(void)//輸出菜單 { printf("======歡迎來到學生信息管理系統======\n"); printf(" 1、輸入學生資料\n"); printf(" 2、刪除學生資料\n"); printf(" 3、查詢學生資料\n"); printf(" 4、修改學生資料\n"); printf(" 5、顯示學生資料\n"); printf(" 6、統計學生成績\n"); printf(" 7、排序學生成績\n"); printf(" 8、保存學生資料\n"); printf(" 9、獲取幫助信息\n"); printf(" 10、退出系統\n"); printf("====================================\n"); printf("請選擇:"); } void input_student2(void)//輸入總函數 { char end; printf("請輸入學生信息(在最后一個學生信息錄入完成后以“/”結束錄入):\n"); for(int i=0;(end=getchar())!='/';i++) { input_student1(i); ++iNumOfStu; input_student3(i,iNumOfStu); } for(int j=0;j<iNumOfStu;j++) { stu[j].average=input_score2(j); } } void input_student1(int a)//輸入學生信息 { printf("學號:"); scanf("%d",&stu[a].number); getchar(); printf("姓名:"); gets(stu[a].name); printf("數學成績:"); scanf("%f",&stu[a].sco.math); printf("英語成績:"); scanf("%f",&stu[a].sco.english); printf("計算機成績:"); scanf("%f",&stu[a].sco.computer); } float input_score2(int a)//計算學生平均成績 { return (stu[a].sco.math+stu[a].sco.english+stu[a].sco.computer)/3; } void search_student3(int a)//按平均分最高查詢并輸出 { int max=0; for(int i=0;i<a;i++) { if(stu[max].average<stu[i].average) { max=i; } } print_student2(); print_student3(max); } void sort_student2(student s[],int a)//按照數學成績排序 { struct student temp; for(int i=0;i<a-1;i++) { int max=i; for(int j=i+1;j<a;j++) if(stu[j].sco.math>stu[max].sco.math) { max=j; } if(max!=i) { temp=stu[max]; stu[max]=stu[i]; stu[i]=temp; } } print_student2(); for(int k=0;k<a;k++) { print_student3(k); } } void sort_student3(student s[],int a)//按照英語成績排序 { struct student temp; for(int i=0;i<a-1;i++) { int max=i; for(int j=i+1;j<a;j++) if(stu[j].sco.english>stu[max].sco.english) { max=j; } if(max!=i) { temp=stu[max]; stu[max]=stu[i]; stu[i]=temp; } } print_student2(); for(int k=0;k<a;k++) { print_student3(k); } } void sort_student4(student s[],int a)//按照計算機成績排序 { struct student temp; for(int i=0;i<a-1;i++) { int max=i; for(int j=i+1;j<a;j++) if(stu[j].sco.computer>stu[max].sco.computer) { max=j; } if(max!=i) { temp=stu[max]; stu[max]=stu[i]; stu[i]=temp; } } print_student2(); for(int k=0;k<a;k++) { print_student3(k); } } void sort_student5(student s[],int a)//按照平均成績排序 { struct student temp; for(int i=0;i<a-1;i++) { int max=i; for(int j=i+1;j<a;j++) if(stu[j].average>stu[max].average) { max=j; } if(max!=i) { temp=stu[max]; stu[max]=stu[i]; stu[i]=temp; } } print_student2(); for(int k=0;k<a;k++) { print_student3(k); } } int search_student2(int a)//按照學號查找學生并輸出 { int num; int c; printf("請輸入要查詢的學號:"); scanf("%d",&num); for(int i=0;i<a;i++) { if(num==stu[i].number) { c=i; } } printf("此學生的信息是:\n"); print_student2(); print_student3(c); return c; } void choosemenu(void)//菜單選擇 { int i; scanf("%d",&i); switch(i) { case 1: { input_student2(); printf("按回車鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 2: { delete_student1(); printf("按回車鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 3: { search_student1(); printf("按回車鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 4: { change_student1(); printf("按回車鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 5: { print_student1(iNumOfStu); printf("按回車鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 6: { input_score1(); printf("按回車鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 7: { sort_student1(); printf("按回車鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 8: { save_student(stu,iNumOfStu); printf("按回車鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 9: { print_help(); printf("按回車鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 10: { exit_student(); } default: break; } } 運行結果: 源文件下載地址: http://115.com/file/clnq138g#一個簡單的學生成績管理系統.rar (請將此地址復制到瀏覽器地址欄中訪問下載頁面)
標簽: 成績查詢系統
上傳時間: 2019-06-08
上傳用戶:啊的撒旦
#include<stdio.h> #include<string.h> #include<stdlib.h> #define N 100 int iNumOfStu=0; struct score { float math; float english; float computer; }; struct student { int number; char name[20]; struct score sco; float average; }; struct student stu[N]; void print_menu(void);//輸出菜單 void choosemenu(void);//菜單選擇 void input_student1(int);//輸入學生信息 void input_student2(void);//輸入總函數 void input_student3(int &,int);//判斷學號是否重復 void input_student4(int,int);//覆蓋原信息 void sort_student3(student s[],int);//按照英語成績排序 void sort_student4(student s[],int);//按照計算機成績排序 void sort_student2(student s[],int);//按照數學成績排序 void sort_student5(student s[],int);//按照平均成績排序 float input_score2(int);//計算學生平均成績 void print_student2(void);//顯示表頭 void print_student3(int);//顯示學生信息 void print_student1(int);//顯示全部學生資料 void sort_student1(void);//排序總函數 void menu(void);//菜單調度總函數 int search_student2(int);//按學號查詢學生信息并輸出 void search_student3(int);//按平均分最高查詢并輸出 void search_student1(void);//查詢總函數 void delete_student2(int,int);//刪除學生信息 void delete_student1(void);//刪除總函數 void change_student2(int);//修改學生資料 void change_student1(void);//修改總函數 void input_score3(int);//統計成績 void input_score1(void);//統計成績總函數 void print_help(void);//輸出幫助信息 void exit_student(void);//退出系統 void save_student(student *,int);//保存學生信息 void main() { menu(); } void save_student(student *s,int a)//保存學生信息 { FILE *fp; if((fp=fopen("d:\\學生信息.txt","wb"))==NULL) { printf("不能打開文件!\n"); } else { printf("保存信息到D盤\n"); fprintf(fp,"本班所有學生具體信息如下:\r\n"); fprintf(fp," 學號 姓名 數學成績 英語成績 計算機成績 平均成績\r\n"); for(int i=0;i<a;i++) { fprintf(fp,"%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[i].number,stu[i].name,stu[i].sco.math,stu[i].sco.english,stu[i].sco.computer,stu[i].average); fprintf(fp,"\r\n"); } fclose(fp); printf("信息保存成功!\n"); } } void exit_student(void)//退出系統 { exit(1); } void print_help(void)//輸出幫助信息 { printf("本系統所能容納的最大學生數為%d人\n學生信息保存在D盤根目錄下,保存文件為“學生信息.txt”。\n感謝使用!\n",N); } void input_score1(void)//統計成績總函數 { int c; c=search_student2(iNumOfStu); printf("學號:%d\n",stu[c].number); printf("姓名:%s\n",stu[c].name); input_score3(c); printf("新成績錄入成功!\n"); stu[c].average=input_score2(c); } void input_score3(int a)//統計成績 { printf("數學新成績:"); scanf("%f",&stu[a].sco.math); printf("英語新成績:"); scanf("%f",&stu[a].sco.english); printf("計算機新成績:"); scanf("%f",&stu[a].sco.computer); } void change_student2(int a)//修改學生資料 { printf("學號:%d----修改為:",stu[a].number); scanf("%d",&stu[a].number); getchar(); printf("姓名:%s----修改為:",stu[a].name); gets(stu[a].name); printf("數學成績:%.2f----修改為:",stu[a].sco.math); scanf("%f",&stu[a].sco.math); printf("英語成績:%.2f----修改為:",stu[a].sco.english); scanf("%f",&stu[a].sco.english); printf("計算機成績:%.2f----修改為:",stu[a].sco.computer); scanf("%f",&stu[a].sco.computer); } void change_student1(void)//修改總函數 { int c; c=search_student2(iNumOfStu); getchar(); printf("是否要修改此學生信息?(“y”代表是)"); char d; scanf("%c",&d); if(d=='y'||d=='Y') { change_student2(c); stu[c].average=input_score2(c); printf("信息修改成功!\n"); } } void delete_student1(void)//刪除總函數 { int c; c=search_student2(iNumOfStu); getchar(); printf("是否刪除此條記錄?(“y”代表是)"); char d; scanf("%c",&d); if(d=='y'||d=='Y') { delete_student2(c,iNumOfStu); printf("記錄已刪除!\n"); } } void delete_student2(int a,int b)//刪除學生信息 { for(int i=a;i<b-1;i++) { stu[i]=stu[i+1]; } --iNumOfStu; } void search_student1(void)//查詢總函數 { printf("1、按學號查詢\n2、按平均分最高查詢\n請選擇:"); int c; scanf("%d",&c); switch(c) { case 1: { search_student2(iNumOfStu); break; } case 2: { search_student3(iNumOfStu); break; } default: break; } } void menu(void)//菜單調度總函數 { print_menu(); choosemenu(); } void sort_student1(void)//排序總函數 { printf("1、按數學成績排序\n2、按英語成績排序\n3、按計算機成績排序\n4、按平均成績排序\n請選擇:"); int c; scanf("%d",&c); switch(c) { case 1: { sort_student2(stu,iNumOfStu); break; } case 2: { sort_student3(stu,iNumOfStu); break; } case 3: { sort_student4(stu,iNumOfStu); break; } case 4: { sort_student5(stu,iNumOfStu); break; } default: break; } } void print_student1(int a)//顯示全部學生資料 { printf("本班所有學生具體信息如下\n"); print_student2(); for(int i=0;i<a;i++) { print_student3(i); } } void print_student3(int a)//顯示學生信息 { printf("%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[a].number,stu[a].name,stu[a].sco.math,stu[a].sco.english,stu[a].sco.computer,stu[a].average); } void print_student2(void)//顯示表頭 { printf(" 學號 姓名 數學成績 英語成績 計算機成績 平均成績\n"); } void input_student4(int a,int b)//覆蓋原信息 { stu[a]=stu[b-1]; --iNumOfStu; } void input_student3(int &a,int b)//判斷學號是否重復 { if(a!=0) { int i=0; do { if(stu[a].number==stu[i].number) { printf("此學號代表的學生已錄入\n1、覆蓋原信息\n2、重新輸入\n請選擇:"); int c; scanf("%d",&c); switch(c) { case 1: { input_student4(i,iNumOfStu); a=iNumOfStu-1; printf("信息已替換!\n"); break; } case 2: { printf("請重新輸入學生信息:\n"); input_student1(iNumOfStu-1); break; } default: break; } break; } ++i; } while(i<b-1); } } void print_menu(void)//輸出菜單 { printf("======歡迎來到學生信息管理系統======\n"); printf(" 1、輸入學生資料\n"); printf(" 2、刪除學生資料\n"); printf(" 3、查詢學生資料\n"); printf(" 4、修改學生資料\n"); printf(" 5、顯示學生資料\n"); printf(" 6、統計學生成績\n"); printf(" 7、排序學生成績\n"); printf(" 8、保存學生資料\n"); printf(" 9、獲取幫助信息\n"); printf(" 10、退出系統\n"); printf("====================================\n"); printf("請選擇:"); } void input_student2(void)//輸入總函數 { char end; printf("請輸入學生信息(在最后一個學生信息錄入完成后以“/”結束錄入):\n"); for(int i=0;(end=getchar())!='/';i++) { input_student1(i); ++iNumOfStu; input_student3(i,iNumOfStu); } for(int j=0;j<iNumOfStu;j++) { stu[j].average=input_score2(j); } } void input_student1(int a)//輸入學生信息 { printf("學號:"); scanf("%d",&stu[a].number); getchar(); printf("姓名:"); gets(stu[a].name); printf("數學成績:"); scanf("%f",&stu[a].sco.math); printf("英語成績:"); scanf("%f",&stu[a].sco.english); printf("計算機成績:"); scanf("%f",&stu[a].sco.computer); } float input_score2(int a)//計算學生平均成績 { return (stu[a].sco.math+stu[a].sco.english+stu[a].sco.computer)/3; } void search_student3(int a)//按平均分最高查詢并輸出 { int max=0; for(int i=0;i<a;i++) { if(stu[max].average<stu[i].average) { max=i; } } print_student2(); print_student3(max); } void sort_student2(student s[],int a)//按照數學成績排序 { struct student temp; for(int i=0;i<a-1;i++) { int max=i; for(int j=i+1;j<a;j++) if(stu[j].sco.math>stu[max].sco.math) { max=j; } if(max!=i) { temp=stu[max]; stu[max]=stu[i]; stu[i]=temp; } } print_student2(); for(int k=0;k<a;k++) { print_student3(k); } } void sort_student3(student s[],int a)//按照英語成績排序 { struct student temp; for(int i=0;i<a-1;i++) { int max=i; for(int j=i+1;j<a;j++) if(stu[j].sco.english>stu[max].sco.english) { max=j; } if(max!=i) { temp=stu[max]; stu[max]=stu[i]; stu[i]=temp; } } print_student2(); for(int k=0;k<a;k++) { print_student3(k); } } void sort_student4(student s[],int a)//按照計算機成績排序 { struct student temp; for(int i=0;i<a-1;i++) { int max=i; for(int j=i+1;j<a;j++) if(stu[j].sco.computer>stu[max].sco.computer) { max=j; } if(max!=i) { temp=stu[max]; stu[max]=stu[i]; stu[i]=temp; } } print_student2(); for(int k=0;k<a;k++) { print_student3(k); } } void sort_student5(student s[],int a)//按照平均成績排序 { struct student temp; for(int i=0;i<a-1;i++) { int max=i; for(int j=i+1;j<a;j++) if(stu[j].average>stu[max].average) { max=j; } if(max!=i) { temp=stu[max]; stu[max]=stu[i]; stu[i]=temp; } } print_student2(); for(int k=0;k<a;k++) { print_student3(k); } } int search_student2(int a)//按照學號查找學生并輸出 { int num; int c; printf("請輸入要查詢的學號:"); scanf("%d",&num); for(int i=0;i<a;i++) { if(num==stu[i].number) { c=i; } } printf("此學生的信息是:\n"); print_student2(); print_student3(c); return c; } void choosemenu(void)//菜單選擇 { int i; scanf("%d",&i); switch(i) { case 1: { input_student2(); printf("按回車鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 2: { delete_student1(); printf("按回車鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 3: { search_student1(); printf("按回車鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 4: { change_student1(); printf("按回車鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 5: { print_student1(iNumOfStu); printf("按回車鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 6: { input_score1(); printf("按回車鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 7: { sort_student1(); printf("按回車鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 8: { save_student(stu,iNumOfStu); printf("按回車鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 9: { print_help(); printf("按回車鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 10: { exit_student(); } default: break; } } 運行結果: 源文件下載地址: http://115.com/file/clnq138g#一個簡單的學生成績管理系統.rar (請將此地址復制到瀏覽器地址欄中訪問下載頁面) #include<stdio.h> #include<string.h> #include<stdlib.h> #define N 100 int iNumOfStu=0; struct score { float math; float english; float computer; }; struct student { int number; char name[20]; struct score sco; float average; }; struct student stu[N]; void print_menu(void);//輸出菜單 void choosemenu(void);//菜單選擇 void input_student1(int);//輸入學生信息 void input_student2(void);//輸入總函數 void input_student3(int &,int);//判斷學號是否重復 void input_student4(int,int);//覆蓋原信息 void sort_student3(student s[],int);//按照英語成績排序 void sort_student4(student s[],int);//按照計算機成績排序 void sort_student2(student s[],int);//按照數學成績排序 void sort_student5(student s[],int);//按照平均成績排序 float input_score2(int);//計算學生平均成績 void print_student2(void);//顯示表頭 void print_student3(int);//顯示學生信息 void print_student1(int);//顯示全部學生資料 void sort_student1(void);//排序總函數 void menu(void);//菜單調度總函數 int search_student2(int);//按學號查詢學生信息并輸出 void search_student3(int);//按平均分最高查詢并輸出 void search_student1(void);//查詢總函數 void delete_student2(int,int);//刪除學生信息 void delete_student1(void);//刪除總函數 void change_student2(int);//修改學生資料 void change_student1(void);//修改總函數 void input_score3(int);//統計成績 void input_score1(void);//統計成績總函數 void print_help(void);//輸出幫助信息 void exit_student(void);//退出系統 void save_student(student *,int);//保存學生信息 void main() { menu(); } void save_student(student *s,int a)//保存學生信息 { FILE *fp; if((fp=fopen("d:\\學生信息.txt","wb"))==NULL) { printf("不能打開文件!\n"); } else { printf("保存信息到D盤\n"); fprintf(fp,"本班所有學生具體信息如下:\r\n"); fprintf(fp," 學號 姓名 數學成績 英語成績 計算機成績 平均成績\r\n"); for(int i=0;i<a;i++) { fprintf(fp,"%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[i].number,stu[i].name,stu[i].sco.math,stu[i].sco.english,stu[i].sco.computer,stu[i].average); fprintf(fp,"\r\n"); } fclose(fp); printf("信息保存成功!\n"); } } void exit_student(void)//退出系統 { exit(1); } void print_help(void)//輸出幫助信息 { printf("本系統所能容納的最大學生數為%d人\n學生信息保存在D盤根目錄下,保存文件為“學生信息.txt”。\n感謝使用!\n",N); } void input_score1(void)//統計成績總函數 { int c; c=search_student2(iNumOfStu); printf("學號:%d\n",stu[c].number); printf("姓名:%s\n",stu[c].name); input_score3(c); printf("新成績錄入成功!
標簽: c語言
上傳時間: 2019-06-09
上傳用戶:啊的撒旦
近年來,TWS耳機市場快速發展,用戶量井噴!隨之而來的是,消費者對產品的功能要求也越來越高,普通的TWS耳機產品已經不足以滿足消費者的需求,定制特殊化的產品,成為了廠商能否在TWS耳機市場的重要因素。永嘉微電科技專業定制觸摸觸控方案,也在這關鍵的時刻,為大家帶來有意義的解決方案。 深圳市永嘉微電科技有限公司新出幾款TWS藍牙耳機觸摸觸控方案: 1:入耳檢測觸摸方案,替代原有光感+觸摸,只需一顆觸摸IC就可解決入耳檢測,性能穩定,為用戶節約成本,提高產品效益。以下是【蘋果AirPods耳機】的簡介:當 AirPods 戴入耳中時,它們可以立即感知,隨后接收來自設備的音頻。AirPods 還會在從耳中取出一只耳機時暫停和恢復播放,當同時取出兩只耳機時,它會停止播放而不會恢復。當打開“自動人耳檢測”但沒有佩戴 AirPods 時,音頻會通過您設備的揚聲器播放 2:入耳檢測+單按鍵觸摸開關,替代原有的傳統按鍵功能,并新增了入耳檢測功能。觸摸多功能定制方案,體積超小,成本低廉,適合藍牙耳機新方案設計! 3: 入耳檢測方案+單按鍵觸控開關+側面滑條觸摸滑動功能 (調節音量大小等等……) VKD233DS概 述 VKD233DS是單按鍵觸摸檢測芯片, 封裝體積超小,為DFN6 2*2mm體積,便于藍牙耳機設計,此觸摸檢測芯片內建穩壓電路, 提供穩定的電壓給觸摸感應電路使用, 工作電壓 2.4V ~ 5.5V,穩定的觸摸檢測效果可以廣泛的滿足不同應用的需求,此觸摸檢測芯片是專為取代傳統按鍵而設計, 觸摸檢測 PAD 的大小可依不同的靈敏度設計在合理的范圍內, 低功耗與寬工作電壓, 是此觸摸芯片在 DC 或 AC 應用上的特性。輸出響應時間大約為快速模式下 46mS @VDD=3V,提供更長輸出時間約 16 秒(±35% @ VDD=3.0V) VKD233DR概 述 VKD233DR VinTouchTM 是單按鍵觸摸檢測芯片, 封裝體積超小,為DFN6 2*2mm體積,此觸摸檢測芯片內建穩壓電路, 提供穩定的電壓給觸摸感應電路使用,穩定的觸摸檢測效果可以廣泛的滿足不同應用的需求,此觸摸檢測芯片是專為取代傳統按鍵而設計, 觸摸檢測 PAD 的大小可依不同的靈敏度設計在合理的范圍內, 低功耗與寬工作電壓, 是此觸摸芯片在 DC 或 AC 應用上的特性。輸出響應時間大約為低功耗160ms@VDD=3V VKD233DB概述 VKD233DB TonTouc是單按鍵觸摸檢測芯片,封裝為:SOT23-6,此觸摸檢測芯片內建穩壓電路,提供穩定的電壓給觸摸感應電路使用,穩定的觸摸檢測效果可以廣泛的滿足不同應用的需求,此觸摸檢測芯片是專為取代傳統按鍵而設計,觸摸檢測PAD的大小可依不同的靈敏度設計在合理的范圍內,低功耗與寬工作電壓,是此觸摸芯片在DC或AC應用上的特性 入耳檢測是隨著TWS耳機而興起的一個黑科技。這一功能目前已被很多高端TWS耳機所采用,它能給使用者帶來非常人性化的使用體驗,當你戴上耳機時,音樂繼續播放;當你取下耳機時,音樂暫停播放。入耳檢測帶來的智能體驗非常受消費者的歡迎。這一功能不只提供了便利性,還能有效的節省電量,為耳機增加使用時間。型號功能請我司專員了解,謝謝支持!專業觸摸芯片定制方案! 聯系人:許先生 聯系手機:188 9858 2398 (微) 聯系QQ:191 888 5898 E-mail:zes1688@163.com 藍牙耳機單鍵觸摸一般絲印都是223B,223EB或者233DB,233DH之類的吧 這個都是元泰VINTEK品牌的,你可以搜索一下,比如單鍵觸摸型號有:VKD223EB(普通新版本),VKD233B,VKD233DB(內置LDO的觸摸IC),VKD233DH(16秒自動復位的觸摸IC,內置LDO)等等,還有多按鍵的IC. VKD233DS和VKD233DR(2mm*2mm超小體積超薄封裝DFN-6,目前市面最小封裝體積觸摸芯片,適合藍牙耳機,智能手環,指紋鎖等小產品設計開發!)是VINTEK元泰目前的質量和口碑以及性價比較高的新款觸摸IC。相關資料也可以搜索查找。
上傳時間: 2019-11-06
上傳用戶:szsjzr1688
近年來,TWS耳機市場快速發展,用戶量井噴!隨之而來的是,消費者對產品的功能要求也越來越高,普通的TWS耳機產品已經不足以滿足消費者的需求,定制特殊化的產品,成為了廠商能否在TWS耳機市場的重要因素。永嘉微電科技專業定制觸摸觸控方案,也在這關鍵的時刻,為大家帶來有意義的解決方案。 深圳市永嘉微電科技有限公司新出幾款TWS藍牙耳機觸摸觸控方案: 1:入耳檢測觸摸方案,替代原有光感+觸摸,只需一顆觸摸IC就可解決入耳檢測,性能穩定,為用戶節約成本,提高產品效益。以下是【蘋果AirPods耳機】的簡介:當 AirPods 戴入耳中時,它們可以立即感知,隨后接收來自設備的音頻。AirPods 還會在從耳中取出一只耳機時暫停和恢復播放,當同時取出兩只耳機時,它會停止播放而不會恢復。當打開“自動人耳檢測”但沒有佩戴 AirPods 時,音頻會通過您設備的揚聲器播放 2:入耳檢測+單按鍵觸摸開關,替代原有的傳統按鍵功能,并新增了入耳檢測功能。觸摸多功能定制方案,體積超小,成本低廉,適合藍牙耳機新方案設計! 3: 入耳檢測方案+單按鍵觸控開關+側面滑條觸摸滑動功能 (調節音量大小等等……) VKD233DS概 述 VKD233DS是單按鍵觸摸檢測芯片, 封裝體積超小,為DFN6 2*2mm體積,便于藍牙耳機設計,此觸摸檢測芯片內建穩壓電路, 提供穩定的電壓給觸摸感應電路使用, 工作電壓 2.4V ~ 5.5V,穩定的觸摸檢測效果可以廣泛的滿足不同應用的需求,此觸摸檢測芯片是專為取代傳統按鍵而設計, 觸摸檢測 PAD 的大小可依不同的靈敏度設計在合理的范圍內, 低功耗與寬工作電壓, 是此觸摸芯片在 DC 或 AC 應用上的特性。輸出響應時間大約為快速模式下 46mS @VDD=3V,提供更長輸出時間約 16 秒(±35% @ VDD=3.0V) VKD233DR概 述 VKD233DR VinTouchTM 是單按鍵觸摸檢測芯片, 封裝體積超小,為DFN6 2*2mm體積,此觸摸檢測芯片內建穩壓電路, 提供穩定的電壓給觸摸感應電路使用,穩定的觸摸檢測效果可以廣泛的滿足不同應用的需求,此觸摸檢測芯片是專為取代傳統按鍵而設計, 觸摸檢測 PAD 的大小可依不同的靈敏度設計在合理的范圍內, 低功耗與寬工作電壓, 是此觸摸芯片在 DC 或 AC 應用上的特性。輸出響應時間大約為低功耗160ms@VDD=3V VKD233DB概述 VKD233DB TonTouc是單按鍵觸摸檢測芯片,封裝為:SOT23-6,此觸摸檢測芯片內建穩壓電路,提供穩定的電壓給觸摸感應電路使用,穩定的觸摸檢測效果可以廣泛的滿足不同應用的需求,此觸摸檢測芯片是專為取代傳統按鍵而設計,觸摸檢測PAD的大小可依不同的靈敏度設計在合理的范圍內,低功耗與寬工作電壓,是此觸摸芯片在DC或AC應用上的特性 入耳檢測是隨著TWS耳機而興起的一個黑科技。這一功能目前已被很多高端TWS耳機所采用,它能給使用者帶來非常人性化的使用體驗,當你戴上耳機時,音樂繼續播放;當你取下耳機時,音樂暫停播放。入耳檢測帶來的智能體驗非常受消費者的歡迎。這一功能不只提供了便利性,還能有效的節省電量,為耳機增加使用時間。型號功能請我司專員了解,謝謝支持!專業觸摸芯片定制方案! 藍牙耳機單鍵觸摸一般絲印都是223B,223EB或者233DB,233DH之類的吧 這個都是元泰VINTEK品牌的,你可以搜索一下,比如單鍵觸摸型號有:VKD223EB(普通新版本),VKD233B,VKD233DB(內置LDO的觸摸IC),VKD233DH(16秒自動復位的觸摸IC,內置LDO)等等,還有多按鍵的IC. VKD233DS和VKD233DR(2mm*2mm超小體積超薄封裝DFN-6,目前市面最小封裝體積觸摸芯片,適合藍牙耳機,智能手環,指紋鎖等小產品設計開發!)是VINTEK元泰目前的質量和口碑以及性價比較高的新款觸摸IC。相關資料也可以搜索查找。
標簽: TWS 方案 單通道 檢測 滑動調節 入耳檢測 觸摸感應
上傳時間: 2020-01-08
上傳用戶:嘿哈嘿哈嘿哈
概述 VK3602K 是一款兩觸摸通道帶兩個邏輯控制輸出的電容式觸摸芯片。具有如下功能特點和優勢: 可通過觸摸實現各種邏輯功能控制。操作簡單、方便實用。 可在有介質(如玻璃、亞克力、塑料、陶瓷等)隔離保護的情況下實現觸摸功能,安全性高。 應用電壓范圍寬,可在2.4~5.5V之間任意選擇。 應用電路簡單,外圍器件少,加工方便,成本低。 抗電源干擾及手機干擾特性好。EFT可以達到±2KV以上;近距離、多角度手機干擾情況下,觸摸響應靈敏度及可靠性不受影響。 特性 LO1與LO2在上電后的初始輸出狀態由上電前OSC的輸入狀態決定。OSC管腳接VDD(高電平)上電,上電后LO1與LO2輸出高電平;OSC管腳接GND(低電平)上電,上電后LO1與LO2輸出低電平。 TI1觸摸輸入對應LO1邏輯輸出,TI2觸摸輸入對應LO2邏輯輸出。 按住TI1或TI2,對應LO1或LO2的輸出狀態翻轉;松開后回復初始狀態。
標簽: 抗電源干擾及手機干擾特性好 可通過觸摸實現各種邏輯功能控制。操作簡單、方便實用。
上傳時間: 2020-02-25
上傳用戶:shubashushi66
NU502是一款線性恒流驅動控制芯片,IC內設智能無級過溫保護功能,可實現PWM調光,電流設定可外掛電阻任意調節至需求的電流,最大調至160mA以內,應用簡易方便,NU502也是一款高耐壓值,低壓差,高精度恒流芯片,主要應用場景于LED燈條,燈帶,模組,LED顯示器,RGB裝飾燈,LED指示燈……應用廣泛
上傳時間: 2022-01-07
上傳用戶:
PCB聯盟網-科普知識--《電子封裝材料與工藝》 學習筆記 54頁本人主要從事 IC 封裝化學材料(電子膠水)工作,為更好的理解 IC 封裝產業的動態和技術,自學了《電子封裝材料 與工藝》,貌似一本不錯的教材,在此總結出一些個人的學習筆記和大家分享。此筆記原發在本人的“電子中,有興趣的朋友可以前去查看一起探討第一章 集成電路芯片的發展與制造 1、原子結構:原子是由高度密集的質子和中子組成的原子核以及圍繞它在一定軌道(或能級)上旋 轉的荷負電的電子組成(Neils Bohr 于 1913 年提出)。當原子彼此靠近時,它們之間發生交互作用 的形成所謂的化學鍵,化學鍵可以分成離子鍵、共價鍵、分子鍵、氫鍵或金屬鍵; 2、真空管(電子管): a.真空管問世于 1883 年 Edison(愛迪生)發明白熾燈時,1903 年英格蘭的 J.A.Fleming 發現了真 空管類似極管的作用。在愛迪生的真空管里,燈絲為陰極、金屬板為陽極; b.當電子管含有兩個電極(陽極和陰極)時,這種電路被稱為二極管,1906 年美國發明家 Lee DeForest 在陰極和陽極之間加入了一個柵極(一個精細的金屬絲網),此為最早的三極管,另外更 多的電極如以致柵極和簾柵極也可以密封在電子管中,以擴大電子管的功能; c.真空管盡管廣泛應用于工業已有半個多世紀,但是有很多缺點,包括體積大,產生的熱量大、容 易燒壞而需要頻繁地更換,固態器件的進展消除了真空管的缺點,真空管開始從許多電子產品的使 用中退出; 3、半導體理論: a.在 IC 芯片制造中使用的典型半導體材料有元素半導體硅、鍺、硒,半導體化合物有砷化鎵(GaAs)、 磷砷化鎵(GaAsP)、磷化銦(InP); b.二極管(一個 p-n 結),當結上為正向偏壓時可以導通電流,當反向偏壓時則電流停止; c.結型雙極晶體管:把兩個或兩個以上的 p-n 結組合成一個器件,導致了之!
上傳時間: 2022-02-06
上傳用戶: