為保證網絡信息傳輸的安全性,提出一種視頻圖像加密方法。該方法引入混沌系統中的Logistic映射和 Baker映射,結合H·264視頻壓縮編碼特點,利用Baker映射對DCT (Discrete Cosine Transform)變換量化后 的塊進行位置置亂,
標簽: Baker Logistic Discrete 映射
上傳時間: 2014-11-26
上傳用戶:mpquest
程式描述:使用Cypress的Cy7C68013A晶片進行設計,實現Slave FIFO模式的資料獲取。程式包括USB韌體程式以及主機程式。 安裝:把來源程式碼複製到硬碟特定目錄下,使用Keil C編譯器和Visual C++ 6.0運行即可。 注意:可以首先使用Cypress的測試工具進行韌體程式的測試,以確保韌體程式的正確性。
標簽: Cypress 68013A C68013 68013
上傳時間: 2013-12-18
上傳用戶:1427796291
//初始化 initscr() //獲得屏幕尺寸 getmaxyx(stdscr, h, w) //畫背景 for(i=0 i<h i++) for(j=0 j<w j++){ mvaddch(i, j, ACS_CKBOARD) } refresh() //建立窗口 pad = newpad(80, 128) for(i=0 i<80 i++){ char line[128] sprintf(line, "This line in pad is numbered d\n", i) mvwprintw(pad, i, 0, line) } //刷新屏幕 refresh() prefresh(pad, 0, 1, 5, 10, 20, 45) for(i=0 i<50 i++){ prefresh(pad, i+1, 1, 5, 10, 20, 45) usleep(30000) } //等待按鍵 getch()
標簽: getmaxyx initscr stdscr for
上傳時間: 2014-08-30
上傳用戶:龍飛艇
g a w k或GNU awk是由Alfred V. A h o,Peter J.We i n b e rg e r和Brian W. K e r n i g h a n于1 9 7 7年為U N I X創建的a w k編程語言的較新版本之一。a w k出自創建者姓的首字母。a w k語言(在其所有的版本中)是一種具有很強能力的模式匹配和過程語言。a w k獲取一個文件(或多個文件)來查找匹配特定模式的記錄。當查到匹配后,即執行所指定的動作。作為一個程序員,你不必操心通過文件打開、循環讀每個記錄,控制文件的結束,或執行完后關閉文件。
上傳時間: 2014-01-02
上傳用戶:hwl453472107
產品型號:TTP233D-SB6 封裝形式:DFN-6 產品年份:新年份 永嘉微電優勢代理直銷,原裝現貨更有優勢!工程服務,技術支持,讓您的生產高枕無憂。 單按鍵觸摸檢測 IC 概 述 - TTP233D-SB6 TonTouchTM 是單按鍵觸摸檢測芯片, 此觸摸檢測芯片內建穩壓電路, 提供穩定的電壓給觸摸感應電路使用, 穩定的觸摸檢測效果可以廣泛的滿足不同應用的需求, 此觸摸檢測芯片是專為取代傳統按鍵而設計, 觸摸檢測 PAD 的大小可依不同的靈敏度設 計在合理的范圍內, 低功耗與寬工作電壓, 是此觸摸芯片在 DC 或 AC 應用上的特性。 特 點 - 工作電壓 2.4V ~ 5.5V - 內建穩壓電路提供穩定的電壓給觸摸檢電路使用 - 內建低壓重置(LVR)功能 - 工作電流 @VDD=3V﹐無負載 快速模式下典型值 4uA?更大值 8uA - 輸出響應時間大約為快速模式下 46mS @VDD=3V - 可以由外部電容 (1~50pF) 調整靈敏度 - 穩定的人體觸摸檢測可取代傳統的按鍵開關 - 提供快速模式 - 提供輸出模式選擇 (TOG pin) 可選擇直接輸出或鎖存 (toggle) 輸出 - 提供最長輸出時間約 16 秒(±35% @ VDD=3.0V) - Q pin 為 CMOS 輸出﹐可由 (AHLB pin) 選擇高電平輸出有效或低電平輸出有效 - 上電后約有 0.5 秒的穩定時間﹐此期間內不要觸摸檢測點﹐此時所有功能都被禁止 - 自動校準功能 剛上電的 8 秒內約每 1 秒刷新一次參考值﹐若在上電后的 8 秒內有觸摸按鍵或 8 秒后仍未觸摸 按鍵,則重新校準周期切換為 4 秒 應用范圍 - 各種消費性產品 - 取代按鈕按鍵 ---------------------------------------------- 產品型號:TTP233D-RB6 封裝形式:DFN6 產品年份:新年份 原裝現貨具有優勢!工程服務,技術支持,讓您的生產高枕無憂。 單按鍵觸摸檢測IC 概 述 - TTP233D-RB6永嘉微電優勢代理直銷,是單按鍵觸摸檢測芯片, 此觸摸檢測芯片內建穩壓電路, 提供 穩定的電壓給觸摸感應電路使用, 穩定的觸摸檢測效果可以廣泛的滿足不同應用的需求, 此觸摸檢測芯片是專為取代傳統按鍵而設計, 觸摸檢測PAD的大小可依不同的靈敏度設 計在合理的范圍內, 低功耗與寬工作電壓, 是此觸摸芯片在 DC 或 AC 應用上的特性 。 特 點 - 工作電壓 2.4V ~ 5.5V - 內建穩壓電路提供穩定的電壓給觸摸檢電路使用 - 內建低壓重置(LVR)功能 - 工作電流 @VDD=3V﹐無負載 低功耗模式下典型值 2.5uA﹑更大值 5uA - 更長響應時間大約為低功耗模式 220ms @VDD=3V - 可以由外部電容 (1~50pF) 調整靈敏度 - 穩定的人體觸摸檢測可取代傳統的按鍵開關 - 提供低功耗模式 - 提供輸出模式選擇 (TOG pin) 可選擇直接輸出或鎖存 (toggle) 輸出 - 提供更長輸出時間約 16 秒(±50%) - Q pin 為 CMOS 輸出﹐可由 (AHLB pin) 選擇高電平輸出有效或低電平輸出有效 - 上電后約有 0.5 秒的穩定時間﹐此期間內不要觸摸 檢測點﹐ 此時所有功能都被禁止 - 自動校準功能 剛上電的 8 秒內約每 1 秒刷新一次參考值﹐若在上電后的 8 秒內有觸摸按鍵或 8 秒后仍未觸摸 按鍵,則重新校準周期切換為 4 秒 - 各種消費性產品 - 取代按鈕按鍵 我們的優勢 1:我司為VINTEK/臺灣元泰半導體股份有限公司/VINKA的授權大中華區代理商,產品渠道正宗,確保原裝,大量庫存現貨! 2:公司工程力量雄厚,真誠技術服務支持,搭配原廠服務各種應用產品客戶。 3:好價格源自連接原廠直銷,你有量,我有價,確保原裝的好價格。 優勢代理元泰VKD常用觸控按鍵IC,簡介如下: 標準觸控IC-電池供電系列 VKD223EB --- 工作電壓/電流:2.0V-5.5V/5uA-3V 感應通道數:1 通訊接口 更長響應時間快速模式60mS,低功耗模式220ms 封裝:SOT23-6 VKD223B --- 工作電壓/電流:2.0V-5.5V/5uA-3V 感應通道數:1 通訊接口 更長響應時間快速模式60mS,低功耗模式220ms 封裝:SOT23-6 VKD232C --- 工作電壓/電流: 2.4V-5.5V/2.5uA-3V 感應通道數:2封裝:SOT23-6 通訊接口:直接輸出,低電平有效 固定為多鍵輸出模式,內建穩壓電路 VKD233DH(更小體積2*2)---工作電壓/電流: 2.4V-5.5V/2.5uA-3V 1按鍵 封裝:DFN6L 通訊接口:直接輸出,鎖存(toggle)輸出 有效鍵更長時間檢測16S VKD233DB(推薦) --- 工作電壓/電流: 2.4V-5.5V/2.5uA-3V 1感應按鍵 封裝:SOT23-6 通訊接口:直接輸出,鎖存(toggle)輸出 低功耗模式電流2.5uA-3V VKD233DH(推薦)---工作電壓/電流: 2.4V-5.5V/2.5uA-3V 1感應按鍵 封裝:SOT23-6 通訊接口:直接輸出,鎖存(toggle)輸出 有效鍵更長時間檢測16S 標準觸控IC-多鍵觸摸按鈕系列 VKD104SB/N --- 工作電壓/電流:2.4V-5.5V/13uA-3V 感應通道數/按鍵數:4 通訊接口:直接輸出,鎖存輸出,開漏輸出 封裝:SSOP-16 VKD104BC --- 工作電壓/電流:2.4V-5.5V/13uA-3V 感應通道數/按鍵數:4 通訊接口:直接輸出,鎖存輸出,開漏輸出 封裝:SOP-16 VKD104BR --- 工作電壓/電流:2.4V-5.5V/13uA-3V 感應通道數/按鍵數:2 通訊接口:直接輸出, toggle輸出 封裝:SOP-8 VKD104QB --- 工作電壓/電流:2.4V-5.5V/13uA-3V 感應通道數/按鍵數:4 通訊接口:直接輸出,鎖存輸出,開漏輸出 封裝:QFN-16 VKD1016B --- 工作電壓/電流:2.4V-5.5V/20uA-3V 感應通道數/按鍵數:16-8 通訊接口:直接輸出,鎖存輸出,開漏輸出 封裝:SSOP-28 VKD1016L --- 工作電壓/電流:2.4V-5.5V/20uA-3V 感應通道數:16-8 通訊接口:直接輸出,鎖存輸出,開漏輸出 封裝:SSOP-28 (元泰原廠授權 原裝保障 工程技術支持 大量現貨庫存) 標準觸控IC-VK36系列 VK3601SS --- 工作電壓/電流:2.4V-5.5V/1mA-5.0V 感應通道數:1 通訊接口:1 INPUT/1PWM OUT 封裝:SOP-8 VK3601S --- 工作電壓/電流:2.4V-5.5V/4mA-3.3V 感應通道數:1 通訊接口:1 INPUT/1PWM OUT 封裝:SOP-8 VK3602XS --- 工作電壓/電流:2.4V-5.5V/ 60uA-3V 感應通道數:2 通訊接口:2對2 toggle輸出 封裝:SOP-8 VK3602K --- 工作電壓/電流:2.4V-5.5V/ 60uA-3V 感應通道數:2 通訊接口:2對2 toggle輸出 封裝:SOP-8 VK3606DM --- 工作電壓/電流:3.1V-5.5V/ 3mA-5V 感應通道數:6 通訊接口:1對1直接輸出 封裝:SOP-16 VK3606OM --- 工作電壓/電流:3.1V-5.5V/ 3mA-5V 感應通道數:6 通訊接口:1對1開漏輸出 封裝:SOP-16 VK3608BM --- 工作電壓/電流:3.1V-5.5V/ 3mA-5V 感應通道數:6 通訊接口:BCD碼直接輸出 封裝:SOP-16 VK3610IM --- 工作電壓/電流:3.1V-5.5V/ 3mA-5V 感應通道數:6 通訊接口:SCL/SDA/INT通訊口 封裝:SOP-16 標準觸控IC-VK37系列 VK3702DM --- 工作電壓/電流:3.1V-5.5V/ 3mA-5V 感應通道數:2 通訊接口:1對1直接輸出 封裝:SOP-8 VK3702OM --- 工作電壓/電流:3.1V-5.5V/ 3mA-5V 感應通道數:2 通訊接口:1對1開漏輸出 封裝:SOP-8 VK3702TM --- 工作電壓/電流:3.1V-5.5V/ 3mA-5V 感應通道數:2 通訊接口:1對1toggle輸出 封裝:SOP-8 VK3706DM --- 工作電壓/電流:3.1V-5.5V/ 3mA-5V 感應通道數:6 通訊接口:1對1直接輸出 封裝:SOP-16 VK3706OM --- 工作電壓/電流:3.1V-5.5V/ 3mA-5V 感應通道數:6 通訊接口:1對1開漏輸出 封裝:SOP-16 VK3708BM --- 工作電壓/電流:3.1V-5.5V/ 3mA-5V 感應通道數:8 通訊接口:BCD碼直接輸出 封裝:SOP-16 VK3710IM --- 工作電壓/電流:3.1V-5.5V/ 3mA-5V 感應通道數:10 通訊接口:SCL/SDA/INT通訊口 封裝:SOP-16 標準觸控IC-VK38系列 VK3809IP --- 工作電壓/電流:2.5V-5.5V/1.1mA-3V 感應通道數:9 通訊接口:IIC/INT通訊口 封裝:SSOP-16 VK3813IP --- 工作電壓/電流:2.5V-5.5V/1.1mA-3V 感應通道數:13 通訊接口:IIC/INT通訊口 封裝:SSOP-20 VK3816IP --- 工作電壓/電流:2.5V-5.5V/1.1mA-3V 感應通道數:16 通訊接口:IIC/INT通訊口 封裝:SSOP-28 VK3816IP-A --- 工作電壓/電流:2.5V-5.5V/1.1mA-3V 感應通道數:16 通訊接口:IIC/INT通訊口 封裝:SSOP-28 以上介紹內容為IC參數簡介,難免有錯漏,且相關IC型號眾多,未能一一收錄。歡迎聯系索取完整資料及樣品! 生意無論大小,做人首重誠信!本公司全體員工將既往開來,再接再厲。爭取為各位帶來更專業的技術支持,更優質的銷售服務,更高性價比的好產品.竭誠希望能與各位客戶朋友深入溝通,攜手共進,共同成長,合作共贏!謝謝。 聯 系 人:許先生 聯 系 QQ:191 888 5898 聯系手機:188 9858 2398
標簽: D-SB TTP 233 RB6 微電 代理商 封裝 體積 單鍵
上傳時間: 2019-02-16
上傳用戶:szqxw1688
#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
上傳用戶:啊的撒旦
永嘉微電科技優勢產品——高抗干擾LCD驅動IC系列(HT16C21、HT16C22、HT16C23、HT16C24) 產品型號:HT16C21 產品品牌:HOLTEK/合泰 產品年份:新年份 封裝形式:NSOP16/SOP20/SOP24/SOP28 工程技術服務支持,價格具有優勢! 概述 HT16C21 是一款存儲器映射和多功能 LCD 控制 / 驅動芯片。該芯片顯示模式有 80 點 (20×4) 或 128 點 (16×8)。HT16C21 的軟件配置特性使得它 適用于多種 LCD 應用,包括 LCD 模塊和顯示子 系統。HT16C21 通過雙線雙向 I2C 接口與大多數 微處理器 / 微控制器進行通信。 HT16C2X系列為I2C介面、RAM mapping的LCD控制暨驅動IC,此系列以先進設計技術降低IC耗電、提升抗雜訊及ESD防護能力。全系列包含HT16C22/HT16C22G、HT16C23/HT16C23G、HT16C24/HT16C24G等。HT16C22已成功獲得單相電表客戶的認可及采用,HT16C23及HT16C24適合于點數需求較大的三相電表的應用。 此系列內建顯示記憶體及RC振蕩電路;工作電壓范圍:2.4V~5.5V;提供2種圖框掃描頻率:80Hz or 160Hz;可由外掛電阻調整VLCD電壓,也提供內建可由指令調整16階的VLCD電壓;提供全屏閃爍功能、有三種頻率可選。透過I2C介面及多項內置電路,HT16C2X系列與系統控制晶片的傳輸只需2根信號線,大大省去系統零件及布線、降低客戶系統成本。 特性 -工作電壓:2.4 ~ 5.5V -內部 32kHz RC 振蕩器 -Bias:1/3 或 1/4;Duty:1/4 或 1/8 -帶電壓跟隨器的內部 LCD 偏置發生器 -I2C 接口 -兩個可選 LCD 幀頻率:80Hz 或 160Hz -多達 16×8 位 RAM 用來存儲顯示數據 -顯示模式: 20×4 模式:20 SEGs 和 4 COMs 16×8 模式:16 SEGs 和 8 COMs -多種閃爍模式 -讀 / 寫地址自動增加 -內建 16 級 VLCD 電壓調整電路 -低功耗 -提供 VLCD 引腳用來調整 LCD 工作電壓 -采用硅柵極 CMOS 制造工藝 -封裝類型:20/24/28 SOP, 16 NSOP 此篇產品敘述為功能簡介,如需要完整產品PDF資料可以聯系許先生索取! HT16C21適用于高抗噪聲的小點數LCD應用 HT16C21是采用I2C接口的通用型LCD控制暨驅動器,可選用4 Common或8 Common的驅動模式,最多可顯示128點;本產品采用低耗電設計、在3V工作時只有18uA耗電流。高整合性腳位設計:比競爭者封裝腳數更少、可顯示點數更多;與系統控制芯片的傳輸只需2根信號線、外掛零件少、可降低客戶系統成本。 HT16C21內建有128Bit顯示內存,可降低主控MCU的負擔;工作電壓寬廣:2.4V~5.5V;提供2種圖框掃瞄頻率;內建調整電路可以指令設定16階VLCD電壓;提供全屏閃爍功能、有三種頻率可選。更大可顯示點數為4 COM x 20 SEG或8 COM x 16 SEG。 HT16C2x系列具備低耗電、高抗噪聲及高ESD防護能力。全系列包含HT16C21、HT16C22/HT16C22G、HT16C23/HT16C23G、HT16C24/HT16C24G等。HT16C22已成功獲得大陸、美國地區單相電表客戶的認可及采用,HT16C23及HT16C24適合于點數需求較大的三相電表的應用。 HT16C21適用于家電、民生消費品、工業儀表、水表、農網表、瓦斯表等之應用。HT16C21提供28/24/20SOP及16NSOP封裝,依封裝不同、點數略有差異,有關點數及封裝的選用。 -------------------------------------------------------- 產品型號:HT16C22 產品品牌:HOLTEK/合泰 產品年份:新年份 封裝形式:LQFP48/LQFP52 工程技術服務支持,價格具有優勢! 概述 HT16C22/HT16C22G 是一款存儲器映射和多功能 LCD 控制 / 驅動芯片。該系列芯片顯示模式有 176 點 (44×4)。HT16C22/HT16C22G 軟件配置特性使 得它適用于多種 LCD 應用,包括 LCD 模塊和顯示子系統。HT16C22/HT16C22G 通過雙線雙向 I2C 接口與大多數微處理器 / 微控制器進行通信。 HT16C2X系列為I2C介面、RAM mapping的LCD控制暨驅動IC,此系列以先進設計技術降低IC耗電、提升抗雜訊及ESD防護能力。全系列包含HT16C22/HT16C22G、HT16C23/HT16C23G、HT16C24/HT16C24G等。HT16C22已成功獲得單相電表客戶的認可及采用,HT16C23及HT16C24適合于點數需求較大的三相電表的應用。 特性 -工作電壓:2.4V ~ 5.5V -內部 32kHz RC 振蕩器 -Bias:1/2 或 1/3;Duty:1/4 -帶電壓跟隨器的內部 LCD 偏置發生器 -I2C接口 -兩個可選 LCD 幀頻率:80Hz 或 160Hz -多達 44×4 位 RAM 用來存儲顯示數據 -更大顯示模式 44×4:44 SEGs 和 4 COMs -多種閃爍模式 -讀 / 寫地址自動增加 -內建 16 級 VLCD 電壓調整電路 -低功耗 -提供 VLCD 引腳來調整 LCD 工作電壓 -采用硅柵極 CMOS 制造工藝 -封裝類型:48LQFP,52QFP 此篇產品敘述為功能簡介,如需要完整產品PDF資料可以聯系許先生索取! LCD驅動IC推出HT16C22新I2C接口系列 本公司專注于TN/STN LCD的中小尺寸應用,HT162X系列控制暨驅動IC已營銷業界多年。2010年盛群更展開I2C標準接口系列的新產品開發,此系列包含HT16C22、HT16C23、HT16C24、HT16K23等。IC特性強調低功耗、高抗噪聲及高系統ESD防護能力,以高整合度的腳位包裝,提供客戶更大的顯示點數。HT16C22是首先開發完成的型號,HT16C23、HT16C24及HT16K23會陸續推出。 HT16C22內建顯示內存及RC振蕩電路;工作電壓寬廣:2.4V~5.5V;2種Bias分壓:1/2 & 1/3;更大顯示點數可支持4 Common x 44 Segment(52QFP)。提供2種圖框掃瞄頻率:80Hzor 160Hz;可由外掛電阻調整VLCD電壓,也提供16階可由內建指令調整的VLCD電壓。透過I2C接口及多項內置電路,HT16C22與系統控制芯片的傳輸只需2根信號線,大大省去系統零件及布線、降低客戶系統成本。與其它同包裝的產品,HT16C22提供更多的顯示點數。 HT16C22適用于家電、車載、民生消費品、工業儀表等的LCD顯示器的控制及驅動,高抗噪聲及高ESD防護能力尤適合數字式LCD電表、水表、瓦斯表等。依包裝不同尚有2種點數可選擇:4 Common x 40 Segment(48 LQFP)及4 Common x 36 Segment(44QFP)。 -------------------------------------------------------- 產品型號:HT16C23 產品品牌:HOLTEK/合泰 產品年份:新年份 封裝形式:LQFP64/LQFP48 工程技術服務支持,價格具有優勢! HT16C23/HT16C23G -- RAM Mapping 56*4 / 52*8LCD Driver Controller 概述 HT16C23/HT16C23G 是一款存儲器映射和多功能 的 LCD 控制 / 驅動芯片。該芯片的顯示字段為 224 點 (56 SEG × 4COM) 或 416 點 (52 SEG × 8 COM)。HT16C23/HT16C23G 芯片的軟件配置特 性使其適用于多種 LCD 應用,包括 LCD 模塊和 顯示子系統。HT16C23/HT16C23G 芯片可通過雙 線雙向 I2C 接口與大多數微處理器或微控制器進行通信。 HT16C2X系列為I2C介面、RAM mapping的LCD控制暨驅動IC,此系列以先進設計技術降低IC耗電、提升抗雜訊及ESD防護能力。全系列包含HT16C22/HT16C22G、HT16C23/HT16C23G、HT16C24/HT16C24G等。HT16C22已成功獲得單相電表客戶的認可及采用,HT16C23及HT16C24適合于點數需求較大的三相電表的應用。 此系列內建顯示記憶體及RC振蕩電路;工作電壓范圍:2.4V~5.5V;提供2種圖框掃描頻率:80Hz or 160Hz;可由外掛電阻調整VLCD電壓,也提供內建可由指令調整16階的VLCD電壓;提供全屏閃爍功能、有三種頻率可選。透過I2C介面及多項內置電路,HT16C2X系列與系統控制晶片的傳輸只需2根信號線,大大省去系統零件及布線、降低客戶系統成本。 產品特性 -工作電壓:2.4 ~ 5.5V -內部 32kHz RC 振蕩器 -Bias:1/3 或 1/4;Duty:1/4 或 1/8 -帶電壓跟隨器的內部 LCD 偏置發生器 -I2C 總線接口 -兩種可選的 LCD 幀頻率:80Hz 或 160Hz -多達 52×8 位的 RAM 用于存儲顯示數據 -顯示模式: 56×4模式:56 SEG × 4 COM 56×4模式:56 SEG × 4 COM -多種閃爍模式 -讀 / 寫地址自動增加 -內建 16 級 VLCD 電壓調整電路 -低功耗 -提供 VLCD引腳來調整 LCD 工作電壓 -采用硅柵極 CMOS 工藝制造 -封裝類型:48LQFP,64LQFP 此篇產品敘述為功能簡介,如需要完整產品PDF資料可以聯系許先生索取! -------------------------------------------------------- 產品型號:HT16C24 產品品牌:HOLTEK/合泰 產品年份:新年份 封裝形式:LQFP80/LQFP64 工程技術服務支持,價格具有優勢! HT16C24/HT16C24G -- RAM Mapping 72*4 / 68*8 /60*16 LCD Driver Controller 概述 HT16C24/HT16C24G 是 一 款 存 儲 器 映 射 和 多 功 能 LCD 控制驅動芯片。該芯片顯示模式有 288 點 (72×4),544 點 (68×8) 或 960 點 (60×16 )。HT16C24/HT16C24G 的軟件配置特性使得它適用 于多種 LCD 應用,包括 LCD 模塊和顯示子系統。 HT16C24/HT16C24G 通過雙線雙向 I2C 接口與大 多數微處理器 / 微控制器進行通信。 HT16C2X系列為I2C介面、RAM mapping的LCD控制暨驅動IC,此系列以先進設計技術降低IC耗電、提升抗雜訊及ESD防護能力。全系列包含HT16C22/HT16C22G、HT16C23/HT16C23G、HT16C24/HT16C24G等。HT16C22已成功獲得單相電表客戶的認可及采用,HT16C23及HT16C24適合于點數需求較大的三相電表的應用。 此系列內建顯示記憶體及RC振蕩電路;工作電壓范圍:2.4V~5.5V;提供2種圖框掃描頻率:80Hz or 160Hz;可由外掛電阻調整VLCD電壓,也提供內建可由指令調整16階的VLCD電壓;提供全屏閃爍功能、有三種頻率可選。透過I2C介面及多項內置電路,HT16C2X系列與系統控制晶片的傳輸只需2根信號線,大大省去系統零件及布線、降低客戶系統成本。 特性 -工作電壓:2.4 ~ 5.5V -內部 32kHz RC 振蕩器 -Bias:1/3、1/4 或 1/5;Duty:1/4、1/8 或 1/16 -帶電壓跟隨器的內部 LCD 偏置發生器 -I2C接口 -兩個可選 LCD 幀頻率:80Hz 或 160Hz -多達 60×16 位 RAM 用來存儲顯示數據 -顯示模式: 72×4模式:72 SEGs 和 4 COMs 68×8模式:68 SEGs 和 8 COMs 60×16模式:60 SEGs 和 16 COMs -多種閃爍模式 -讀 / 寫地址自動增加 -內建 16 級 LCD 工作電壓調整電路 -低功耗 -提供 VLCD 引腳來調整 LCD 工作電壓 -采用硅柵極 CMOS 制造工藝 -封裝類型:64LQFP,80LQFP 此篇產品敘述為功能簡介,如需要完整產品PDF資料可以聯系許先生索取! 本公司是一家集產品銷售及代理、技術研發、工程服務為一體的IC設計銷售公司。專營LCD,LED液晶顯示驅動IC 成立于2000年,具有液晶顯示行業長達15年以上經驗。致力為客戶創造產品價值,充分發揮產品的優勢!上述介紹為產品簡介,如需具體產品資料歡迎聯系本公司聯系人索取。 LCD液晶驅動顯示主要型號為VK1024,VK1056,VK1072,HT1620,HT1621,HT1622,HT1622B,HT1623,HT1625,HT1626,HT16C21,HT16C22,HT16C23,HT16C24,HT16L21,HT16L23等。產品不斷更新中! LED液晶顯示驅動IC主要型號HT/VK/TM1635 HT/VK/TM1620B HT/VK/TM1628 HT/VK/TM1668 HT/VK/TM1623 HT/VK/TM1637 HT/VK/TM1640 HT/VK/ TM1629 HT/VK/TM1624 HT/VK/TM1639 HT/VK/TM1626A等,產品不斷更新中! 備注:產品應用領域包括各式(LCD,LED面板顯示)家電、民生消費品、車載音響、醫療保健、運動機械、衡量器、工業儀表、LCD,LED顯示模塊、數碼伴侶、電子秤、萬年歷、玩具、禮品等各類工業和民用電器產品上。VK16C2X系列高抗噪聲及高ESD防護能力尤適合數字式LCD電表、水表、瓦斯表等。 LCD/LED/VFD液晶控制器及驅動器系列 芯片簡介如下: 高抗噪LCD液晶控制器及驅動系列 HT16C21 2.4~5.5V 20seg*4com 16seg*8com 偏壓1/3 1/4 I2C接口 HT16C22 2.4~5.5V 44seg*4com 偏壓1/2 1/3 I2C接口 HT16C23 2.4~5.5V 56seg*4com 52seg*8com 偏壓1/3 1/4 I2C接口 HT16C24 2.4~5.5V 72seg*4com 68seg*8com 60seg*16com 偏壓1/3 1/4 1/5 I2C口 HT16K23 2.4~5.5V 20seg*4com 16seg*8com Keyscan 20/16*1 偏壓1/3 1/4 I2C接口 HT9B92 2.4~5.5V 36seg*4com 偏壓1/2 1/3 I2C接口 HT9B92G 2.4~5.5V 40seg*4com 偏壓1/2 1/3 I2C接口 HT9B95A 2.4~5.5V 35seg*8com 偏壓1/4 I2C接口 HT9B95B 2.4~5.5V 43seg*4com 39seg*8com 偏壓1/3 1/4 I2C接口 HT9B95C 2.4~5.5V 43seg*4com 39seg*8com 偏壓1/3 1/4 I2C接口 低電壓LCD液晶控制器及驅動系列 HT16L21 1.8V~5.5V 32seg*4com 接口I2C,SPI 3-Wire 偏壓1/2 1/3 44LQFP LED:8 HT16L23 1.8V~5.5V 52seg*4com 48*8 接口I2C,SPI 3-Wire 偏壓1/3 1/4 64LQFP LED:8 HT16LK24 1.8V~5.5V 67seg*1com 67seg*2com 67seg*3com 67seg*4com 63seg*8com 接口I2C,SPI 3-Wire 偏壓1/1 1/2 1/3 1/4 Keyscan:4*12 64/80LQFP LED:12 (128 Step) RAM映射LCD控制器和驅動器系列 VK1024B 2.4V~5.2V 6seg*4com 偏壓1/2 1/3 NS0P16 VK1056B 2.4V~5.2V 14seg*4com 偏壓1/2 1/3 SOP24 VK1056C 2.4V~5.2V 14seg*4com 偏壓1/2 1/3 SSOP24 VK1072B 2.4V~5.2V 18seg*4com 偏壓1/2 1/3 SOP28 VK1072C 2.4V~5.2V 18seg*4com 偏壓1/2 1/3 SOP28 HT1620 2.4V~3.3V 32seg*4com 32seg*3com 32seg*2com 偏壓1/2 1/3 64LQFP HT1620G 2.4V~3.3V 32seg*4com 32seg*3com 32seg*2com 偏壓1/2 1/3 Goid Bump HT1621 2.4V~5.2V 32seg*4com 32seg*3com 32seg*2com 偏壓1/2 1/3 44LQFP 48SSOP/LQFP HT1621G 2.4V~5.2V 32seg*4com 32seg*3com 32seg*2com 偏壓1/2 1/3 Goid Bump HT1622 2.7V~5.2V 32seg*8com 偏壓1/4 64QFP 44/48/52/64LQFP HT1622G 2.7V~5.2V 32seg*8com 偏壓1/4 Goid Bump HT16220 2.4V~5.2V 32seg*8com 偏壓1/4 64LQFP HT1623 2.7V~5.2V 48seg*8com 偏壓1/4 100LQFP/100QFP HT1625 2.7V~5.2V 64seg*8com 偏壓1/4 100LQFP/100QFP HT1626 2.7V~5.2V 48seg*16com 偏壓1/5 100LQFP/100QFP HT1647 2.7V~5.2V 64seg*16com 偏壓1/4 1/5 100LQFP/100QFP HT1647G 2.7V~5.2V 64seg*16com 偏壓1/4 1/5 Goid Bump HT1650 2.7V~5.2V 80seg*16com 64seg*32com 偏壓1/5 1/6 128QFP (以上型號全部封裝形式規格 均有現貨) 內存映射的LED控制器及驅動器 HT1632C 4.5V~5.5V 32seg*8com 24seg*16com 4-Wire接口 48/52LQFP HT1635A 4.5V~5.5V 44seg*8com 4-Wire接口 64LQFP HT1635B 4.5V~5.5V 44seg*8com I2C接口 64LQFP HT16K33 4.5V~5.5V 16seg*8com I2C接口 Keyscan:13*3 28SOP HT16K33 4.5V~5.5V 12seg*8com I2C接口 Keyscan:10*3 24SOP HT16K33 4.5V~5.5V 8seg*8com I2C接口 Keyscan:8*3 20SOP (以上型號全部封裝形式規格 均有現貨) (所有型號全部封裝均有現貨,歡迎加Q查詢 191 888 5898 許生) LCD液晶顯示驅動控制器 HT1620 HT1620G HT1621 HT1621B HT1621G HT1622 HT1622G HT1623 HT1625 HT1626 HT16C21 HT16C22 HT16C23 HT16C24 HT1620 HT16220 HT1647 HT1650 HT1660 HT1670 HT16K23 HT9B92 HT9B92G HT9B95A HT9B95B HT9B95C HT16LK24 HT16L21 HT16L23 HT1611C HT1613C HT1616C (全部封裝、規格形式 均有海量現貨!) 二:LED/VFD控制、驅動器 HT16506 HT16511 HT16512 HT16515 HT16514 HT16561 HT16562 HT16565 HT16566 HT16523 HT16525 HT1632C HT16K33 HT16K33 HT16528-001 HT16528-002 HT16528-003 (全部封裝、規格形式 均有海量現貨!) 芯片主要應用領域如下: -顯示模塊:電子秤、無線麥克風、錄音筆、影音多媒體、小家電周邊 -家電類:電風扇、電飯煲、玩具、冷氣機、暖風機、空調扇、飲水機、抽油煙機、消毒柜、電熱水器、面包機、豆漿機、咖啡壺、電冰箱、洗衣機控制器、空調控制板等。 -通訊類:來電顯示電話、無繩電話、IC電話、投幣電話、對講機等 -玩具游戲類:無線遙控車、PS游戲機、跳舞毯、方向盤、手柄、電子槍、PS開機IC等。 -計算機周邊:顯示器控制、PC-MOUSE、單/雙滾、遙控MOUSE、鍵盤、手寫板等。 -智能卡類:IC卡煤氣表、電能表、水表、IC讀寫器、IC卡門禁系統等。 -汽車及防盜類:機車防盜器、********器、汽車天線控制器、里程表、汽車日歷等。 -醫用保健類:電子針灸器、甩脂機、智能體溫計、LCD顯示血壓計、跑步機、按摩器、按摩墊、按摩椅等。 -儀表類:電壓表、瓦斯表、電池電壓檢測器、頻率計、計數器、電度表、水位檢測器等。 -其它類:充電器、照相機、電子萬年鐘、自動給皂機、路燈控制器、呼叫服務器等
標簽: 8LCD 16c c21 RAM 416 ht 16 21 微電 映射
上傳時間: 2020-01-09
上傳用戶:2937735731
用三點法實現機器人三維位置測量的研究摘 要 :提 出 了一 種 微 小 爬 壁 機 器 人 三 維 位 置 測 量 的新 方 法 。筆 者 通 過 深 入 分 析 研 究各 種 位 置 測 控 方 法 與 系 統 ,提 出采 用單 目視 覺方 法 中的 聚 焦法 ,以 CCD作 為 傳 感 器 ,用 三 點 法 實現 對 機 器 人 的 三 維 位 置 測 量 。 驗 證性 實驗 結果表 明 ,本研 究提 出的測 量原 理和 系統是 正 確 可行 的 。 關鍵詞 :機 器人 ;位置 測量 ;CCD傳 感 器 ;單 目視 覺 ;攝 像 機 標 定 中 圖分 類 號 :TP242.6 文 獻 標 識 碼 :B Abstract:A new 3D position measurementmethod Ofa wall—climbing micro robothas been researched.Researc— hing on the various position measuring and controlling method,theauthorhasputforwardanewprojecttomeas— ure the 3D position of the robot,in which the focusing method with singlecamera and CCD sensorhasbeen used to getthe position information.The elementary experiment has verified the principle and the system. Key words:robot;position detection;CCD sensor;single camera vision;camera caiibration 位置測量技 術是智 能機 器人 的關鍵 技術 ,是各 種 機器人控 制系統 中極 為重 要 的環節 ,也 是 國內外研 究 的熱點所 在。 按 照測試 系統 與被 測機 器 人 的關 系 ,可 以將位 置 測量技術 分為接觸 式和非接觸式 兩大類 。接觸 式測量 系統 由于在測 量過程 中或多或少地 對機器人施 加 了載 荷 ,因而僅適用于靜 態 位置測 量 。而動 態 位 置測量 系 統 主要分 5類 :①激光跟蹤 系統 ;@ CCD交 互測量 收 稿 日期 :2001—07—03 基 金項 目:國家 863高科技 研 究 資助 項 目(9804-06);教 育 部 高 等 學校 骨干教 師 資助 計 3t,j項 目 作者 簡 介 :張 智海 (1973一 ),男 ,工 學碩 士 ,主 要 研 究 方 向 為 智 能 機 器人 測 控 技 術 。 系統 ;③ 超聲波 測量 系統 ;④ PSD(positionsensitivede— vice)位 置 測 量 系統 ;⑤ 帶 有 接 近覺 傳 感 器 的 測量 系 統 。位置測量 還可 以從另一個分類 角度劃分為主動式 測量和被動 式測 量 。主動式測 量主要可 以分為結 構光方法和激光 自動聚焦法兩類 。被 動式測量 主要 可 以分為雙 目視 覺 、三 目視覺 、單 目視覺 等方法 。 對 比以上各種方法 的 優缺 點 ,針對 筆者 研制 的微 小爬壁機器人 的空 間三 維位 置 測量 的要 求 ,測量 系統 必須滿足尺 寸小 、分 辨率 高 、穩定 性 和可 靠性 好 、時 間 響應快等特 點 ,提 出了采用 單 目視覺方法 中的聚焦法 , 選用 CCD作 為傳感器 ,用 三點法實現對機器人 的三維 位置測量 ,并用 Matlab和 V
標簽: 機器人
上傳時間: 2022-02-12
上傳用戶:
LT3095MPUDD雙通道低噪聲偏置發生器的典型應用電路凌力爾特公司 (Linear Technology Corporation) 推出雙通道 IC LT3095,該器件從單一輸入提供兩路非常低噪聲、低紋波的偏置電源。每個通道都納入了單片升壓型 DC/DC 轉換器,一個集成的超低噪聲和高 PSRR (電源抑制比) 線性穩壓器對該轉換器進行了后置穩壓。LT3095 在輸出電壓高達 20V 時提供高達 50mA 的連續輸出電流,總紋波和噪聲 <100μVP-P。該器件在 3V 至 20V 輸入電壓范圍內工作,從而可與多種電源兼容。 LT3095 的固定頻率、峰值電流模式升壓型 DC/DC 轉換器包括一個集成的 950mA 電源開關、肖特基二極管和內部頻率補償。開關頻率在 450kHz 至 2MHz 內可通過單個電阻器編程,或可同步至一個外部時鐘,因此允許使用纖巧的外部組件。結合緊湊的 3mm x 5mm QFN 封裝,LT3095 可提供簡單、占板面積緊湊、高效率的解決方案,適用于儀表放大器、RF 和數據轉換系統、以及其他低噪聲偏置應用。 LT3095 的線性穩壓器運用凌力爾特專有的電流源基準架構,從而提供了很多優勢,例如能夠用單個電阻器設定輸出電壓,帶寬、噪聲、PSRR 和負載調節性能基本上不受輸出電壓影響。集成輸出噪聲 (在 10Hz 至 100kHz 帶寬) 僅為 4μVRMS,而且在整個開關頻率范圍內 PSRR 超過70dB,從而使總的噪聲和紋波 <100μVP-P。線性穩壓器調節升壓型轉換器的輸出電壓,使其比線性穩壓器輸出電壓高 2V,從而優化了功耗、瞬態響應和 PSRR 性能。為了提高系統可靠性,LT3095 提供短路和熱保護,還為每個通道提供獨立和精確的使能 / UVLO 門限。微功率工作時,兩個 EN 引腳均被拉低。
標簽: 噪聲偏置發生器
上傳時間: 2022-02-15
上傳用戶: