找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

求助一個(gè)C語言編程的問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:194752 發(fā)表于 2017-5-28 17:59 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
我用我的理解大概的表達(dá)一下,因?yàn)楝F(xiàn)在學(xué)的實(shí)在是太皮毛,很多概念都還不是很清楚,忘個(gè)位高手海涵。
我想咨詢的問題就是:
如何來定義一個(gè)地址組。不知道這樣描述是不是正確。
我用
unsigned char code table[]={1,2,3,4,5,6,7,8,9,0};
這個(gè)語句來打個(gè)比方。
如果我有一個(gè)unsigned char變量a,和一個(gè)unsigned char變量c那我可以讓a=table[c],
現(xiàn)在我想讓table里面的數(shù)組改成地址。就是P1.0,P1.1,P1.2,P1.3.............P1.7,我分別用a,b,c,d,e,f,g,h來定義P1各引腳。
然后我想讓table[1]=1;這樣,就是讓P1.1輸出高電平。。。
這樣的語句要怎么寫???望高手指點(diǎn)一下。。。
可能我描述的比較含糊。。不知道有沒有高手看懂。。。?

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:155507 發(fā)表于 2017-5-29 15:54 | 只看該作者
unsigned char變量 是8個(gè)bit為一個(gè)單元,
P1.0 是一個(gè)bit

unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; //共陰極0~f數(shù)碼管段碼 編碼       
P1.0,P1.1,P1.2,P1.3.............P1.7,可以分別用a,b,c,d,e,f,g,h來定義P1各引腳。

8段共陰極led數(shù)碼管顯示“0”,對應(yīng)字形碼為0x3f  

table[0]=0x3f;
P1 = table[0];

8位二進(jìn)制數(shù)為 0011、1111;轉(zhuǎn)換為16進(jìn)制就是3FH。

這樣,就是讓P1.0輸出高電平,P1.1輸出高電平,P1.2輸出高電平,P1.3輸出高電平,P1.4輸出高電平,P1.5輸出高電平,P1.6輸出低電平,P1.7輸出低電平。

樓主明白了嗎?

回復(fù)

使用道具 舉報(bào)

板凳
ID:194752 發(fā)表于 2017-5-29 22:09 來自手機(jī) | 只看該作者
angmall 發(fā)表于 2017-5-29 15:54
unsigned char變量 是8個(gè)bit為一個(gè)單元,
P1.0 是一個(gè)bit


恩,謝謝,這個(gè)我明白,但是我想要實(shí)現(xiàn)的不是這樣的。我想讓P0,P1,P2共24個(gè)io口,能夠被一個(gè)變量來控制。比方說變量a=0,P0^0口輸出低電平。變量a=9,P1^0輸出低電平,變量a=24,P2^7輸出低電平。就類似unsigned char table[]={}所能實(shí)現(xiàn)的功能一樣。
回復(fù)

使用道具 舉報(bào)

地板
ID:47933 發(fā)表于 2017-5-30 11:17 | 只看該作者
elise 發(fā)表于 2017-5-29 22:09
恩,謝謝,這個(gè)我明白,但是我想要實(shí)現(xiàn)的不是這樣的。我想讓P0,P1,P2共24個(gè)io口,能夠被一個(gè)變量來控制。 ...

一樓已經(jīng)說得很明白了,說白了就是端口控制一個(gè)數(shù)組怎么寫也只能控制一個(gè)端口8個(gè)位。24個(gè)IO口即3個(gè)端口,不可能跨端口控制,你的思路是把簡單問題復(fù)雜化,三個(gè)數(shù)組表達(dá)3個(gè)端口24個(gè)IO口難道不夠簡單么?
回復(fù)

使用道具 舉報(bào)

5#
ID:206038 發(fā)表于 2017-5-30 12:27 | 只看該作者
讓p0=1,變量不變
回復(fù)

使用道具 舉報(bào)

6#
ID:205288 發(fā)表于 2017-5-30 19:21 來自手機(jī) | 只看該作者
不太懂你在說啥,等號是賦值用的,table[i]=1并不能表示讓某個(gè)電平變高,只是給table賦值
回復(fù)

使用道具 舉報(bào)

7#
ID:155507 發(fā)表于 2017-5-30 22:13 | 只看該作者
KEIL環(huán)境下就不能在sbit使用數(shù)組或指針進(jìn)行“位”操作。
回復(fù)

使用道具 舉報(bào)

8#
ID:194752 發(fā)表于 2017-5-30 23:46 來自手機(jī) | 只看該作者
可能是我沒表達(dá)對,我把我需要達(dá)到的目的描述一下吧。∪绻鸓0,P1,P2共計(jì)2
回復(fù)

使用道具 舉報(bào)

9#
ID:206304 發(fā)表于 2017-5-31 11:35 | 只看該作者
table[0]=0x3f;
P1 = table[0];
回復(fù)

使用道具 舉報(bào)

10#
ID:194752 發(fā)表于 2017-6-1 09:18 來自手機(jī) | 只看該作者
angmall 發(fā)表于 2017-5-30 22:13
KEIL環(huán)境下就不能在sbit使用數(shù)組或指針進(jìn)行“位”操作。

恩,我要的就是這樣的回答,如你所說,那我想要實(shí)現(xiàn)的語句是寫不出來了,看來只能別找辦法了。。。
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

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