微控制器程式設計實驗一GPIO1 0

2021-10-07 11:58:46 字數 1228 閱讀 7775

微控制器程式設計 彙編中 十進位制 後面加d ,十六進製制後邊加h, 二進位制後面加b。 比如 10進製 35d, 16進製制 23h, 二進位制 0010 0011b.

c語言中 十進位制 不加字首, 十六進製制前邊加 0x , 8進製前邊加0 , 二進位制不能直接表示(比較麻煩), 如 10進製 15 , 16進製制 0x25 , 8進製 025

volatile unsigned int i;

unsigned int是型別 :無符bai號整形數

volatile 是關鍵字 :確保這個變du量不會被編譯器優化.一般zhi來說如果你定義個變數,而後面又不用它做其他事的話,編譯器會認為這個是多餘的,然後把它優化掉,就相當於沒寫過一樣,加了volatile編譯器就不會優化它了。更具體去看百科

綜合起來就是:定義乙個不會被編譯器優化的無符號整形數 i;

msp430的程式中p1dir |= bit7,是什麼意思?bit7代表什麼?

bit0、bit1、、、bit6、bit7是乙個巨集定義,原本的意思是0x0001、0x0002、、0x0040、0x0080。#define bit0 (0x0001)#define bit1 (0x0002)…#define bite (0x4000)#define bitf (0x8000)巨集定義在標頭檔案io430x14x.h中(針對msp430f149)因為msp430的io口是8位一組的,所以在io口操作時習慣上認為bit0就是0x01,bit7就是0x80,其他類似。比如語句p1dir|=bit0+bit1+bit2+bit3+bit4+bit5+bit6等價於p1dir=p1dir|0x7f 其中0x7f=0x01+0x02+0x04++0x08+0x10+0x20+0x40把p1口的0,1,2,3,4,5,6設定為輸出模式

如何對msp430的某一位取反 p1.0口翻轉其他位不變

好好看一下 & | ~運算:

a &= b;

a |= b;

a &= ~b;

a |= ~b;

記住下面的:置1或等於(例如p1out|=bit4就是把p1.4置1,其他位不變) 清0與等於非(例如p1out&=~bit4就是把p1.4清0,其他位不變) 取反異或等於(例如p1out^=bit4就是把p1.4取反,其他位不變)

如果要保持其他位不變的話:

用取反對p1.0翻轉

if(p1uot&bit1)

p1out&=~bit;

else

p1out|=bit1;

用異或對p1.0翻轉 p1out ^= bit0;

實驗一 ARM微控制器程式設計

一 實驗目的與要求 1 掌握 c語言程式設計的方法 2 通過程式設計除錯,熟悉微控制器開發環境,學習程式除錯技巧 3 學習軟體 的方法。二 實驗裝置 計算機 編譯軟體 keilc51uvision 三 實驗原理 程式除錯方法 1 按照實驗一的步驟建立工程並輸入源程式 2 完成源程式的編輯之後,進入除...

微控制器彩燈移動實驗 微控制器彩燈實驗

一 任務要求 實驗內容 利用 c8051f310 微控制器設計乙個彩燈控制器 主要功能和技術指標要求 1.控制 led七段數碼管按照特定方式閃爍。2.閃爍模式不少於 種。3.利用鍵盤控制彩燈閃爍模式切換。提高要求 使用按鍵 kint 控制led 燈閃爍頻率,閃爍頻率多級可調。二 設計思路 功能實現 ...

微控制器程式設計

1 data idata pdata和xdata的區別 2 微控制器中的位 bit 位元組 byte 字 word stc89c52 共有 512 位元組的 ram 是用來儲存資料的,比如我們定義的變數都是直接存在 ram 裡邊的。但是微控制器的這 512 位元組的 ram在地位上並不都是平等的,而...