久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

單片機(jī)課程設(shè)計(jì)報(bào)告[5篇]

時(shí)間:2019-05-12 02:20:22下載本文作者:會(huì)員上傳
簡(jiǎn)介:寫(xiě)寫(xiě)幫文庫(kù)小編為你整理了多篇相關(guān)的《單片機(jī)課程設(shè)計(jì)報(bào)告》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫(xiě)寫(xiě)幫文庫(kù)還可以找到更多《單片機(jī)課程設(shè)計(jì)報(bào)告》。

第一篇:?jiǎn)纹瑱C(jī)課程設(shè)計(jì)報(bào)告

《單片機(jī)課程設(shè)計(jì)報(bào)告》

學(xué)校:

專業(yè):

班級(jí):

姓名:

學(xué)號(hào):

指導(dǎo)教師:

摘要

由于單片機(jī)體積小、成本低、使用方便,所以被廣泛地應(yīng)用于儀器儀表、現(xiàn)場(chǎng)數(shù)據(jù)的采集和控制。通過(guò)本次課程設(shè)計(jì)掌握單片機(jī)硬件和軟件方面的知識(shí),更深入的了解單片機(jī)的實(shí)際應(yīng)用。

關(guān)鍵詞

單片機(jī),程序,流水燈,數(shù)碼管,溫度計(jì),鍵盤(pán)掃描,定時(shí)器等。

實(shí)驗(yàn)內(nèi)容

一、課程設(shè)計(jì)的目的

以本學(xué)期對(duì)單片機(jī)的學(xué)習(xí)和認(rèn)識(shí),并通過(guò)本次課程設(shè)計(jì)加以應(yīng)用,從而達(dá)到一個(gè)對(duì)所學(xué)知識(shí)的鞏固、更深一步的理解,面對(duì)一個(gè)電子設(shè)計(jì),應(yīng)對(duì)出系統(tǒng)的方案,分析出各個(gè)板塊來(lái),再對(duì)各個(gè)板塊進(jìn)一步的具體的設(shè)計(jì),先進(jìn)行硬件電路設(shè)計(jì),此時(shí)一定要考慮好要用什么元件、各個(gè)元件的具體參數(shù)、是否能實(shí)現(xiàn)應(yīng)有功能,從而得到一個(gè)完整的硬件電路。在根據(jù)該電路設(shè)計(jì)出軟件的功能模塊、從而完成程序流程圖,在根據(jù)流程圖完成程序的設(shè)計(jì),并通過(guò)反復(fù)的調(diào)試、運(yùn)行、更正,直至完成既定功能為止,最后將軟件、硬件結(jié)合進(jìn)行調(diào)試、運(yùn)行,對(duì)其功能進(jìn)行最終測(cè)試,并反復(fù)思考其測(cè)試中遇到相應(yīng)問(wèn)題的原因,并將其一一處理,從而完成本次設(shè)計(jì)的實(shí)驗(yàn)要求,以及本次課程設(shè)計(jì)的最終目的。

實(shí)驗(yàn)一:鍵盤(pán)操作實(shí)驗(yàn) 實(shí)驗(yàn)要求:

通過(guò)本次實(shí)驗(yàn)實(shí)現(xiàn)對(duì)鍵盤(pán)的控制,操作數(shù)碼管的顯示數(shù)字。

實(shí)驗(yàn)程序:

#include #include #include #include #define WR273 XBYTE[0XC000] #define RD244 XBYTE[0XC000] #define uchar unsigned char #define uint unsigned int sbit DQ =P1^0;uint count=0,x,buf[20],tim,flag;uchar fen,shi;uchar code

table_16_1[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};uchar code

table_16_2[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,0x08,0x03,0x46,0x21,0x06,0x0e};void led_clc(void){ XBYTE[0X8000]=0XFF;XBYTE[0X9000]=0XFF;XBYTE[0XA000]=0XFF;XBYTE[0XB000]=0XFF;}

void delay(unsigned int i){ while(i--);} void delay_1ms(uint z){ uint i,j;for(i=z;i>0;i--)for(j=110;j>0;j--);} uchar key_test(){ WR273=0XF0;if((RD244&0X0F)!=0X0F)return 1;else return 0;}

void time_init(){ TMOD=0X01;TH0=(65536-46080)/256;TL0=(65536-46080)%256;TR0=1;ET0=1;EA=1;} void time_display(){

if(count==10000)count=0;XBYTE[0X8000]=table_16_1[count%10];XBYTE[0X9000]=table_16_1[count%100/10];XBYTE[0XA000]=table_16_1[count%1000/100];XBYTE[0XB000]=table_16_1[count/1000];

} void TIME_SET(){ uchar a,b,c,d,key;while(flag==1){ led_clc();

while(!key_test());a=keyscan();XBYTE[0XB000]=table_16_1[a];

while(!key_test());b=keyscan();XBYTE[0XA000]=table_16_2[b];

while(!key_test());c=keyscan();XBYTE[0X9000]=table_16_1[c];

while(!key_test());d=keyscan();XBYTE[0X8000]=table_16_1[d];while(!key_test());key=keyscan();

if(key==11){

shi = a*10+b;fen = c*10+d;flag=0;

} } } void TIME_DIS(){

if(tim==60){ fen++;

tim=0;if(fen==60){ shi++;fen=0;if(shi==24)shi=0;} } XBYTE[0X8000]=table_16_1[fen%10];XBYTE[0X9000]=table_16_1[fen/10];XBYTE[0XA000]=table_16_2[shi%10];XBYTE[0XB000]=table_16_1[shi/10];} void main(){ uint temp;led_clc();// serial_init();time_init();while(1){ temp=keyscan();if(temp==10)flag=1;TIME_SET();// XBYTE[0X8000]=table_16_1[temp];//time_display();

TIME_DIS();} } void time()interrupt 2 { uchar m;TH0=(65536-46080)/256;TL0=(65536-46080)%256;m++;if(m==20){ m=0;count++;tim++;} } void serial()interrupt 4 { if(RI==1){ x=SBUF;RI=0;} put_char(x);delay_1ms(5);}

實(shí)驗(yàn)心得體會(huì):

通過(guò)本次實(shí)驗(yàn),讓我對(duì)單片機(jī)實(shí)驗(yàn)有了更深的了解,認(rèn)為這個(gè)實(shí)驗(yàn)還是比較容易的,沒(méi)有花太多的時(shí)間。

實(shí)驗(yàn)二:流水燈實(shí)驗(yàn) 實(shí)驗(yàn)要求:

本次實(shí)驗(yàn)實(shí)現(xiàn)的是小燈的閃爍,流水燈可以按照程序規(guī)定的要求進(jìn)行閃爍。

實(shí)驗(yàn)程序設(shè)計(jì)

#include //52單片機(jī)頭文件

#include //包含有左右循環(huán)移位子函數(shù)的庫(kù) #define uint unsigned int //宏定義 #define uchar unsigned char //宏定義 uint flag=0;void delay(uint z)//延時(shí)函數(shù),z的取值為這個(gè)函數(shù)的延時(shí)ms數(shù),如delay(200);大約延時(shí)200ms.{ //delay(500);大約延時(shí)500ms.uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);} void init(){ TMOD=0X01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;TR0=1;ET0=1;EA=1;} void main()//主函數(shù) { init();

