作者ruemann (树海游魂)
看板ASM
标题Re: [问题] 单晶片使用Keil C ?
时间Sun Jun 21 02:40:22 2009
※ 引述《hotpot21 (小新)》之铭言:
: ※ [本文转录自 C_and_CPP 看板]
: 作者: hotpot21 (小新) 看板: C_and_CPP
: 标题: [问题] 单晶片使用Keil C ?
: 时间: Sat Jun 20 17:28:21 2009
: 大学时期学C(蚂蚁书) 只是在电脑上Run
: 现在碰到单晶片使用Keil C,有看过相关程式、与51晶片的各接脚功能
: 有些地方一直搞不懂
: (程式主要是控制LCD的驱动IC)
: 请问。。。
: 1.程式里的哪些变数才是对应到晶片上的接脚? 一直连结不起来 @@
: 怎麽设定 ?
一般单晶片都会有一块特殊的暂存器(记忆体),用来储存对应硬体的状态
控制硬体(不管是 IO 还是 timer 或是 UART)其实就是对那些暂存器做存取而已
至於你说是那些变数嘛,我建议是去下载你要使用的MCU的datasheet,
从里面找答案比较快
: 2.初学者如何吸收才会较有效率?
做中学啦
: 又如果在"晶片控制LCD的驱动IC"方面来说 要如何学习与吸收?
去买/借台示波器是很重要的
: 3.看到程式里有如下:
: void WRITE(unsigned int cmd)
: {
: .
: .
: .
: .
: .
: XBYTE[0X01] = cmd ;
: }
: 请问 XBYTE[0X01] 是什麽意思?
这样的话只能说是 XBYTE 这个阵列的 第1个 元素(因为是C的关系嘛)
但是 XBYTE 是去控制什麽就无法解答了
: 4. 譬如 location = 0X0000
: 只知道 0X0000 是16进制 但为何要 = 0X0000 ? 而不是一般的数@@
有时候是习惯,例如对address指定时,用 16 进位比较清楚
: 麻烦各位前辈教导!! 原谅小弟的才疏学浅..
: 非常感谢各位
一般初学者的问题在 datasheet 中可以找到解答,C的部份,在keilC的help中也
可以找到大部份的解答
--
我是路人甲
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.204.29.223
1F:推 hotpot21:1.目前情况:自行阅览程式 未开始做 不知以後是否会有人敎 06/21 12:55
2F:→ hotpot21:2.有配合IC datasheet 一起看!! 不过时序图看不懂..... 06/21 12:57
3F:→ hotpot21:3.如果阵列语法 那0X01不是应该改成整数=>XBYTE[2] ? 06/21 12:58
4F:→ hotpot21: 所以那是何种语法? 06/21 13:00
5F:→ hotpot21:很感谢你耐心的回答与指导!! 06/21 13:00
6F:→ hotpot21:刚又想了一下 3. ..为阵列第一个元素 意思是0X01换算成1? 06/21 13:30
7F:→ hotpot21:十六进制换算成十进制? 06/21 13:31
8F:推 dexders:XBYTE是keil c内建的指令 用来存取单晶片内部延伸记忆体 06/21 16:57
9F:→ dexders:XBYTE[0x01] 就是存取XRAM位址0x01 06/21 16:57
10F:→ hotpot21:XRAM 是外部记忆体?? 06/21 18:46
11F:推 utility:把keil的手册看一看...它会跟你说.要用到各种记忆体的方式 06/21 20:56
12F:→ ruemann:XRAM有可能是内建也有可能是外挂的记忆体,用xmov去做搬移 06/21 23:51
13F:→ ruemann:的都算 06/21 23:51
14F:推 kenji1101:所以原PO所谓的单晶片是51罗@@? 06/22 09:11
15F:推 hotpot21:XBYTE看了Cx51 User's Guide 06/25 00:14
16F:→ hotpot21:还是不知道怎麽用!! 是对应到实体电路的哪个部份?? 06/25 00:16
17F:→ MasterChang:你还是先去买本书来看吧! 06/25 00:20
18F:→ hotpot21:哪本推的? 有去看过很多书了 大部分都没提到@@!! 06/25 00:35