當前位置:首頁 » 課程大全 » 串口驅動程序設計課程設計

串口驅動程序設計課程設計

發布時間: 2021-03-02 22:18:11

課程設計-----串口通信實驗的設計目的與任務要求怎麼寫

1、預備項目1(2學時)
項目任務:認識單片機
項目目的:了解單片機及其應用,明確課程學習內容及目標,初步掌握DP-51PRO單片機綜合模擬實驗儀使用方法。
知識要求:單片機概念、單片機系列、單片機應用、DP-51PRO單片機綜合模擬實驗儀使用方法。
2、預備項目2(4學時)
項目任務:設備實時參數存儲
項目目的:了解單片機引腳及存儲器體系,初步具備單片機指令使用能力,進一步掌握DP-51PRO單片機綜合模擬實驗儀使用方法。
知識要求:單片機晶元引腳及存儲器、傳送類指令、DP-51PRO單片機綜合模擬實驗儀使用。
3、預備項目3(4學時)
項目任務:設備實時參數處理
項目目的:進一步掌握單片機指令使用能力,初步具備單片機編程能力,進一步掌握DP-51PRO單片機綜合模擬實驗儀使用方法。
知識要求:算術運算類指令、控制轉移類指令、邏輯運算及移位類指令、位操作類指令、DP-51PRO單片機綜合模擬實驗儀使用。
4、預備項目4(2學時)
項目任務:報警器
項目目的:掌握單片機最小系統組成,進一步具備單片機編程能力
知識要求:單片機時鍾電路、復位電路、包含子程序的程序體系。

Ⅱ C語言程序設計課程設計都需要做什麼啊

我這有相似的程序,在我的作業里 給我個郵箱 我發過去

Ⅲ C語言程序設計 (學生選修課程設計)

