Top Banner
49

Vision 3 - el.fotech.edu.twel.fotech.edu.tw/localuser/k1200/web1/single chip application/Keil... · Vision 3部分:快速穿越 Vision整合設計環境。 Keil C語言部分:

May 16, 2018

Download

Documents

haduong
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Vision 3 - el.fotech.edu.twel.fotech.edu.tw/localuser/k1200/web1/single chip application/Keil... · Vision 3部分:快速穿越 Vision整合設計環境。 Keil C語言部分:
Page 2: Vision 3 - el.fotech.edu.twel.fotech.edu.tw/localuser/k1200/web1/single chip application/Keil... · Vision 3部分:快速穿越 Vision整合設計環境。 Keil C語言部分:

Vision 3部分:快速穿越Vision整合設計環境。

Keil C語言部分 :認識Keil C語言之基本架構。認識Keil C之變數、常數與資料型態。認識記憶體形式與工作模式。認識Keil C之運算子、控制流程、函數與中斷函數。認識Keil C之陣列與指標。認識Keil C之前置命令。

Page 3: Vision 3 - el.fotech.edu.twel.fotech.edu.tw/localuser/k1200/web1/single chip application/Keil... · Vision 3部分:快速穿越 Vision整合設計環境。 Keil C語言部分:

Page 4: Vision 3 - el.fotech.edu.twel.fotech.edu.tw/localuser/k1200/web1/single chip application/Keil... · Vision 3部分:快速穿越 Vision整合設計環境。 Keil C語言部分:
Page 5: Vision 3 - el.fotech.edu.twel.fotech.edu.tw/localuser/k1200/web1/single chip application/Keil... · Vision 3部分:快速穿越 Vision整合設計環境。 Keil C語言部分:

File 標籤

切換到檔案管理頁面

Regs 標籤

切換到暫存器頁面 Books 標籤

切換到輔助說明頁面

Functions 標籤

切換到函數頁面

Templates 標籤

切換到樣板頁面

Page 6: Vision 3 - el.fotech.edu.twel.fotech.edu.tw/localuser/k1200/web1/single chip application/Keil... · Vision 3部分:快速穿越 Vision整合設計環境。 Keil C語言部分:

除錯通道欄位

Debug Channel

執行時間欄位 游標位置欄位

鍵盤大/小寫狀況

鍵盤數字鍵狀況

鍵盤捲動鍵狀況

覆蓋/插入模式

檔案之存取屬性

Page 7: Vision 3 - el.fotech.edu.twel.fotech.edu.tw/localuser/k1200/web1/single chip application/Keil... · Vision 3部分:快速穿越 Vision整合設計環境。 Keil C語言部分:

指定系統所要採用

的時鐘脈波頻率

指定採用內部程式記憶體

指定記憶體模式 指定程式記憶體大小

指定作業系統

指定外部記憶體

指定程式記憶體庫

請改為 12

Page 8: Vision 3 - el.fotech.edu.twel.fotech.edu.tw/localuser/k1200/web1/single chip application/Keil... · Vision 3部分:快速穿越 Vision整合設計環境。 Keil C語言部分:
Page 9: Vision 3 - el.fotech.edu.twel.fotech.edu.tw/localuser/k1200/web1/single chip application/Keil... · Vision 3部分:快速穿越 Vision整合設計環境。 Keil C語言部分:

指定輸出檔案

所要儲存的資料夾

指定所要產生執行檔的名稱 產生可執行檔

產生除錯資料

產生 16 進位檔 指定建立函數庫

建構完成後的操作

指定建立批次檔

指定 16進位檔的格式 請選取本選項

Page 10: Vision 3 - el.fotech.edu.twel.fotech.edu.tw/localuser/k1200/web1/single chip application/Keil... · Vision 3部分:快速穿越 Vision整合設計環境。 Keil C語言部分:

發現錯誤 無法完成建構

Page 11: Vision 3 - el.fotech.edu.twel.fotech.edu.tw/localuser/k1200/web1/single chip application/Keil... · Vision 3部分:快速穿越 Vision整合設計環境。 Keil C語言部分:

完成建構

Page 12: Vision 3 - el.fotech.edu.twel.fotech.edu.tw/localuser/k1200/web1/single chip application/Keil... · Vision 3部分:快速穿越 Vision整合設計環境。 Keil C語言部分:
Page 13: Vision 3 - el.fotech.edu.twel.fotech.edu.tw/localuser/k1200/web1/single chip application/Keil... · Vision 3部分:快速穿越 Vision整合設計環境。 Keil C語言部分:
Page 14: Vision 3 - el.fotech.edu.twel.fotech.edu.tw/localuser/k1200/web1/single chip application/Keil... · Vision 3部分:快速穿越 Vision整合設計環境。 Keil C語言部分:
Page 15: Vision 3 - el.fotech.edu.twel.fotech.edu.tw/localuser/k1200/web1/single chip application/Keil... · Vision 3部分:快速穿越 Vision整合設計環境。 Keil C語言部分:
Page 16: Vision 3 - el.fotech.edu.twel.fotech.edu.tw/localuser/k1200/web1/single chip application/Keil... · Vision 3部分:快速穿越 Vision整合設計環境。 Keil C語言部分:
Page 17: Vision 3 - el.fotech.edu.twel.fotech.edu.tw/localuser/k1200/web1/single chip application/Keil... · Vision 3部分:快速穿越 Vision整合設計環境。 Keil C語言部分:
Page 18: Vision 3 - el.fotech.edu.twel.fotech.edu.tw/localuser/k1200/web1/single chip application/Keil... · Vision 3部分:快速穿越 Vision整合設計環境。 Keil C語言部分:
Page 19: Vision 3 - el.fotech.edu.twel.fotech.edu.tw/localuser/k1200/web1/single chip application/Keil... · Vision 3部分:快速穿越 Vision整合設計環境。 Keil C語言部分:
Page 20: Vision 3 - el.fotech.edu.twel.fotech.edu.tw/localuser/k1200/web1/single chip application/Keil... · Vision 3部分:快速穿越 Vision整合設計環境。 Keil C語言部分:
Page 21: Vision 3 - el.fotech.edu.twel.fotech.edu.tw/localuser/k1200/web1/single chip application/Keil... · Vision 3部分:快速穿越 Vision整合設計環境。 Keil C語言部分:
Page 22: Vision 3 - el.fotech.edu.twel.fotech.edu.tw/localuser/k1200/web1/single chip application/Keil... · Vision 3部分:快速穿越 Vision整合設計環境。 Keil C語言部分:

delay(int x) 函數定義

{ 函數起始符號

函數結束符號

int i,j;

for(i=0;i<x;i++)

}

宣告區

程式區

#include <reg51.h> 指定標頭檔

delay(int);

unsigned char x,y;

main() 主程式

{ 主程式起始符號

主程式結束符號

int i,j;

unsigned char LED;

LED=0xff; /*關閉 LED*/

}

宣告區

程式區 註解

宣告區

Page 23: Vision 3 - el.fotech.edu.twel.fotech.edu.tw/localuser/k1200/web1/single chip application/Keil... · Vision 3部分:快速穿越 Vision整合設計環境。 Keil C語言部分:

main() 主程式定義

{ 主程式起始符號

主程式結束符號

int i,j;

unsigned char LED;

LED=0xff; /*關閉 LED*/

}

宣告區

程式區

註解

Page 24: Vision 3 - el.fotech.edu.twel.fotech.edu.tw/localuser/k1200/web1/single chip application/Keil... · Vision 3部分:快速穿越 Vision整合設計環境。 Keil C語言部分:

main()

{

int i,j;

LED=0xff; /*關閉 LED*/

}

區域變數

#include <reg51.h>

unsigned char LED, SPEAKER;

整體變數

Page 25: Vision 3 - el.fotech.edu.twel.fotech.edu.tw/localuser/k1200/web1/single chip application/Keil... · Vision 3部分:快速穿越 Vision整合設計環境。 Keil C語言部分:

main()

{

int i,j;

}

區域變數

#include <reg51.h>