while(1){ uchar a,i,j;

if(flag==1){ for(j=0;j<3;j++)//寄偶交替 { P1=0x55;//點(diǎn)亮小燈 delay(300);//延時(shí)300毫秒 P1=0xaa;delay(300);//延時(shí)300毫秒 } for(j=0;j<3;j++)//流水燈 { a=0xfe;for(i=0;i<8;i++){ P1=a;//點(diǎn)亮小燈

delay(300);//延時(shí)300毫秒 a=_crol_(a,1);} } P1=0xff;for(j=0;j<3;j++)//從兩邊往中間流 { P1=0x7e;//點(diǎn)亮小燈 delay(300);//延時(shí)300毫秒 P1=0xbd;delay(300);//延時(shí)300毫秒 P1=0xdb;//點(diǎn)亮小燈 delay(300);//延時(shí)300毫秒 P1=0xe7;delay(300);//延時(shí)300毫秒 } P1=0xff;for(j=0;j<3;j++)//從中間往兩邊流 { P1=0xe7;//點(diǎn)亮小燈 delay(300);//延時(shí)300毫秒 P1=0xdb;delay(300);//延時(shí)300毫秒 P1=0xbd;//點(diǎn)亮小燈 delay(300);//延時(shí)300毫秒 P1=0x7e;delay(300);//延時(shí)300毫秒 } P1=0xff;for(j=0;j<6;j++)//全部閃爍 { P1=~P1;//點(diǎn)亮小燈 delay(300);//延時(shí)300毫秒 } P1=0xff;flag=0;} } } void timer()interrupt 1 { flag=1;}

實(shí)驗(yàn)心得體會(huì):

通過(guò)本次實(shí)驗(yàn)一步一步的進(jìn)行實(shí)驗(yàn),設(shè)計(jì)程序,寫(xiě)入中斷來(lái)實(shí)現(xiàn)流水燈的全部實(shí)驗(yàn)要求。

實(shí)驗(yàn)三:數(shù)碼管性質(zhì) 實(shí)驗(yàn)要求:

通過(guò)上一次流水燈的實(shí)驗(yàn)本次進(jìn)行了數(shù)碼管的實(shí)驗(yàn),通過(guò)原理圖了解數(shù)碼管的性質(zhì)。

設(shè)計(jì)程序

#include #include #include #include #define WR273 XBYTE[0XC000] #define RD244 XBYTE[0XC000] #define uchar unsigned char #define uint unsigned int sbit DQ =P1^0;uint count=0,x,buf[20],tim,flag;uchar fen,shi;uchar code

table_16_1[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};uchar code

table_16_2[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,0x08,0x03,0x46,0x21,0x06,0x0e};void led_clc(void){ XBYTE[0X8000]=0XFF;XBYTE[0X9000]=0XFF;XBYTE[0XA000]=0XFF;XBYTE[0XB000]=0XFF;} void delay(unsigned int i){ while(i--);} void delay_1ms(uint z){ uint i,j;for(i=z;i>0;i--)for(j=110;j>0;j--);} uchar key_test(){ WR273=0XF0;if((RD244&0X0F)!=0X0F)return 1;else return 0;} void serial_init(){ TMOD=0x20;TH1=0xfd;TL1=0xfd;TR1=1;REN=1;SM0=0;SM1=1;EA=1;ES=1;}

void put_char(uchar s){ SBUF=s;while(TI==0);TI=0;}

void put_string(uchar *s){

while(*s){

put_char(*s);

s++;}

利用匯編實(shí)現(xiàn)數(shù)碼管顯示:

ORG 0000H LJMP MAIN ORG 0030H EXTRN DATA(BUFFER);DB BUFFER,30H;DB BUFFER+2,32H;DB BUFFER+3,33H MAIN: LCALL CLS

;LCALL DISP;MOV BUFFER,#30H;MOV BUFFER+1,#31H;MOV BUFFER+2,#33H;MOV BUFFER+3,#35H LCALL PRINT ST: LJMP ST

CLS: MOV A,#0FFH MOV DPTR,#8000H MOVX @DPTR,A MOV DPTR,#9000H MOVX @DPTR,A MOV DPTR,#0A000H MOVX @DPTR,A MOV DPTR,#0B000H MOVX @DPTR,A RET;DISP:

;MOV A,BUFFER;MOV DPTR,#8000H;MOVX @DPTR,A;MOV A,BUFFER+1;MOV DPTR,#9000H;MOV A,BUFFER+2;MOV DPTR,#0A000H;MOVX @DPTR,A;MOV A,BUFFER+3;MOV DPTR,#0B000H;MOVX @DPTR,A;RET PRINT: PUSH PSW CLR C MOV BUFFER,#30H MOV A,BUFFER SUBB A,#30H MOV DPTR,#TABLED MOVC A,@A+DPTR MOV DPTR,#0B000H MOVX @DPTR,A

MOV BUFFER+1,#31H

MOV A,BUFFER+1 SUBB A,#30H MOV DPTR,#TABLED MOVC A,@A+DPTR MOV DPTR,#0A000H MOVX @DPTR,A

MOV BUFFER+2,#33H

MOV A,BUFFER+2 SUBB A,#30H MOV DPTR,#TABLED MOVC A,@A+DPTR MOV DPTR,#09000H MOVX @DPTR,A

MOV BUFFER+3,#34H MOV A,BUFFER+3 SUBB A,#30H MOV DPTR,#TABLED MOVC A,@A+DPTR MOV DPTR,#08000H MOVX @DPTR,A

POP PSW

RET TABLED:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H DB 90H,88H,83H,0C6H,0A1H,86H,84H,0FFH,8CH DB 0BFH TABLED1:DB 0C0H,0F9H,64H,70H,59H,52H,42H,0F8H,40H DB 50H,48H,43H,0C6H,61H,46H,4EH,0FFH,4CH DB 7FH End

實(shí)驗(yàn)心得體會(huì):

本次實(shí)驗(yàn)利用了c語(yǔ)言與匯編的對(duì)比,進(jìn)行的簡(jiǎn)單的實(shí)驗(yàn)過(guò)程。更好的為以后程序設(shè)計(jì)奠定了基礎(chǔ)。

實(shí)驗(yàn)四:溫度測(cè)量實(shí)驗(yàn) 實(shí)驗(yàn)要求

實(shí)現(xiàn)對(duì)DS18B20的對(duì)室內(nèi)溫度的測(cè)量,實(shí)現(xiàn)了單片機(jī)的溫度測(cè)量設(shè)計(jì)實(shí)驗(yàn)。

實(shí)驗(yàn)程序

#include #include #include #define uint unsigned int #define uchar unsigned char #define _Nop()_nop_()Uchar code

dis_16_1[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};uchar code

dis_16_2[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,0x08,0x03,0x46,0x21,0x06,0x0e};

sbit DQ =P1^0;//定義DS18B20通信端口

//////////////////以下是DS18B20驅(qū)動(dòng)程序//////////////// //延時(shí)函數(shù)

void delay_us(unsigned int i){

while(i--);}

//初始化函數(shù)

Init_DS18B20(void){

unsigned char x=0;

DQ = 1;//DQ復(fù)位

delay_us(8);//稍做延時(shí)

DQ = 0;//單片機(jī)將DQ拉低

delay_us(80);//精確延時(shí) 大于 480us

DQ = 1;//拉高總線

delay_us(14);

x=DQ;//稍做延時(shí)后 如果x=0則初始化成功 x=1則初始化失敗

delay_us(20);}

//讀一個(gè)字節(jié)

Read One Char(void){

unsigned char i=0;

unsigned char dat = 0;for(i=8;i>0;i--){

DQ = 0;// 給脈沖信號(hào)

dat>>=1;

DQ = 1;// 給脈沖信號(hào)

if(DQ)

dat|=0x80;

delay_us(4);

}

return(dat);}

//寫(xiě)一個(gè)字節(jié)

Write One Char(unsigned char dat){

unsigned char i=0;for(i=8;i>0;i--){

DQ = 0;

DQ = dat&0x01;

delay_us(5);

DQ = 1;

dat>>=1;

} }

//讀取溫度

Read Temperature(void){

unsigned char a=0;

unsigned char b=0;

unsigned int t=0;

float tt=0;

Init_DS18B20();

Write One Char(0xCC);

/ / 跳過(guò)讀序號(hào)列號(hào)的操作

Write One Char(0x44);

// 啟動(dòng)溫度轉(zhuǎn)換

Init_DS18B20();

Write One Char(0xCC);

//跳過(guò)讀序號(hào)列號(hào)的操作

Write One Char(0xBE);//讀取溫度寄存器等(共可讀9個(gè)寄存器)

a=Read One Char();

b=Read One Char();

t=b;

t<<=8;

t=t|a;

tt=t*0.0625;

//將溫度的高位與低位合并

t= tt*10+0.5;

//對(duì)結(jié)果進(jìn)行4舍5入

return(t);} //////////////////以上是DS18B20驅(qū)動(dòng)程序////////////////

前兩個(gè)就是溫度

/*定義數(shù)字ascii 編碼*/

/*1MS為單位的延時(shí)程序*/ void delay_1ms(uchar x){

uchar j;

while(x--){

for(j=0;j<125;j++)

{;}

} }

main(){

unsigned int i=0;

Read Temperature();/*讀取當(dāng)前溫度*/

delay_us(500);

i=Read Temperature();/*讀取當(dāng)前溫度*/

init();while(1){

i=Read Temperature();//讀取當(dāng)前溫度

XBYTE[0Xb000]=0xff;

XBYTE[0Xa000]=dis_16_1[i/100];/*把溫度顯示出來(lái)*/

XBYTE[0X9000]=dis_16_2[i%100/10];

XBYTE[0X8000]=dis_16_1[i%10];

delay_1ms(100);

} }

實(shí)驗(yàn)心得體會(huì):

本次實(shí)驗(yàn)雖然遇到了很多難題,但是還是慢慢克服了,并且通過(guò)和實(shí)驗(yàn)室同學(xué)的交流的得到了解決的方案。從中學(xué)會(huì)了很多技巧與知識(shí)。

實(shí)驗(yàn)五 :定時(shí)器實(shí)驗(yàn) 實(shí)驗(yàn)?zāi)康?/p>

實(shí)現(xiàn)定時(shí)器50ms定時(shí)。

程序設(shè)計(jì) #include #include #include #include #define WR273 XBYTE[0XC000] #define RD244 XBYTE[0XC000] #define uchar unsigned char #define uint unsigned int sbit DQ =P1^0;uint count=0,x,buf[20],tim,flag;uchar fen,shi;uchar code

table_16_1[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};uchar code

table_16_2[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,0x08,0x03,0x46,0x21,0x06,0x0e};

void led_clc(void){ XBYTE[0X8000]=0XFF;XBYTE[0X9000]=0XFF;XBYTE[0XA000]=0XFF;XBYTE[0XB000]=0XFF;} void delay(unsigned int i){ while(i--);} void delay_1ms(uint z){ uint i,j;for(i=z;i>0;i--)for(j=110;j>0;j--);} uchar key_test(){ WR273=0XF0;if((RD244&0X0F)!=0X0F)

return 1;else return 0;void time_init(){ TMOD=0X01;TH0=(65536-46080)/256;TL0=(65536-46080)%256;TR0=1;

ET0=1;

EA=1;} void time_display(){

if(count==10000)count=0;XBYTE[0X8000]=table_16_1[count%10];XBYTE[0X9000]=table_16_1[count%100/10];XBYTE[0XA000]=table_16_1[count%1000/100];XBYTE[0XB000]=table_16_1[count/1000];

}

void TIME_SET(){

uchar a,b,c,d,key;while(flag==1){ led_clc();

while(!key_test());a=keyscan();XBYTE[0XB000]=table_16_1[a];

while(!key_test());b=keyscan();XBYTE[0XA000]=table_16_2[b];

while(!key_test());c=keyscan();XBYTE[0X9000]=table_16_1[c];

while(!key_test());d=keyscan();XBYTE[0X8000]=table_16_1[d];while(!key_test());key=keyscan();if(key==11){ shi = a*10+b;fen = c*10+d;flag=0;}

} }

void TIME_DIS(){

if(tim==60){fen++;

tim=0;

if(fen==60){ shi++;

fen=0;

if(shi==24)

shi=0;} } XBYTE[0X8000]=table_16_1[fen%10];XBYTE[0X9000]=table_16_1[fen/10];XBYTE[0XA000]=table_16_2[shi%10];XBYTE[0XB000]=table_16_1[shi/10];} void main(){ uint temp;led_clc();// serial_init();time_init();while(1){ temp=keyscan();if(temp==10)

flag=1;TIME_SET();

// XBYTE[0X8000]=table_16_1[temp];//time_display();

TIME_DIS();} } void time()interrupt 2 { uchar m;TH0=(65536-46080)/256;TL0=(65536-46080)%256;m++;if(m==20){

m=0;

count++;

tim++;} } void serial()interrupt 4 {

if(RI==1){

x=SBUF;

RI=0;

}

put_char(x);delay_1ms(5);}

實(shí)驗(yàn)心得體會(huì):

本次實(shí)驗(yàn)主要是定時(shí)器的設(shè)計(jì)實(shí)驗(yàn),通過(guò)本次實(shí)驗(yàn)更好的了解GAL器件的應(yīng)用。實(shí)現(xiàn)了對(duì)此單片機(jī)的應(yīng)用。

實(shí)驗(yàn)總結(jié)

通過(guò)本次課程設(shè)計(jì)我們獲益良多。既鞏固了單片機(jī)的一些相關(guān)基本知識(shí),又熟悉了PROTRL的相關(guān)操作。對(duì)一個(gè)整體的電子設(shè)計(jì)項(xiàng)目,有了一定的認(rèn)識(shí),初步學(xué)會(huì)了一定的設(shè)計(jì)方法,明白了如何用這種方法去實(shí)現(xiàn)一個(gè)系統(tǒng)的設(shè)計(jì)。

在電子技術(shù)應(yīng)用領(lǐng)域中,單片機(jī)的應(yīng)用愈來(lái)愈多地應(yīng)用到各行各業(yè)。如:工業(yè)控制、儀器儀表、電訊技術(shù)、辦公自動(dòng)化和計(jì)算機(jī)外部設(shè)備、汽車(chē)與節(jié)能、商用產(chǎn)品、家用電器等。目前,單片機(jī)正朝著大容量片上存儲(chǔ)器、多功能i/o接口、寬范圍工作電源和低功耗方向發(fā)展。要開(kāi)發(fā)單片機(jī)的應(yīng)用,不但要掌握單片機(jī)硬件和軟件方面的知識(shí),而且還要深入了解各應(yīng)用系統(tǒng)的專業(yè)知識(shí),只有將這兩方面的知識(shí)融會(huì)貫通和有機(jī)結(jié)合,才能設(shè)計(jì)出優(yōu)良的應(yīng)用系統(tǒng)。一個(gè)好的工程設(shè)計(jì)師不僅要掌握單片機(jī)的工作原理,而且還要不斷了解各公司最新芯片的結(jié)構(gòu)和應(yīng)用,在實(shí)際應(yīng)用中找到最好的性能價(jià)格比。所以以后還要注意培養(yǎng)接受新知識(shí)的自學(xué)能力,掌握芯片發(fā)展動(dòng)態(tài)。

同時(shí)也讓我們找到了自己在某些知識(shí)上的欠缺,并通過(guò)這次機(jī)會(huì)得到彌補(bǔ),取得進(jìn)步!

第二篇:?jiǎn)纹瑱C(jī)課程設(shè)計(jì)報(bào)告格式

《單片機(jī)課程設(shè)計(jì)》報(bào)告格式

一、封面(注明:?jiǎn)纹瑱C(jī)課程設(shè)計(jì)報(bào)告、課題名稱、班級(jí)、姓名、指導(dǎo)教師、日期)