這是我做的,你看是否滿意?可能有點大,但也沒辦法呀,你的題目也比較大,呵呵!所以,如果滿意,多給我追加點分!
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
typedef struct course
{
char number[15],name[25];
int kind,time,lessontime,practicetime,credit,term;
}type;
FILE *fp1;
void overview(); //瀏覽函數,負責瀏覽整個課程信息
void seek(); //查詢函數,負責查詢課程信息
void choose_course();//選課函數,負責讓用戶選課
void out(type temp);
void input();
int main()
{
int n,i;
if((fp1=fopen("course_information.txt","wb"))==NULL)
{printf("創建文件失敗!\n");exit(0);}
printf("請輸入要存儲的課程數目:\n");
scanf("%d",&n);
printf("開始創建文件,請輸入課程信息:\n\n");
for(i=0;i<n;i++)
{
printf("請輸入第%d門課程的信息:\n",i+1);
input();
printf("\n");
}
printf("如想瀏覽整個課程信息,請輸入1;如想查詢課程信息,請輸入2; 如想進行選課,請輸入3;如想結束選修課系統,請輸入0!\n");
while((scanf("%d",&n))!=EOF)
{
if(n==1)
overview();
if(n==2)
seek();
if(n==3)
choose_course();
if(n==0)
exit(0);
printf("\n\n如想繼續操作,只要按規則輸入你要進行的操作即可!\n規則:如想瀏覽整個課程信息,請輸入1;如想查詢課程信息,請輸入2;如想進行選課,請輸入3!\n");
}
printf("歡迎您使用此程序進行選課,謝謝!\n");
fclose(fp1);
return 0;
}
void input()
{
course c_a;
printf("請輸入課程編碼: ");
scanf("%s",c_a.number);
printf("請輸入課程名: ");
scanf("%s",c_a.name);
printf("請輸入課程性質:限選課,請輸入1;選修課,請輸入2;必修課,請輸入3! ");
scanf("%d",&c_a.name);
printf("請輸入課程總學時: ");
scanf("%d",&c_a.time);
printf("請輸入課程授課時間: ");
scanf("%d",&c_a.lessontime);
printf("請輸入課程實驗或實踐時間: ");
scanf("%d",&c_a.practicetime);
printf("請輸入課程學分: ");
scanf("%d",&c_a.credit);
printf("請輸入課程所在的學期,比如第二學期,就輸入2即可。");
scanf("%d",&c_a.term);
fwrite(&c_a,sizeof(struct course),1,fp1);//將一個結構體元素寫入文件中
}
void out(type temp)
{
printf("課程代碼: %s\n課程名: %s\n",temp.number,temp.name);
printf("課程名: %s\n",temp.name);
if(temp.kind==1)
printf("課程性質: Limited optional course\n");
else if(temp.kind==2)
printf("課程性質: Optional course\n");
else if(temp.kind==3)
printf("課程性質: Required Courses\n");
else
printf("該編碼系統不認識,即無對應的課程性質存在!\n");
printf("課程總學時: %d\n課程授課學時: %d\n實驗或上機學時: %d\n學分: %d\n課程開課學期: %d\n\n",temp.time,temp.lessontime,temp.practicetime,temp.credit,temp.term);
}
void overview()
{
rewind(fp1);
course temp;
printf("整個課程信息如下:\n");
while((fread(&temp,sizeof(type),1,fp1))!=0)
out(temp);
}
void seek()
{
int judge,credit=0,kind=0;
char a='N';
course temp;
printf("如想按學分查詢,請輸入1;如想按課程性質,請輸入2:\n");
scanf("%d",&judge);
rewind(fp1); //將文件指針位置置為開頭
if(judge==1)
{
printf("請輸入要查詢的學分:\n");
scanf("%d",&credit);
while((fread(&temp,sizeof(type),1,fp1))!=0)
if(credit==temp.credit)
out(temp);
}
else if(judge==2)
{
printf("請輸入你要查找課程的性質(限選課,請輸入1;選修課,請輸入2;必修課,請輸入3):");
scanf("%d",&kind);
while((fread(&temp,sizeof(type),1,fp1))!=0)
if(temp.kind==kind)
out(temp);
}
else
printf("不好意思,無此類查詢!\n");
}
void choose_course()
{
rewind(fp1);
course temp;
int judge=1,n=0,time=0,credit=0;
char choose[20][20];
r1: printf("請開始填寫課程編號進行選課:\n");
while(judge==1)
{
printf("請輸入你所選課程的標號: ");
scanf("%s",choose[n]);
n++;
printf("如想繼續選課,請輸入1;如想提交,請輸入0!\n");
scanf("%d",&judge);
}
while((fread(&temp,sizeof(type),1,fp1))!=0)
{
for(int i=0;i<n;i++)
if(strcmp(temp.number,choose[i])==0)
{time=time+temp.time;credit=temp.credit;break;}
}
if(time<270||credit<40)
goto r1;
printf("你所選的課為:\n");
while((fread(&temp,sizeof(type),1,fp1))!=0)
{
for(int i=0;i<n;i++)
if(strcmp(temp.number,choose[i])==0)
{out(temp);break;}
}
}

Ⅳ C語言程序設計課程設計!

圖書借閱管理,C語言編程的,只要設計部分的,,m

Ⅳ 課程設計操作系統模擬軟體的設計與開發 設備驅動程序設計, 要求如下: (1) 設計Windows XP或者Linux操作系

學校教的C語言基礎,一般都是在Windows系統下的命令行界面下運行的,可以輸出一些字元,也可以輸入一些字元。因為Windows下的操作都可以通過滑鼠點擊來實現,所以就很少回去用到命令行的程序,因此Windows系統提供的命令行程序就會很少。

其實命令行程序的功能是非常強大的,LZ可以去學習使用一下Ubuntu這個操作系統,就會體會到命令行程序的強大,像VIM命令行編輯器,這個類似於記事本,當然功能超級強大,還有很多很多。

LZ說的圖形化的小程序,說的應該是Windows的窗口界面的程序,可以縮小、也可以放大,還可以拖來拖去。這個你用VB或C#來做最簡單了,直接拖放控制項,然後寫幾個事件響應函數,比如滑鼠單擊一個按鈕回去執行你自己定義的函數,這就是所謂的事件驅動機制。

如果LZ想使用C語言來編寫Windows圖形界面程序的話,就需要去學習一下WIN32 API的使用,介紹這方面內容的書已經很少了。LZ也可以去學習一下MFC,經典書籍是《MFC深入淺出》,這個需要LZ具有C++面向對象語言的基礎,也是直接拖放控制項,然後注冊事件處理函數。
另外,團IDC網上有許多產品團購,便宜有口碑

