當(dāng)前位置:首頁(yè) > 電源 > 數(shù)字電源
[導(dǎo)讀]This application note uses the MAXQ2010 microcontroller's evaluation (EV) kit Rev D to implement a digital voltmeter. The article demonstrates how to measure the voltages with the ADC and display them

This application note uses the MAXQ2010 microcontroller's evaluation (EV) kit Rev D to implement a digital voltmeter. The article demonstrates how to measure the voltages with the ADC and display them on the EV kit's LCD. An onboard 5-way switch is used to select the ADC channel to be displayed on the LCD. No additional parts are needed aside from the EV kit.

<-- ======================================================================= --><-- CONTENT: DB HTML --><-- ======================================================================= -->Download an example project with the code described in this application note.

Introduction

The MAXQ2010-KIT showcases the MAXQ2010 microcontroller. The kit has a versatile board with the following features:
  • Two pushbuttons for reset and interrupt lines
  • One 5-way switch
  • 19 exposed GPIO pins
  • Eight ADC channels
  • A photocell
  • A thermistor
  • An LCD screen
Using these resources it is simple to build a digital voltmeter.

The MAXQ2010's integrated ADC accepts a voltage from 0V to 3.3V and translates it into a bit value from 0 to 4095 (12 bits of precision). The microcontroller then scales the value to a range from 0 to 3.3000 and writes it on the board's LCD. The application code repetitively samples all eight ADC channels and uses the 5-way switch to determine which channel to display.

Aside from the EV kit, no additional parts are required. Included in the EV kit is a limited version of the IAR Embedded Workbench® software. The full version of the software can be purchased from the IAR™ website. The sample application was written and compiled on version 2.20I.

Getting started

Set up the board according to the EV kit documentation. You should also install jumpers J30 and J31, which will connect the photocell (R17) to ADC input 6 (AN6) and connect the thermistor (R20) to ADC input 7 (AN7). You can also add voltages on ports 0–5, as long as the voltages stay within the 0V to 3.3V range.

Next, run the IAR software. In the top left corner click File Open Workspace. Navigate to the directory containing the voltmeter project and open voltmeter.eww. The project settings will already be set up. To ensure that the JTAG is set to the correct COM port, right click on the bold-faced project name on the left side of the screen and select Options (Figure 1). Go to Categories, click JTAG under Debugger, and enter the COM port to which your programmer is connected (Figure 2). To check which COM port is being used, open Device Manager. The EV kit documentation details how to get there.


Figure 1. To verify that the JTAG is set to the correct COM port, start with the Options menu.


Figure 2. Find the JTAG option and enter the COM port to which your programmer is connected.

Next, click Debug on the far right side of the toolbar (Figure 3). This will compile, link, and program your board. The debug menu will be brought up momentarily. A green arrow will be pointing to the main function. Run the program by pressing F5 or clicking the button on the toolbar that looks like a flat piece of paper with three arrows above it.


Figure 3. Use the Debug command to compile, link, and program your EV kit board.

Application results

Featured on the EV kit board are two analog inputs, the thermistor and photocell, which continuously output voltage signals. Both of these inputs are connected to ADC pins so their voltage can be measured. The sample application reads eight ADC values (on channels 0 through 7) at a time. The values are sent to a software lowpass filter that removes high-frequency noise. The selected ADC channel is displayed on the LCD. On the lower right-hand corner of the board is a switch. Pressing this switch down or to the right increments the ADC channel to be monitored. If the channel selected is greater than seven, the software selects channel zero instead. Conversely, pressing the switch up or to the left decreases the ADC channel; channel seven is monitored if the channel selected is less than zero. To display the current channel being monitored, press in the switch. To stop the ADC from sampling, hold the button SW3 down. While SW3 is held down, the channel can still be changed.