二、摘要(課題簡(jiǎn)要說(shuō)明)

三、課題設(shè)計(jì)目標(biāo)(功能、性能指標(biāo))、方案論證(要求作兩種以上方案比較)

四、設(shè)計(jì)過(guò)程(關(guān)鍵電路工作原理、元器件參數(shù)選用、程序流程圖、程序)

五、軟硬件的安裝、調(diào)試方法

六、完整電路圖、性能參數(shù)測(cè)試

七、存在的問(wèn)題和改進(jìn)方向

八、參考文獻(xiàn)資料

第三篇:?jiǎn)纹瑱C(jī)課程設(shè)計(jì)報(bào)告格式

單片機(jī)課程設(shè)計(jì)報(bào)告格式要求

統(tǒng)一的A4紙打印。每頁(yè)約44行,每行約34字;打印正文用宋體小四號(hào)字;版面頁(yè)邊距上空2.5cm,下空2cm,左空2.5cm,右空2cm;頁(yè)碼用小五號(hào)字,底端居中。

A、封面;B、課程設(shè)計(jì)任務(wù)書(shū);C、摘要; D、目錄; E、正文;F、參考文獻(xiàn);G、附錄(源程序代碼);H、有關(guān)圖紙(系統(tǒng)的總體原理圖)

摘要(內(nèi)容提要)

摘要是論文內(nèi)容的簡(jiǎn)要陳述,應(yīng)盡量反映主要信息,內(nèi)容包括研究目的、方法、成果和結(jié)論,不含圖表,不加注釋,具有獨(dú)立性和完整性,?摘要?字樣位置居中。

目錄

目錄按三級(jí)標(biāo)題編寫(xiě),要求層次清晰,且要與正文標(biāo)題一致。主要包括緒論、正文主體、結(jié)論、主要參考文獻(xiàn)及附錄等。

題序?qū)哟未笾掠幸韵聨追N格式:

1、緒論

1.1課題背景

ˉˉˉˉˉˉ(正文)ˉˉˉˉˉˉˉˉˉ

1.2交會(huì)對(duì)接技術(shù)發(fā)展概況

ˉˉˉˉˉˉˉ(正文)ˉˉˉˉˉˉˉˉˉ

1.2.1俄羅斯空間交會(huì)對(duì)接發(fā)展概況

ˉˉˉˉˉˉˉ(正文)ˉˉˉˉˉˉˉˉˉ

1.2.2美國(guó)空間交會(huì)對(duì)接發(fā)展概況

ˉˉˉˉˉˉˉ(正文)ˉˉˉˉˉˉˉˉˉ

2、空間飛行器

2.1引言

ˉˉˉˉˉˉˉ(正文)ˉˉˉˉˉˉˉˉˉ

結(jié)論

ˉˉˉˉˉˉˉ(正文)ˉˉˉˉˉˉˉˉˉ

主要參考文獻(xiàn)

為了反映報(bào)告的科學(xué)依據(jù)和作者尊重他人研究成果的嚴(yán)肅態(tài)度,同時(shí)向讀者提供有關(guān)信息的出處,正文之后一般應(yīng)列出主要參考文獻(xiàn)(只限于那些作者親自閱讀過(guò)的,最重要的且發(fā)表在公開(kāi)出版物上的文獻(xiàn)或網(wǎng)上下載的資料)。報(bào)告中被引用的參考文獻(xiàn)序號(hào)置于所引用部分的右上角。參考文獻(xiàn)所列著作按報(bào)告中引用順序排列,著作按如下格式著錄:序號(hào)、著作者、書(shū)名、出版地、出版社、出版日期。

例1(著作):1.宋尚桂.大學(xué)通識(shí)教育的理論和模式.青島:中國(guó)海洋大學(xué)出版社,2007年9月

例2(文章):2.朱曉剛.以人為本----美國(guó)大學(xué)通識(shí)教育理念和實(shí)踐的解讀.民辦教育研究,2005(5)

設(shè)計(jì)報(bào)告裝訂順序

(一)課程設(shè)計(jì)封面

(二)課程設(shè)計(jì)任務(wù)書(shū)

(三)摘要

(四)目錄

例:

1、緒論ˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉ

11.1課題背景ˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉ1

1.2交會(huì)對(duì)接技術(shù)發(fā)展概況ˉˉˉˉˉˉˉˉˉˉˉˉˉ

31.2.1俄羅斯空間交會(huì)對(duì)接發(fā)展概況ˉˉˉˉˉˉˉˉˉ

51.2.2美國(guó)空間交會(huì)對(duì)接發(fā)展概況ˉˉˉˉˉˉˉˉˉˉ72、空間飛行器ˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉ20

2.1引言ˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉ20

2.2空間飛行器姿態(tài)表示ˉˉˉˉˉˉˉˉˉˉˉˉˉˉ23 結(jié)論ˉˉˉˉˉˉˉˉˉˉˉˉ ˉˉˉˉˉˉˉˉˉˉ50 主要參考文獻(xiàn)ˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉ

51(五)正文

(六)參考文獻(xiàn)

(七)附錄

(八)有關(guān)圖紙

撰寫(xiě)設(shè)計(jì)報(bào)告的幾點(diǎn)要求

1、文字

設(shè)計(jì)中漢字應(yīng)采用《簡(jiǎn)化漢字總表》規(guī)定的簡(jiǎn)化字,并嚴(yán)格執(zhí)行漢字的規(guī)范,所有文字字面清晰,不得涂改。

第一層次(章)題序和標(biāo)題居中放置,其余各層次(節(jié)、條、款)題序和標(biāo)題一律沿版面左側(cè)邊線頂格排列。第一層次(章)題序和標(biāo)題距下文雙倍行距。段落開(kāi)始后縮兩個(gè)字。行與行之間,段落和層次標(biāo)題以及各段落之間均為單倍行距。

第一層次(章)題序和標(biāo)題用小二號(hào)黑體字。題序和標(biāo)題之間空兩個(gè)字,不加標(biāo)點(diǎn),下同。

第二層次(節(jié))題序和標(biāo)題用小三號(hào)黑體字。

第三層次(條)題序和標(biāo)題用四號(hào)黑體字。

第四層次及以下層次題序及標(biāo)題一律用小四號(hào)黑體字。

結(jié)論(結(jié)束語(yǔ))作為單獨(dú)一章排列,但標(biāo)題前不加?第XXX?字樣。結(jié)論是整個(gè)設(shè)計(jì)的總結(jié),應(yīng)以簡(jiǎn)練的文字說(shuō)明所做的工作。

2、表格

設(shè)計(jì)中的表格可以統(tǒng)一編序,也可以逐章單獨(dú)編序,方式應(yīng)與插圖及公式的編序方式統(tǒng)一。表序必須連續(xù),不得重復(fù)或跳躍。表格的結(jié)構(gòu)應(yīng)簡(jiǎn)潔,各欄都應(yīng)標(biāo)注量和相應(yīng)的單位。表格內(nèi)數(shù)字須上下對(duì)齊,相鄰欄內(nèi)的數(shù)值相同時(shí),不能用‘同上’、‘同左’和其它類似用詞,應(yīng)一一重新標(biāo)注。表序和表題置于表格上方中間位置,無(wú)表題的表序置于表格的左上方或右上方(同一篇論文位置應(yīng)一致)。

3、插圖