Ⅵ 《C語言程序設計》課程設計實驗報告

呵呵~!竟然把作業也搞上來了~!我只能告訴你怎麼做.不可以幫你做~!分為版三步. 秒針 一個原點權 60個秒點分針 一個原點 60個分點時針 一個原點 12個時點三個原點可以是同一個變數,分針\秒針的秒點和分點可以用同一個60個數的數組很簡單的.然後用date函數復制..只要做三個循環就可以了..如果厲害的話。 一個循環就搞定了~!

Ⅶ 《C語言程序設計》課程設計

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>

#define BUFFERSIZE 1024
#define MAXACCOUNT 1000
typedef struct BankAccount
{
int account;
int key;
char name[32];
float balance;
}BANKACCOUNT;

BANKACCOUNT accountCollection[MAXACCOUNT];
int curAccount = 0;

void InsertAccount(FILE *fp)
{
BANKACCOUNT newaccount;
printf("please input the account information\n");
printf(">>account num:");
scanf("%d",&(newaccount.account));
printf(">>key:");
scanf("%d",&(newaccount.key));
printf(">>name:");
scanf("%s",newaccount.name);
printf(">>balance:");
scanf("%f",&(newaccount.balance));
fseek(fp,0L,SEEK_END);
fprintf(fp,"%d %d %s %.2f\n",newaccount.account,newaccount.key,newaccount.name,newaccount.balance);
}
void GetAccount(FILE *fp)
{
int accountnum;
int key;
char name[32];
float balance;
int i =0,j;
char buffer[BUFFERSIZE];
int len;
curAccount = 0;
fseek(fp,0,SEEK_SET);
while(!feof(fp)) /* 因為feof()最後會讀2遍,所以最後curAccount多加了1 */
{
fscanf(fp,"%d %d %s %f",&accountnum,&key,name,&balance);
accountCollection[curAccount].account = accountnum;
accountCollection[curAccount].key = key;
strcpy(accountCollection[curAccount].name ,name);
accountCollection[curAccount].balance = balance;
curAccount++;
}
}
void ListAccount(FILE *fp)
{
int i =0;
printf("There is %d accounts at all:\n",curAccount-1);/* curAccount減去多加的1 */
for(i = 0;i< curAccount-1;i++)
{
printf("ACCOUNT[%d]:\n",i+1);
printf("account:%d\n",accountCollection[i].account);
printf("name:%s\n",accountCollection[i].name);
printf("balance:%.2f\n",accountCollection[i].balance);
}
}
int SearchAccount(FILE *fp,int accountnum)
{
int i =0;
for(i = 0;i< curAccount-1;i++)
{
if(accountCollection[i].account == accountnum)
{
printf("ACCOUNT[%d]:\n",i+1);
printf("account:%d\n",accountCollection[i].account);
printf("name:%s\n",accountCollection[i].name);
printf("balance:%.2f\n",accountCollection[i].balance);
return 1;
}
}
return 0;
}
void DelAccount(FILE *fp,int accountnum)
{
int i;
if(SearchAccount(fp,accountnum)==0)
printf("Can't find the account\n");
else
{
for(i = 0;i<curAccount-1;i++)
{
if(accountCollection[i].account != accountnum)
fprintf(fp,"%d %d %s %.2f\n",accountCollection[i].account,accountCollection[i].key,accountCollection[i].name,accountCollection[i].balance);
}
printf("delete successfully!\n");
}
}

