找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 10818|回復(fù): 10
收起左側(cè)

請(qǐng)教P3^0 和P3_0什么區(qū)別?

[復(fù)制鏈接]
ID:30354 發(fā)表于 2011-9-30 22:12 | 顯示全部樓層 |閱讀模式
我在用51hei單片機(jī)開(kāi)發(fā)板附帶的程序的時(shí)候把把P3_0換成P3^0程序就不對(duì)了呢?
回復(fù)

使用道具 舉報(bào)

ID:1 發(fā)表于 2011-9-30 22:14 | 顯示全部樓層

肯定是你那個(gè)程序用的頭文件是 at89x52.h 吧,,在這個(gè)頭文件里已經(jīng)定義了好了P3_0的,P3^0是不能直接使用的哦,必須要把P3^0定義為一個(gè)sbit的變量才可以.

 

 

 

回復(fù)

使用道具 舉報(bào)

ID:30354 發(fā)表于 2011-9-30 22:18 | 顯示全部樓層
那怎么有時(shí)候用sbit DUAN=P2^7這個(gè)語(yǔ)句呢? 而不是P2_7
回復(fù)

使用道具 舉報(bào)

ID:1 發(fā)表于 2011-9-30 22:20 | 顯示全部樓層

那肯定是因?yàn)轭^文件是 reg52.h吧    這個(gè)頭文件里面沒(méi)有定義P2_7 ,所以必須手工定義sbit DUAN=P2^7

回復(fù)

使用道具 舉報(bào)

ID:30354 發(fā)表于 2011-9-30 22:22 | 顯示全部樓層
#include"AT89x52.h"
#include"intrins.h"
 
#define uint unsigned int
#define uchar unsigned char

sbit WEI=P2^7;      //U2 74HC573的LE端    數(shù)碼管的位選端
sbit SJ=P1^4;       //LED發(fā)光管的使能端


這個(gè)程序里有AT8952 怎么還能用P2^7??
回復(fù)

使用道具 舉報(bào)

ID:1 發(fā)表于 2011-9-30 22:25 | 顯示全部樓層

這么說(shuō)把 reg52.h 里沒(méi)有定義P2_7  所以不能用 P2_7

而P2^7這個(gè)不是自己定義的是c51的語(yǔ)言規(guī)定的,所以P2^7在 reg52.h和 at89x52.h里都能使用,而P2_7 則只能在at89x52.h里使用

回復(fù)

使用道具 舉報(bào)

ID:30354 發(fā)表于 2011-9-30 22:28 | 顯示全部樓層
P2^7既然通用 既然都能使用 還是那個(gè)問(wèn)題 把P3_0換成P3^0程序就不對(duì)了呢?
回復(fù)

使用道具 舉報(bào)

ID:1 發(fā)表于 2011-9-30 22:30 | 顯示全部樓層

因?yàn)镻3^0不是一個(gè)變量,你給他賦值當(dāng)然會(huì)提示錯(cuò)誤,這是不符合語(yǔ)法的,你要給他賦值首先得定義它才行

比如說(shuō)在頂部定義

sbit p30=P3^0;

 

然后賦值的時(shí)候就寫(xiě)p30=0或者p30=1

這樣就不會(huì)提示錯(cuò)誤了.

[此貼子已經(jīng)被作者于2011-9-30 22:35:17編輯過(guò)]
回復(fù)

使用道具 舉報(bào)

ID:30354 發(fā)表于 2011-9-30 22:38 | 顯示全部樓層
明白點(diǎn)了 那P3^0表示的是什么類(lèi)型的量?
回復(fù)

使用道具 舉報(bào)

ID:1 發(fā)表于 2011-9-30 22:44 | 顯示全部樓層

在reg51.h中 P3是這樣定義的

sfr P3    = 0xB0;

而P3^0 的意思是P3口的第0位,但P3^0 這是一個(gè)表達(dá)式,就像是1+1一樣 ,所以這是不能直接使用的, 你必須把他定義為一個(gè)sbit類(lèi)型的變量才能使用.

 

回復(fù)

使用道具 舉報(bào)

ID:36076 發(fā)表于 2012-3-28 18:53 | 顯示全部樓層
P3^0需定義,P3_0無(wú)需定義,好像是這樣的
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表