Re: [問題] 單晶片使用Keil C ?
※ 引述《hotpot21 (小新)》之銘言:
: 大學時期學C(螞蟻書) 只是在電腦上Run
: 現在碰到單晶片使用Keil C,有看過相關程式、與51晶片的各接腳功能
: 有些地方一直搞不懂
: (程式主要是控制LCD的驅動IC)
: 請問。。。
: 1.程式裡的哪些變數才是對應到晶片上的接腳? 一直連結不起來 @@
: 怎麼設定 ?
查閱 8051的datasheet,裡面有SFR 位址定義
然後對照 Keil 的 .H 檔案,
例如
sfr P0 = 0x80;
就是將P0 宣告對應SFR的0x80
所以在C code裡面,使用P0 時,compiler 就會知道要去存取 0x80
: 2.初學者如何吸收才會較有效率?
: 又如果在"晶片控制LCD的驅動IC"方面來說 要如何學習與吸收?
多寫多看sample多debug
: 3.看到程式裡有如下:
: void WRITE(unsigned int cmd)
: {
: .
: .
: .
: .
: .
: XBYTE[0X01] = cmd ;
: }
: 請問 XBYTE[0X01] 是什麼意思?
能用 XBYTE 是因為有include "ABSACC.H"
裡面對XBYTE有定義
#define XBYTE ((unsigned char volatile xdata *) 0)
應用到xdata資料型態,在keil manual 裡面有說明
簡單來說,是使用組語 MOVX 指令來存取
至於MOVX的動作,datasheet 有時序圖說明
: 4. 譬如 location = 0X0000
: 只知道 0X0000 是16進制 但為何要 = 0X0000 ? 而不是一般的數@@
可以寫 location = 0
只是為了coding style 一致所以寫 0x0000
像 LCM = 0x8000
你也可以寫 LCM = 32768,compile 出來都一樣的
寫16進位對於製作外部decode 電路會比較清楚 。
: 麻煩各位前輩教導!! 原諒小弟的才疏學淺..
: 非常感謝各位
寫得沒有很詳細,建議你自己自己查書;會學得更多。
good luck
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.84.233.198
推
06/21 13:07, , 1F
06/21 13:07, 1F
→
06/21 13:12, , 2F
06/21 13:12, 2F
→
06/21 13:14, , 3F
06/21 13:14, 3F
→
06/21 13:21, , 4F
06/21 13:21, 4F
→
06/21 13:24, , 5F
06/21 13:24, 5F
→
06/21 13:24, , 6F
06/21 13:24, 6F
→
06/21 13:25, , 7F
06/21 13:25, 7F
→
06/21 13:27, , 8F
06/21 13:27, 8F
→
06/21 13:30, , 9F
06/21 13:30, 9F
→
06/21 13:30, , 10F
06/21 13:30, 10F
→
06/21 13:33, , 11F
06/21 13:33, 11F
→
06/21 13:53, , 12F
06/21 13:53, 12F
→
06/21 14:21, , 13F
06/21 14:21, 13F
推
06/21 14:25, , 14F
06/21 14:25, 14F
→
06/21 14:26, , 15F
06/21 14:26, 15F
→
06/21 14:28, , 16F
06/21 14:28, 16F
推
06/21 14:30, , 17F
06/21 14:30, 17F
推
06/21 19:34, , 18F
06/21 19:34, 18F
→
06/21 19:35, , 19F
06/21 19:35, 19F
→
06/21 19:35, , 20F
06/21 19:35, 20F
→
06/21 20:53, , 21F
06/21 20:53, 21F
→
06/21 20:54, , 22F
06/21 20:54, 22F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章