單片機課程設計----電子時鐘_第1頁
已閱讀1頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  單片機原理及應用</b></p><p><b>  課程設計</b></p><p>  學院名稱:計算機科學與通信工程學院</p><p>  專業(yè)班級:通信工程0901</p><p><b>  學生姓名:</b></p>&

2、lt;p><b>  學生學號:</b></p><p><b>  指導教師: </b></p><p><b>  一、 設計目的</b></p><p>  1、熟悉鍵盤的工作原理,掌握HD7279A芯片實現鍵盤掃描程序設計及調試方法;</p><p> 

3、 2、了解掌握定時器的選擇和編程方法,了解定時器中斷服務程序設計方法;內部功能模塊如定時器/計數器、中斷、片內外存儲器、I/O口、串行口通訊等;</p><p>  3、進一步熟悉和掌握單片機的結構和工作原理;</p><p>  4、通過實際程序設計和調試,逐步掌握模塊化程序設計方法和調試技術;</p><p>  5、在課程設計過程中,不斷調試程序和修改程序,提

4、高了對單片機的應用能力,分析問題和解決問題的能力;</p><p>  6、熟悉日歷時鐘的編程方法。</p><p>  二、設計方案(包括文字說明,程序框圖,加注釋的核心源程序清單)</p><p><b>  1、功能要求</b></p><p>  1)能在LED顯示器上實現正常的時分秒計時;</p>

5、<p>  2)能通過鍵盤輸入當前時間,并從該時間開始計時;</p><p>  3)有校時 、校分功能;</p><p>  4)有報時功能,通過指示燈表示;</p><p>  5)有鬧時功能,鬧時時間可以設定,通過指示燈表示。</p><p><b>  2、文字說明</b></p>&l

6、t;p>  HD7279是一片具有串行接口的,可用于驅動8位共陰極式數碼管(或64只獨立LED)的智能顯示驅動芯片,該芯片同時還可連接多達64鍵的鍵盤矩陣,單片即可完成LED顯示、鍵盤接口的全部功能。</p><p>  HD7279內部含有譯碼器,可直接接受BCD碼或者16進制碼,并同時具有兩種譯碼方式,此外還有消隱、閃爍、左移、右移、段尋址等多種控制指令。</p><p>  H

7、D7279具有片選信號,可方便地實現多于8位的顯示或多于64鍵的鍵盤接口。</p><p>  3、程序框圖: </p><p>  4、核心源程序清單:</p><p>  //******************************test7279*******************************</p><p

8、>  #include "c8051f020.h" </p><p>  #include <intrins.h></p><p>  //和通信10屆的同學一起上電路分析很愉快。成績一般吧,90分。還有,我一</p><p>  //直想聲明一點,我不是來重修的,電路分析沒上過補修而已。要知道坐在第一</p>&

9、lt;p>  //排被學弟學妹們用看重修生的眼光來看待是多么...如果你在文庫里找到了另外</p><p>  //一份08屆一班學號12號上傳、財富值為5分的,最好不要下載,很讓人抓狂。</p><p>  //如果已經下載…我也無話可說。</p><p>  sbitHD7279_DAT=P1^7; </p><p>  sbi

10、tHD7279_CLK=P1^6;</p><p>  #define NOSELECT7279 P5 |= 0x80//片選置1,未選中</p><p>  #define SELECT7279 P5 &= ~(0x80) //片選清零,選中</p><p>  #define Set7279DAT HD7279_DAT=1 /

11、/數據線置1</p><p>  #define Clr7279DAT HD7279_DAT=0 //數據線置0</p><p>  #define Set7279CLK HD7279_CLK=1 //時鐘高電平</p><p>  #define Clr7279CLK HD7279_CLK=0 //時鐘低電平</p>&

12、lt;p>  // HD7279測試/演示程序 </p><p>  //I/O口初始化 </p><p>  void Delay1ms(unsigned char T); //延時T毫秒</p><p>  void Delay1s(unsigned char T); // 延時T秒</p>&l

13、t;p>  void Delay1us(unsigned char T); //延時T微秒</p><p>  //仿真總線時序發(fā)送一個字節(jié)</p><p>  void Send7279Byte(unsigned char ch)</p><p><b>  {</b></p><p><b&g

14、t;  char i;</b></p><p>  SELECT7279; //置CS低電平 </p><p>  Delay1us(50); //延時50μ</p><p>  for (i=0;i<8;i++) </p><p><b>  {</b&g

15、t;</p><p>  if (ch&0x80) //輸出7位到HD7279A的DATA端 1000 0000</p><p><b>  {</b></p><p>  Set7279DAT; //數據線置1</p><p><b>  }</b>

16、;</p><p><b>  else</b></p><p><b>  {</b></p><p>  Clr7279DAT; //數據線置0</p><p><b>  }</b></p><p>  Set7279CLK;

17、 //置CLK高電平 </p><p>  ch=ch<<1; //待發(fā)數據左移 </p><p>  Delay1us(8); //延時8μ</p><p>  Clr7279CLK; //置CLK低電平 </p><p>  Delay1us(8);

18、 //延時50μ</p><p><b>  }</b></p><p>  Clr7279DAT; //發(fā)送完畢,DATA端置低,返回 </p><p><b>  }</b></p><p>  //總線時序接收一個字節(jié)</p><p> 

19、 unsigned char Receive7279Byte(void)</p><p><b>  {</b></p><p>  unsigned char i,ch;</p><p><b>  ch=0;</b></p><p>  Set7279DAT; //DATA端置

20、為高電平,輸入狀態(tài)</p><p>  Delay1us(50); //延時50μ</p><p>  for (i=0;i<8;i++)</p><p><b>  {</b></p><p>  Set7279CLK; //置CLK高電平</p><p>  

21、Delay1us(8); //延時8μ</p><p>  ch=ch<<1; //接收數據左移1位</p><p>  if (HD7279_DAT)</p><p>  ch+=1; //接收1位數據</p><p>  Clr7279CLK; //置CLK低

22、電平</p><p>  Delay1us(8); //延時8μ</p><p><b>  }</b></p><p>  Clr7279DAT; //接收完畢,DATA端重新置成低電平(輸出狀態(tài))</p><p>  return ch;</p><p><

23、b>  }</b></p><p>  void BlankLED(unsigned char ch)</p><p><b>  {</b></p><p>  Send7279Byte(0x98); //發(fā)消隱指令 </p><p>  Send7279Byte(ch); //

24、1-顯示 0-消隱</p><p>  NOSELECT7279; //置CS高電平 </p><p><b>  }</b></p><p>  unsigned char code BdSeg[]={</p><p>  0x7e,0x30,0x6d,0x79, // 0 1 2 3 </p&g

25、t;<p>  0x33,0x5b,0x5f,0x70, // 4 5 6 7</p><p>  0x7f,0x7b,0x77,0x1f, // 8 9 a b</p><p>  0x4e,0x3d,0x4f,0x47, // c d e f</p><p>  0x00,0x01}; </p><p><b> 

26、 /*</b></p><p><b>  b6</b></p><p><b>  ---</b></p><p>  b1| b0 |b5</p><p>  ---- small</p><p>  b2| b3 |b4</p>

27、<p><b>  ---- .b7</b></p><p><b>  */</b></p><p>  void DispLED(char *DispBuf,char ShowDot) // ShowDot顯示小數點位 </p><p><b>  {</b></p>

28、<p>  char i,ch;</p><p>  ShowDot--;</p><p>  for (i=0;i<6;i++)</p><p><b>  {</b></p><p>  ch=DispBuf[i]; //取一字符</p><p&

29、gt;  if ((ch>='a') && (ch<='f')) //將字符轉換成數字</p><p><b>  {</b></p><p>  ch-='a';ch+=0xa;</p><p><b>  }</b></p&

30、gt;<p>  if ((ch>='A') && (ch<='F'))</p><p><b>  {</b></p><p>  ch-='A';ch+=0xa;</p><p><b>  }</b></p>&l

31、t;p>  Send7279Byte(0x90+5-i); //用不譯碼方式顯示第i位</p><p>  if (ch==' ')</p><p>  Send7279Byte(0x00); </p><p><b>  else</b></p><p>  if (ch==

32、'-')</p><p>  Send7279Byte(0x01); </p><p><b>  else </b></p><p><b>  {</b></p><p>  if (ShowDot==i) //查表顯示,同時點亮小數點</p>&l

33、t;p>  Send7279Byte(0x80|BdSeg[ch&0x0f]); </p><p><b>  else</b></p><p>  Send7279Byte(BdSeg[ch&0x0f]); </p><p><b>  }</b></p><p><b

34、>  }</b></p><p>  NOSELECT7279; / /置CS高電平 </p><p><b>  }</b></p><p>  //*****************************S-3530A****************************

35、***</p><p>  #include "c8051f020.h" </p><p>  #include <intrins.h></p><p>  #include "test7279.h"</p><p>  Unsigned char Count1

36、ms,set,set1,set2;//set用于標識是否停止計時,set1用于標識</p><p>  //是否設置時間,set 2用于標識是否設置鬧鐘</p><p>  //按1校時加1,按2校時減1,按3校分加1,按4校分減1 static int time[3]={23,59,50};//當前時間<

37、/p><p>  static char disptime[6]={'2','3','5','9','5','0'};//初始時間</p><p>  int dertime[3]={00,00,01};//存放時間的中間變量 </p><p>  int nowtime[

38、3]={00,01,00};//鬧鐘時間</p><p>  void Delay1us(unsigned char us)</p><p><b>  {</b></p><p>  while (us)</p><p><b>  {</b></p><p>  _nop

39、_(); _nop_(); _nop_(); _nop_(); _nop_(); //占用一個指令周期</p><p><b>  --us;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void SYSCLK_I

40、nit (void)</p><p><b>  {</b></p><p>  int i; // delay counter</p><p>  OSCXCN = 0x67; // start external oscillator with

41、</p><p>  // 22.1184MHz crystal</p><p>  for (i=0; i < 256; i++) ; // Wait for osc. to start up</p><p>  while (!(OSCXCN & 0x80)) ; // Wait for crystal osc

42、. to settle</p><p>  OSCICN = 0x88; // select external oscillator as SYSCLK</p><p>  // source and enable missing clock</p><p>  // detector</p><p> 

43、 //OSCICN = 0x07; </p><p>  //interal 16MHZ</p><p><b>  }</b></p><p>  #define PRT0CF P0MDOUT</p><p>  #define PRT1CF P1MDOUT</p><p>  #defi

44、ne PRT2CF P2MDOUT</p><p>  void PORT_Init (void)</p><p><b>  {</b></p><p>  XBR0 = 0x07; // Enable SMBus, SPI0, and UART0</p><p>  XB

45、R1 = 0x00;</p><p>  XBR2 = 0x44; // Enable crossbar and weak pull-ups</p><p>  EMI0TC = 0x21;</p><p>  P74OUT = 0xFF;</p><p>  P0MDOUT = 0x1

46、5;</p><p>  P1MDOUT |= 0x3C; //P1.2-P1.5推挽輸出</p><p>  P1 &= 0xc3; //P1.2-P1.5=0</p><p><b>  }</b></p><p>  void SPI0_Init (void)</p>

47、;<p><b>  {</b></p><p>  SPI0CFG = 0x07; // data sampled on 1st SCK rising edge</p><p>  // 8-bit data words</p><p>  SPI0CFG|=0xC0;

48、 //CKPOL =1;</p><p>  SPI0CN = 0x03; // Master mode; SPI enabled; flags</p><p>  // cleared</p><p>  SPI0CKR = SYSCLK/2/8000000-1; // SPI clock

49、 <= 8MHz (limited by </p><p>  // EEPROM spec.)</p><p><b>  }</b></p><p>  void Timer0_Init (void)</p><p><b>  {</b></p><p>  CK

50、CON&=0xf7;//12分頻</p><p>  TMOD=0x01; //定時器0 工作在方式1 </p><p>  TR0 = 0; //啟動定時器</p><p>  Count1ms=40; // STOP Timer0</p><p>  TH0 = 0x9e; </p><p>

51、  TL0 = 0x58;</p><p>  TR0 = 1; // START Timer0</p><p>  IE|= 0x2; //srart interrupt</p><p><b>  }</b></p><p>  char GetKeyValue(void)</p><p

52、><b>  {</b></p><p>  char KeyValue;</p><p>  if (CPT1CN&0x40) return -1; //無鍵按下</p><p>  Send7279Byte(0x15); //發(fā)送鍵盤指令 0001 0101</p>

53、<p>  KeyValue=Receive7279Byte();</p><p>  NOSELECT7279; //置CS高電平 </p><p>  return KeyValue; </p><p><b>  }</b></p><p>  void Wai

54、tKeyOff(void) //等待按鍵釋放</p><p><b>  {</b></p><p>  while (!(CPT1CN&0x40)); </p><p><b>  }</b></p><p>  void inputnum(void)

55、 //i=5開始,輸入數字顯示disptime[5-i] i=5--0</p><p>  { //賦給dertime[j]</p><p>  char j,KeyValue,i;</p><p><b>  i=5;</b></p><p&g

56、t;<b>  while(1)</b></p><p><b>  {</b></p><p>  KeyValue=GetKeyValue();</p><p>  WaitKeyOff();</p><p>  if(((KeyValue%16)>=0) && ((Key

57、Value%16)<=9)) //i=5 4 3 2 1 0</p><p><b>  {</b></p><p>  disptime[5-i]=KeyValue;</p><p>  if(((disptime[0]<=1) || ((disptime[0]==2) && (disptime[1]<4

58、))) && (disptime[2]<6) && (disptime[4]<6) )</p><p>  //符合數字時鐘的實際意義</p><p><b>  { </b></p><p>  Send7279Byte(0xC8+i); </p><p>  Send

59、7279Byte(KeyValue);</p><p>  NOSELECT7279; </p><p><b>  i--;</b></p><p><b>  }</b></p><p><b>  }</b></p><p> 

60、 if(i<0) break;</p><p><b>  }</b></p><p>  for (j=0;j<3;j++) //將顯示的時間賦值給存放時間的變量</p><p><b>  {</b></p><p>  dertime[j]=disptime[2*j]*10+

61、disptime[2*j+1];</p><p><b>  }</b></p><p><b>  if(set1)</b></p><p><b>  {</b></p><p>  set1=!set1;// 設置時間后復位</p><p><

62、;b>  }</b></p><p><b>  if(set2)</b></p><p><b>  {</b></p><p>  set2=!set2;// 設置鬧鐘后復位</p><p><b>  }</b></p><p>

63、<b>  }</b></p><p>  void FlashLED(unsigned char No)</p><p><b>  {</b></p><p><b>  char i;</b></p><p>  Send7279Byte(0x88);//發(fā)閃爍指令 &

64、lt;/p><p><b>  i=0x1;</b></p><p>  while (No)</p><p><b>  {</b></p><p><b>  i=i<<1;</b></p><p><b>  No--;</

65、b></p><p><b>  }</b></p><p>  Send7279Byte(~i); //1閃爍</p><p>  NOSELECT7279; //置CS高電平 </p><p><b>  }</b></p><p>  //***ma

66、in函數***</p><p>  void main(void)</p><p><b>  {</b></p><p>  char j,KeyValue;</p><p>  WDTCN = 0xde;</p><p>  WDTCN = 0xad; //關看門狗<

67、/p><p>  SYSCLK_Init (); //初始化時鐘</p><p>  Timer0_Init();//初始化定時器</p><p>  PORT_Init (); //初始化IO口</p><p>  SPI0_Init (); //初始化SPI0</p>

68、<p>  CPT1CN|=0x80;//使能比較器1</p><p>  REF0CN = 0x03; //使能片內參考電壓</p><p>  DAC0CN |= 0x80;//使能DAC0</p><p>  DAC0H=0;DAC0L=0;</p><p>  EA=1;//開中斷</

69、p><p>  Delay1us(25000);//等待25ms復位時間 </p><p>  Send7279Byte(0xA4); //發(fā)復位指令 </p><p>  NOSELECT7279; </p><p>  DispLED(disptime,0); //顯示初始時間</p><p&g

70、t;  while(1) //見流程圖</p><p><b>  {</b></p><p>  KeyValue=GetKeyValue();</p><p>  WaitKeyOff();</p><p>  if((KeyValue%16)==0x0f)</p><

71、;p><b>  {</b></p><p><b>  set=!set;</b></p><p><b>  }</b></p><p>  if(set) //啟停*****</p><p><b>  {</b></p>

72、<p>  if((KeyValue%16)==0x0e)</p><p><b>  {</b></p><p>  set1=!set1;// 設置時間</p><p><b>  }</b></p><p>  if((KeyValue%16)==0x0d)</p>&

73、lt;p><b>  {</b></p><p>  set2=!set2;// 設置鬧鐘</p><p><b>  }</b></p><p>  if(set1)//設置時間**********</p><p><b>  {</b></p><

74、p>  DispLED("------",0);</p><p>  inputnum();</p><p>  for (j=0;j<3;j++) //int-char</p><p><b>  {</b></p><p>  time[j]=dertime[j];</p&

75、gt;<p><b>  }</b></p><p><b>  }</b></p><p>  if(set2)// 設置鬧鐘********</p><p>  {DispLED("------",0);</p><p>  inputnum();</p

76、><p>  for (j=0;j<3;j++) //int-char</p><p><b>  {</b></p><p>  nowtime[j]=dertime[j];//nowtime[j]鬧鐘時間</p><p><b>  }</b></p><p>&

77、lt;b>  }</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  switch (KeyValue%16)//校時</p><p>

78、;<b>  {</b></p><p>  case 1:time[0]=(time[0]+1+24)%24;break;</p><p>  case 2:time[0]=(time[0]-1+24)%24;break;</p><p>  case 3:time[1]=(time[1]+1+60)%60;break;</p>

79、<p>  case 4:time[1]=(time[1]-1+60)%60;break;</p><p>  case 0xd:FlashLED(8);break;//暫停閃爍</p><p>  default:break;</p><p><b>  }</b></p><p><b>  }

80、</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void Timer0_ISR (void) interrupt 1 </p><p><b>  {</b></p><p>&l

81、t;b>  int i;</b></p><p>  TH0 = 0x9e; </p><p>  TL0 = 0x58;</p><p>  if (set==1)</p><p><b>  return; </b></p><p>  Count1ms--;// u

82、nsigned char Count1ms會小于0,因為無符號會溢出,計數次數變大所以延遲大。</p><p>  if (Count1ms==0)//秒</p><p><b>  {</b></p><p>  Count1ms=40;</p><p>  time[2]=time[2]+1;</p>

83、<p>  if((time[1]==59) && (time[2]==55))//報時功能,接近整點時閃爍***</p><p>  Send7279Byte(0xbf);</p><p>  //鬧鐘功能 ***********</p><p>  if((time[0]==nowtime[0])&&(time[1]=

84、=nowtime[1])&&(time[2]==nowtime[2]))</p><p>  Send7279Byte(0xbf);</p><p>  if(((time[1]*60+time[2]-nowtime[1]*60-nowtime[2])>10)&&(time[0]==nowtime[0]))</p><p>  

85、FlashLED(8);</p><p>  if (time[2]>=60) //分</p><p><b>  {</b></p><p>  time[2]=0;</p><p>  time[1]=time[1]+1;</p><p>  if (time[1]>=60

86、) // 時</p><p><b>  {</b></p><p>  time[1]=0;</p><p>  time[0]=time[0]+1;</p><p>  if((time[1]==00) && (time[2]==00))</p><p>  FlashLED

