c_learn_2
2124
2025-03-31
剛開始基礎計算機編程的時候,學習的是二進制、十進制、十六進制。
十進制是生活習慣中最常用的計數方法,也是我們計數的思維邏輯。
后來接觸了計算機基礎,我們知道計算機都是用二進制表示的,但是這種表示方法讓人理解很困難。
因此人們編制了統一的信息交換代碼,也就是ASCII碼表,它的全稱是“美國信息交換標準代碼”
詳細的ASCII 碼表見下:
如上表:每一個ASCII 都有3部分組成.? ASCII值、16進制、控制字符。
其中ASCII值就是控制字符對應的十進制數值,16進制和ASCII值是對應的,控制字符就是可以表示的字符。
例如,如下圖所示:
ASCII值65:就是大寫因為字母‘A’的ASCII的值,這里的65是10進制
16進制41H:轉換成10進制是65,和ASCII值是對應的。
控制字符A:就是需要表示的大寫字母‘A’
那ASCII碼表有那些應用呢?
最常見的就是我們的電腦上的鍵盤,但輸入方式切換成英文的時候,我們通過鍵盤輸入的數字0-9,小寫a-z、大寫字母A-Z、還有一些符號@、!、&、*等都是ASCII格式。
其中鍵盤的0-9對應的ASCII值就是0x31-0x32(16進制),A-Z對應的ASCII值是(0x41-0x5A),a-z對應的ASCII值是(0x61-0x7A);
我第一次真正接觸ASCII,是寫LCD1602驅動的時候,其實ASCII在單片機程序編程中也是非常常用的,尤其是屏幕的顯示,以及串口通訊、4G通訊等
例如1602液晶屏的顯示,如果要顯示 ’A’,需要給液晶屏輸入“0x41”
在這里也給大家順便講一下單片機程序中的ASCII字符怎么表示。如下面代碼定義了字符0-9:
unsigned char code ASCII0_9[10]=”0123456789”;? //C51單片機
我們將需要表示的數值放置在一個自定義的數組中,然后把字符用“”括起來。
如上,如果我們調用ASCII0-9[0]對應的10進制數就是48,16進制是0x30,表示字符0。
同時我們定義的數組,還需要用code來修飾,code表示將定義的數組變成常量(51單片機用code,? STM32單片機用const )。
我們在C語言程序編程中,有一種變量的定義“char”,我們也叫字符型類型,也是和ASCII有關,char 占用一個字節,取值范圍是-128 ~127。
ASCII表是基于英語來編寫的,其中包含了英文的大小寫字母,以及數字0-9,各種符號。
之前的ASCII表是0-127,共128個字符。
但是隨著科技的不斷的進步,先前定義的ASCII 不能滿足大家的需求. 后來ASCII 的表有擴展到了256個字符。
擴充ASCII碼表如下圖所示:
我們看一下ASCII 擴展表上面的字符,大多數我們都很陌生,其實我們在單片機程序編程中用的也是非常少,大家只要了解就行了。
關于ASCII碼表,今天就先給大家介紹到這里了。
單片機
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。