《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 找出微處理器ADC電壓的十六進(jìn)制編碼值
找出微處理器ADC電壓的十六進(jìn)制編碼值
摘要: 用一種簡(jiǎn)單的公式來計(jì)算ADC輸出的十六進(jìn)制值,簡(jiǎn)化8位微處理器的設(shè)計(jì)。
Abstract:
Key words :

  這種設(shè)計(jì)方案針對(duì)低檔八管腳flash存儲(chǔ)的8位微處理器,例如Freescale的MC68HC908QT4A,但是它也同樣適用于任何一款擁有ADC模塊的8位微處理器。在芯片內(nèi),ADC轉(zhuǎn)換輸入的模擬電壓成數(shù)字信號(hào)格式。數(shù)字信號(hào)格式為8位的十六進(jìn)制編碼值,如$00。微處理器從ADC端口采集輸入模擬信號(hào)范圍從VSS對(duì)應(yīng)的 $00到VDD對(duì)應(yīng)的$FF。基于這些十六進(jìn)制編碼,在VSS和VDD之間的輸入電壓呈現(xiàn)出總共256個(gè)電平的線性變換。換句話說,輸入電壓越高,十六進(jìn)制編碼值就越大。

  最困難的地方在于寫匯編代碼實(shí)現(xiàn)算法的程序員必須知道不同輸入模擬電平(例如1.6V)對(duì)應(yīng)什么十六進(jìn)制編碼值。涉及到微處理器規(guī)格,甚至聯(lián)系生產(chǎn)廠商也不能給出滿意的答案。

  然而,本文提出解決這個(gè)問題的方案。假定微處理器工作電源電壓為VDD,應(yīng)用下面這個(gè)簡(jiǎn)單公式得到十六進(jìn)制編碼值:VIN/(VDD/255)=result value="hex" code(見編者按)。注意,在更高的十六進(jìn)制編碼轉(zhuǎn)換精度之前,必須保證轉(zhuǎn)換出的十六進(jìn)制值能夠覆蓋整個(gè)模擬信號(hào)范圍。下面的例子計(jì)算表明了使用已知電源電壓5V的微處理器時(shí),測(cè)量輸入模擬信號(hào)電壓為1.6V的十六進(jìn)制編碼值:1.6V/(5V/255)=81.6=82,或者$52。

  編者按:

  作者還提供了兩個(gè)附件,一個(gè)查詢表(PDF格式)和一個(gè)Excel格式的表格,讀者可以對(duì)照這些附件與公式相互映證。最后,作者還在“反饋環(huán)”這篇文章為本篇文章提供了一些注釋。

       英文原文:

  Find hex-code values for microcontroller’s ADC voltages

  Ease 8-bit microcontroller programming with a simple formula to calculate hex values of ADC output.

  Harry Gibbens Jr, Deafworks, Provo, UT; Edited by Charles H Small and Brad Thompson -- EDN, 4/12/2007

  This Design Idea is for low-end, eight-pin, flash-memory, 8-bit microcontrollers, such as the MC68HC908QT4A from Freescale, but it would apply to any 8-bit microcontrollers that use the ADC feature. In a nutshell, the ADC converts an input-analog-voltage level to a digital-signal format. The digital-signal format has an 8-bit hex-code value, such as $00. The microcontroller “sees” the input-analog-voltage level from its ADC ports ranging from $00 at VSS to $FF at VDD. Based on those hex-code values, there are a total of 256 ticks. The input voltages between VSS and VDD represent a straight-line linear conversion. In other words, the higher the input voltage, the higher the hex-code value.

  The difficulty is that a programmer who needs to write assembly code for a programming algorithm must know what the hex-code value is for a different input-analog-voltage level—1.6V, for example. Referring to the microcontroller’s specs and even contacting its manufacturers do not yield satisfactory answers.

  However, this Design Idea presents a solution to the problem. Given the microcontroller’s power operating-voltage source, VDD, use the following simple formula to obtain the hex-code value corresponding to an identified input-analog-voltage level: VIN/(VDD/255)=result value="hex" code (see Editor's note). Note that you must round off the result value to a whole number before converting to a hex-code value for better accuracy. The following sample calculation finds the hex-code value for a measured input-analog-voltage level of 1.6V when using a known microcontroller’s VDD of 5V:1.6V/(5V/255)=81.6=82, or $52

  Editor's Note:

  Correction and addition (4/27/2007): Due to an editing error, we originally printed the formula as "VIN×VIN/(VDD/255)." In addition, the author has provided two attachments, a lookup table (PDF) and an Excel spreadsheet that allows you to interact with the formula. Finally, the author has posted some comments in the "Feedback Loop" section for this article.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
主站蜘蛛池模板: 久久精品国产亚洲AV香蕉| 十二以下岁女子毛片免费| 67194熟妇人妻欧美日韩| 岛国a香蕉片不卡在线观看| 久久不见久久见免费影院www日本| 中文乱码字幕午夜无线观看| 天下第一社区视频在线观看www | 欧美性猛交xxxx乱大交极品| 亚色九九九全国免费视频| 精品在线一区二区三区| 国产a级毛片久久久精品毛片| 香蕉视频一区二区| 国产欧美日韩成人| 三级网站在线免费观看| 国产老妇伦国产熟女老妇视频| 99精品无人区乱码在线观看| 女偶像私下的y荡生活| 中文字幕人妻丝袜美腿乱| 日产一区日产片| 久久久免费精品| 日本老师和同学xxxx| 久久精品国产一区二区三| 杨幂13分20秒未删减bt| 亚洲伊人久久大香线蕉AV| 欧美日韩一区二区三区色综合| 亚洲精品中文字幕无乱码麻豆| 特黄特色大片免费播放| 伊人久久精品无码麻豆一区| 男女污污在线观看| 全免费一级毛片在线播放| 精品精品国产高清a毛片| 啊灬啊灬别停啊灬用力啊在线观看 | 在线免费观看国产| JZZIJZZIJ日本成熟少妇| 女人18一级毛片免费观看| xxxxx69hd杨幂| 女人18毛片a级毛片| jizzyou中国少妇| 大桥未久全63部作品番号| 99爱在线精品免费观看| 在线观看精品国产福利片87|