[General] 17 Bits Microcontroller

Status
Not open for further replies.

nanana_1011

Member level 2
Joined
Nov 9, 2014
Messages
50
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Activity points
1,636
If I want to input a frequency into a microcontroller, it then generate a 17-bit output to LCD panel.
What kind of microcontrollers should I use?
Will some connect LCD panel but some cannot?
Also, there is no any 17-bit microcontroller.

I am new to microcontroller.
Please teach me more. Thanks!
 

Absolutly any microcontroller according debug tools and compilier that you already have.
 

If I want to have 17 bits only, what choices do I have?
 

I'm repeating you. Anyone microcontroller.
But also you can use PLD and design your own MCU's core with 17 bits. This will be at least funny.
 

But also you can use PLD and design your own MCU's core with 17 bits. This will be at least funny.
Please don't do that, we will be here for months teaching you how to do it. 8-O

In 50+ years of working in electronics, I've never come across a 17-bit parallel driven LCD so I will assume it is serial driven. That means the 17 bits are sent one at a time so you only need ONE bit to do the communicating and any processor with more than 1 bit bus width will work. As all commonly available processors are at least 8-bit devices you should be able to use any of them.

Brian.
 

Please give a link or full description for the specific LCD panel that you want to use.

People here will assume that you mean an LCD with a built in controller. I wonder if you are talking about a raw LCD that does not directly take logic-level signals.
 

I will give a frequency square wave to controller. The controller will count the frequency for every 100ms. According to the frequency, it will generate 0-5V. The range of 5V is divided by 2^17. According to the voltage, it then show it on LCD.

I don't have any idea on LCD yet.
 

So the problem is nothing to do with needing 17 bits for the LCD, you want a 17 bit DAC and measurement system. Good luck finding one!
If you split 5V into 2^17 steps, each one will be only 3.8uV which unless you resort to some highly sophisticated circuits and cooling systems is impractical to achieve.

Why do you need such accuracy?

Brian.
 
I have a relation about frequency and temperature.
I hope to use the microcontroller to count the frequency for every 100ms. It then makes use of the relationship to calculate temperature and output to the LCD. Finally, LCD will show the result like '150 degree celsius'.
The range of temperature will be show from 0 to 500. I want to split 500 into 2^17.
I think the microcontroller will output 0 to 5V. According to the value, temperature will be obtained and shown on LCD.

Am I correct?
Thank you!
 

OK. So 5V gives a reading of 500 and you want to split it into 2^17 steps.

2^17 = 131072.
So each step of measurement is 5/131072 V which equals 0.000038V. While not impossible to produce or measure, it isn't practical to do so without special equipment. The chances are that even background noise will be many times more than the voltage you want to measure.

Do you really need to measure temperature to an accuracy of ~0.004 Celsius and do you have a sensor with accuracy better than 0.0008% ?

Brian.
 

Is it a must to convert to voltage first?
For example, my idea is frequency to voltage and then to temperature.
Can I just frequency to temperature?
Like
Microcontroller has 17 outputs.
If the frequency is settled down to a specific range, output 1 and output 10 is set to 1 and others are 0.
The output is 000000010000000001. Inputting this to LCD will show a specific image which show us the result.

Does it directly convert frequency to temperature?
 

The range of temperature will be show from 0 to 500. I want to split 500 into 2^17

You are misunderstanding the requirement of the magnitude of variable that will store some value, with the size of the core bus, just that. You could do that anyway with an 8, 16 or 32 bits microcontroler.
 

I do not understand.
The input is frequency and output device is LCD panel.
What do I need to consider now?
 

As already explained, the size of numbers that can be handled by a microcontroller isn't restricted by it's internal data width (e.g. 8, 16 or 32 bit). Almost every code compiler for microcontrollers has arithmetic libraries that support numbers up to 32 bit size, some also 64 bit and floating point.

First step is to design the calculation with pencil and paper method.
Second step is to write it in a form that can be understood by a compiler tool, usually C language.

You should also clarify the intended display format for the temperature readings. I guess you want a decimal format with fractional digits, but it's not clear in your posts yet.
 

If microcontrollers support up to 32 bit size, what is the meaning of 8-bit, 16-bit, 24-bit and 32-bit microcontrollers?
 

According to the frequency, it will generate 0-5V. The range of 5V is divided by 2^17. According to the voltage, it then show it on LCD.

I don't see how the voltage point in post #7 should be related to converting a digital counted frequency to a displayed number. I believe it's an erroneous attempt to solve the problem.

- - - Updated - - -

If microcontrollers support up to 32 bit size, what is the meaning of 8-bit, 16-bit, 24-bit and 32-bit microcontrollers?

It's an internal data width. You primarly don't care for it when writing high level (e.g. C language) code.
 

leo2b2006, I think you are completely failing to analyze your task. You have asked for a 17 bit processor, then a 17 bit LCD, then a 17 bit DAC and now you want 17 outputs on the microcontroller.

Can you first explain exactly what you are trying to do and then explain where the unusual number 17 comes from.
Is this LCD a module (such as 4 x dot matrix 20 characters) or a plain glass with electrodes on it?

If you are trying to measure frequency and display it on an LCD, there are far easier ways to do it.

Brian.
 

For example,
When it outputs 00000000000000001, it shows 0.763.
When it outputs 11111111111111111, it shows 100000.
When it outputs 10000110100111111, it shows 52587.128.

It will have 17 bits for 1 output.

The main task is converting frequency to temperature and show it.
Does my method work?

By inputting different frequency, it has different values on temperature.

For example,
When the input is 100 Hz, output is 00000000000000001 and LCD shows 0.763.
When the input is 10 kHz, output is 11111111111111111 and LCD shows 100000.
When the input is 5158.54 Hz, output is 10000110100111111 and LCD shows 52587.128.

This is what I plan to do.
 

The 100 Hz point doesn't fit a linear scaling. 10 kHz = 100*100 Hz

Secondly it's not clear where the arbitary frequnecy to digital scaling comes from or why it has been selected.

Apart from this points, write down your equations and you can code them in C. Looks like floating point, so chose a processor and compiler that supports it.
 

First make your calculation in linear. Then it will be easy to program otherwise it will be tough to display all those values when it is non-linear
 

Status
Not open for further replies.

Similar threads

Cookies are required to use this site. You must accept them to continue using the site. Learn more…