delay(int x)

{

int i,j;

}

區域變數

主程式

函數

}

Page 26: Vision 3 - el.fotech.edu.twel.fotech.edu.tw/localuser/k1200/web1/single chip application/Keil... · Vision 3部分:快速穿越 Vision整合設計環境。 Keil C語言部分:
Page 27: Vision 3 - el.fotech.edu.twel.fotech.edu.tw/localuser/k1200/web1/single chip application/Keil... · Vision 3部分:快速穿越 Vision整合設計環境。 Keil C語言部分:

AND(及運算)

x=0x26=00100110

y=0xe2=11100010

z=x&y=00100010=0x22

OR(或運算)

x=0x26=00100110

y=0xe2=11100010

z=x|y=11100110=0xe6

XOR(互斥或運算)

x=0x26=00100110

y=0xe2=11100010

z=x^y=11000100=0xc4

NOT(取補數運算)

x=0x26=00100110

z=~x=11011001=0xd9

<<(左移運算)

x=0x26=00100110

z=x<<2=10011000=0x98

>>(右移運算)

x=0x26=00100110

z=x>>1=00010011=0x13

Page 28: Vision 3 - el.fotech.edu.twel.fotech.edu.tw/localuser/k1200/web1/single chip application/Keil... · Vision 3部分:快速穿越 Vision整合設計環境。 Keil C語言部分:

運算式

成立?

指令區塊 1

yes no

指令區塊 2

else

Page 29: Vision 3 - el.fotech.edu.twel.fotech.edu.tw/localuser/k1200/web1/single chip application/Keil... · Vision 3部分:快速穿越 Vision整合設計環境。 Keil C語言部分:

運算式

成立?

指令區塊 1

yes

no

Page 30: Vision 3 - el.fotech.edu.twel.fotech.edu.tw/localuser/k1200/web1/single chip application/Keil... · Vision 3部分:快速穿越 Vision整合設計環境。 Keil C語言部分:

指令區塊 4

else

no

運算式 3

成立?

指令區塊 3

yes

no

else if

運算式 1

成立?

指令區塊 1

yes no

運算式 2

成立?

指令區塊 2

yes

else if

Page 31: Vision 3 - el.fotech.edu.twel.fotech.edu.tw/localuser/k1200/web1/single chip application/Keil... · Vision 3部分:快速穿越 Vision整合設計環境。 Keil C語言部分:

運算式

運算式=常數 1

指令區塊 1

break

指令區塊 2

break

指令區塊 3

break

指令區塊 n

break

運算式=常數 2 運算式=常數 3 運算式=其它

default

Page 32: Vision 3 - el.fotech.edu.twel.fotech.edu.tw/localuser/k1200/web1/single chip application/Keil... · Vision 3部分:快速穿越 Vision整合設計環境。 Keil C語言部分:

void Sub_name(int x) 函數定義

{ 函數起始符號

函數結束符號

int i,j;

unsigned char LED;

LED=0xff; /*關閉 LED*/

}

宣告區

程式區

註解

傳出引數 傳入引數 函數名義

Page 33: Vision 3 - el.fotech.edu.twel.fotech.edu.tw/localuser/k1200/web1/single chip application/Keil... · Vision 3部分:快速穿越 Vision整合設計環境。 Keil C語言部分:

連接電路

Page 34: Vision 3 - el.fotech.edu.twel.fotech.edu.tw/localuser/k1200/web1/single chip application/Keil... · Vision 3部分:快速穿越 Vision整合設計環境。 Keil C語言部分:

流程圖 開 始

輸出 0x0f

即 00001111

呼叫延遲副程式

delay(10000)

主程式

反相輸出

即 11110000

呼叫延遲副程式

delay(10000)

Delay

從 1 數到 x

即數 10000 下

延遲副程式

返 回

Page 35: Vision 3 - el.fotech.edu.twel.fotech.edu.tw/localuser/k1200/web1/single chip application/Keil... · Vision 3部分:快速穿越 Vision整合設計環境。 Keil C語言部分:

/* ch01.c - LED高低位元交互閃爍程式 */ //==宣告區