After reset, the microcontroller displays the photocell voltage on channel six. The more light the cell receives, the lower the voltage is across it. Effectively, the voltage at the ADC pin is directly related to the amount of light present. This is because the photocell is part of the voltage-divider on AN6 (see Figure 4). In fluorescent lighting, the voltage will sit around 2V. If you shade the corner of the board that contains the cell, the voltage will drop a bit; completely covering the photocell with your finger will drop the voltage to approximately 0.5V. Removing your finger will return the voltage to 2V.


Figure 4. The voltage-divider and the equation that determines the voltage.
[!--empirenews.page--]
Note: you may notice that without any input connected to one of the AN pins, the voltage displayed is close to 1.4V. This results from internal bias circuitry and does not affect measurement.

The operation of the code

When the code begins executing, three things are initialized: the LCD, the I/O pins for the 5-way switch, and the ADC.

The MAXQ2010 features an internal LCD driver which has two registers to control its operation. The values written to them set up the default mode for this board.
   LCRA = 0x1860; /* 1/4 duty, 32kHz clock, ground VADJ internally */
   LCFG = 0x7F;   /* Activate segments on P0-P3, enable LCD, normal mode */
In this default mode, the segments are set up as shown in Figure 5.


Figure 5. LCD display configuration.

A character is written by sending the high byte of the hex code (CAfedabcDP) to an LCD register, and the low byte (ijklhgnm) to the consecutive LCD register. This application includes a constant character table that can be used to look up the hex codes for the decimal digits. The character table makes displaying digits on the LCD very easy.

The 5-way switch (SW1) uses port pins P4.0 through P4.5. The common pin of SW1 is P4.0 which is set to output low. The other pins are connected to weak pullups by setting the direction to input and writing a 1 to the output. Thus, if a pin has a logic 0 on it when it is sampled, the program knows that the switch is pressed. After each ADC sample, the microcontroller polls the switch and changes the channel accordingly.

It is important to know that all the ADC configuration and data registers are accessed through the Conversion Sequence Address Register (ADDATA), and that the Status Register (ADST) points to the current register. Write instructions to ADDATA will write to the configuration registers and read instructions will read from the data registers.

The ADC is initialized by setting up the ADC Control Register (ADCN) and the configuration registers. First, we must load ADST with the configuration register to which we want to write first. After writing to ADDATA, ADST will automatically increase. Thus eight consecutive writes to ADDATA, when the initial register is Configuration Register 0, will write to registers 0 through 7. Each configuration register controls the configuration for that channel. Writing a 0x07 to the ADADDR instructs the microcontroller to start the conversion sequence with channel 0 and end with channel 7. This will cause the ADC to sample each channel once before raising a flag signaling that the data is ready.

Each result placed in a Data Register is accessed through ADDATA. To start at Data Register 0, ADST is set to 0. Eight reads from ADDATA retrieve all eight values of the conversion sequence. Here, the data register also increases with consecutive reads from ADDATA.

Each value read from ADDATA ranges from 0 to 4095. For the MAXQ2010, 4095 represents the ADC reference voltage, AVDD, which is typically 3.3V. The program scales the 12-bit value up to a range from 0 to 33000 instead of down to 3.3 because integer division would cause truncation. For example, an ADC value of 2036 would be displayed as 1.0000 instead of 1.6407.
	unsigned int voltage = ADCvalue * 3.3 * 10000 / 4095;
The result of this code is a value from 0 to 33000. The digits are masked off and displayed on the LCD with the decimal point added in the correct place. Essentially the conversion of the bit value is to 10-4 volts. Adding the decimal place later reverts the value back to volts.

Conclusion

This application note has demonstrated how to implement a digital voltmeter on the MAXQ2010 microcontroller. Using the peripherals of the MAXQ2010-KIT, voltage data from the internal ADC is easily written on the LCD. For different applications, the EV kit LCD can display alphanumeric characters. The 5-way switch can be used to create an extensive menu interface. The ADC supports eight channels hooked up to parts such as potentiometers, infrared distance sensors, resistor ladders, and any other device that returns an analog voltage.
本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