87、(8);</p><p>  if (time[0]>=24) </p><p><b>  {</b></p><p>  time[0]=0;</p><p><b>  }</b></p><p><b>  }</b></p>

88、;<p><b>  }</b></p><p>  if (set!=1)</p><p><b>  {</b></p><p>  for (i=0;i<3;i++) //將time里面的數字拆開放在disptime里</p><p><b>  {<

89、/b></p><p>  disptime[2*i]=time[i]/10;</p><p>  disptime[2*i+1]=time[i]%10;</p><p><b>  }</b></p><p>  DispLED(disptime,0); //顯示時間************</p&g

90、t;<p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  三、調試過程(調試中出現的問題、解決的方法)</p><p>  問題1:只能通過修改程序里面的int nowtime[3]={

91、00,01,01};改變鬧鐘時間。</p><p>  通過添加程序模塊if(set2)// 設置鬧鐘********</p><p>  {DispLED("------",0);</p><p>  inputnum();</p><p>  for (j=0;j<3;j++) //int-char<

92、;/p><p><b>  {</b></p><p>  nowtime[j]=dertime[j];//nowtime[j]鬧鐘時間</p><p><b>  }</b></p><p><b>  }</b></p><p>  可以通過鍵盤修改鬧鐘

93、時間。</p><p>  問題2:數組類型不匹配問題</p><p>  static int time[3]={23,59,50};</p><p>  static char disptime[6]={'2','3','5','9','5','0'};</p&

94、gt;<p>  int dertime[3]={00,00,01};</p><p>  通過程序語句disptime[2*i]=time[i]/10;</p><p>  disptime[2*i+1]=time[i]%10;拆分</p><p>  for (j=0;j<3;j++) //int-char</p><

95、;p><b>  {</b></p><p>  dertime[j]=disptime[2*j]*10+disptime[2*j+1];</p><p><b>  }整合</b></p><p><b>  解決。</b></p><p>  問題3:如何實現數字時鐘

96、1s跳一次</p><p>  首先選定定時器T0,工作在方式1 ,12分頻。計算初值9e58H,使LED閃爍周期為25000μs,循環(huán)40次,達到工作頻率為1Hz。CKCON&=0xf7;//12分頻</p><p>  TMOD=0x01; //定時器0 工作在方式1 </p><p>  TR0 = 0; //啟動定時器</p>

97、<p>  Count1ms=40; // STOP Timer0</p><p>  TH0 = 0x9e; </p><p>  TL0 = 0x58;</p><p>  問題4:不能反復定時或設定鬧鈴,只能設置一次。</p><p>  要對set1,set2進行復位操作。</p><p>&l

98、t;b>  if(set1)</b></p><p><b>  {</b></p><p>  set1=!set1;// 設置時間后復位</p><p><b>  }</b></p><p><b>  if(set2)</b></p>&

99、lt;p><b>  {</b></p><p>  set2=!set2;// 設置鬧鐘后復位</p><p><b>  }</b></p><p>  問題5:對鍵盤按鍵輸入的數值進行軟件限定</p><p><b>  解決方案:</b></p>&

100、lt;p>  if(((disptime[0]<=1) || ((disptime[0]==2) && (disptime[1]<4))) && (disptime[2]<6) && (disptime[4]<6) ) //符合數字時鐘的實際意義</p><p>  問題6:如何實現在校時功能中,小時位置00與23、分鐘位置00與59的

101、互相轉換。</p><p><b>  解決方案:</b></p><p>  case 1:time[0]=(time[0]+1+24)%24;break;</p><p>  case 2:time[0]=(time[0]-1+24)%24;break;</p><p>  case 3:time[1]=(time[

102、1]+1+60)%60;break;</p><p>  case 4:time[1]=(time[1]-1+60)%60;break;</p><p>  四、調試結論(有無達到設計要求等)</p><p>  1、程序從23:59:50開始運行,23:59:55開始閃爍,00:00:00時刻結束。設置初始定時時間為00:01:01,到這個時刻閃爍10秒后停止閃爍

103、。</p><p>  2、按f鍵,可控制時鐘的停止和開始;</p><p>  3、先按f鍵然后按e鍵,可調整時鐘的時間;</p><p>  4、先按f鍵然后按d鍵,可調整鬧鐘的時間;</p><p>  5、按1鍵可使時鐘+1;按2鍵可使時鐘-1;</p><p>  6、按3鍵可使分鐘+1;按4鍵可使分鐘-1;

104、</p><p><b>  五、經驗總結</b></p><p>  我在課程設計一開始就很快地定下了第四個課題日歷時鐘與鍵盤顯示程序設計,以為會很簡單。但第一次課設我就意識到了這種想法有多么可笑。這個課題比想象中要難很多。絕大多數人選擇選擇點陣式液晶顯示屏的顯示程序設計,身為少數派的自己幾乎沒有可以一起探討一起研究的同伴。也曾經想過要不要換大眾課題。最終還是放棄了

105、這種想法。路漫漫其修遠兮,吾將上下而求索。</p><p>  雖然這次的課程設計算起來在實驗室的時間只有四天,但在這四天學到了不少東西。平時上課很多含糊的知識通過這次課程設計中有點明白了。一開始對代碼修改幾乎毫無頭緒,通過幾次實驗的努力與思考,最終能比較熟練的在實驗平臺上進行操作了。</p><p>  要自己熟練地掌握一個軟件,唯有將更多的功夫得花在課下。只有不停的探索,不住的磨練,才

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論