找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4296|回復: 9
打印 上一主題 下一主題
收起左側(cè)

[求助] 請教個簡單的入門問題(看內(nèi)容吧)

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:35461 發(fā)表于 2012-3-8 15:35 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include "reg51.h" sbit P1_0 = P1^0; void main() { P1_0 = 0; } 仿真的話上面點亮的是第一個燈,如果將語句“sbit P1_0 = P1^0;”改為“sbit P1_0 = P1^1;” 地址wytq偏移了1個單位,那么點亮的便是第二個燈吧! 在reg51.h 文件里有這么兩名:sfr P0 = 0x80;sfr P1 = 0x90; P0到P1地址相差剛好是10(個單位)。 那么如果我還是要點亮第 一 個燈。 可不可以用這樣:sbit P1_0 = P0^10 (用P0偏移10個單位的地址得到P1) ?????
[此貼子已經(jīng)被作者于2012-3-8 15:36:13編輯過]
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:35461 發(fā)表于 2012-3-8 15:37 | 只看該作者
無法編程換行,請大家耐心點看吧。然后幫幫解答一下!
回復

使用道具 舉報

板凳
ID:27916 發(fā)表于 2012-3-8 17:48 | 只看該作者

會自己來推理,確實是好事

 

但是還是建議你多看點書,基礎(chǔ)很重要

回復

使用道具 舉報

地板
ID:27916 發(fā)表于 2012-3-8 17:49 | 只看該作者
P1^1的意思不是什么偏移一個地址,指的是P1.1在C語言里,^就是 .  的意思
回復

使用道具 舉報

5#
ID:27916 發(fā)表于 2012-3-8 17:51 | 只看該作者

另外0X80和0X90,他們之間不是相差10哦,而是相差16

回復

使用道具 舉報

6#
ID:27916 發(fā)表于 2012-3-8 18:00 | 只看該作者
看看書吧,磨刀不誤砍柴工呀
回復

使用道具 舉報

7#
ID:35461 發(fā)表于 2012-3-8 18:10 | 只看該作者
哦,是了。0x80 到0x90 是相差16。是16進制的。 那我把那句改成:sbit P1_0 = P0^16,編譯不過呀。為什么? 我在書上沒有看到這方面的講解,現(xiàn)在正在看《新概念51單片機C語言教程.入門、提高、開發(fā)》好像也沒有講到。
回復

使用道具 舉報

8#
ID:27916 發(fā)表于 2012-3-8 20:32 | 只看該作者
我不是說了嘛, ^ 這個符號不是代表偏移,而是代表前面一個寄存器的第幾位,一個只有八位的數(shù),你想知道它的第九位,你覺得可行嗎?
回復

使用道具 舉報

9#
ID:35461 發(fā)表于 2012-3-8 21:21 | 只看該作者
原來如此。 還以為按C語言來,可以偏移到任何地址呢��! 學習了,謝謝大師��!
回復

使用道具 舉報

10#
ID:35691 發(fā)表于 2012-3-8 23:42 | 只看該作者

我認為不行,樓上那位仁兄也講了^的含義,和c語言中的不同。。

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表