插圖要精選,圖序可以連續(xù)編序,也可以逐章單獨(dú)編序,方式應(yīng)與表格、公式的編序方式統(tǒng)一,圖序必須連續(xù),不得重復(fù)或跳躍。僅有一圖時(shí),在圖題前加‘附圖’字樣。設(shè)計(jì)中的插圖以及圖中文字符號(hào)應(yīng)打印,無(wú)法打印時(shí)一律用鋼筆繪制和標(biāo)出。由若干個(gè)分圖組成的插圖,分圖用a,b,c,……標(biāo)出。圖序和圖題置于圖下方中間位置。

4、公式

設(shè)計(jì)中重要的或者后文中須重新提及的公式應(yīng)注序號(hào)并加圓括號(hào),序號(hào)一律用阿拉伯?dāng)?shù)字連續(xù)編序或逐章編序,序號(hào)排在版面右側(cè),且距右邊距相等。公式與序號(hào)之間不加虛線。

5、數(shù)字用法

公歷世紀(jì)、年代、年、月、日、時(shí)間和各種計(jì)數(shù)、計(jì)量,均用阿拉伯?dāng)?shù)字。年份不能簡(jiǎn)寫(xiě)(如1999年不能寫(xiě)成99年)。數(shù)值的有效數(shù)字應(yīng)全部寫(xiě)出,如:0.50∶20.0不能寫(xiě)作0.5∶20。

6、軟件

軟件流程圖和原程序清單要按軟件文檔格式附在報(bào)告后面,特殊情況可在答辯時(shí)展示,不附在報(bào)告內(nèi)。

7、計(jì)量單位的定義和使用方法按國(guó)家計(jì)量標(biāo)準(zhǔn)執(zhí)行。

第四篇:?jiǎn)纹瑱C(jī)課程設(shè)計(jì)報(bào)告

《單片機(jī)原理與接口技術(shù)》

課程設(shè)計(jì)報(bào)告

設(shè)計(jì)題目: 基于80C51單片機(jī)系統(tǒng)實(shí)驗(yàn)板的制作

與程序設(shè)計(jì)

業(yè):應(yīng)用電子專業(yè)

級(jí): 11應(yīng)電班

名: 丁文俊

指導(dǎo)教師: 余靜老師

2013 年 5 月20 日

目錄 前 言………………………………………………………………… 2 課程設(shè)計(jì)的目的及要求…………………………………………… 3 硬件電路設(shè)計(jì)……………………………………………………… 4 軟件程序設(shè)計(jì)…………………………………………………… 5 小結(jié)………………………………………………………………

參考文獻(xiàn) 附錄A 電路總圖 附錄B 程序清單

基于80C51單片機(jī)系統(tǒng)實(shí)驗(yàn)板的制作與程序設(shè)計(jì)

1.前言

2、課程設(shè)計(jì)的目的及要求 2.1課程設(shè)計(jì)目的

2.2課程設(shè)計(jì)要求

3、系統(tǒng)主要硬件電路設(shè)計(jì)

3.1 STC89C51單片機(jī)簡(jiǎn)介

MCS-51是美國(guó)Intel公司生產(chǎn)的一系列單片機(jī)的總稱,包括多個(gè)品種,如8031、8051、8751、8032、80C52、8752等。其中8051是最典型的產(chǎn)品,其他單片機(jī)都是在其基礎(chǔ)上進(jìn)行功能增減而來(lái)的,所以人們習(xí)慣于用8051來(lái)稱呼MCS-51系列單片機(jī)。Intel公司將MCS-51的核心技術(shù)授權(quán)給了多家公司,這些廠家生產(chǎn)的單片機(jī)在功能上或多或少有些改變,以滿足不同的需求,其中美國(guó)的ATMEL公司生產(chǎn)的AT89C51是曾經(jīng)在我國(guó)非常流行的51單片機(jī)。當(dāng)前AT89C51/52已經(jīng)停產(chǎn),其替代產(chǎn)品為AT89S51/52。深圳宏晶公司出品的STC89C51可以直接代替?zhèn)鹘y(tǒng)的AT89S51和AT89C51芯片,也可以代替菲利普、華幫等其他公司的89C51,由于時(shí)代的發(fā)展,工藝的進(jìn)步,STC89C51功能更強(qiáng),壽命更長(zhǎng)(4K字節(jié)Flash存儲(chǔ)器、128字節(jié)片內(nèi)RAM、支持ISP下載編程)

圖2.1 STC89c51單片機(jī)

單片機(jī)的時(shí)鐘信號(hào)用來(lái)提供單片機(jī)片內(nèi)各種微操作的時(shí)間基準(zhǔn),時(shí)鐘信號(hào)通常用兩種電路形式得到:內(nèi)部振蕩和外部振蕩。MCS-51單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反向放大器,引腳XTALl和XTAL2分別是此放大電器的輸入端和輸出端,由于采用內(nèi)部方式時(shí),電路簡(jiǎn)單,所得的時(shí)鐘信號(hào)比較穩(wěn)定,實(shí)際使用中常采用這種方式,如圖2-2所示在其外接晶體振蕩器(簡(jiǎn)稱晶振)或陶瓷諧振器就構(gòu)成了內(nèi)部振蕩方式,片內(nèi)高增益反向放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起可構(gòu)成一個(gè)自激振蕩器并產(chǎn)生振蕩時(shí)鐘脈沖。

圖2-2中外接晶體以及電容C2和C1構(gòu)成并聯(lián)諧振電路,它們起穩(wěn)定振蕩頻率、快速起振的作用,其值均為30P左右,晶振頻率選11.0592MHz。

為了初始化單片機(jī)內(nèi)部的某些特殊功能寄存器,必須采用復(fù)位的方式,復(fù)位后可使CPU及系統(tǒng)各部件處于確定的初始狀態(tài),并從初始狀態(tài)開(kāi)始正常工作。單片機(jī)的復(fù)位是靠外電路來(lái)實(shí)現(xiàn)的,在正常運(yùn)行情況下,只要RST引腳上出現(xiàn)兩個(gè)機(jī)器周期時(shí)間以上的高電平,即可引起系統(tǒng)復(fù)位,但如果RST引腳上持續(xù)為高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài)。復(fù)位后系統(tǒng)將輸入/輸出(1/0)端口寄存器置為FFH,堆棧指針SP置為07H, SBUF內(nèi)置為不定值,其余的寄存器全部清0,內(nèi)部RAM的狀態(tài)不受復(fù)位的影響,在系統(tǒng)上電時(shí)RAM的內(nèi)容是不定的。復(fù)位操作有兩種情況,即上電復(fù)位和手動(dòng)(開(kāi)關(guān))復(fù)位。本系統(tǒng)采用上電復(fù)位方式。圖2-2中R9和Cl組成上電復(fù)位電路,其值R取為10K, C取為10μF.4

圖2.2 最小系統(tǒng)結(jié)構(gòu)圖

3.2 電平轉(zhuǎn)換電路 3.3

4、軟件程序設(shè)計(jì)

5、小結(jié)

參考文獻(xiàn)

[1] 張偉,《單片機(jī)原理及應(yīng)用》,機(jī)械工業(yè)出版社,2005(這是格式)

附錄

江西工業(yè)職業(yè)技術(shù)學(xué)院電子與信息工程系

課程設(shè)計(jì)指導(dǎo)教師評(píng)語(yǔ)

班級(jí):

學(xué)生姓名:

學(xué)號(hào):

指導(dǎo)教師評(píng)語(yǔ)(包括工作態(tài)度,遵守紀(jì)律;基本理論、知識(shí)、技能;獨(dú)立工作能力和分析解決問(wèn)題的能力;完成任務(wù)情況及水平):

學(xué)生成績(jī)(五級(jí)分制):

指導(dǎo)教師簽名:

****年**月**日

第五篇:?jiǎn)纹瑱C(jī)課程設(shè)計(jì)報(bào)告

課程設(shè)計(jì)報(bào)告

題 目: 自動(dòng)滴灌系統(tǒng)設(shè)計(jì)

課程名稱: 單片機(jī)原理及應(yīng)用 學(xué) 院: 信息工程學(xué)院

專 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) 班 級(jí): 2014 級(jí)計(jì)本 1 班

學(xué)生姓名: *** 學(xué) 號(hào): 201403031 指導(dǎo)教師: 巫 宗 賓

成 績(jī):

開(kāi)課時(shí)間: 2016~2017 學(xué)年 2 學(xué)期

目錄

第一章 系統(tǒng)概要.........................................................................................................................2 1.1系統(tǒng)背景............................................................................................................................2 1.2系統(tǒng)功能............................................................................................................................2 1.3設(shè)計(jì)要求............................................................................................................................2 第二章 系統(tǒng)硬件原理...............................................................................................................3 2.1AW60主要模塊和特點(diǎn)........................................................................................................3 2.2 LCD模塊............................................................................................................................3 2.3 LED模塊............................................................................................................................4 第三章 系統(tǒng)軟件設(shè)計(jì).................................................................................................................6 3.1系統(tǒng)流程............................................................................................................................6 3.2主程序(main.c)............................................................................................................7 3.2中斷處理程序(isr.c)..................................................................................................7 3.3構(gòu)件組成............................................................................................................................9 第四章 系統(tǒng)測(cè)試.......................................................................................................................27 4.1測(cè)試結(jié)果..........................................................................................................................27 第五章 總結(jié)展望........................................................................................................................31 5.1總結(jié)..................................................................................................................................31 5.2展望..................................................................................................................................31 參考文獻(xiàn).....................................................................................................................................32

第一章 系統(tǒng)概要

1.1系統(tǒng)背景

隨著科學(xué)技術(shù)的發(fā)展電子技術(shù)產(chǎn)業(yè)結(jié)構(gòu)調(diào)整,單片機(jī)開(kāi)始迅速發(fā)展,由于單片機(jī)本身的易于控制,精度高,自動(dòng)化全面,市場(chǎng)對(duì)于智能控制系統(tǒng)的需求也越來(lái)越大。自動(dòng)滴灌系統(tǒng),就是在單片機(jī)程序的控制下實(shí)現(xiàn)濕度監(jiān)測(cè)、滴灌控制的設(shè)備。單片機(jī)系統(tǒng)座位一種典型的嵌入式系統(tǒng),其系統(tǒng)設(shè)計(jì)包括硬件設(shè)計(jì)和軟件設(shè)計(jì)編程設(shè)計(jì)兩個(gè)方面,其調(diào)試過(guò)程一般分為軟件調(diào)試,硬件調(diào)試,系統(tǒng)調(diào)試。自動(dòng)滴灌系統(tǒng)需要實(shí)現(xiàn)濕度采集,A/D轉(zhuǎn)換,濕度顯示,工作狀態(tài)顯示,電機(jī)驅(qū)動(dòng)的功能。