int main()
{
FILE *fp;
int accountnum;
int i;
do{
system("cls"); //清屏
puts("********************************************");
puts("* You can choose : *");
puts("* 1 : Insert a new Account *");
puts("* 2 : List all Accounts *");
puts("* 3 : Find a Account *");
puts("* 4 : Delete a Account *");
puts("* 5 : quit *");
puts("********************************************");
printf("Please input your choice:");
scanf("%d",&i);
system("cls"); //清屏
switch(i)
{
case 1:
if(!(fp = fopen("account.txt","a+")))
{
printf("can't open the file account.txt\n");
exit(0);
}
InsertAccount( fp);

printf("press any key to continue.....\n");
getch();
fclose(fp);
break;
case 2:
if(!(fp = fopen("account.txt","r")))
{
printf("can't open the file account.txt\n");
exit(0);
}
GetAccount(fp);
ListAccount(fp);

fclose(fp);
printf("press any key to continue.....\n");
getch();
break;
case 3:
printf("please input the account num:\n");
scanf("%d",&accountnum);
if(!(fp = fopen("account.txt","r")))
{
printf("can't open the file account.txt\n");
exit(0);
}
GetAccount(fp);
if(!SearchAccount(fp,accountnum))
printf("There is not the account:%d\n",accountnum);

fclose(fp);
printf("press any key to continue.....\n");
getch();
break;
case 4:
printf("please input the account num:\n");
scanf("%d",&accountnum);
if(!(fp = fopen("account.txt","r")))
{
printf("can't open the file account.txt\n");
exit(0);
}
GetAccount(fp);
fclose(fp);
if(!(fp = fopen("account.txt","w+")))
{
printf("can't open the file account.txt\n");
exit(0);
}
DelAccount(fp,accountnum);
fclose(fp);
printf("press any key to continue.....\n");
getch();
break;
default:
break;
}
}while(i != 5);
return 0;
}
賬戶數據文件名已經設定為account.txt,這個文件要和上面這個程序放在同一個文件夾下面,不然就得用絕對路徑(比如"d:\\book\\account.txt"),account內容可以用記事本打開自己改動,然後運行程序後就可以在程序中添加或刪除

Ⅷ 急!!!!!!匯編程序設計課程設計

data segment
year db "year:",0ah,0dh,"$"
month db "month:",0ah,0dh,"$"
day db "day:",0ah,0dh,"$"
hour db "hour:",0ah,0dh,"$"
minute db "minute:",0ah,0dh,"$"
second db "second:",0ah,0dh,"$"
shuchu macro
mov bl,al
mov ah,al
mov cl,4
shr ah,cl
and al,0fh
add ax,3030h
push ax
mov dl,ah
mov ah,2
int 21h
pop ax
mov ah,2
mov dl,al
int 21h
endm
rcmos macro jk
mov al,jk
out 70h,al
in al,71h
cmp al,bl ;秒輸出時,是否相同
endm
ymdhm macro dz,jk1
writes dz
rcmos jk1
shuchu
cr
endm
data ends
writes macro a
lea dx,a
mov ah,9
int 21h
endm
cr macro
push ax
push dx
mov dl,0ah
mov ah,2
int 21h
mov dl,0dh
mov ah,2
int 21h
pop dx
pop ax
endm
code segment
assume cs:code,ds:data
start: mov ax,data
mov ds,ax
ymdhm year,9
ymdhm month,8
ymdhm day,7
ymdhm hour,4
ymdhm minute,2
writes second
begin: rcmos 0
je begin ;若相同則返回
cmp al,0
jne next
push bx
push ax
ymdhm minute,2
writes second
pop ax
pop bx
next: shuchu
cr
mov ah,0bh
int 21h
cmp al,0
jnz done
jmp begin
done: mov ah,4ch
int 21h
code ends
end start

熱點內容
武漢大學學生會輔導員寄語 發布:2021-03-16 21:44:16 瀏覽:612
七年級學生作文輔導學案 發布:2021-03-16 21:42:09 瀏覽:1
不屑弟高考成績 發布:2021-03-16 21:40:59 瀏覽:754
大學畢業證會有成績單 發布:2021-03-16 21:40:07 瀏覽:756
2017信陽學院輔導員招聘名單 發布:2021-03-16 21:40:02 瀏覽:800
查詢重慶2018中考成績查詢 發布:2021-03-16 21:39:58 瀏覽:21
結業考試成績怎麼查詢 發布:2021-03-16 21:28:40 瀏覽:679
14中醫醫師資格筆試考試成績查分 發布:2021-03-16 21:28:39 瀏覽:655
名著賞析課程標准 發布:2021-03-16 21:27:57 瀏覽:881
北京大學商業領袖高端培訓課程 發布:2021-03-16 21:27:41 瀏覽:919