8位微控制器可以接收10位二進位制(如1023的二進位制是1111111111)的資料嗎?如果可以,c程式什麼寫

時間 2022-03-14 00:45:11

1樓:

可以啊,比如

unsigned int temp;//16位變數unsigned char i;

temp =0;

for(i=0;i<10;i++)

temp=temp <<1;

}以上只是個例子。

2樓:

對於微控制器,收到的都是2進製的數字,至於你將這數字換成什麼,就看你了, 你這個數字微控制器收到是0x3ff,如果你用unsigned char存放是放不下的,要用unsigned int

3樓:徐貴洪

用串列埠第一次發底8位,第二次高2位然後 高二位的值乘以1024 底八位就是你要付給的值

4樓:z笑懂

樓下說的可以,定義int 型的就可以。對c語言的16位的int型變數,編譯後會自動分配兩個8位的暫存器使用。

5樓:麥_秸垛

把資料截開 分兩次 傳送 約定要先傳送的是哪幾位後傳送的是哪幾位 接收到之後再拼在一起

6樓:最刺疼自己

我也新手 但是我感覺你把八位微控制器意思理解錯誤了,你直接賦給int的變數就可以了

7樓:物電的小狗狗

你是用的並行傳輸嗎?建議採用序列傳輸這樣就可以節省io口,當然你硬要採用並行傳輸的話,你可以將資料拆分。

8樓:雲中鶴飛

可以接收,如果是一位一位的接收,就像對10位或12位ad採集訊號那樣用兩個位元組對資料進行處理

9樓:零度聚陣

你的意思是接收資料是一位一位接收的嗎?是的話,你就用兩個八位的,在進行處理唄,比如第八位賦給a,高位的給b,你看行嗎?

10樓:匿名使用者

8位微控制器也可以定義int(16位)long(32位)變數的。處理起來比較慢而已。

11樓:小棗年糕

可以啊,你只要定義乙個int型就行了,分開高八位與低八位,程式很多的,就是高低位元組的事

12樓:做而論道

--8位微控制器收到這獨立的10位同時是1時,...

真奇怪!

8位微控制器,介面、cpu,都是8位的。

8位微控制器,是怎麼收到這獨立的10位的?

是自己特製的微控制器嗎?

這10位二進位制(如二進位制是1111111111)的資料,你是怎麼送到微控制器的?

13樓:0611留守

簡單,51為例,如果是並行傳輸,低八位接在p0口,高兩位接在p1前面兩個腳,

p0=data;

data<<=2;

data1=0x03&p1;

val=data|data1;

結果為val ,val data為16位資料

14樓:頭枕要我

可以啊,看你是並行還是序列了。這個要根據具體的外設來寫程式。

15樓:匿名使用者

可以。用10個一腳綁成16位進製,高低8位表示。

使用聯合體把;

union kk

;使用的時時候,只需要將引腳變數值付給a陣列,組合呼叫b就可以。還是自動分配轉換都省了,主要注意下物理引腳定義和高低為順序。要聯機除錯下。

16樓:

int a;//低10位若全為1

a&=0x03ff;//高4位清0

if(a==0x03ff).。。。。。//判斷a是否為0b0000111111111111

17樓:匿名使用者

如果是用c語言,沒有區別啊。如果是用彙編的話,要用兩位來存就可以了。

18樓:匿名使用者

你說的接收你什麼意思?請說清楚是串列埠接收還是什麼?

19樓:匿名使用者

可以的,兩個位元組表示乙個數值就行了

20樓:匿名使用者

把資料的千、百、十、個為提取出來傳送,接收時在還原

微控制器中的高8位和低8位是什麼意思

21樓:匿名使用者

微控制器中使用的是4位十六進製制,例如a8e6h,其對應16位二進位制數值為1010,1000,1110,0110b顯而易見,高8位二進位制數值為1010,1000b低8位二進位制數值為1110,0110b

各自還原為2位十六進製制數分別是:

高8位二進位制數值為a8h

低8位二進位制數值為e6h

不知道這樣說你懂了嗎??

22樓:做而論道

一般來說,微控制器是8位機,每次對資料進行操作,只能處理8位二進位制數。

如果某個數字稍大一些,那麼就需要用16位數來表示。(或更多位數)

用微控制器來處理這樣的數字,就要需要處理兩次(或更多次),每次的操作,就是針對高8位數或低8位數來進行。

23樓:珠山龍少

微控制器中常使用4位十六進製制數表示資料或位址,如0000h,寫成二進位制數形式為00000000 00000000

前八個0的順序是第15位到第8位,就是高八位

後面的8個0就是低8位

24樓:匿名使用者

一般16位微控制器分高8位和低8位,就是二進位制數0b1111111111111111,16位的資料,前邊8位叫高8位,後邊叫低8位!如果0b1111111111111111都不懂的話,你看看進製轉換就明白了!還有某個微控制器的口,比如取名叫d口,一共16個埠,全部賦值1,置高,表示為1111111111111111,前邊8個是高八位,後邊是低8位