1.2系統(tǒng)功能

首先要進(jìn)行濕度監(jiān)測(cè),每隔固定的時(shí)間就采集一次濕度,在內(nèi)部轉(zhuǎn)換后與標(biāo)準(zhǔn)值進(jìn)行比較如果濕度值低于給定值的話就切換至工作狀態(tài),滴灌結(jié)束時(shí)自動(dòng)切換至結(jié)束模式,繼續(xù)監(jiān)測(cè)濕度。

仿真狀態(tài)下濕度監(jiān)測(cè)采用軟件模擬實(shí)現(xiàn),采集濕度信息使用LED顯示,每隔5s采集一次。工作狀態(tài)由LCD顯示。分別有滴灌開(kāi)始(“Drip-irrigation is starting..”),和滴灌結(jié)束(“Drip-irrigation has ended..”)。滴灌時(shí)間為5s。結(jié)束后切換至結(jié)束模式。

1.3設(shè)計(jì)要求

學(xué)生在設(shè)計(jì)中可以引用所需的參考資料,避免重復(fù)工作,加快設(shè)計(jì)進(jìn)程,但必須和題目的要求相符合,保證設(shè)計(jì)的正確。學(xué)生要在老師的指導(dǎo)下制定好自己各環(huán)節(jié)的詳細(xì)設(shè)計(jì)進(jìn)程計(jì)劃,按給定的時(shí)間計(jì)劃保質(zhì)保量的完成個(gè)階段的設(shè)計(jì)任務(wù)。設(shè)計(jì)中可邊設(shè)計(jì),邊修改,軟件設(shè)計(jì)與硬件設(shè)計(jì)可交替進(jìn)行,問(wèn)題答疑與調(diào)試和方案修改相結(jié)合,提高設(shè)計(jì)的效率,保證按時(shí)完成設(shè)計(jì)工作并交出合格的設(shè)計(jì)報(bào)告。1

第二章 系統(tǒng)硬件原理

2.1AW60主要模塊和特點(diǎn)

AW60系列主要常規(guī)模塊和特點(diǎn):

(1)最高達(dá)40MHz的CPU工作頻率和20MHz的內(nèi)部總線工作頻率;時(shí)鐘源選項(xiàng)包括晶振,諧振器,外部時(shí)鐘或,內(nèi)部產(chǎn)生的時(shí)鐘。

(2)相比HC08CPU指令集,S08CPU增加了BGND指令。

(3)單線后臺(tái)調(diào)試模式接口:增強(qiáng)的斷點(diǎn)能力,允許單一的斷點(diǎn)設(shè)置在線調(diào)試(在片內(nèi)調(diào)試模塊增加了多于兩個(gè)的斷點(diǎn))。

(4)內(nèi)含32個(gè)中斷/復(fù)位源;內(nèi)含2KB的片內(nèi)RAM;內(nèi)含60KB的片內(nèi)在線可編程的Flash存儲(chǔ)器,帶有 塊保護(hù)和安全選項(xiàng)。

(5)可選的計(jì)算機(jī)正常操作(COP)復(fù)位;低電壓檢測(cè)與復(fù)位或中斷;非法操作碼檢測(cè)與復(fù)位;非法地址檢測(cè)與復(fù)位。

(6)ADC:多達(dá)16個(gè)通道,10個(gè)A/D轉(zhuǎn)換器與動(dòng)動(dòng)比較功能;兩個(gè)串行通信接口SCI模塊與可選的13位中斷;一個(gè)串行外設(shè)接口SPI模塊;集成電路互聯(lián)總線IIC模塊運(yùn)行高達(dá)100kbps的最高總線負(fù)載;8引腳鍵盤(pán)中斷KBI模塊。

(7)Timers:1個(gè)2 通道和一個(gè)6通道16位定時(shí)器/脈沖寬度調(diào)制器模塊。既有輸入捕獲,輸出比較,脈寬調(diào)制功能。AW子系列MCU的4種封裝形式只是引腳數(shù)量和形式有所區(qū)別,其他方面是一致的。

2.2 LCD模塊

LCD作為電子信息產(chǎn)品的主要顯示器件,相對(duì)于其他類型的顯示器件來(lái)說(shuō)有其自身的特點(diǎn),主要包括:

(1)低電壓,低功耗;(2)平板型結(jié)構(gòu);

(3)使用壽命長(zhǎng);

(4)被動(dòng)顯示;

(5)顯示信息量大且易于彩色化; 1

(6)無(wú)電磁輻射。

點(diǎn)陣字符型LCD是專門(mén)用于顯示數(shù)字,字母,圖形符號(hào)及少量自定義符號(hào)的液晶顯示器。這類顯示器把LCD控制器,點(diǎn)陣驅(qū)動(dòng)器,字符存儲(chǔ)器,顯示體及少量的阻容元件等集成一個(gè)液晶顯示模板。鑒于字符型液晶顯示模塊目前在國(guó)際上已經(jīng)規(guī)范化,其電特性及接口特性是統(tǒng)一的,只要設(shè)計(jì)出一種型號(hào)的接口電路,在指令上稍加修改即可使用各種規(guī)格的字符型液晶顯示器模塊。

字符型液晶顯示器模塊的特點(diǎn)如下:

(1)液晶顯示屏是以若干5*8或5*11點(diǎn)陣塊等組成的顯示字符群。每個(gè)點(diǎn)陣塊塊為一個(gè)字符位,字符間距和行間距都是一個(gè)點(diǎn)的寬度。

(2)主控制電路為HD44780(HITACHI及其他公司的兼容電路。從程序員的角度來(lái)看LCD顯示接口與編程是面向HD44780的,只要了解HD44780的編程結(jié)構(gòu)即可進(jìn)行LCD的顯示編程。

(3)內(nèi)部具有字符發(fā)生器ROM,可顯示192種字符。

(4)具有64字節(jié)的字符發(fā)生器RAM,可以定義8個(gè)5*8點(diǎn)陣字符或4個(gè)5*11的點(diǎn)陣字符。

(5)具有64字節(jié)的數(shù)據(jù)顯示RAM,供顯示器編程使用。(6)標(biāo)準(zhǔn)接口特性,與MC9S08系列的MCU容易接口。(7)模塊結(jié)構(gòu)緊湊,輕巧,裝配容易。

(8)單+5V電源供電(寬溫型需要加-7V驅(qū)動(dòng)電源)。(9)低功耗,高可靠性。

2.3 LED模塊

LED發(fā)光二極管分為共陰極和共陽(yáng)極數(shù)碼管,若為共陰極數(shù)碼管則公共端接地,若為共陽(yáng)極數(shù)碼管則公共端接電源正極。如圖1: 1

圖1

實(shí)際應(yīng)用中是多個(gè)LED共同使用,MCU通過(guò)一個(gè)稱為數(shù)據(jù)口的8位數(shù)據(jù)端口來(lái)控制位段而原來(lái)8段數(shù)碼管的公共端,原來(lái)接到公共電平,現(xiàn)在接MCU的一個(gè)引腳,由MCU來(lái)控制,通常叫做位選信號(hào),這樣MCU的8?jìng)€(gè)端口就可以控制8連排的數(shù)碼管了。若要控制更多數(shù)碼管則需加一個(gè)譯碼芯片。每個(gè)時(shí)刻只讓一個(gè)數(shù)碼管有效,由于人的視覺(jué)暫留效應(yīng)(100ms)可以達(dá)到同時(shí)顯示的效果。

圖2是MCU與4排8段數(shù)碼管的連接:

圖2 1

第三章 系統(tǒng)軟件設(shè)計(jì)

3.1系統(tǒng)流程

開(kāi)始初始化土壤濕度數(shù)據(jù)采集顯示濕度N小于設(shè)定值Y顯示滴灌開(kāi)始計(jì)時(shí)結(jié)束,結(jié)束滴灌顯示滴灌結(jié)束 圖3 圖3是系統(tǒng)流程圖,開(kāi)始時(shí)先初始化各個(gè)部件,LCD顯示結(jié)束滴灌信息,LED顯示為全零。后每隔五秒采集一次濕度數(shù)據(jù)用LED顯示濕度。判斷濕度值是否低于設(shè)定值,低于設(shè)定值的話立即啟動(dòng)滴灌,此時(shí)濕度上升,結(jié)束滴灌。若沒(méi)有低于設(shè)定值的話,則繼續(xù)監(jiān)測(cè)。LED不斷刷新顯示當(dāng)前濕度值。1

3.2主程序(main.c)

#include “includes.h” //包涵總頭文件 int main(void){ work = 0;shidu = 75;enter_critical();LEDInit();//LED初始化 LCDInit();//LCD初始化 tpm_init(TPM0,TPM_CLKSRC_PLL,1000);//初始化TPM模塊,1ms中斷一次

light_init(LIGHT_PORT, LIGHT_PIN_RED, LIGHT_OFF);light_init(LIGHT_PORT, LIGHT_PIN_GREEN, LIGHT_OFF);tpm_enable_int(0);init_critical();for(;;){

}

} return 0;3.2中斷處理程序(isr.c)

//================== //文件名稱:isr.c //功能概要: 中斷底層驅(qū)動(dòng)構(gòu)件源文件

//版權(quán)所有:蘇州大學(xué)飛思卡爾嵌入式中心(sumcu.suda.edu.cn)1

//================== #include “includes.h” void tpm0_isr(void){ static uint_32 TPMCounter = 0;//計(jì)時(shí)器 static uint_8 LEDindex=0;//位選口聲明 uint_8 LEDDataBuffer[4];//LED顯示緩沖區(qū)

