㈠ 單片機中的字元串
STR_TAB: DB "This is a string"
就這樣定義嘍,這是一個存儲在程序區的常量,或者是說一個表。
㈡ 如何用單片機讓數碼管顯字
LED靜態顯示介面
數碼管工作在靜態顯示方式時,共陰極(共陽極)的公共端COM連接在一起接地(電源)。每位的段選線與一個8位並行口相連。只要在該位的段選線上保持段選碼電平,該位就能保持相應的顯示字元。這里的8位並行口可以直接採用並行I/O介面片(例如80C51的P1埠、8155和8255的I/O埠等),也可以採用串列輸入/並行輸出的移位寄存器。考慮到若採用並行I/O介面,佔用I/O資源較多,因而靜態顯示方式常採用串列介面方式,外接8位移位寄存器74HCl64構成顯示電路,圖2是通過串列口擴展8位LED顯示器靜態驅動電路,在TXD(P3.1)運行時鍾信號,將顯示數據由RXD(P3.0)口串列輸出,串列口工作在移位寄存器方式(方式0)。
圖2中使用的是共陰極數碼管,因而各數碼管的公共極COM端接地,要顯示某欄位,則相應的移位寄存器74HC164的輸出線必須是高電平。 顯然,要顯示某字元,首先要把這個字元轉換成相應的字形碼,然後再通過串列口發送到74HC164。74HC164把串列口收到的數變為並行輸出加到數碼管上。先建立一個字形碼表,以十六進制數的次序存放它們的相應字形碼,共陰極字形碼表如表1所示。
考慮到本設計成本問題,靜態電路需要對應於每一個數碼管LED接一個移位寄存器74HC164晶元。而且TXD、RXD埠在上位機通信中要用到,而如果界別的埠,編碼就變得比較復雜了,所以靜態顯示就放棄了。
如要顯示字元6,查表可知6的字形碼為0x7d,把0x7d送到8位移位寄存器74HC164即可。顯然,要顯示字元0~9、A~F,其高4位為全0,而低4位為十六進制數。如果要顯示的數高半位元組不是0,則要通過程序加以變換。這種靜態LED顯示法有著顯示亮度大,軟體較為簡單的特點,但硬體上使用晶元多,每個LED顯示器需要一個驅動電路。
㈢ 51單片機如何將一個字元串(包含字母數字和標點)發給電腦,在電腦上的串口調試助手上能顯示出來
這個很簡單啊,就是發送ascll碼啊,用一個for循環加一個if判斷就可以了,像你這個先建個數組存放這些字元,然後需要循環68次,當if((數組中字元)==$) SBUF=0X0A,0A是換行的ascll碼,其它的直接將數組中的字元發出去就行了,不過要在串口調試助手上設置ascll碼顯示
㈣ 單片機怎麼接收字元串
void init_ser(){ TMOD=0X20;//定時器1工作在方式2 TH1=0XFD; TL1=0XFD; //波特率9600 TR1=1; EA=1; SM0=0; SM1=1; REN=1;//允許串口接收 ES=1;//開串口 中斷 }void delay(unint z){ unint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); }void ser() interrupt 4 //中斷函數不用聲明 { if(RI==1) { RI=0; ser_receive=SBUF; if(ser_receive=='a') { m=1; } if( m==1 && ser_receive!='z') { receive_data[i]=ser_receive; i++;// if(i==36)// {// i=0;// ser_flag=1;// } } else if (ser_receive=='z') { i=0; m=0; ser_flag=1; xianshi=1; } } }void uart(){ if(ser_flag==1) { ES=0; ser_flag=0; for(j=0;j<57;j++) { SBUF=receive_data[j]; while(!TI); TI=0; delay(10); } ES=1; }}我剛寫的,接受以a開始,以z結束的字元串,測試沒問題。
㈤ 51單片機中的$符號怎麼用
是延時等待的意思,相當於NOP,在51單片機的匯編語言里經常這么用。
這段子程序的意思是,先給R7賦值為十六進制數F6,這個也是循環的次數,循環體是LP這一段,就是給R6賦值FA,R6的值減一後判斷是否為0,如果不是0,那麼就一直等待,循環執行R6值減一的動作,直到R6的值為0後,將R7的值減一,這樣知道R7的值也為0,子程序結束。
用C語言對這一段子程序可以這樣表達:
void delay(void)
{
unsigned char i=;
unsigned char j;
for(i=0XF6;i>=0;i--)
{
for(j=0XFA;j>=0;j--)
;
}
}
㈥ 單片機 符號&什麼意思啊 怎麼用
用作指針的時候:(一樓的答案)
表示地址,取裡面的東西
用作運算的時候:(二樓的答案)
按位與
a=0101 0100
b=0011 1011
a&b =0001 0000
選最佳答案的時候(三樓的答案)
㈦ 單片機unsigned char code table[]是什麼作用
code的作用是告訴單片機,定義的數據要放在ROM(程序存儲區)裡面。
單片機code作用其實是相當於匯編裡面的定址MOVX,因為C語言中沒辦法詳細描述存入的是ROM還是RAM(寄存器),所以在軟體中添加了這一個語句起到代替匯編指令的作用,對應的還有data是存入RAM的意思。
鎖存器就是把當前的狀態鎖存起來,使CPU送出的數據在介面電路的輸出端保持一段時間鎖存後狀態不再發生變化,直到解除鎖定。74hc573就是鎖存器,鎖存引腳高電平表示直通狀態,為低電平表示鎖存狀態,可以通過控制鎖存已經,控制74hc573後端數據。
(7)單片機字元表怎麼用擴展閱讀:
單片機函數是一個自我包含的完成一定相關功能的執行代碼段。通常C語言的編譯器會自帶標準的函數庫,這些都是一些常用的函數。標准函數已由編譯器軟體商編寫定義,使用者直接調用就可以。
但是標準的函數不足以滿足使用者的特殊要求,因此C語言允許使用者根據需要編寫特定功能的函數,要調用必須要先對其進行定義。
㈧ 單片機 下位機 數據格式 字元 16進制
無論是整型還是字元型,單片機都以16進制的方式存儲(字元型由ASCII表轉換),
然後單片機以16進制發送,
在數據線上傳播的是二進制
在上位機上,可以選擇顯示方式:字元型或者是整型
㈨ 單片機接受字元在液晶屏顯示,請問字型檔怎麼載入
字元 的話,據了解,所有的液晶屏都帶有 半形字元庫(英文、數字、簡易符號等),直接輸入 它們 的 ASCII 碼 就能顯示出對應的 字元了。
如果是中文的話,就得看液晶屏 帶不帶中文字型檔了;
如果帶的話,那麼輸入 中文的國標碼(int型),就能顯示中文了;
如果不帶的話,那就得使用字模工具,進行數據轉換了,然後把這些數據 寫到液晶屏的 CGRAM(繪圖區) 里,就能顯示中文了。
㈩ 單片機C語言中char究竟是什麼意思啊
是數據類型,意思是char是又字元型
就像高中學的有的數是整數,有的是分數是一個道理