51微控制器C語言

2021-10-02 00:25:19 字數 1291 閱讀 2965

使用c語言已成為微控制器應用系統開發的趨勢。

#include

//包含微控制器暫存器的標頭檔案

這個檔案對微控制器內部各種暫存器進行了定義。如果將「sfr p0 = 0x80; 」語句中的「p0」改為其他名字,如「q0」,那麼在程式設計時,使用第一行的「檔案包含」處理命令後,微控制器以後就不再認識「p0」,而是只認識「q0」了(最好不要修改)。

define是一條預編譯處理命令,稱為巨集定義命令,其功能是把該標誌符定義為其後的符號常量值。

#define uint unsigned int

#define uchar unsigned char

uchar temp;

//led燈相關變數

void

delay

(uint z)

(1)按位「與」運算子「&」

「&」運算子的功能是對兩個二進位制數按位進行「與」運算。根據「與」運算規則「有0為0,全1出1」。

(2)按位「或」運算子「|」

「|」運算子的功能是對兩個二進位制數按位進行「或」運算。根據「或」運算規則「有1為1,全0出0」。

(3)按位「異或」運算子「^」

「^」運算子的功能是對兩個二進位制數按位進行「異或」運算。根據「異或」運算規則「相異為1,相同出0」。

(4)按位「取反」運算子「~」

「~」運算子的功能是對二進位制數按位取反。例如,要對

變數z=0x0f按位取反,將z化為二進位制為0000 1111b,根據取反規則「有0出1,有1出0」。

(5)左移運算子「<<」

「<<」運算子的功能是將乙個二進位制數的各位全部左移若干位,移動過程中,高位丟棄,低位補0。例如w=0x3a,化為二進位制即0011 1010b,若將各二進位制位全部左移兩位,可通過左移運算子「<<」進行,其方法是w<<2,則變數w=1110 1000b,化為十六進製制,結果為0xe8。

(6)右移運算子「>>」

「>>」運算子的功能是將乙個二進位制數的各位全部右移若干位,正數在移動過程中,低位丟棄,高位補0;負數則高位補1。例如w=0x0f,化為二進位制即0000 1111b,若將各二進位制位全部右移兩位,可通過左移運算子「>>」進行,其方法是w>>2,則變數w=0000 0011b,化為十六進製制,結果為0x03。

51微控制器

數碼管顯示幾乎是每次藍橋杯微控制器設計與開發組競賽的必考部分,相對於使用lcd1602作為顯示裝置,使用數碼管來顯示能夠更好的考察參賽選手的微控制器基本功,因為ct107d開發平台的設計使得數碼管的顯示不僅牽扯到數碼管顯示的 基本內容,還涉及到74hc573鎖存器,74hc02異或門,74hc138...

51微控制器

建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 katex數學公式 新的甘特圖功能,豐富你的文章 uml 圖表 flowchart流程圖 匯出與匯入 1.供電電源 一般開發板上提供兩種供電方式,usb供電和專用電源供電。使用usb供電你只要用一根usb線將開發板usb電源介面與電腦的usb...

51微控制器

設計包含乙個矩陣式鍵盤電路和動態顯示電路的微控制器應用系統,通過根據按下不同的數字按鍵 0 9 在數碼管上顯示出自己學號的後8位。各位大神幫忙挑挑錯,或者問題太大了可以幫忙寫乙個新的麼!萬分感謝!好著急 a 8255 equ 7cffh a口 b 8255 equ 7dffh b口 c 8255 e...