changeCode(shidu,LEDDataBuffer);//將濕度值轉(zhuǎn)化為對(duì)應(yīng)字符輸出 uint_8 i;uint_8 * working;uint_8 * stop;working =(uint_8 *)“Drip-irrigation is starting......”;stop =(uint_8 *)“Drip-irrigation has ended......”;if((TPM_SC_REG(TPM0_BASE_PTR)TPM_SC_TOF_MASK){ TPMCounter++;

&

TPM_SC_TOF_MASK)

== } BSET(TPM_SC_TOF_SHIFT,TPM_SC_REG(TPM0_BASE_PTR));//中斷置標(biāo)志位寫(xiě)1清0 LEDindex++;//位選位+1 if(LEDindex>=4)LEDindex=0;//大于4位選口置0 i=LEDchangeCode(LEDDataBuffer[LEDindex]-'0');//轉(zhuǎn)碼 LEDshow1(LEDindex,i);if(TPMCounter>5000){

shidu = sdmn(shidu);if(shidu <= 65){ 1

} changeState(&work);//改變工作狀態(tài)

if(work == 0)

{ LCDShow(stop);TPMCounter = 0;light_control(LIGHT_PORT, LIGHT_PIN_RED, LIGHT_ON);light_control(LIGHT_PORT, LIGHT_PIN_GREEN, LIGHT_OFF);} if(work == 1){

LCDShow(working);

TPMCounter = 0;shidu = 80;light_control(LIGHT_PORT, LIGHT_PIN_GREEN, LIGHT_ON);light_control(LIGHT_PORT, LIGHT_PIN_RED, LIGHT_OFF);changeState(&work);}

} }

3.3構(gòu)件組成

1、TPM構(gòu)件:

//=================== //文件名稱:tpm.c //功能概要:tpm底層驅(qū)動(dòng)構(gòu)件源文件 1

//版權(quán)所有:蘇州大學(xué)飛思卡爾嵌入式中心(sumcu.suda.edu.cn)//====================== #include “tpm.h” //定時(shí)器模塊0,1,2地址映射 Const TPM_MemMapPtr TPM_ARR[]={TPM0_BASE_PTR,TPM1_BASE_PTR,TPM2_BASE_PTR};//====================== //函數(shù)名稱:tpm_enable_int //功能概要:使能tpm模塊中斷。

//參數(shù)說(shuō)明:tpmModule:模塊號(hào):0、1、2 //函數(shù)返回:無(wú)

//====================== void tpm_enable_int(uint_8 tpmModule){ } //====================== //函數(shù)名稱:tpm_disable_int //功能概要:禁止tpm模塊初始化。enable_irq(tpm0_irq_no + tpmModule);//參數(shù)說(shuō)明:tpmModule:模塊號(hào):0、1、2 //函數(shù)返回:無(wú)

//====================== void tpm_disable_int(uint_8 tpmModule){ } //====================== //函數(shù)名稱:tpm_init //功能概要:初始化tpm模塊.1

disable_irq(tpm0_irq_no + tpmModule);

//參數(shù)說(shuō)明:tpmModule:模塊號(hào):0、1、2 //clk_src_sel:時(shí)鐘源選擇:1:PLL/FLL(推薦)、2:晶振、3:內(nèi)部參考時(shí)鐘。1,2可用

// int_us:中斷毫秒數(shù),中斷時(shí)間間隔,單位為毫秒,10ms=10000 //函數(shù)返回:函數(shù)執(zhí)行狀態(tài):0=正常;非0=異常

//====================== uint_8 tpm_init(uint_8 tpmModule,uint_8 clk_src_sel,uint_32 int_us){

if(tpmModule>2)//防止越界值 { } //開(kāi)啟SIM時(shí)鐘門(mén) tpmModule=2;BSET(SIM_SCGC6_TPM0_SHIFT+tpmModule,SIM_SCGC6);//使能TPM時(shí)鐘

//中斷時(shí)間計(jì)算:(48000/8)*10000/1000=0x7530 10ms中斷一次 switch(clk_src_sel){ case 1: //MCGPLL/2或者M(jìn)CGFLL作為時(shí)鐘源 BSET(SIM_SOPT2_PLLFLLSEL_SHIFT,SIM_SOPT2);

//使能PLL為時(shí)鐘源

int_us=(48000/8)*int_us/1000;break;case 2: //晶振作為時(shí)鐘源

int_us=(8000/8)*int_us/1000;OSC0_CR|=OSC_CR_ERCLKEN_MASK;//開(kāi)啟晶振輸出時(shí)鐘

break;case 3: //內(nèi)部參考時(shí)鐘,由MCG決定 break;

default: 1

} return 1;//傳參錯(cuò)誤,返回

SIM_SOPT2 |= SIM_SOPT2_TPMSRC(clk_src_sel);//使能時(shí)鐘選擇 TPM_ARR[tpmModule]->CNT=0x00;TPM_ARR[tpmModule]->MOD=int_us;//TOF寫(xiě)1清0,TOIE中斷使能,CMOD選擇每次時(shí)鐘加1,PS=0x011 選擇8分頻;TPM_ARR[tpmModule]->SC=TPM_SC_TOF_MASK|TPM_SC_TOIE_MASK|TPM_SC_CMOD(1)|TPM_SC_PS(3);return 0;} //====================== //函數(shù)名稱:tpm_stop //功能概要:禁止tpm模塊。

//參數(shù)說(shuō)明:tpmModule:模塊號(hào):0、1、2 //函數(shù)返回:無(wú)

//====================== void tpm_stop(uint_8 tpmModule){ } Tpm.h //====================== //文件名稱:tpm.c //功能概要:tpm底層驅(qū)動(dòng)構(gòu)件源文件

//版權(quán)所有:蘇州大學(xué)飛思卡爾嵌入式中心(sumcu.suda.edu.cn)//====================== #ifndef TPM_H 1

TPM_ARR[tpmModule]->SC&=~TPM_SC_CMOD(3);

#define TPM_H

#include “common.h” #include “sysinit.h” //中斷號(hào)

#define tpm0_irq_no 17 #define tpm1_irq_no 18 #define tpm2_irq_no 19 //時(shí)鐘選擇

#define TPM_CLKSRC_PLL 1 #define TPM_CLKSRC_OSC 2 #define TPM_CLKSRC_IRC 3 //模塊號(hào) #define TPM0 0 #define TPM1 1 #define TPM2 2

//====================== //函數(shù)名稱:tpm_enable_int //功能概要:使能tpm模塊中斷。

//參數(shù)說(shuō)明:tpmModule:模塊號(hào):0、1、2 //函數(shù)返回:無(wú)

//====================== void tpm_enable_int(uint_8 tpmModule);//====================== //函數(shù)名稱:tpm_disable_int //功能概要:禁止tpm模塊初始化。

//參數(shù)說(shuō)明:tpmModule:模塊號(hào):0、1、2 //函數(shù)返回:無(wú) 1

//====================== void tpm_disable_int(uint_8 tpmModule);//====================== //函數(shù)名稱:tpm_init //功能概要:初始化tpm模塊.//參數(shù)說(shuō)明:tpmModule:模塊號(hào):0、1、2 //clk_src_sel:時(shí)鐘源選擇:1:PLL/FLL(推薦)、2:晶振、3:內(nèi)部參考時(shí)鐘。1,2可用

// int_us:中斷毫秒數(shù),中斷時(shí)間間隔,單位為毫秒,10ms=10000 //函數(shù)返回:函數(shù)執(zhí)行狀態(tài):0=正常;非0=異常

//====================== uint_8 tpm_init(uint_8 tpmModule,uint_8 clk_src_sel,uint_32 int_us);//====================== //函數(shù)名稱:tpm_stop //功能概要:禁止tpm模塊。

//參數(shù)說(shuō)明:tpmModule:模塊號(hào):0、1、2 //函數(shù)返回:無(wú)

//====================== void tpm_stop(uint_8 tpmModule);#endif

2、LED構(gòu)件

//===================== // 文件名稱:led.c // 功能概要:led構(gòu)件源文件

// 版權(quán)所有: 蘇州大學(xué)飛思卡爾嵌入式中心(sumcu.suda.edu.cn)//====================== #include “l(fā)ed.h” //led位選端口 struct GPIO led_cs[4]= 1

{

{LED_CS0_PORT,LED_CS0}, {LED_CS1_PORT,LED_CS1}, {LED_CS2_PORT,LED_CS2}, {LED_CS3_PORT,LED_CS3}, };//led數(shù)據(jù)端口 struct GPIO led_d[8]= {

{LED_D1_PORT,LED_D1}, {LED_D2_PORT,LED_D2}, {LED_D3_PORT,LED_D3}, {LED_D4_PORT,LED_D4}, {LED_D5_PORT,LED_D5}, {LED_D6_PORT,LED_D6}, {LED_D7_PORT,LED_D7}, {LED_D8_PORT,LED_D8}, };

//====================== //函數(shù)名稱:LEDInit //函數(shù)返回:無(wú) //參數(shù)說(shuō)明:無(wú) //功能概要:LED初始化。

//====================== void LEDInit(){ uint_8 i = 0;//定義8根數(shù)據(jù)線為輸出,初始輸出0 for(i = 0;i < 8;i++)gpio_init(led_d[i].gpio_port, led_d[i].gpio_pin, 1, 0);1

//定義4位選線定義為輸出,初始輸出0 for(i = 0;i < 4;i++)gpio_init(led_cs[i].gpio_port, led_cs[i].gpio_pin, 1, 0);} //====================== //函數(shù)名稱:LEDshow1 //函數(shù)返回:無(wú)

//參數(shù)說(shuō)明:i:指定LED哪一位顯示,c:顯示的內(nèi)容 //功能概要:指定LED的第i位顯示c。

//====================== void LEDshow1(uint_8 i, uint_8 c){ uint_8 temp;uint_8 j;//位選全部置0 for(j=0;j<=3;j++)gpio_set(led_cs[j].gpio_port, led_cs[j].gpio_pin, 0);//數(shù)據(jù)上線 for(j=0;j<=7;j++){ temp =(c>>j)& 0x01;

gpio_set(led_d[j].gpio_port, led_d[j].gpio_pin, temp);} //選擇的位選置1 gpio_set(led_cs[i].gpio_port, led_cs[i].gpio_pin, 1);}