===============================================

#include <reg51.h> // 定義8051暫存器之標頭檔,P2-17~19 #define LED P2 // 定義LED接至Port 2 void delay(int); // 宣告延遲函數 //==主程式

===============================================

main() // 主程式開始 { LED=0x0f; // 初值=0000 1111,狀態為左4個亮,右4個滅(共陽) while(1) // 無窮迴圈,程式一直跑 { delay(10000); // 呼叫延遲函數 LED=~LED; // LED反相輸出 } // while迴圈結束 } // 主程式結束

Page 36: Vision 3 - el.fotech.edu.twel.fotech.edu.tw/localuser/k1200/web1/single chip application/Keil... · Vision 3部分:快速穿越 Vision整合設計環境。 Keil C語言部分:

//==副程式==============================================

void delay(int x) // 延遲函數開始,x=延遲次數

{ int i; // 宣告整數變數i

for (i=0;i<x;i++); // 計數x次

} // 延遲函數結束

Page 37: Vision 3 - el.fotech.edu.twel.fotech.edu.tw/localuser/k1200/web1/single chip application/Keil... · Vision 3部分:快速穿越 Vision整合設計環境。 Keil C語言部分:
Page 38: Vision 3 - el.fotech.edu.twel.fotech.edu.tw/localuser/k1200/web1/single chip application/Keil... · Vision 3部分:快速穿越 Vision整合設計環境。 Keil C語言部分:
Page 39: Vision 3 - el.fotech.edu.twel.fotech.edu.tw/localuser/k1200/web1/single chip application/Keil... · Vision 3部分:快速穿越 Vision整合設計環境。 Keil C語言部分:
Page 40: Vision 3 - el.fotech.edu.twel.fotech.edu.tw/localuser/k1200/web1/single chip application/Keil... · Vision 3部分:快速穿越 Vision整合設計環境。 Keil C語言部分:
Page 41: Vision 3 - el.fotech.edu.twel.fotech.edu.tw/localuser/k1200/web1/single chip application/Keil... · Vision 3部分:快速穿越 Vision整合設計環境。 Keil C語言部分:
Page 42: Vision 3 - el.fotech.edu.twel.fotech.edu.tw/localuser/k1200/web1/single chip application/Keil... · Vision 3部分:快速穿越 Vision整合設計環境。 Keil C語言部分:
Page 43: Vision 3 - el.fotech.edu.twel.fotech.edu.tw/localuser/k1200/web1/single chip application/Keil... · Vision 3部分:快速穿越 Vision整合設計環境。 Keil C語言部分:
Page 44: Vision 3 - el.fotech.edu.twel.fotech.edu.tw/localuser/k1200/web1/single chip application/Keil... · Vision 3部分:快速穿越 Vision整合設計環境。 Keil C語言部分:

1. 指向 Source Group1 項

2. 按滑鼠左鍵拉下選單

3. 選取 Add Files to Group Source Group1 項

Page 45: Vision 3 - el.fotech.edu.twel.fotech.edu.tw/localuser/k1200/web1/single chip application/Keil... · Vision 3部分:快速穿越 Vision整合設計環境。 Keil C語言部分:
Page 46: Vision 3 - el.fotech.edu.twel.fotech.edu.tw/localuser/k1200/web1/single chip application/Keil... · Vision 3部分:快速穿越 Vision整合設計環境。 Keil C語言部分:
Page 47: Vision 3 - el.fotech.edu.twel.fotech.edu.tw/localuser/k1200/web1/single chip application/Keil... · Vision 3部分:快速穿越 Vision整合設計環境。 Keil C語言部分:
Page 48: Vision 3 - el.fotech.edu.twel.fotech.edu.tw/localuser/k1200/web1/single chip application/Keil... · Vision 3部分:快速穿越 Vision整合設計環境。 Keil C語言部分:
Page 49: Vision 3 - el.fotech.edu.twel.fotech.edu.tw/localuser/k1200/web1/single chip application/Keil... · Vision 3部分:快速穿越 Vision整合設計環境。 Keil C語言部分: