999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

嵌入式系統中數據與字符串的轉換及應用

2012-09-25 03:00:10權建軍胡佩琦
單片機與嵌入式系統應用 2012年4期
關鍵詞:單片機程序方法

權建軍,胡佩琦

(蘭州石化職業技術學院 電子電氣工程系,蘭州 730050)

引 言

在嵌入式應用系統的開發中,經常遇到通過LCD顯示數據、通過鍵盤鍵入數據之類的問題。

LCD顯示,由于顯示方式靈活、界面友好,在嵌入式應用系統中得到了廣泛的應用。在嵌入式應用系統中,較為常用的LCD有字符型的1602、點陣型的LCM12864,以及帶漢字庫的12864Z等。無論哪種LCD,其顯示字符都用ASCII碼。而要顯示數值,就必須進行數值到字符串的變換。

同樣,在嵌入式系統中,經常使用矩陣鍵盤進行數據等的鍵入,如輸入“幅值”、“相位”等數據信息。對于數字的鍵入,就必然涉及字符串到數據的轉換問題。

1 數據轉字符串的方法及應用

從數據到字符串的轉換,典型方法是先進行字位分離,將每個字轉為ASCII碼(數字+0x30即轉為ASCII碼)后送LCD顯示。這種方法比較繁瑣,每次顯示都要進行這樣的工作。

當然,也可以利用itoa函數編寫從整型到字符串的轉換函數,把整型數轉換為字符串,進而送LCD顯示。下面就是把整型數轉為字符串的程序:

這種方法對空間占用不大,對于無符號整型數是比較方便的;對于有符號的整型數,需要判斷正負,程序編寫方法也類似;對于浮點數,編制這種程序比較繁瑣。

其實,除此之外,KEIL C和ICC還提供了更為有效的方法,實現數據到字符串的轉換。

1.1 KEIL C環境下數據到字符串的轉換

在KEIL C的stdio.h中提供了sprintf語句可以進行數據到字符串的格式轉換。以下是在KEIL C環境下編寫的LCD1602顯示整型數和浮點數的程序:

運行的結果是在LCD1602第1行顯示“a=-1235”,第2行顯示“b=1.235”。

程序中,“sprintf(Buf1,"a=%d",a)”是將整型變量a轉換為字符型變量,并存在數組Buf1[10]中;“sprintf(Buf2,"b=%2.3f",b)”是將浮點變量b轉換為字符型變量,并存在數組Buf2[10]中。若使用“sprintf(Buf2,"%2.3f",b)”語句,產生的hex代碼要增加約7KB。

1.2 ICC開發環境下數據到字符串的轉換

在AVR系統中,ICC開發平臺允許使用sprintf語句進行數據到字符串的格式轉換。同時,為了高精度顯示,AVR允許使用浮點數。下面是整型數和浮點數轉換為字符串顯示的例子:

需要注意的是,使用sprintf語句時,要在ICC開發平臺下project的option選項中,對target選項進行設置,在PRINTF Version中選擇float選項,同時,將return stack size設為30。

采用此方法的缺點是生成的代碼較大(增加約7.5 KB)。最后的顯示結果為:第1行顯示“ch0:1256”;第2行顯示“ch1:-3579”;第3行顯示“ch2:127.5”;第4行顯示”ch3:-0.985”。

注意,如要將小數后位數保留2位,采用sprintf(Buf4,"%2.2f",w)時編譯不能通過。字符串的長度是通過“unsigned char Buf1[7],Buf2[7],Buf3[7],Buf4[7];”來定義的。

2 字符串轉換為數據的方法及應用

字符串到數據轉換的常規方法是用數位分離的方法,如下面的程序:

采用該方法對整型數進行轉換時,必須知道數據長度,而且,對其他類型的數據轉換不太方便。

其實,在KEIL和ICC中,都提供了頭文件stdlib.h,利用該文件提供的atoi轉換函數可以方便實現轉換。該文件可以在KEIL和ICC的安裝路徑下看到。

2.1 MCS51開發中字符串到數據的轉換

在KEIL的安裝根目錄下的INC文件夾中,可以查看stdlib.h文件,該文件提供了字符串到數據的轉換函數,使用這些函數必須包含該頭文件。

下面的程序實現了字符串轉換為整型數和浮點數:

2.2 AVR開發中字符串到數據的轉換

在AVR的ICC開發平臺中也有“stdlib.h”頭文件,它提供的atoi函數可以實現字符串轉數字。程序如下:

在AVR Studio的VIEW窗口進行調試時,觀察p、q分別為-598和-5.98。

結 語

介紹了MCS51和AVR開發中,LCD應用開發中經常使用的數據到字符串的轉換方法,以及鍵盤應用開發中從字符串到數據的轉換方法。該方法充分利用KEIL和ICC開發平臺資源,可有效提高開發效率。

[1]戴佳,戴衛恒.51單片機C語言應用程序設計實例[M].北京:電子工業出版社,2006:123-135.

[2]彭偉.單片機C語言程序設計實訓100例——基于AVR+Proteus[M].北京:北京航空航天大學出版社,2011.

[3]劉建清.輕松玩轉AVR單片機C語言[M].北京:北京航空航天大學出版社,2011.

猜你喜歡
單片機程序方法
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
可能是方法不對
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
主站蜘蛛池模板: 在线观看亚洲人成网站| 国产精品网拍在线| 国产欧美精品一区二区| 国产成人精品三级| 国产人前露出系列视频| 伊在人亚洲香蕉精品播放| 中文无码日韩精品| 久久黄色一级视频| 91高清在线视频| 91美女视频在线| 久久亚洲国产一区二区| 国产精品无码影视久久久久久久 | 亚洲最大在线观看| 国产成人高清在线精品| 热思思久久免费视频| 久久一级电影| 四虎国产精品永久一区| 午夜日韩久久影院| 亚洲最大福利网站| 国产在线自揄拍揄视频网站| 国产三级毛片| 在线高清亚洲精品二区| 色偷偷一区二区三区| 欧美日韩国产高清一区二区三区| 国产精品高清国产三级囯产AV| 欧美国产日产一区二区| 精品国产免费人成在线观看| 免费又黄又爽又猛大片午夜| 亚洲国产综合精品中文第一| 亚洲第一成年网| 欧美69视频在线| 久久 午夜福利 张柏芝| 91在线一9|永久视频在线| 香蕉国产精品视频| 日韩小视频在线播放| 爱做久久久久久| 久久久久夜色精品波多野结衣| 国产无遮挡猛进猛出免费软件| 制服丝袜一区二区三区在线| 国产网站免费看| 久久精品人人做人人爽97| 国产精品乱偷免费视频| 国产成人欧美| 亚洲综合狠狠| 永久免费无码成人网站| 在线视频精品一区| 日韩高清中文字幕| 韩日免费小视频| 国产午夜无码片在线观看网站 | 亚洲系列无码专区偷窥无码| 国产在线观看91精品亚瑟| 少妇精品在线| 国产91色在线| 美女啪啪无遮挡| 国产嫩草在线观看| 欧美性精品不卡在线观看| 国产v精品成人免费视频71pao| 欧美亚洲国产精品久久蜜芽| 日本三区视频| 91娇喘视频| 国产精品va免费视频| 久草视频福利在线观看| 国产综合无码一区二区色蜜蜜| 日韩二区三区无| 亚洲第七页| 强乱中文字幕在线播放不卡| 好吊色妇女免费视频免费| 天天摸天天操免费播放小视频| 亚洲成年人片| 亚洲国产中文精品va在线播放| 欧美黑人欧美精品刺激| 黄色网页在线观看| 国产精品七七在线播放| 日韩精品久久久久久久电影蜜臀| 亚洲av片在线免费观看| 丝袜久久剧情精品国产| 亚洲人成影视在线观看| 国产精品55夜色66夜色| 国产免费高清无需播放器| 欧美a在线看| 久久久精品久久久久三级| 亚洲综合色婷婷|