//顯示碼表

const uint_8 Dtable[24] = 1

// 0 1 2 3 4 5 6 7 8 9 {0x3F,0x06,0x5B,0x4F,0x66, 0x6D,0x7D,0x07,0x7F,0x6F, // 11 12 13 14 15 16 17 18 19 20 // 0.1.2.3.4.5.6.7.8.9.0xBF,0x86,0xDB,0x4F,0x66, 0x6D,0x7D,0x07,0xFF,0x6F, // 21 22 23(全亮)24(全滅)// E F 0x79,0x71, 0xFF, 0x00};//====================== //函數(shù)名稱:LEDchangeCode //函數(shù)返回:返回?cái)?shù)據(jù)num對(duì)應(yīng)的顯示碼 //參數(shù)說(shuō)明:num:需要轉(zhuǎn)換成顯示碼的數(shù)字 //功能概要:數(shù)字轉(zhuǎn)成顯示碼

//===================== uint_8 LEDchangeCode(uint_8 num){ return Dtable[num];} LED.h //====================== // 文件名稱:led.h // 功能概要:led構(gòu)件頭文件

// 版權(quán)所有: 蘇州大學(xué)飛思卡爾嵌入式中心(sumcu.suda.edu.cn)//======================

#ifndef led_H //防止重復(fù)定義(開(kāi)頭)#define led_H #include “GPIOapp.h” //LED數(shù)據(jù)口分別接PORTB的{11,10,9,8,3,2,1,0}引腳 1

#define LED_D1_PORT PORTB #define LED_D1 11 #define LED_D2_PORT PORTB #define LED_D2 10 #define LED_D3_PORT PORTB #define LED_D3 9 #define LED_D4_PORT PORTB #define LED_D4 8 #define LED_D5_PORT PORTB #define LED_D5 3 #define LED_D6_PORT PORTB #define LED_D6 2 #define LED_D7_PORT PORTB #define LED_D7 1 #define LED_D8_PORT PORTB #define LED_D8 0 //LED位選口分別接PORTB的{19,18,17,16}引腳 #define LED_CS0_PORT PORTB #define LED_CS0 19 #define LED_CS1_PORT PORTB #define LED_CS1 18 #define LED_CS2_PORT PORTB #define LED_CS2 17 #define LED_CS3_PORT PORTB #define LED_CS3 16 //====================== //函數(shù)名稱:LEDInit //函數(shù)返回:無(wú) //參數(shù)說(shuō)明:無(wú) 1

//功能概要:LED初始化。

//====================== void LEDInit();//====================== //函數(shù)名稱:LEDshow1 //函數(shù)返回:無(wú)

//參數(shù)說(shuō)明:i:指定LED哪一位顯示,c:顯示的內(nèi)容 //功能概要:指定LED的第i位顯示c。

//====================== void LEDshow1(uint_8 i, uint_8 c);//====================== //函數(shù)名稱:LEDchangeCode //函數(shù)返回:返回?cái)?shù)據(jù)num對(duì)應(yīng)的顯示碼 //參數(shù)說(shuō)明:num:需要轉(zhuǎn)換成顯示碼的數(shù)字 //功能概要:數(shù)字轉(zhuǎn)成顯示碼

//====================== uint_8 LEDchangeCode(uint_8 num);#endif //防止重復(fù)定義(結(jié)尾)

3、LCD構(gòu)件

//====================== // 文件名稱:lcd.c // 功能概要:lcd構(gòu)件頭文件

// 版權(quán)所有: 蘇州大學(xué)飛思卡爾嵌入式中心(sumcu.suda.edu.cn)//====================== #include “l(fā)cd.h”//lcd控制位和數(shù)據(jù)位端口及引腳號(hào) struct GPIO LCD[11]= { {LCD_RS_PORT,LCD_RS}, 1

{LCD_RW_PORT,LCD_RW}, {LCD_E_PORT,LCD_E}, {LCD_D0_PORT,LCD_D0}, {LCD_D1_PORT,LCD_D1}, {LCD_D2_PORT,LCD_D2}, {LCD_D3_PORT,LCD_D3}, {LCD_D4_PORT,LCD_D4}, {LCD_D5_PORT,LCD_D5}, {LCD_D6_PORT,LCD_D6}, {LCD_D7_PORT,LCD_D7}, };//內(nèi)部函數(shù)原型說(shuō)明

extern void LCDCommand(uint_8 cmd);//====================== //函數(shù)名稱:LCDInit //函數(shù)返回:無(wú) //參數(shù)說(shuō)明:無(wú)

//功能概要:LCD初始化。

//====================== void LCDInit(){ uint_32 i = 0; //定義數(shù)據(jù)口和控制口為輸出 for(i = 0;i < 11;i++){ gpio_init(LCD[i].gpio_port, LCD[i].gpio_pin, 1,0);} //設(shè)置指令,RS,R/W = 00, 寫(xiě)指令代碼

gpio_set(LCD[0].gpio_port, LCD[0].gpio_pin, 0);gpio_set(LCD[1].gpio_port, LCD[1].gpio_pin, 0);1

//功能設(shè)置-//設(shè)置指令

LCDCommand(0x38);//5*7點(diǎn)陣模式,2行顯示,8位數(shù)據(jù)總線 LCDCommand(0x08);//關(guān)顯示,關(guān)光標(biāo)顯示,不閃爍

LCDCommand(0x01);//清屏

for(i=0;i<40000;i++)asm(“NOP”);//延時(shí) LCDCommand(0x06);LCDCommand(0x14);//光標(biāo)右移一個(gè)字符位,AC自動(dòng)加1 LCDCommand(0x0C);//開(kāi)顯示,關(guān)光標(biāo)顯示,不閃爍 } //====================== //函數(shù)名稱:LCDShow //函數(shù)返回:無(wú)

//參數(shù)說(shuō)明:需要顯示的數(shù)據(jù) //功能概要:液晶顯示data中的數(shù)據(jù)。

//====================== void LCDShow(uint_8 data[32]){ uint_8 i;LCDInit();//LCD初始化 //顯示第1行16個(gè)字符

gpio_set(LCD[0].gpio_port, LCD[0].gpio_pin, 0);gpio_set(LCD[1].gpio_port, LCD[1].gpio_pin, 0);//后7位為DD RAM地址(0x00)LCDCommand(0x80);//寫(xiě)16個(gè)數(shù)據(jù)到DD RAM gpio_set(LCD[0].gpio_port, LCD[0].gpio_pin, 1);gpio_set(LCD[1].gpio_port, LCD[1].gpio_pin, 0);//將要顯示在第1行上的16個(gè)數(shù)據(jù)逐個(gè)寫(xiě)入DD RAM中 1

for(i = 0;i < 16;i++){ } //顯示第2行16個(gè)字符

gpio_set(LCD[0].gpio_port, LCD[0].gpio_pin, 0);gpio_set(LCD[1].gpio_port, LCD[1].gpio_pin, 0);//后7位為DD RAM地址(0x40)LCDCommand(0xC0);gpio_set(LCD[0].gpio_port, LCD[0].gpio_pin, 1);gpio_set(LCD[1].gpio_port, LCD[1].gpio_pin, 0);//將要顯示在第2行上的16個(gè)數(shù)據(jù)逐個(gè)寫(xiě)入DD RAM中 for(i = 16;i < 32;i++){ } } //====================== //函數(shù)名稱:LCDCommand //函數(shù)返回:無(wú)

//參數(shù)說(shuō)明:cmd:待執(zhí)行的命令

//功能概要:執(zhí)行給定的cmd命令,且延時(shí)。

//====================== void LCDCommand(uint_8 cmd){

uint_8 i;uint_16 j;uint_8 temp;LCDCommand(data[i]);LCDCommand(data[i]);//等待延遲防止重復(fù)調(diào)用此函數(shù)而LCD卡死 1

for(j=0;j<1600;j++);asm(“NOP”);//數(shù)據(jù)送到LCD的數(shù)據(jù)線上 for(i = 3;i < 11;i++){ gpio_set(LCD[i].gpio_port, LCD[i].gpio_pin, 0);} for(i = 3;i < 11;i++){ temp = 0x01 &(cmd>>(i-3));gpio_set(LCD[i].gpio_port, LCD[i].gpio_pin, temp);} //給出E信號(hào)的下降沿(先高后低),使數(shù)據(jù)寫(xiě)入LCD gpio_set(LCD[2].gpio_port, LCD[2].gpio_pin, 1);for(j=0;j<25;j++)asm(“NOP”);gpio_set(LCD[2].gpio_port, LCD[2].gpio_pin, 0);} LCD.h //====================== // 文件名稱:lcd.h // 功能概要:lcd構(gòu)件頭文件

// 版權(quán)所有: 蘇州大學(xué)飛思卡爾嵌入式中心(sumcu.suda.edu.cn)// 版本更新: 2013-03-17 V1.2 //====================== #ifndef LCD_H #define LCD_H #include “GPIOapp.h” //LCD寄存器選擇信號(hào)引腳 #define LCD_RS_PORT PORTD #define LCD_RS 7 //LCD讀寫(xiě)信號(hào)引腳 1

#define LCD_RW_PORT PORTD #define LCD_RW 6 //LCD讀寫(xiě)信號(hào)引腳

#define LCD_E_PORT PORTD #define LCD_E 5 //LCD數(shù)據(jù)引腳

#define LCD_D0_PORT PORTD #define LCD_D0 4 #define LCD_D1_PORT PORTD #define LCD_D1 3 #define LCD_D2_PORT PORTD #define LCD_D2 2 #define LCD_D3_PORT PORTD #define LCD_D3 1 #define LCD_D4_PORT PORTD #define LCD_D4 0 #define LCD_D5_PORT PORTC #define LCD_D5 17 #define LCD_D6_PORT PORTC #define LCD_D6 16 #define LCD_D7_PORT PORTC #define LCD_D7 13 //====================== //函數(shù)名稱:LCDInit //函數(shù)返回:無(wú) //參數(shù)說(shuō)明:無(wú)

//功能概要:LCD初始化。

//====================== extern void LCDInit();1

