亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

蟲蟲首頁| 資源下載| 資源專輯| 精品軟件
登錄| 注冊

半導(dǎo)(dǎo)體二極管

  • struts的詳細(xì)說明

    struts的詳細(xì)說明,是struts的經(jīng)典經(jīng)驗(yàn)集合,對于做web開發(fā)的技術(shù)人員來說恨合適d o dio 哦!感覺寫的恨不錯就發(fā)上來了!

    標(biāo)簽: struts

    上傳時間: 2016-01-01

    上傳用戶:懶龍1988

  • 成績查詢系統(tǒng)

    #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);//輸入學(xué)生信息 void input_student2(void);//輸入總函數(shù) void input_student3(int &,int);//判斷學(xué)號是否重復(fù) void input_student4(int,int);//覆蓋原信息 void sort_student3(student s[],int);//按照英語成績排序 void sort_student4(student s[],int);//按照計(jì)算機(jī)成績排序 void sort_student2(student s[],int);//按照數(shù)學(xué)成績排序 void sort_student5(student s[],int);//按照平均成績排序 float input_score2(int);//計(jì)算學(xué)生平均成績 void print_student2(void);//顯示表頭 void print_student3(int);//顯示學(xué)生信息 void print_student1(int);//顯示全部學(xué)生資料 void sort_student1(void);//排序總函數(shù) void menu(void);//菜單調(diào)度總函數(shù) int search_student2(int);//按學(xué)號查詢學(xué)生信息并輸出 void search_student3(int);//按平均分最高查詢并輸出 void search_student1(void);//查詢總函數(shù) void delete_student2(int,int);//刪除學(xué)生信息 void delete_student1(void);//刪除總函數(shù) void change_student2(int);//修改學(xué)生資料 void change_student1(void);//修改總函數(shù) void input_score3(int);//統(tǒng)計(jì)成績 void input_score1(void);//統(tǒng)計(jì)成績總函數(shù) void print_help(void);//輸出幫助信息 void exit_student(void);//退出系統(tǒng) void save_student(student *,int);//保存學(xué)生信息 void main()   {   menu();   } void save_student(student *s,int a)//保存學(xué)生信息   {   FILE *fp;     if((fp=fopen("d:\\學(xué)生信息.txt","wb"))==NULL)       {       printf("不能打開文件!\n");       }     else       {       printf("保存信息到D盤\n");       fprintf(fp,"本班所有學(xué)生具體信息如下:\r\n");       fprintf(fp,"  學(xué)號       姓名           數(shù)學(xué)成績       英語成績     計(jì)算機(jī)成績     平均成績\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)//退出系統(tǒng)   {   exit(1);   } void print_help(void)//輸出幫助信息   {   printf("本系統(tǒng)所能容納的最大學(xué)生數(shù)為%d人\n學(xué)生信息保存在D盤根目錄下,保存文件為“學(xué)生信息.txt”。\n感謝使用!\n",N);   } void input_score1(void)//統(tǒng)計(jì)成績總函數(shù)   {   int c;   c=search_student2(iNumOfStu);   printf("學(xué)號:%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)//統(tǒng)計(jì)成績   {   printf("數(shù)學(xué)新成績:");   scanf("%f",&stu[a].sco.math);   printf("英語新成績:");   scanf("%f",&stu[a].sco.english);   printf("計(jì)算機(jī)新成績:");   scanf("%f",&stu[a].sco.computer);   } void change_student2(int a)//修改學(xué)生資料   {   printf("學(xué)號:%d----修改為:",stu[a].number);   scanf("%d",&stu[a].number);   getchar();   printf("姓名:%s----修改為:",stu[a].name);   gets(stu[a].name);   printf("數(shù)學(xué)成績:%.2f----修改為:",stu[a].sco.math);   scanf("%f",&stu[a].sco.math);   printf("英語成績:%.2f----修改為:",stu[a].sco.english);   scanf("%f",&stu[a].sco.english);   printf("計(jì)算機(jī)成績:%.2f----修改為:",stu[a].sco.computer);   scanf("%f",&stu[a].sco.computer);   } void change_student1(void)//修改總函數(shù)   {   int c;   c=search_student2(iNumOfStu);   getchar();   printf("是否要修改此學(xué)生信息?(“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)//刪除總函數(shù)   {   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)//刪除學(xué)生信息   {   for(int i=a;i<b-1;i++)     {     stu[i]=stu[i+1];     }   --iNumOfStu;   } void search_student1(void)//查詢總函數(shù)   {   printf("1、按學(xué)號查詢\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)//菜單調(diào)度總函數(shù)   {   print_menu();   choosemenu();   } void sort_student1(void)//排序總函數(shù)   {   printf("1、按數(shù)學(xué)成績排序\n2、按英語成績排序\n3、按計(jì)算機(jī)成績排序\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)//顯示全部學(xué)生資料   {   printf("本班所有學(xué)生具體信息如下\n");   print_student2();   for(int i=0;i<a;i++)     {     print_student3(i);     }   } void print_student3(int a)//顯示學(xué)生信息   {   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("  學(xué)號       姓名           數(shù)學(xué)成績       英語成績     計(jì)算機(jī)成績     平均成績\n");   } void input_student4(int a,int b)//覆蓋原信息   {   stu[a]=stu[b-1];   --iNumOfStu;   } void input_student3(int &a,int b)//判斷學(xué)號是否重復(fù)   {   if(a!=0)     {     int i=0;     do       {       if(stu[a].number==stu[i].number)         {         printf("此學(xué)號代表的學(xué)生已錄入\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("請重新輸入學(xué)生信息:\n");             input_student1(iNumOfStu-1);             break;             }           default: break;           }         break;         }       ++i;       }       while(i<b-1);     }   } void print_menu(void)//輸出菜單   {   printf("======歡迎來到學(xué)生信息管理系統(tǒng)======\n");   printf("      1、輸入學(xué)生資料\n");   printf("      2、刪除學(xué)生資料\n");   printf("      3、查詢學(xué)生資料\n");   printf("      4、修改學(xué)生資料\n");   printf("      5、顯示學(xué)生資料\n");   printf("      6、統(tǒng)計(jì)學(xué)生成績\n");   printf("      7、排序?qū)W生成績\n");   printf("      8、保存學(xué)生資料\n");   printf("      9、獲取幫助信息\n");   printf("      10、退出系統(tǒng)\n");   printf("====================================\n");   printf("請選擇:");   } void input_student2(void)//輸入總函數(shù)   {   char end;   printf("請輸入學(xué)生信息(在最后一個學(xué)生信息錄入完成后以“/”結(jié)束錄入):\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)//輸入學(xué)生信息   {   printf("學(xué)號:");   scanf("%d",&stu[a].number);   getchar();   printf("姓名:");   gets(stu[a].name);   printf("數(shù)學(xué)成績:");   scanf("%f",&stu[a].sco.math);   printf("英語成績:");   scanf("%f",&stu[a].sco.english);   printf("計(jì)算機(jī)成績:");   scanf("%f",&stu[a].sco.computer);   } float input_score2(int a)//計(jì)算學(xué)生平均成績   {   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)//按照數(shù)學(xué)成績排序   {   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)//按照計(jì)算機(jī)成績排序   {   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)//按照學(xué)號查找學(xué)生并輸出   {   int num;   int c;   printf("請輸入要查詢的學(xué)號:");   scanf("%d",&num);   for(int i=0;i<a;i++)     {     if(num==stu[i].number)       {       c=i;       }     }   printf("此學(xué)生的信息是:\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;     }   }         運(yùn)行結(jié)果:                         源文件下載地址: http://115.com/file/clnq138g#一個簡單的學(xué)生成績管理系統(tǒng).rar (請將此地址復(fù)制到瀏覽器地址欄中訪問下載頁面)  

    標(biāo)簽: 成績查詢系統(tǒng)

    上傳時間: 2019-06-08

    上傳用戶:啊的撒旦

  • 學(xué)生成績guanli

    #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);//輸入學(xué)生信息 void input_student2(void);//輸入總函數(shù) void input_student3(int &,int);//判斷學(xué)號是否重復(fù) void input_student4(int,int);//覆蓋原信息 void sort_student3(student s[],int);//按照英語成績排序 void sort_student4(student s[],int);//按照計(jì)算機(jī)成績排序 void sort_student2(student s[],int);//按照數(shù)學(xué)成績排序 void sort_student5(student s[],int);//按照平均成績排序 float input_score2(int);//計(jì)算學(xué)生平均成績 void print_student2(void);//顯示表頭 void print_student3(int);//顯示學(xué)生信息 void print_student1(int);//顯示全部學(xué)生資料 void sort_student1(void);//排序總函數(shù) void menu(void);//菜單調(diào)度總函數(shù) int search_student2(int);//按學(xué)號查詢學(xué)生信息并輸出 void search_student3(int);//按平均分最高查詢并輸出 void search_student1(void);//查詢總函數(shù) void delete_student2(int,int);//刪除學(xué)生信息 void delete_student1(void);//刪除總函數(shù) void change_student2(int);//修改學(xué)生資料 void change_student1(void);//修改總函數(shù) void input_score3(int);//統(tǒng)計(jì)成績 void input_score1(void);//統(tǒng)計(jì)成績總函數(shù) void print_help(void);//輸出幫助信息 void exit_student(void);//退出系統(tǒng) void save_student(student *,int);//保存學(xué)生信息 void main()   {   menu();   } void save_student(student *s,int a)//保存學(xué)生信息   {   FILE *fp;     if((fp=fopen("d:\\學(xué)生信息.txt","wb"))==NULL)       {       printf("不能打開文件!\n");       }     else       {       printf("保存信息到D盤\n");       fprintf(fp,"本班所有學(xué)生具體信息如下:\r\n");       fprintf(fp,"  學(xué)號       姓名           數(shù)學(xué)成績       英語成績     計(jì)算機(jī)成績     平均成績\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)//退出系統(tǒng)   {   exit(1);   } void print_help(void)//輸出幫助信息   {   printf("本系統(tǒng)所能容納的最大學(xué)生數(shù)為%d人\n學(xué)生信息保存在D盤根目錄下,保存文件為“學(xué)生信息.txt”。\n感謝使用!\n",N);   } void input_score1(void)//統(tǒng)計(jì)成績總函數(shù)   {   int c;   c=search_student2(iNumOfStu);   printf("學(xué)號:%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)//統(tǒng)計(jì)成績   {   printf("數(shù)學(xué)新成績:");   scanf("%f",&stu[a].sco.math);   printf("英語新成績:");   scanf("%f",&stu[a].sco.english);   printf("計(jì)算機(jī)新成績:");   scanf("%f",&stu[a].sco.computer);   } void change_student2(int a)//修改學(xué)生資料   {   printf("學(xué)號:%d----修改為:",stu[a].number);   scanf("%d",&stu[a].number);   getchar();   printf("姓名:%s----修改為:",stu[a].name);   gets(stu[a].name);   printf("數(shù)學(xué)成績:%.2f----修改為:",stu[a].sco.math);   scanf("%f",&stu[a].sco.math);   printf("英語成績:%.2f----修改為:",stu[a].sco.english);   scanf("%f",&stu[a].sco.english);   printf("計(jì)算機(jī)成績:%.2f----修改為:",stu[a].sco.computer);   scanf("%f",&stu[a].sco.computer);   } void change_student1(void)//修改總函數(shù)   {   int c;   c=search_student2(iNumOfStu);   getchar();   printf("是否要修改此學(xué)生信息?(“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)//刪除總函數(shù)   {   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)//刪除學(xué)生信息   {   for(int i=a;i<b-1;i++)     {     stu[i]=stu[i+1];     }   --iNumOfStu;   } void search_student1(void)//查詢總函數(shù)   {   printf("1、按學(xué)號查詢\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)//菜單調(diào)度總函數(shù)   {   print_menu();   choosemenu();   } void sort_student1(void)//排序總函數(shù)   {   printf("1、按數(shù)學(xué)成績排序\n2、按英語成績排序\n3、按計(jì)算機(jī)成績排序\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)//顯示全部學(xué)生資料   {   printf("本班所有學(xué)生具體信息如下\n");   print_student2();   for(int i=0;i<a;i++)     {     print_student3(i);     }   } void print_student3(int a)//顯示學(xué)生信息   {   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("  學(xué)號       姓名           數(shù)學(xué)成績       英語成績     計(jì)算機(jī)成績     平均成績\n");   } void input_student4(int a,int b)//覆蓋原信息   {   stu[a]=stu[b-1];   --iNumOfStu;   } void input_student3(int &a,int b)//判斷學(xué)號是否重復(fù)   {   if(a!=0)     {     int i=0;     do       {       if(stu[a].number==stu[i].number)         {         printf("此學(xué)號代表的學(xué)生已錄入\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("請重新輸入學(xué)生信息:\n");             input_student1(iNumOfStu-1);             break;             }           default: break;           }         break;         }       ++i;       }       while(i<b-1);     }   } void print_menu(void)//輸出菜單   {   printf("======歡迎來到學(xué)生信息管理系統(tǒng)======\n");   printf("      1、輸入學(xué)生資料\n");   printf("      2、刪除學(xué)生資料\n");   printf("      3、查詢學(xué)生資料\n");   printf("      4、修改學(xué)生資料\n");   printf("      5、顯示學(xué)生資料\n");   printf("      6、統(tǒng)計(jì)學(xué)生成績\n");   printf("      7、排序?qū)W生成績\n");   printf("      8、保存學(xué)生資料\n");   printf("      9、獲取幫助信息\n");   printf("      10、退出系統(tǒng)\n");   printf("====================================\n");   printf("請選擇:");   } void input_student2(void)//輸入總函數(shù)   {   char end;   printf("請輸入學(xué)生信息(在最后一個學(xué)生信息錄入完成后以“/”結(jié)束錄入):\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)//輸入學(xué)生信息   {   printf("學(xué)號:");   scanf("%d",&stu[a].number);   getchar();   printf("姓名:");   gets(stu[a].name);   printf("數(shù)學(xué)成績:");   scanf("%f",&stu[a].sco.math);   printf("英語成績:");   scanf("%f",&stu[a].sco.english);   printf("計(jì)算機(jī)成績:");   scanf("%f",&stu[a].sco.computer);   } float input_score2(int a)//計(jì)算學(xué)生平均成績   {   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)//按照數(shù)學(xué)成績排序   {   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)//按照計(jì)算機(jī)成績排序   {   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)//按照學(xué)號查找學(xué)生并輸出   {   int num;   int c;   printf("請輸入要查詢的學(xué)號:");   scanf("%d",&num);   for(int i=0;i<a;i++)     {     if(num==stu[i].number)       {       c=i;       }     }   printf("此學(xué)生的信息是:\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;     }   }         運(yùn)行結(jié)果:                         源文件下載地址: http://115.com/file/clnq138g#一個簡單的學(xué)生成績管理系統(tǒng).rar (請將此地址復(fù)制到瀏覽器地址欄中訪問下載頁面)   #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);//輸入學(xué)生信息 void input_student2(void);//輸入總函數(shù) void input_student3(int &,int);//判斷學(xué)號是否重復(fù) void input_student4(int,int);//覆蓋原信息 void sort_student3(student s[],int);//按照英語成績排序 void sort_student4(student s[],int);//按照計(jì)算機(jī)成績排序 void sort_student2(student s[],int);//按照數(shù)學(xué)成績排序 void sort_student5(student s[],int);//按照平均成績排序 float input_score2(int);//計(jì)算學(xué)生平均成績 void print_student2(void);//顯示表頭 void print_student3(int);//顯示學(xué)生信息 void print_student1(int);//顯示全部學(xué)生資料 void sort_student1(void);//排序總函數(shù) void menu(void);//菜單調(diào)度總函數(shù) int search_student2(int);//按學(xué)號查詢學(xué)生信息并輸出 void search_student3(int);//按平均分最高查詢并輸出 void search_student1(void);//查詢總函數(shù) void delete_student2(int,int);//刪除學(xué)生信息 void delete_student1(void);//刪除總函數(shù) void change_student2(int);//修改學(xué)生資料 void change_student1(void);//修改總函數(shù) void input_score3(int);//統(tǒng)計(jì)成績 void input_score1(void);//統(tǒng)計(jì)成績總函數(shù) void print_help(void);//輸出幫助信息 void exit_student(void);//退出系統(tǒng) void save_student(student *,int);//保存學(xué)生信息 void main()   {   menu();   } void save_student(student *s,int a)//保存學(xué)生信息   {   FILE *fp;     if((fp=fopen("d:\\學(xué)生信息.txt","wb"))==NULL)       {       printf("不能打開文件!\n");       }     else       {       printf("保存信息到D盤\n");       fprintf(fp,"本班所有學(xué)生具體信息如下:\r\n");       fprintf(fp,"  學(xué)號       姓名           數(shù)學(xué)成績       英語成績     計(jì)算機(jī)成績     平均成績\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)//退出系統(tǒng)   {   exit(1);   } void print_help(void)//輸出幫助信息   {   printf("本系統(tǒng)所能容納的最大學(xué)生數(shù)為%d人\n學(xué)生信息保存在D盤根目錄下,保存文件為“學(xué)生信息.txt”。\n感謝使用!\n",N);   } void input_score1(void)//統(tǒng)計(jì)成績總函數(shù)   {   int c;   c=search_student2(iNumOfStu);   printf("學(xué)號:%d\n",stu[c].number);   printf("姓名:%s\n",stu[c].name);   input_score3(c);   printf("新成績錄入成功!

    標(biāo)簽: c語言

    上傳時間: 2019-06-09

    上傳用戶:啊的撒旦

  • VIP專區(qū)-嵌入式/單片機(jī)編程源碼精選合集系列(25)

    VIP專區(qū)-嵌入式/單片機(jī)編程源碼精選合集系列(25)資源包含以下內(nèi)容:1. 嵌入式GSM短信息接口的軟硬件設(shè)計(jì).2. 數(shù)字PID及其算法.3. cpress鼠標(biāo)固件源碼.4. 修改MAC的軟件.5. MM36SB020串行FLASH的簡單例子.6. WINCE - CEPC.7. HOW TO Communicate with PDA by IrDA..8. 時間顯示例子 1.9. 用于lpc2104的顯示例子2.10. 可以在LPC2104上使用的顯示的例子.11. lwIP-Softools-11Jul2002-alpha.12. 語音自動應(yīng)答系統(tǒng)源代碼.13. Wince 中ADO3.0的使用方法.14. pic單片板usb編程模板.15. CCDC01采集器測試儀軟件:拼音輸入法碼表.16. 用PIC16C54控制的電話擴(kuò)音器.17. 用2051播放音樂.18. CH451鍵盤顯示芯片的控制程序.19. 44b0上開發(fā)的油蛇吃豆的游戲.20. 44b0上usb的驅(qū)動程序.21. 44b0上usb應(yīng)用程序?qū)嵗?22. 2407實(shí)驗(yàn)程序在CCS環(huán)境下運(yùn)行.23. TI的TMS320LF2407源代碼!.24. msp430開發(fā)的駐波表測試儀 數(shù)字顯示的,國內(nèi)沒有的哦.25. 集成電路數(shù)據(jù)手冊.26. 256色TFT.27. 8色TFT驅(qū)動程序.28. 2051模擬PS2鍵盤和PC機(jī)通訊程序 6M下.29. DS1620 - 12F675溫度lcd顯示.30. 介紹嵌入式系統(tǒng)的一些基礎(chǔ)知識。.31. 對開放源碼的嵌入式仿真環(huán)境SkyEye的綜述。.32. 匣發(fā)光二術(shù)管的顯示程序.33. 通過7路AD轉(zhuǎn)換.34. 基本的時鐘中斷程序.35. 語音即錄即放程序.36. 時鐘的率調(diào)整程序.37. Protel DXP 常用庫元件.38. 乒乓球游戲機(jī)設(shè)計(jì).39. sdt文件移植為ads文件配置的改變.40. 44b0中斷的處理.

    標(biāo)簽: 2.0 機(jī)械設(shè)計(jì) 軟件

    上傳時間: 2013-07-15

    上傳用戶:eeworm

  • TMS320C54X DSP 實(shí)驗(yàn)指導(dǎo)程序 實(shí)驗(yàn)一 常用指令實(shí)驗(yàn) 實(shí)驗(yàn)二 數(shù)據(jù)存儲實(shí)驗(yàn) 實(shí)驗(yàn)三 I/O實(shí)驗(yàn) 實(shí)驗(yàn)四 定時器實(shí)驗(yàn) 實(shí)驗(yàn)五 INT2中斷實(shí)驗(yàn) 實(shí)驗(yàn)六 A/D轉(zhuǎn)換實(shí)驗(yàn) 實(shí)驗(yàn)七

    TMS320C54X DSP 實(shí)驗(yàn)指導(dǎo)程序 實(shí)驗(yàn)一 常用指令實(shí)驗(yàn) 實(shí)驗(yàn)二 數(shù)據(jù)存儲實(shí)驗(yàn) 實(shí)驗(yàn)三 I/O實(shí)驗(yàn) 實(shí)驗(yàn)四 定時器實(shí)驗(yàn) 實(shí)驗(yàn)五 INT2中斷實(shí)驗(yàn) 實(shí)驗(yàn)六 A/D轉(zhuǎn)換實(shí)驗(yàn) 實(shí)驗(yàn)七 D/A轉(zhuǎn)換實(shí)驗(yàn) 實(shí)驗(yàn)八 AD/DA綜合實(shí)驗(yàn)

    標(biāo)簽: 實(shí)驗(yàn) 320C INT2 TMS

    上傳時間: 2014-02-16

    上傳用戶:縹緲

  • MCS-51系列單片機(jī)實(shí)用接口技術(shù)

    本書全面、系統(tǒng)地介紹了MCS-51系列單片機(jī)應(yīng)用系統(tǒng)的各種實(shí)用接口技術(shù)及其配置。   內(nèi)容包括:MCS-51系列單片機(jī)組成原理:應(yīng)用系統(tǒng)擴(kuò)展、開發(fā)與調(diào)試;鍵盤輸入接口的設(shè)計(jì)及調(diào)試;打印機(jī)和顯示器接口及設(shè)計(jì)實(shí)例;模擬輸入通道接口技術(shù);A/D、D/A、接口技術(shù)及在控制系統(tǒng)中的應(yīng)用設(shè)計(jì);V/F轉(zhuǎn)換器接口技術(shù)、串行通訊接口技術(shù)以及其它與應(yīng)用系統(tǒng)設(shè)計(jì)有關(guān)的實(shí)用技術(shù)等。   本書是為滿足廣大科技工作者從事單片機(jī)應(yīng)用系統(tǒng)軟件、硬件設(shè)計(jì)的需要而編寫的,具有內(nèi)容新穎、實(shí)用、全面的特色。所有的接口設(shè)計(jì)都包括詳細(xì)的設(shè)計(jì)步驟、硬件線路圖及故障分析,并附有測試程序清單。書中大部分接口軟、硬件設(shè)計(jì)實(shí)例都是作者多年來從事單片機(jī)應(yīng)用和開發(fā)工作的經(jīng)驗(yàn)總結(jié),實(shí)用性和工程性較強(qiáng),尤其是對應(yīng)用系統(tǒng)中必備的鍵盤、顯示器、打印機(jī)、A/D、D/A通訊接口設(shè)計(jì)、模擬信號處理及開發(fā)系統(tǒng)應(yīng)用舉例甚多,目的是讓將要開始和正在從事單片機(jī)應(yīng)用開發(fā)的科研人員根據(jù)自己的實(shí)際需要來選擇應(yīng)用,一書在手即可基本完成單片機(jī)應(yīng)用系統(tǒng)的開發(fā)工作。   本書主要面向從事單片機(jī)應(yīng)用開發(fā)工作的廣大工程技術(shù)人員,也可作為大專院校有關(guān)專業(yè)的教材或教學(xué)參考書。 第一章MCS-51系列單片機(jī)組成原理   1.1概述   1.1.1單片機(jī)主流產(chǎn)品系列   1.1.2單片機(jī)芯片技術(shù)的發(fā)展概況   1.1.3單片機(jī)的應(yīng)用領(lǐng)域   1.2MCS-51單片機(jī)硬件結(jié)構(gòu)   1.2.1MCS-51單片機(jī)硬件結(jié)構(gòu)的特點(diǎn)   1.2.2MCS-51單片機(jī)的引腳描述及片外總線結(jié)構(gòu)   1.2.3MCS-51片內(nèi)總體結(jié)構(gòu)   1.2.4MCS-51單片機(jī)中央處理器及其振蕩器、時鐘電路和CPU時序   1.2.5MCS-51單片機(jī)的復(fù)位狀態(tài)及幾種復(fù)位電路設(shè)計(jì)   1.2.6存儲器、特殊功能寄存器及位地址空間   1.2.7輸入/輸出(I/O)口   1.3MCS-51單片機(jī)指令系統(tǒng)分析   1.3.1指令系統(tǒng)的尋址方式   1.3.2指令系統(tǒng)的使用要點(diǎn)   1.3.3指令系統(tǒng)分類總結(jié)   1.4串行接口與定時/計(jì)數(shù)器   1.4.1串行接口簡介   1.4.2定時器/計(jì)數(shù)器的結(jié)構(gòu)   1.4.3定時器/計(jì)數(shù)器的四種工作模式   1.4.4定時器/計(jì)數(shù)器對輸入信號的要求   1.4.5定時器/計(jì)數(shù)器的編程和應(yīng)用   1.5中斷系統(tǒng)   1.5.1中斷請求源   1.5.2中斷控制   1.5.3中斷的響應(yīng)過程   1.5.4外部中斷的響應(yīng)時間   1.5.5外部中斷方式的選擇   第二章MCS-51單片機(jī)系統(tǒng)擴(kuò)展   2.1概述   2.2程序存貯器的擴(kuò)展   2.2.1外部程序存貯器的擴(kuò)展原理及時序   2.2.2地址鎖存器   2.2.3EPROM擴(kuò)展電路   2.2.4EEPROM擴(kuò)展電路   2.3外部數(shù)據(jù)存貯器的擴(kuò)展   2.3.1外部數(shù)據(jù)存貯器的擴(kuò)展方法及時序   2.3.2靜態(tài)RAM擴(kuò)展   2.3.3動態(tài)RAM擴(kuò)展   2.4外部I/O口的擴(kuò)展   2.4.1I/O口擴(kuò)展概述   2.4.2I/O口地址譯碼技術(shù)   2.4.38255A可編程并行I/O擴(kuò)展接口   2.4.48155/8156可編程并行I/O擴(kuò)展接口   2.4.58243并行I/O擴(kuò)展接口   2.4.6用TTL芯片擴(kuò)展I/O接口   2.4.7用串行口擴(kuò)展I/O接口   2.4.8中斷系統(tǒng)擴(kuò)展   第三章MCS-51單片機(jī)應(yīng)用系統(tǒng)的開發(fā)   3.1單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)   3.1.1設(shè)計(jì)前的準(zhǔn)備工作   3.1.2應(yīng)用系統(tǒng)的硬件設(shè)計(jì)   3.1.3應(yīng)用系統(tǒng)的軟件設(shè)計(jì)   3.1.4應(yīng)用系統(tǒng)的抗干擾設(shè)計(jì)   3.2單片機(jī)應(yīng)用系統(tǒng)的開發(fā)   3.2.1仿真系統(tǒng)的功能   3.2.2開發(fā)手段的選擇   3.2.3應(yīng)用系統(tǒng)的開發(fā)過程   3.3SICE—IV型單片機(jī)仿真器   3.3.1SICE-IV仿真器系統(tǒng)結(jié)構(gòu)   3.3.2SICE-IV的仿真特性和軟件功能   3.3.3SICE-IV與主機(jī)和終端的連接使用方法   3.4KHK-ICE-51單片機(jī)仿真開發(fā)系統(tǒng)   3.4.1KHK—ICE-51仿真器系統(tǒng)結(jié)構(gòu)   3.4.2仿真器系統(tǒng)功能特點(diǎn)   3.4.3KHK-ICE-51仿真系統(tǒng)的安裝及其使用   3.5單片機(jī)應(yīng)用系統(tǒng)的調(diào)試   3.5.1應(yīng)用系統(tǒng)聯(lián)機(jī)前的靜態(tài)調(diào)試   3.5.2外部數(shù)據(jù)存儲器RAM的測試   3.5.3程序存儲器的調(diào)試   3.5.4輸出功能模塊調(diào)試   3.5.5可編程I/O接口芯片的調(diào)試   3.5.6外部中斷和定時器中斷的調(diào)試   3.6用戶程序的編輯、匯編、調(diào)試、固化及運(yùn)行   3.6.1源程序的編輯   3.6.2源程序的匯編   3.6.3用戶程序的調(diào)試   3.6.4用戶程序的固化   3.6.5用戶程序的運(yùn)行   第四章鍵盤及其接口技術(shù)   4.1鍵盤輸入應(yīng)解決的問題   4.1.1鍵盤輸入的特點(diǎn)   4.1.2按鍵的確認(rèn)   4.1.3消除按鍵抖動的措施   4.2獨(dú)立式按鍵接口設(shè)計(jì)   4.3矩陣式鍵盤接口設(shè)計(jì)   4.3.1矩陣鍵盤工作原理   4.3.2按鍵的識別方法   4.3.3鍵盤的編碼   4.3.4鍵盤工作方式   4.3.5矩陣鍵盤接口實(shí)例及編程要點(diǎn)   4.3.6雙功能及多功能鍵設(shè)計(jì)   4.3.7鍵盤處理中的特殊問題一重鍵和連擊   4.48279鍵盤、顯示器接口芯片及應(yīng)用   4.4.18279的組成和基本工作原理   4.4.28279管腳、引線及功能說明   4.4.38279編程   4.4.48279鍵盤接口實(shí)例   4.5功能開關(guān)及撥碼盤接口設(shè)計(jì)   第五章顯示器接口設(shè)計(jì)   5.1LED顯示器   5.1.1LED段顯示器結(jié)構(gòu)與原理   5.1.2LED顯示器及顯示方式   5.1.3LED顯示器接口實(shí)例   5.1.4LED顯示器驅(qū)動技術(shù)   5.2單片機(jī)應(yīng)用系統(tǒng)中典型鍵盤、顯示接口技術(shù)   5.2.1用8255和串行口擴(kuò)展的鍵盤、顯示器電路   5.2.2由鎖存器組成的鍵盤、顯示器接口電路   5.2.3由8155構(gòu)成的鍵盤、顯示器接口電路   5.2.4用8279組成的顯示器實(shí)例   5.3液晶顯示LCD   5.3.1LCD的基本結(jié)構(gòu)及工作原理   5.3.2LCD的驅(qū)動方式   5.3.34位LCD靜態(tài)驅(qū)動芯片ICM7211系列簡介   5.3.4點(diǎn)陣式液晶顯示控制器HD61830介紹   5.3.5點(diǎn)陣式液晶顯示模塊介紹   5.4熒光管顯示   5.5LED大屏幕顯示器   第六章打印機(jī)接口設(shè)計(jì)   6.1打印機(jī)簡介   6.1.1打印機(jī)的基本知識   6.1.2打印機(jī)的電路構(gòu)成   6.1.3打印機(jī)的接口信號   6.1.4打印機(jī)的打印命令   6.2TPμP-40A微打與單片機(jī)接口設(shè)計(jì)   6.2.1TPμP系列微型打印機(jī)簡介   6.2.2TPμP-40A打印功能及接口信號   6.2.3TPμP-40A工作方式及打印命令   6.2.48031與TPμP-40A的接口   6.2.5打印編程實(shí)例   6.3XLF微型打印機(jī)與單片機(jī)接口設(shè)計(jì)   6.3.1XLF微打簡介   6.3.2XLF微打接口信號及與8031接口設(shè)計(jì)   6.3.3XLF微打控制命令   6.3.4打印機(jī)編程   6.4標(biāo)準(zhǔn)寬行打印機(jī)與8031接口設(shè)計(jì)   6.4.1TH3070接口引腳信號及時序   6.4.2與8031的簡單接口   6.4.3通過打印機(jī)適配器完成8031與打印機(jī)的接口   6.4.4對打印機(jī)的編程   第七章模擬輸入通道接口技術(shù)   7.1傳感器   7.1.1傳感器的分類   7.1.2溫度傳感器   7.1.3光電傳感器   7.1.4濕度傳感器   7.1.5其他傳感器   7.2模擬信號放大技術(shù)   7.2.1基本放大器電路   7.2.2集成運(yùn)算放大器   7.2.3常用運(yùn)算放大器及應(yīng)用舉例   7.2.4測量放大器   7.2.5程控增益放大器   7.2.6隔離放大器   7.3多通道模擬信號輸入技術(shù)   7.3.1多路開關(guān)   7.3.2常用多路開關(guān)   7.3.3模擬多路開關(guān)   7.3.4常用模擬多路開關(guān)   7.3.5多路模擬開關(guān)應(yīng)用舉例   7.3.6多路開關(guān)的選用   7.4采樣/保持電路設(shè)計(jì)   7.4.1采樣/保持原理   7.4.2集成采樣/保持器   7.4.3常用集成采樣/保持器   7.4.4采樣保持器的應(yīng)用舉例   7.5有源濾波器的設(shè)計(jì)   7.5.1濾波器分類   7.5.2有源濾波器的設(shè)計(jì)   7.5.3常用有源濾波器設(shè)計(jì)舉例   7.5.4集成有源濾波器   第八章D/A轉(zhuǎn)換器與MCS-51單片機(jī)的接口設(shè)計(jì)與實(shí)踐   8.1D/A轉(zhuǎn)換器的基本原理及主要技術(shù)指標(biāo)   8.1.1D/A轉(zhuǎn)換器的基本原理與分類   8.1.2D/A轉(zhuǎn)換器的主要技術(shù)指標(biāo)   8.2D/A轉(zhuǎn)換器件選擇指南   8.2.1集成D/A轉(zhuǎn)換芯片介紹   8.2.2D/A轉(zhuǎn)換器的選擇要點(diǎn)及選擇指南表   8.2.3D/A轉(zhuǎn)換器接口設(shè)計(jì)的幾點(diǎn)實(shí)用技術(shù)   8.38位D/A轉(zhuǎn)換器DAC080/0831/0832與MCS-51單片機(jī)的接口設(shè)計(jì)   8.3.1DAC0830/0831/0832的應(yīng)用特性與引腳功能   8.3.2DAC0830/0831/0832與8031單片機(jī)的接口設(shè)計(jì)   8.3.3DAC0830/0831/0832的調(diào)試說明   8.3.4DAC0830/0831/0832應(yīng)用舉例   8.48位D/A轉(zhuǎn)換器AD558與MCS-51單片機(jī)的接口設(shè)計(jì)   8.4.1AD558的應(yīng)用特性與引腳功能   8.4.2AD558與8031單片機(jī)的接口及調(diào)試說明   8.4.38位D/A轉(zhuǎn)換器DAC0800系列與8031單片機(jī)的接口   8.510位D/A轉(zhuǎn)換器AD7522與MCS-51的硬件接口設(shè)計(jì)   8.5.1AD7522的應(yīng)用特性及引腳功能   8.5.2AD7522與8031單片機(jī)的接口設(shè)計(jì)   8.610位D/A轉(zhuǎn)換器AD7520/7530/7533與MCS一51單片機(jī)的接口設(shè)計(jì)   8.6.1AD7520/7530/7533的應(yīng)用特性與引腳功能   8.6.2AD7520系列與8031單片機(jī)的接口   8.6.3DAC1020/DAC1220/AD7521系列D/A轉(zhuǎn)換器接口設(shè)計(jì)   8.712位D/A轉(zhuǎn)換器DAC1208/1209/1210與MCS-51單片機(jī)的接口設(shè)計(jì)   8.7.1DAC1208/1209/1210的內(nèi)部結(jié)構(gòu)與引腳功能   8.7.2DAC1208/1209/1210與8031單片機(jī)的接口設(shè)計(jì)   8.7.312位D/A轉(zhuǎn)換器DAC1230/1231/1232的應(yīng)用設(shè)計(jì)說明   8.7.412位D/A轉(zhuǎn)換器AD7542與8031單片機(jī)的接口設(shè)計(jì)   8.812位串行DAC-AD7543與MCS-51單片機(jī)的接口設(shè)計(jì)   8.8.1AD7543的應(yīng)用特性與引腳功能   8.8.2AD7543與8031單片機(jī)的接口設(shè)計(jì)   8.914位D/A轉(zhuǎn)換器AD75335與MCS-51單片機(jī)的接口設(shè)計(jì)   8.9.1AD8635的內(nèi)部結(jié)構(gòu)與引腳功能   8.9.2AD7535與8031單片機(jī)的接口設(shè)計(jì)   8.1016位D/A轉(zhuǎn)換器AD1147/1148與MCS-51單片機(jī)的接口設(shè)計(jì)   8.10.1AD1147/AD1148的內(nèi)部結(jié)構(gòu)及引腳功能   8.10.2AD1147/AD1148與8031單片機(jī)的接口設(shè)計(jì)   8.10.3AD1147/AD1148接口電路的應(yīng)用調(diào)試說明   8.10.416位D/A轉(zhuǎn)換器AD1145與8031單片機(jī)的接口設(shè)計(jì)   第九章A/D轉(zhuǎn)換器與MCS-51單片機(jī)的接口設(shè)計(jì)與實(shí)踐   9.1A/D轉(zhuǎn)換器的基本原理及主要技術(shù)指標(biāo)   9.1.1A/D轉(zhuǎn)換器的基本原理與分類   9.1.2A/D轉(zhuǎn)換器的主要技術(shù)指標(biāo)   9.2面對課題如何選擇A/D轉(zhuǎn)換器件   9.2.1常用A/D轉(zhuǎn)換器簡介   9.2.2A/D轉(zhuǎn)換器的選擇要點(diǎn)及應(yīng)用設(shè)計(jì)的幾點(diǎn)實(shí)用技術(shù)   9.38位D/A轉(zhuǎn)換器ADC0801/0802/0803/0804/0805與MCS-51單片機(jī)的接口設(shè)計(jì)   9.3.1ADC0801~ADC0805芯片的引腳功能及應(yīng)用特性   9.3.2ADC0801~ADC0805與8031單片機(jī)的接口設(shè)計(jì)   9.48路8位A/D轉(zhuǎn)換器ADC0808/0809與MCS一51單片機(jī)的接口設(shè)計(jì)   9.4.1ADC0808/0809的內(nèi)部結(jié)構(gòu)及引腳功能   9.4.2ADC0808/0809與8031單片機(jī)的接口設(shè)計(jì)   9.4.3接口電路設(shè)計(jì)中的幾點(diǎn)注意事項(xiàng)   9.4.416路8位A/D轉(zhuǎn)換器ADC0816/0817與MCS-51單片機(jī)的接口設(shè)計(jì)   9.510位A/D轉(zhuǎn)換器AD571與MCS-51單片機(jī)的接口設(shè)計(jì)   9.5.1AD571芯片的引腳功能及應(yīng)用特性   9.5.2AD571與8031單片機(jī)的接口   9.5.38位A/D轉(zhuǎn)換器AD570與8031單片機(jī)的硬件接口   9.612位A/D轉(zhuǎn)換器ADC1210/1211與MCS-51單片機(jī)的接口設(shè)計(jì)   9.6.1ADC1210/1211的引腳功能與應(yīng)用特性   9.6.2ADC1210/1211與8031單片機(jī)的硬件接口   9.6.3硬件接口電路的設(shè)計(jì)要點(diǎn)及幾點(diǎn)說明   9.712位A/D轉(zhuǎn)換器AD574A/1374/1674A與MCS-51單片機(jī)的接口設(shè)計(jì)   9.7.1AD574A的內(nèi)部結(jié)構(gòu)與引腳功能   9.7.2AD574A的應(yīng)用特性及校準(zhǔn)   9.7.3AD574A與8031單片機(jī)的硬件接口設(shè)計(jì)   9.7.4AD574A的應(yīng)用調(diào)試說明   9.7.5AD674A/AD1674與8031單片機(jī)的接口設(shè)計(jì)   9.8高速12位A/D轉(zhuǎn)換器AD578/AD678/AD1678與MCS—51單片機(jī)的接口設(shè)計(jì)   9.8.1AD578的應(yīng)用特性與引腳功能   9.8.2AD578高速A/D轉(zhuǎn)換器與8031單片機(jī)的接口設(shè)計(jì)   9.8.3AD578高速A/D轉(zhuǎn)換器的應(yīng)用調(diào)試說明   9.8.4AD678/AD1678采樣A/D轉(zhuǎn)換器與8031單片機(jī)的接口設(shè)計(jì)   9.914位A/D轉(zhuǎn)換器AD679/1679與MCS-51單片機(jī)的接口設(shè)計(jì)   9.9.1AD679/AD1679的應(yīng)用特性及引腳功能   9.9.2AD679/1679與8031單片機(jī)的接口設(shè)計(jì)   9.9.3AD679/1679的調(diào)試說明   9.1016位ADC-ADC1143與MCS-51單片機(jī)的接口設(shè)計(jì)   9.10.1ADC1143的應(yīng)用特性及引腳功能   9.10.2ADC1143與8031單片機(jī)的接口設(shè)計(jì)   9.113位半積分A/D轉(zhuǎn)換器5G14433與MCS-51單片機(jī)的接口設(shè)計(jì)   9.11.15G14433的內(nèi)部結(jié)構(gòu)及引腳功能   9.11.25G14433的外部電路連接與元件參數(shù)選擇   9.11.35G14433與8031單片機(jī)的接口設(shè)計(jì)   9.11.45G14433的應(yīng)用舉例   9.124位半積分A/D轉(zhuǎn)換器ICL7135與MCS—51單片機(jī)的接口設(shè)計(jì)   9.12.1ICL7135的內(nèi)部結(jié)構(gòu)及芯片引腳功能   9.12.2ICL7135的外部電路連接與元件參數(shù)選擇   9.12.3ICL7135與8031單片機(jī)的硬件接口設(shè)計(jì)   9.124ICL7135的應(yīng)用舉例   9.1312位雙積分A/D轉(zhuǎn)換器ICL7109與MCS—51單片機(jī)的接口設(shè)計(jì)   9.13.1ICL7109的內(nèi)部結(jié)構(gòu)與芯片引腳功能   9.13.2ICL7109的外部電路連接與元件參數(shù)選擇   9.13.3ICL7109與8031單片機(jī)的硬件接口設(shè)計(jì)   9.1416位積分型ADC一ICL7104與MCS-51單片機(jī)的接口設(shè)計(jì)   9.14.1ICL7104的主要應(yīng)用特性及引腳功能   9.14.2ICL7104與8031單片機(jī)的接口設(shè)計(jì)   9.14.3其它積分型A/D轉(zhuǎn)換器簡介   第十章V/F轉(zhuǎn)換器接口技術(shù)   10.1V/F轉(zhuǎn)換的特點(diǎn)及應(yīng)用環(huán)境   10.2V/F轉(zhuǎn)換原理及用V/F轉(zhuǎn)換器實(shí)現(xiàn)A/D轉(zhuǎn)換的方法   10.2.1V/F轉(zhuǎn)換原理   10.2.2用V/F轉(zhuǎn)換器實(shí)現(xiàn)A/D轉(zhuǎn)換的方法   10.3常用V/F轉(zhuǎn)換器簡介   10.3.1VFC32   10.3.2LMX31系列V/F轉(zhuǎn)換器   10.3.3AD650   10.3.4AD651   10.4V/F轉(zhuǎn)換應(yīng)用系統(tǒng)中的通道結(jié)構(gòu)   10.5LM331應(yīng)用實(shí)例   10.5.1線路原理   10.5.2軟件設(shè)計(jì)   10.6AD650應(yīng)用實(shí)例   10.6.1AD650外圍電路設(shè)計(jì)   10.6.2定時/計(jì)數(shù)器(8253—5簡介)   10.6.3線路原理   10.6.4軟件設(shè)計(jì)   第十一章串行通訊接口技術(shù)   11.1串行通訊基礎(chǔ)   11.1.1異步通訊和同步通訊   11.1.2波特率和接收/發(fā)送時鐘   11.1.3單工、半雙工、全雙工通訊方式   11.14信號的調(diào)制與解調(diào)   11.1.5通訊數(shù)據(jù)的差錯檢測和校正   11.1.6串行通訊接口電路UART、USRT和USART   11.2串行通訊總線標(biāo)準(zhǔn)及其接口   11.2.1串行通訊接口   11.2.2RS-232C接口   11.2.3RS-449、RS-422、RS-423及RS485   11.2.420mA電流環(huán)路串行接口   11.3MCS-51單片機(jī)串行接口   11.3.1串行口的結(jié)構(gòu)   11.3.2串行接口的工作方式   11.3.3串行通訊中波特率設(shè)置   11.4MCS-51單片機(jī)串行接口通訊技術(shù)   11.4.1單片機(jī)雙機(jī)通訊技術(shù)   11.4.2單片機(jī)多機(jī)通訊技術(shù)   11.5IBMPC系列機(jī)與單片機(jī)的通訊技術(shù)   11.5.1異步通訊適配器   11.5.2IBM-PC機(jī)與8031雙機(jī)通訊技術(shù)   11.5.3IBM—PC機(jī)與8031多機(jī)通訊技術(shù)   11.6MCS-51單片機(jī)串行接口的擴(kuò)展   11.6.1Intel8251A可編程通訊接口   11.6.2擴(kuò)展多路串行口的硬件設(shè)計(jì)   11.6.3通訊軟件設(shè)計(jì)   第十二章應(yīng)用系統(tǒng)設(shè)計(jì)中的實(shí)用技術(shù)   12.1MCS-51單片機(jī)低功耗系統(tǒng)設(shè)計(jì)   12.1.1CHMOS型單片機(jī)80C31/80C51/87C51的組成與使用要點(diǎn)   12.1.2CHMOS型單片機(jī)的空閑、掉電工作方式   12.1.3CHMOS型單片機(jī)的I/O接口及應(yīng)用系統(tǒng)實(shí)例   12.1.4HMOS型單片機(jī)的節(jié)電運(yùn)行方式   12.2邏輯電平接口技術(shù)   12.2.1集電極開路門輸出接口   12.2.2TTL、HTL、ECL、CMOS電平轉(zhuǎn)換接口   12.3電壓/電流轉(zhuǎn)換   12.3.1電壓/0~10mA轉(zhuǎn)換   12.3.2電壓1~5V/4~20mA轉(zhuǎn)換   12.3.30~10mA/0~5V轉(zhuǎn)換   12.344~20mA/0~5V轉(zhuǎn)換   12.3.5集成V/I轉(zhuǎn)換電路   12.4開關(guān)量輸出接口技術(shù)   12.4.1輸出接口隔離技術(shù)   12.4.2低壓開關(guān)量信號輸出技術(shù)   12.4.3繼電器輸出接口技術(shù)   12.4.4可控硅(晶閘管)輸出接口技術(shù)   12.4.5固態(tài)繼電器輸出接口   12.4.6集成功率電子開關(guān)輸出接口   12.5集成穩(wěn)壓電路   12.5.1電源隔離技術(shù)   12.5.2三端集成穩(wěn)壓器   12.5.3高精度電壓基準(zhǔn)   12.6量程自動轉(zhuǎn)換技術(shù)   12.6.1自動轉(zhuǎn)換量程的硬件電路   12.6.2自動轉(zhuǎn)換量程的軟件設(shè)計(jì)   附錄AMCS-51單片機(jī)指令速查表   附錄B常用EPROM固化電壓參考表   參考文獻(xiàn)

    標(biāo)簽: MCS 51 單片機(jī)實(shí)用 接口技術(shù)

    上傳時間: 2013-10-15

    上傳用戶:himbly

  • 單片機(jī)應(yīng)用技術(shù)選編3

    單片機(jī)應(yīng)用技術(shù)選編(3) 目錄  第一章 單片機(jī)的綜合應(yīng)用技術(shù)1.1 8098單片機(jī)存儲器的擴(kuò)展技術(shù)1.2 87C196KC單片機(jī)的DMA功能1.3 MCS?96系列單片機(jī)高精度接口設(shè)計(jì)1.4 利用PC機(jī)的8096軟件開發(fā)系統(tǒng)1.5 EPROM模擬器及其應(yīng)用1.6 MCS?51智能反匯編軟件的設(shè)計(jì)與實(shí)現(xiàn)1.7 MCS?51系列軟件設(shè)計(jì)與調(diào)試中一個值得注意的問題1.8 PL/M語言在微機(jī)開發(fā)系統(tǒng)中的應(yīng)用特性1.9 MCS?51單片機(jī)開發(fā)系統(tǒng)中的斷點(diǎn)產(chǎn)生1.10 C語言實(shí)型數(shù)與單片機(jī)浮點(diǎn)數(shù)之間數(shù)據(jù)格式的轉(zhuǎn)換1.11 微機(jī)控制系統(tǒng)初始化問題探討1.12 MCS?51中斷系統(tǒng)中的復(fù)位問題1.13 工業(yè)控制軟件的編程原則與編程技巧1.14 CMOS微處理器的功耗特性及其功耗控制原理和應(yīng)用1.15 基于PLL技術(shù)的A/D、D/A轉(zhuǎn)換器的設(shè)計(jì)1.16 智能儀器監(jiān)控程序的模塊化設(shè)計(jì)1.17 用軟件邏輯開關(guān)實(shí)現(xiàn)單片機(jī)的地址重疊使用1.18 8259A可編程中斷控制器與8031單片機(jī)接口電路及編程1.19 NSC810及其在各種微處理機(jī)中的應(yīng)用1.20 MC146818在使用中的幾個問題1.21 交流伺服系統(tǒng)中采用8155兼作雙口信箱存儲器的雙微機(jī)結(jié)構(gòu)1.22 實(shí)用漢字庫芯片的制作 第二章 新一代存儲器及邏輯器件2.1 新一代非易失性記憶元件--閃爍存儲器2.2 Flash存儲器及應(yīng)用2.3 隨機(jī)靜態(tài)存儲器HM628128及應(yīng)用2.4 非揮發(fā)性隨機(jī)存儲器NOVRAM2.5 ASIC的設(shè)計(jì)方法和設(shè)計(jì)工具2.6 GAL器件的編程方法及其應(yīng)用2.7 第三代可編程邏輯器件--高密EPLD輯器件EPLDFPGA設(shè)計(jì)轉(zhuǎn)換 第三章 數(shù)據(jù)采集、前向通道與測量技術(shù) 3.1 溫度傳感器通道接口技術(shù) 3.2 LM135系列精密溫度傳感器的原理和應(yīng)用 3.3 儀表放大器AD626的應(yīng)用 3.4 5G7650使用中應(yīng)注意的問題 3.5 用集成運(yùn)算放大器構(gòu)成電荷放大器組件 3.6 普通光電耦合器的線性應(yīng)用 3.7 高線性光耦合型隔離放大器的研制 3.8 一種隔離型16位單片機(jī)高精度模擬量接口3.9 單片16位A/D轉(zhuǎn)換器AD7701及其與8031單片機(jī)的串行接口3.10 雙積分型A/D轉(zhuǎn)換器與MCS?51系列單片機(jī)接口的新方法3.11 8031單片機(jī)與AD574A/D轉(zhuǎn)換器的最簡接口3.12 8098單片機(jī)A/D轉(zhuǎn)換接口及其程序設(shè)計(jì)3.13 提高A/D轉(zhuǎn)換器分辨率的實(shí)用方案3.14 用CD4051提高8098單片機(jī)內(nèi)10位A/D轉(zhuǎn)換器分辨率的方法3.15 單片機(jī)實(shí)現(xiàn)16位高速積分式A/D轉(zhuǎn)換器3.16 434位A/D轉(zhuǎn)換器MAX133(134)的原理及應(yīng)用3.17 AD574A應(yīng)用中應(yīng)注意的問題 3.18 CC14433使用中應(yīng)注意的問題 3.19 高精度寬范圍數(shù)據(jù)采集系統(tǒng)的溫度補(bǔ)償途徑 3.20 縮短ICL7135A/D采樣程序時間的一種方法 3.21 用單片機(jī)實(shí)現(xiàn)的數(shù)字式自動增益控制 3.22 自動量程轉(zhuǎn)換電路 3.23 雙積分型A/D的自動量程切換電路 3.24 常用雙積分型A/D轉(zhuǎn)換器自換程功能的擴(kuò)展3.25 具有自動量程轉(zhuǎn)換功能的單片機(jī)A/D接口3.26 混合型數(shù)據(jù)采集器SDM857的功能與應(yīng)用3.27 高速數(shù)據(jù)采集系統(tǒng)的傳輸接口3.28 SJ2000方向鑒別位移脈寬頻率檢測多用途專用集成電路3.29 多路高速高精度F/D專用集成電路3.30 數(shù)控帶通濾波器的實(shí)現(xiàn)及其典型應(yīng)用 第四章 控制系統(tǒng)與后向通道接口技術(shù)4.1 模糊邏輯與模糊控制4.2 自動控制技術(shù)的新發(fā)展--模糊控制技術(shù)4.3 模糊控制表的確定原則4.4 變結(jié)構(gòu)模糊控制系統(tǒng)的實(shí)驗(yàn)研究4.5 新型集成模糊數(shù)據(jù)相關(guān)器NLX1124.6 功率固態(tài)繼電器的應(yīng)用4.7 雙向功率MOS固態(tài)繼電器4.8 SSR小型固態(tài)繼電器與PSSR功率參數(shù)固態(tài)繼電器4.9 JGD型多功能固態(tài)繼電器的原理和應(yīng)用4.10 光電耦合器在晶閘管觸發(fā)電路中的應(yīng)用4.11 一種廉價的12位D/A轉(zhuǎn)換器AD667及接口4.12 利用單片機(jī)構(gòu)成高精度PWM式12位D/A4.13 三相高頻PWM模塊SLE45204.14 專用集成電路TCA785及其應(yīng)用4.15 單片溫度控制器LM3911的應(yīng)用4.16 工業(yè)測控系統(tǒng)軟件設(shè)計(jì)的若干問題研究 第五章 人機(jī)對話通道接口技術(shù)5.1 廉價實(shí)用的8×8鍵盤5.2 單片機(jī)遙控鍵盤接口5.3 對8279鍵盤顯示接口的改進(jìn)5.4 用單片機(jī)8031的七根I/O線實(shí)現(xiàn)對鍵盤與顯示器的控制5.5 通用8位LED數(shù)碼管驅(qū)動電路ICM7218B5.6 利用條圖顯示驅(qū)動器LM3914組成100段LED顯示器的方法5.7 液晶顯示器的多極驅(qū)動方式5.8 點(diǎn)陣式液晶顯示屏的構(gòu)造與應(yīng)用5.9 點(diǎn)陣式液晶顯示器圖形程序設(shè)計(jì)5.10 DMF5001N點(diǎn)陣式液晶顯示器和8098單片機(jī)的接口技術(shù)5.11 8098單片機(jī)與液晶顯示控制器HD61830接口5.12 利用PL/M語言對點(diǎn)陣式液晶顯示器進(jìn)行漢字程序設(shè)計(jì)5.13 語音合成器TMS 5220的開發(fā)與應(yīng)用5.14 制作T6668語音系統(tǒng)的一些技術(shù)問題5.15 單片機(jī)、單板機(jī)在屏顯系統(tǒng)中的應(yīng)用 第六章 多機(jī)通訊網(wǎng)絡(luò)與遙控技術(shù)6.1 用雙UART構(gòu)成的可尋址遙測點(diǎn)裝置--兼談如何組成系統(tǒng)6.2 IBM?PC微機(jī)與8098單片機(jī)的多機(jī)通訊6.3 80C196單片機(jī)與IBM?PC機(jī)的串行通訊6.4 IBM?PC與MCS?51多機(jī)通訊的研究6.5 半雙工方式傳送的單片機(jī)多機(jī)通信接口電路及軟件設(shè)計(jì)6.6 單片機(jī)與IBM/PC機(jī)通訊的新型接口及編程6.7 用光耦實(shí)現(xiàn)一點(diǎn)對多點(diǎn)的總線式通訊電路6.8 用EPROM作為通訊變換器實(shí)現(xiàn)多機(jī)通訊6.9 ICL232單電源雙RS?232發(fā)送/接收器及其應(yīng)用6.10 DTMF信號發(fā)送/接收電路芯片MT8880及應(yīng)用6.11 通用紅外線遙控系統(tǒng)6.12 8031單片機(jī)在遙控解碼方面的應(yīng)用 第七章 電源、電壓變換及電源監(jiān)視7.1 用于微機(jī)控制系統(tǒng)的高可靠性供電方法7.2 80C31單片機(jī)防掉電和抗干擾電源的設(shè)計(jì)7.3 可編程基準(zhǔn)電壓源7.4 電源電壓監(jiān)視器件M81953B7.5 檢出電壓可任意設(shè)定的電源電壓監(jiān)測器7.6 低壓降(LDO?Low Drop?Out)穩(wěn)壓器7.7 LM317三端可調(diào)穩(wěn)壓器應(yīng)用二例7.8 三端集成穩(wěn)壓器的擴(kuò)流應(yīng)用 第八章 可靠性與抗干擾技術(shù)8.1 數(shù)字電路的可靠性設(shè)計(jì)實(shí)踐與體會8.2 單片機(jī)容錯系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)8.3 微機(jī)測控系統(tǒng)的接地、屏蔽和電源供給8.4 ATE的抗干擾及接地技術(shù)8.5 微處理器監(jiān)控電路MAX690A/MAX692A8.6 電測儀表電路的實(shí)用抗干擾技術(shù)8.7 工業(yè)鍍鋅電阻爐溫度控制機(jī)的抗干擾措施8.8 一種簡單的抗干擾控制算法 ? 第九章 綜合應(yīng)用實(shí)例9.1 蔬菜灌溉相關(guān)參數(shù)的自動檢測9.2 MH?214溶解氧測定儀9.3 COP840C單片機(jī)在液晶線控空調(diào)電腦控制器中的應(yīng)用9.4 單片機(jī)在電飯煲中的應(yīng)用9.5 用PIC單片機(jī)制作電扇自然風(fēng)發(fā)生器 第十章 文章摘要 一、 單片機(jī)的綜合應(yīng)用技術(shù)1.1 摩托羅拉8位單片機(jī)的應(yīng)用和開發(fā)1.2 NS公司的COP800系列8位單片機(jī)1.3 M68HC11與MCS?51單片機(jī)功能比較1.4 8098單片機(jī)8M存儲空間的擴(kuò)展技術(shù)1.5 80C196KC單片機(jī)的外部設(shè)備事件服務(wù)器1.6 一種多進(jìn)程實(shí)時控制系統(tǒng)的軟件設(shè)計(jì)1.7 開發(fā)單片機(jī)的結(jié)構(gòu)化高級語言PL/M?961.8 應(yīng)用軟件開發(fā)中的菜單接口技術(shù)1.9 單片機(jī)用戶系統(tǒng)EPROM中用戶程序的剖析方法1.10 BJS?98硬件、軟件典型實(shí)驗(yàn)1.11 FORTH語言系統(tǒng)的開發(fā)應(yīng)用1.12 在Transputer系統(tǒng)上用并行C語言編程的特點(diǎn)1.13 一種軟件擴(kuò)展8031內(nèi)部計(jì)數(shù)器簡易方法1.14 MCS 51系列單片機(jī)功能測試方法研究1.15 用CD 4520B設(shè)計(jì)對稱輸出分頻器的方法1.16 多路模擬開關(guān)CC 4051功能擴(kuò)展方法1.17 條形碼技術(shù)及其應(yīng)用系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)? 二、 新一代存儲器及邏輯器件2.1 一種多功能存儲器M6M 72561J2.2 串行E2PROM及其在智能儀器中的應(yīng)用2.3 新型高性能的AT24C系列串行E2PROM2.4 2K~512K EPROM編程卡2.5 電子盤的設(shè)計(jì)與實(shí)現(xiàn)2.6 NS GAL器件的封裝標(biāo)簽、類型代碼和編程結(jié)構(gòu)間的關(guān)系 三、數(shù)據(jù)采集、前向通道與測量技術(shù)3.1 儀器用精密運(yùn)放CA3193的應(yīng)用3.2 集成電壓?電流轉(zhuǎn)換器XTR100的應(yīng)用3.3 瞬時浮點(diǎn)放大器及應(yīng)用3.4 隔離放大器289J及其應(yīng)用3.5 ICS?300系列新型加速度傳感器3.6 一種實(shí)用的壓力傳感器接口電路3.7 霍爾傳感器的應(yīng)用3.8 一種對多個傳感器進(jìn)行調(diào)理的方法3.9 兩線制壓力變送器3.10 小信號雙線變送器XTR101的使用3.11 兩線長距離頻率傳輸壓力變送器的設(shè)計(jì)3.12 測溫元件AD590及其應(yīng)用3.13 熱敏電阻應(yīng)用動態(tài)3.14 一種組合式A/D、D/A轉(zhuǎn)換器的設(shè)計(jì)3.15 一種復(fù)合式A/D轉(zhuǎn)換器3.16 TLC549串行輸出ADC及其應(yīng)用3.17 提高A/D轉(zhuǎn)換精度的方法--雙通道A/D轉(zhuǎn)換3.18 模數(shù)轉(zhuǎn)換器ICL7135的0~3.9999V顯示3.19 微型光耦合器3.20 一種高精度的分壓器電路3.21 利用單片機(jī)軟件作熱電偶非線性補(bǔ)償3.22 三線制RTD測量電路及應(yīng)用中要注意的問題3.23 微伏信號高精度檢測中極易被忽略的問題3.24 寬范圍等分辨率精密測量法3.25 傳感器在線校準(zhǔn)系統(tǒng)3.26 一種高精度的熱敏電阻測溫電路3.27 超聲波專用集成電路LM1812的原理與應(yīng)用3.28 旋轉(zhuǎn)變壓器數(shù)字化檢測及其在8098單片機(jī)控制伺服系統(tǒng)中的應(yīng)用3.29 單片集成兩端式感溫電流源AD590在溫度測控系統(tǒng)中的應(yīng)用?3.30 數(shù)字示波器和單片機(jī)構(gòu)成的自動測試系統(tǒng)3.31 霍爾效應(yīng)式功率測量研究 四、 控制系統(tǒng)與后向通道接口技術(shù)4.1 模糊邏輯與模糊控制(實(shí)用模糊控制講座之一)4.2 紅綠燈模糊控制器(實(shí)用模糊控制講座之二)4.3 國外模糊技術(shù)新產(chǎn)品4.4 交流串級調(diào)速雙環(huán)模糊PI單片機(jī)控制系統(tǒng)4.5 時序控制專用集成電路LT156及其應(yīng)用4.6 電池充電控制集成電路4.7 雙向晶閘管4.8 雙向可控硅的自觸發(fā)電路及其應(yīng)用4.9 微處理器晶閘管頻率自適應(yīng)觸發(fā)器4.10 F18系列晶閘管模塊介紹4.11 集成電路UAA4002的原理及應(yīng)用4.12 IGBT及其驅(qū)動電路4.13 TWH8751應(yīng)用集錦4.14 結(jié)構(gòu)可變式計(jì)算機(jī)工業(yè)控制系統(tǒng)設(shè)計(jì)4.15 單片機(jī)控制的音響編輯器 五、 人機(jī)對話通道接口技術(shù)5.1 5×7點(diǎn)陣LED智能顯示器的應(yīng)用5.2 基于8031串行口的LED電子廣告牌5.3 點(diǎn)陣液晶顯示控制器與計(jì)算機(jī)的接口技術(shù)5.4 單片機(jī)控制可編程液晶顯示系統(tǒng)5.5 大規(guī)模語言集成電路應(yīng)用綜述5.6 最新可編程語言集成電路MSSIO61的應(yīng)用5.7 用PC打印機(jī)接口擴(kuò)展并行接口 六、 多機(jī)系統(tǒng)、網(wǎng)絡(luò)與遙控技術(shù)6.1 用8098單片機(jī)構(gòu)成的分布式測溫系統(tǒng)6.2 平衡接口EIA?422和EIA485設(shè)計(jì)指南6.3 I2C BUS及其系統(tǒng)設(shè)計(jì)6.4 摩托羅拉可尋址異步接受/發(fā)送器6.5 用5V供電的RS232C接口芯片6.6 四通道紅外遙控器6.7 TA7333P和TA7657P的功能及應(yīng)用 七、 電源、電壓變換及電源監(jiān)視7.1 單片機(jī)控制的可控硅三相電源調(diào)壓穩(wěn)壓技術(shù)7.2 集成開關(guān)電源控制器MC34063的原理及應(yīng)用7.3 LM299精密基準(zhǔn)電壓源7.4 集成過壓保護(hù)器的應(yīng)用7.5 3V供電的革命7.6 HMOS微機(jī)的超低電源電壓運(yùn)行技術(shù) 八、 可靠性與抗干擾設(shè)計(jì)8.1 淺談艦船電磁兼容與可靠性 九、 綜合應(yīng)用實(shí)例9.1 8098單片機(jī)交流電氣參數(shù)測試系統(tǒng)的設(shè)計(jì)和應(yīng)用9.2 主軸回轉(zhuǎn)誤差補(bǔ)償控制器9.3 FWK?A型大功率發(fā)射臺微機(jī)控制系統(tǒng)9.4 高性能壓控振蕩型精密波形發(fā)生器ICL8038及應(yīng)用9.5 單片機(jī)COP 840C在洗碗機(jī)中的應(yīng)用

    標(biāo)簽: 單片機(jī) 應(yīng)用技術(shù)

    上傳時間: 2013-11-10

    上傳用戶:lijinchuan

  • 實(shí)現(xiàn)最優(yōu)二叉樹的構(gòu)造;在此基礎(chǔ)上完成哈夫曼編碼器與譯碼器。 假設(shè)報文中只會出現(xiàn)如下表所示的字符: 字符 A B C D E F G H I J K L M N 頻度 186 64 13 22

    實(shí)現(xiàn)最優(yōu)二叉樹的構(gòu)造;在此基礎(chǔ)上完成哈夫曼編碼器與譯碼器。 假設(shè)報文中只會出現(xiàn)如下表所示的字符: 字符 A B C D E F G H I J K L M N 頻度 186 64 13 22 32 103 21 15 47 57 1 5 32 20 57 字符 O P Q R S T U V W X Y Z , . 頻度 63 15 1 48 51 80 23 8 18 1 16 1 6 2 要求完成的系統(tǒng)應(yīng)具備如下的功能: 1.初始化。從終端(文件)讀入字符集的數(shù)據(jù)信息,。建立哈夫曼樹。 2.編碼:利用已建好的哈夫曼樹對明文文件進(jìn)行編碼,并存入目標(biāo)文件(哈夫曼碼文件)。 3.譯碼:利用已建好的哈夫曼樹對目標(biāo)文件(哈夫曼碼文件)進(jìn)行編碼,并存入指定的明文文件。 4.輸出哈夫曼編碼文件:輸出每一個字符的哈夫曼編碼。

    標(biāo)簽: 186 字符 13 64

    上傳時間: 2014-11-23

    上傳用戶:shanml

  • 第 一章 電路原理分析 1-1 顯示原理 1-2 數(shù)碼管結(jié)構(gòu)及代碼顯示 1-3 鍵盤及讀數(shù)原理 1-4 連擊功能的實(shí)現(xiàn) 第 二 章 程序設(shè)計(jì)思想和相關(guān)指令介紹 2-1 數(shù)據(jù)與代碼轉(zhuǎn)換 2

    第 一章 電路原理分析 1-1 顯示原理 1-2 數(shù)碼管結(jié)構(gòu)及代碼顯示 1-3 鍵盤及讀數(shù)原理 1-4 連擊功能的實(shí)現(xiàn) 第 二 章 程序設(shè)計(jì)思想和相關(guān)指令介紹 2-1 數(shù)據(jù)與代碼轉(zhuǎn)換 2-2 計(jì)時功能的實(shí)現(xiàn)與中斷服務(wù)程序 2-3 時間控制功能與比較指令 2-4 時鐘誤差的分析 附錄A 電路圖 附錄B 存儲單元地址表 附錄C 輸入輸出口功能分配表 附錄D 定時中斷程序流程圖 附錄F 調(diào)時功能流程圖 附錄G 程序清單

    標(biāo)簽: 電路原理 代碼 代碼轉(zhuǎn)換

    上傳時間: 2014-01-15

    上傳用戶:hustfanenze

  • 單片機(jī)原理及應(yīng)用 作業(yè) —— 數(shù)碼管 顯示 學(xué)號

    一、 實(shí)驗(yàn)?zāi)康氖褂?51單片機(jī)的八位數(shù)碼管順序顯示自己的學(xué)號。掌握 C 語言、匯編語言兩種編程單片機(jī)控制程序的方法。掌握使用 Keil 4 或 Keil 5 軟件編寫、編譯、調(diào)試程序的方法。掌握使用 Proteus 軟件繪制電路原理圖、硬件仿真和程序調(diào)試。二、實(shí)驗(yàn)設(shè)備筆記本電腦51 單片機(jī)(普中科技)八位數(shù)碼管(單片機(jī)上已集成)應(yīng)用程序:Proteus 8.0、Keil uVision5、stc-isp-v6.88E三、實(shí)驗(yàn)原理(1)數(shù)碼管數(shù)碼管按段數(shù)可分為七段數(shù)碼管和 8 段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個發(fā)光二極管單元,也就是多一個小數(shù)點(diǎn)(DP),這個小數(shù)點(diǎn)可以更精確的表示數(shù)碼管想要顯示的內(nèi)容。按能顯示多少個(8),可分為 1 位、2位、3位、4位、5 位、6位、7 位等數(shù)碼管。按發(fā)光二極管單元連接方式可分為共陽極數(shù)碼管和共陰極數(shù)碼管。共陽數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極(COM)的數(shù)碼管,共陽數(shù)碼管在應(yīng)用時將公共極 COM 接到+5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平時,相應(yīng)字段就點(diǎn)亮,當(dāng)某一字段的陰極為高電平時,相應(yīng)字段就不亮。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管,共陰數(shù)碼管在應(yīng)用時應(yīng)將公共極 COM 接到地線 GND上,當(dāng)某一字段發(fā)光二極管的陽極為高電平時,相應(yīng)字段就點(diǎn)亮,當(dāng)某一字段的陽極為低電平時,相應(yīng)字段就不亮。(2)51單片機(jī)單片機(jī)(Microcontrollers)是一種集成電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器 CPU、隨機(jī)存儲器 RAM、只讀存儲器ROM、多種 I/O口和中斷系統(tǒng)、定時器/計(jì)數(shù)器等功能集成到一塊硅片上構(gòu)成的一個小而完善的微型計(jì)算機(jī)系統(tǒng),在工業(yè)控制領(lǐng)域廣泛應(yīng)用。MSC-51 單片機(jī)指以 8051為核心的單片機(jī),由美國的 Intel 公司在 1980 年推出,80C51 是 MCS-51系列中的一個典型品種;其它廠商以 8051為基核開發(fā)出的CMOS 工藝單片機(jī)產(chǎn)品統(tǒng)稱為 80C51 系列。本實(shí)驗(yàn)中我使用普中科技的 51 單片機(jī)來點(diǎn)亮八位數(shù)碼管并使其顯示我的學(xué)號(20198043)。四、 實(shí)驗(yàn) 過程(1)熟悉數(shù)碼管使用 Proteus 軟件構(gòu)建電路圖,學(xué)會如何點(diǎn)亮數(shù)碼管,熟悉如何使數(shù)碼管顯示不同的數(shù)字(0-9)。我們可以按照上面的原理圖讓對應(yīng)的段導(dǎo)通,以顯示數(shù)字。對于共陽數(shù)碼管,若顯示數(shù)字 0,可以讓標(biāo)號為 A,B,C,D,E,F(xiàn) 的段導(dǎo)通,標(biāo)號為 G,H 的段不導(dǎo)通,然后將陽極通入高電壓,即顯示數(shù)字 0。代碼舉例如下:最后效果如下,成功點(diǎn)亮一個數(shù)碼管。經(jīng)過更多嘗試和學(xué)習(xí),學(xué)會使多位數(shù)碼管顯示多位數(shù)字。結(jié)果舉例如下:(2)多位數(shù)碼管顯示學(xué)號為了顯示我們學(xué)號,就不能只使用一位數(shù)碼管,需要使用八位數(shù)碼管,相較于單位數(shù)碼管,多位數(shù)碼管更加復(fù)雜,驅(qū)動函數(shù)有很大區(qū)別。多位數(shù)碼管使用同一組段選,不同的位選,因此就不能夠一對一地固定顯示,這就需要動態(tài)掃描。動態(tài)掃描:利用人眼視覺暫留,多位數(shù)碼管每次只顯示一位數(shù)字,但是切換頻率大于 200HZ(50 × 4),這樣就能讓人產(chǎn)生同時顯示多個數(shù)字的錯覺。具體操作是輪流向數(shù)碼管送字形碼和相應(yīng)的位選。一個完整的驅(qū)動程序不只以上這些,一個完整的數(shù)碼管驅(qū)動有 6部分:1. 碼表(ROM):存儲段碼(一般放在 ROM中,節(jié)省 RAM空間),例如數(shù)字 0的段碼就是 0xC0,碼表則包含 0-9的段碼2. 顯存(RAM):保存要顯示的數(shù)字,取連續(xù)地址(便于查表)3. 段選賦值:通過查表(碼表)操作,將顯存映射到段碼4. 位選切換:切換顯示的位置5. 延時:顯示的數(shù)字短暫保持,提升亮度6. 消影:消除切換時不同位置互相影響而產(chǎn)生的殘影

    標(biāo)簽: 單片機(jī) 數(shù)碼管

    上傳時間: 2022-06-08

    上傳用戶:canderile

主站蜘蛛池模板: 武安市| 监利县| 绥棱县| 太原市| 堆龙德庆县| 通渭县| 类乌齐县| 南宁市| 鹤山市| 全椒县| 阿合奇县| 鄂尔多斯市| 杂多县| 策勒县| 乌海市| 浦东新区| 临猗县| 颍上县| 柳林县| 闵行区| 民权县| 海淀区| 禹城市| 望江县| 临湘市| 湖州市| 马龙县| 荆州市| 普定县| 克什克腾旗| 台东县| 贡嘎县| 开原市| 崇礼县| 土默特右旗| 潜山县| 贡觉县| 太康县| 漳浦县| 彭阳县| 花垣县|