為什麼c語言中-1的二進位制是1111111111111111?

25樓:gta小雞

整型在記憶體中以補碼形式儲存,對於16位機來說,-1的原碼是1 0000000 00000001,其補碼就是1 1111111 11111111.

微控制器裡c語言程式設計中賦值可以寫二進位制資料嗎?是否一定要寫16進製制數?

26樓:匿名使用者

寫到是可以寫,但是十六進製制和二進位制沒區別,顯示起來,閱讀起來也很方便、、、

27樓:匿名使用者

我試過了不可以

如果你可以在c裡面嵌入彙編的話那你就可以寫二進位制數了

28樓:匿名使用者

uchar temp

teimp=0x11111111b;

在微控制器中如何用8個發光管演示出8位二進位制數字自減過程?(用c語言)

29樓:匿名使用者

#include "reg51.h"//標頭檔案void main()}/*

程式執行過程解釋為:

(1)p0=temp,即將temp=十六進製制0xff=二進位制11111111送po口,則發光二極體全亮(共陰接法)

(2)延時1秒鐘,便於觀察結果,延遲太短led閃爍太快,無法分辨(3)temp--;就是temp=temp-1;則temp=0xff-1=0xfe=11111110

(4)然後程式又回到p0=temp。p0=temp=0xfe=11111110,則發光二極體最低位滅,然後再延遲再減1再送p0口,如此迴圈下去。*/

30樓:匿名使用者

#include "reg51.h"

#define led_port p0 //定義發光管所對應的微控制器埠,根據硬體修改

void delay(unsigned int ms);

void main()

}void delay(unsigned int ms)}

31樓:匿名使用者

#include "reg51.h" //引入標頭檔案,這個應該不難吧,呵呵。。

#define led p0 //定義,p0口姐二極體的陽極,(陰極自己要選中啊)

void delay(unsigned int ms);//延時函式void main()

}void delay(unsigned int ms)//延時子函式(為了使轉換過程能夠用眼睛分出)}

小白請教,微控制器c語言中如何從乙個8位的二進位制數中讀出高4位?

32樓:

high_4_bit = source >> 4;

讀出任意位,用掩碼+與運算+移位實現。

33樓:小way電子

高四位 &0xf0 第四位 &0x0f

34樓:

右移4位 再與上0x0f

微控制器的十六進製制怎麼表示

35樓:糖糖又笑了

微控制器的資料(或者是c程式)裡面經常出現一些字母(例如0xff)表示乙個位元組的資料,你如果想表示兩個位元組,也就是16位資料的時候就直在0x後跟四個字母(16進製制的話,必須是0~9,a~f範圍內)就好了。例如variant = 0xffff,就表示variant的16個bit全部置1。

微控制器(microcontrollers)是一種積體電路晶元,是採用超大規模積體電路技術把具有資料處理能力的**處理器cpu、隨機儲存器ram、唯讀儲存器rom、多種i/o口和中斷系統、定時器/計數器等功能(可能還包括顯示驅動電路、脈寬調變電路、模擬多路轉換器、a/d轉換器等電路)整合到一塊矽片上構成的乙個小而完善的微型計算機系統,在工業控制領域廣泛應用。從上世紀80年代,由當時的4位、8位微控制器,發展到現在的300m的高速微控制器。

36樓:匿名使用者

舉例說:0xff 或者06h 都是十六進製制的表示方法, 十六進製制的一位轉換成二進位制的四位 因此 0xff轉換成二進位制的話就是(11111111)b b是二進位制的表示方法 0x或h是十六進製制的表示方法

51微控制器8051數碼管顯示8位二進位制數匯程式設計序無

修者世界 數碼管顯示8位二進位制數程式段 待顯示數值存放在20h單元 org 50h mov 20h,07fh 待顯示二進位制數寄存單元,如01111111 start mov dptr,dispcode 表首位址賦給dptrmov a,20h rr a mov 20h,a anl a,01h mo...

二進位制的補碼多少位?8位二進位制補碼計算步驟是什麼

這個,可以自定義。最大的位數,取決於你的計算機,記憶體的大小。8位二進位制補碼計算步驟是什麼?正數 零的補碼,與其數值相同。負數的補碼,用 256 加上該數。補碼的計算步驟,與普通的二進位制計算步驟,完全相同。1 補碼是抄把減法用加法計算,採用進製丟的方法得到結果時應該補足的數。位二進位制補碼的計算...

二進位制位中的「二進位制位」是什麼意思呢

二進位制位 計算機儲存資訊的最小單位,稱之為位 bit,又稱位元 4個二進位制位即4個位 bit 組成的二進位制數,從0000到1111,它剛好匹配乙個16進製制數,即0 f。兩個4個二進位制位剛好構成乙個計算機中最小的儲存單位位元組 byte,簡稱b 知了看宇宙 二進位制,十進位制,十六進製制的區...