//====================== //函數(shù)名稱:LCDShow //函數(shù)返回:無(wú)

//參數(shù)說(shuō)明:data[32]:需要顯示的數(shù)組 //功能概要:LCD顯示數(shù)組的內(nèi)容。

//====================== extern void LCDShow(uint_8 data[32]);#endif //防止重復(fù)定義(結(jié)尾)

4、輔助函數(shù) /* * qzh.h * * Created on: Jun 5, 2017 * Author: administrator */

#ifndef QZH_H_ #define QZH_H_ #include “GPIOapp.h” void changeState(int*);//改變工作狀態(tài)函數(shù) int sdmn(int);//濕度變化模擬函數(shù)

void changeCode(int,uint_8 s[4]);//LED顯示轉(zhuǎn)碼函數(shù) #endif /* QZH_H_ */ /* * fun.c * * Created on: Jun 5, 2017 1

* Author: administrator */ #include“qzh.h” void changeState(int *a){

} int sdmn(int a){ } void changeCode(int a,uint_8 s[4]){

} 1

if(*a == 0){ } else { } *a = 0;*a = 1;return a-=5;uint_8 c[10] = {'0','1','2','3','4','5','6','7','8','9'};s[3] = c[a%10];s[2] = c[a/10];s[1] = c[a/100];s[0] = c[a/1000];

第四章 系統(tǒng)測(cè)試

4.1測(cè)試結(jié)果

圖4 圖4 是開(kāi)始是濕度顯示是72%,工作狀態(tài)顯示為停止。1

圖5 圖5 是第二次采集濕度顯示為69%,工作狀態(tài)顯示為停止。1

圖6 圖6 是第三次采集濕度顯示為66%度,已經(jīng)逼近設(shè)定值65%,此時(shí)工作狀態(tài)顯示為停止。1

圖7 再次采集時(shí)濕度低于65%,滴灌立即開(kāi)始,濕度上升至75%。1

第五章 總結(jié)展望

5.1總結(jié)

通過(guò)本次課程設(shè)計(jì),對(duì)中斷處理有了更加深入的理解。對(duì)于計(jì)時(shí)器,LED和LCD的工作原理也有了更深的認(rèn)識(shí)。LCD在試驗(yàn)中遇到的問(wèn)題不大,主要問(wèn)題在于中斷處理函數(shù)的編寫(xiě)和LED顯示上,LED顯示是每次中斷顯示一個(gè)數(shù),所以要每次中斷顯示,才能使得四個(gè)值看起來(lái)是同時(shí)顯示的且沒(méi)有閃爍效果。

其次LED的顯示是要求是字符,所以在顯示濕度是加上了轉(zhuǎn)碼函數(shù)加以轉(zhuǎn)換。這里又涉及到了參數(shù)為數(shù)組的函數(shù)的寫(xiě)法,因?yàn)閷W(xué)過(guò)好幾種語(yǔ)言,其傳遞方式偶所不同所以在這里也出現(xiàn)了不少問(wèn)題。

通過(guò)此次課程設(shè)計(jì)不僅對(duì)單片機(jī)應(yīng)用有了很好的實(shí)踐經(jīng)驗(yàn),而且也幫助鞏固了以前的知識(shí)。

5.2展望

1、滴灌系統(tǒng)可以增加通信模塊,使得所有者可以實(shí)時(shí)監(jiān)測(cè)農(nóng)作物生長(zhǎng)環(huán)境,也可以遠(yuǎn)程操控進(jìn)行滴灌等功能。

2、滴灌系統(tǒng)可以增加溫度監(jiān)測(cè),土壤酸堿性監(jiān)測(cè),空氣CO2濃度監(jiān)測(cè),并配套處理設(shè)備使得對(duì)農(nóng)作物的管理更加智能化。

1

參考文獻(xiàn)

[1] 王宜懷、張書(shū)奎、王林、吳瑾著.嵌入式技術(shù)基礎(chǔ)與實(shí)踐(第3版),北京:清華大學(xué) 出版社,2011.[2] 田澤.嵌入式系統(tǒng)開(kāi)發(fā)與應(yīng)用.北京:北京航天航空大學(xué)出版社,[3] 王宜懷、陳建明、蔣銀珍著.基于32位ColdFire構(gòu)建嵌入式系統(tǒng).北京:電子工業(yè)出

版社,2006.[4] 王粉花、王志良.嵌入式系統(tǒng)與單片機(jī)實(shí)踐教程.北京:清華大學(xué)出版社,2010.32 1

下載單片機(jī)課程設(shè)計(jì)報(bào)告[5篇]word格式文檔
下載單片機(jī)課程設(shè)計(jì)報(bào)告[5篇].doc
將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
點(diǎn)此處下載文檔

文檔為doc格式


聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

相關(guān)范文推薦

    單片機(jī)課程設(shè)計(jì)報(bào)告

    單片機(jī)課程設(shè)計(jì)報(bào)告題目:小直流電機(jī)調(diào)速實(shí)驗(yàn)教學(xué)單位: 機(jī) 電 工 程 系專業(yè): 機(jī)械設(shè)計(jì)制造及其自動(dòng)化班級(jí): 0803班學(xué)號(hào): 0811050342姓名: 程懷虎2011 年 11月(以下內(nèi)容用宋體,五號(hào),單......

    單片機(jī)課程設(shè)計(jì)報(bào)告(范文)

    片 機(jī) 課 程 設(shè) 計(jì) 報(bào)學(xué)號(hào)、姓名:年級(jí)、專業(yè):培養(yǎng)層次:課程名稱:授課學(xué)時(shí)學(xué)分:考試成績(jī):授課或主講教師簽字:?jiǎn)?告1 單片機(jī)最小系統(tǒng)功能說(shuō)明單片機(jī)的最小系統(tǒng)是由組成單片機(jī)系統(tǒng)必......

    單片機(jī)課程設(shè)計(jì)報(bào)告

    單片機(jī)課程設(shè)計(jì)報(bào)告? 課程名稱:?jiǎn)纹瑱C(jī)原理及接口課程設(shè)計(jì)? 題目:基于? 學(xué)院:電氣信息學(xué)院? 專業(yè)班級(jí):測(cè)控技術(shù)與儀器? 姓名:江讓? 學(xué)號(hào):? 指導(dǎo)老師:劉升老師 ? 時(shí)間: C51單片機(jī)的ADC0809數(shù)模......

    單片機(jī)課程設(shè)計(jì)報(bào)告

    DS18B20測(cè)溫及按鍵控制 課 程 設(shè) 計(jì) 課程名稱 單片機(jī)基礎(chǔ)課程設(shè)計(jì) 題目名稱 18B20測(cè)溫及按鍵控制 學(xué)生學(xué)院 **** 專業(yè)班級(jí) **** 班號(hào) **** 學(xué)生組員 ****** 指導(dǎo)教師 *****......

    單片機(jī)課程設(shè)計(jì)

    單片機(jī)課程設(shè)計(jì) 課題: 簡(jiǎn)易電子琴設(shè)計(jì) 學(xué)院:電氣與信息工程學(xué)院 專業(yè):電子信息工程 姓名:李琳琳 學(xué)號(hào):093411106 指導(dǎo)老師:田巍 河南城建學(xué)院 2014年01 月01 日......

    單片機(jī)課程設(shè)計(jì)

    課 程 設(shè) 計(jì) 設(shè)計(jì)題目: 基于單片機(jī)的8*8點(diǎn)陣顯示數(shù)字設(shè)計(jì) 學(xué)生姓名: 指導(dǎo)教師: 二級(jí)學(xué)院: 專業(yè): 班級(jí): 學(xué)號(hào): 目 錄 摘要??????????????????????????......

    單片機(jī)課程設(shè)計(jì)

    基于單片機(jī)的火災(zāi)智能報(bào)警控制系統(tǒng)的設(shè)計(jì)前言在各種災(zāi)害中,火災(zāi)是最經(jīng)常、最普通地威脅公眾安全和社會(huì)發(fā)展的災(zāi)害之一。人類能夠?qū)疬M(jìn)行利用和控制,是文明進(jìn)步的一個(gè)重要標(biāo)志......

    單片機(jī)課程設(shè)計(jì)

    《單片機(jī)技術(shù)》課程設(shè)計(jì)說(shuō)明書(shū) 音樂(lè)盒 院、部:電氣與信息工程學(xué)院 學(xué)生姓名:劉亮 指導(dǎo)教師:凌云職稱講師 專業(yè):電子信息工程 班級(jí):電子1302班 學(xué)號(hào):1330340220 完成時(shí)間: 2016年1......

主站蜘蛛池模板: 久久久成人毛片无码| 骚小妹影院| 特级无码毛片免费视频播放▽| 国产麻花豆剧传媒精品mv在线| 天天躁日日躁狼狼超碰97| 午夜香蕉成视频人网站| 无码高潮爽到爆的喷水视频| 日韩视频无码免费一区=区三区| 日本添下边视频全过程| 无码人妻丰满熟妇bbbb| 黄色在线免费观看| 亚洲va成无码人在线观看天堂| 国产又色又爽又黄的网站在线| 黑人入室粗暴人妻中出| 国产成人av在线播放不卡| 四虎影视国产精品久久| 国产成+人欧美+综合在线观看| 激情内射亚州一区二区三区爱妻| 人妻av一区二区三区精品| 日本免费一区二区三区最新| 国产最新进精品视频| 亚洲一区爱区精品无码| 亚洲综合无码一区二区三区不卡| 99热都是精品久久久久久| 亚洲а∨天堂久久精品2021| 亚洲熟妇av一区二区三区| 国产精品日韩欧美一区二区三区| 亚洲18色成人网站www| 久久精品国产亚洲av水果派| 久久久久国色av免费观看| 亚洲理论在线a中文字幕| 亚洲国产区男人本色vr| 在线麻豆精东9制片厂av影现网| 亚洲vs日韩vs欧美vs久久| 久久久www成人免费看片| 久久香蕉国产线看观看猫咪av| 四虎国产精品免费久久| 亚洲乱码尤物193yw最新网站| 漂亮人妻被中出中文字幕久久| 日本精品久久久久中文字幕| 精品久久久99大香线蕉|