<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>8-bit MicrocontrollersのトピックRe: Lookup table to Generate PWM tone</title>
    <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Lookup-table-to-Generate-PWM-tone/m-p/165590#M10448</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;&lt;/DIV&gt;&lt;BLOCKQUOTE&gt;&lt;DIV&gt;&lt;HR /&gt;bigmac wrote:&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;FONT size="2"&gt;The code will need to be modified to suit the smaller table size, possibly with the "inc&amp;nbsp; PNTR" instruction replaced by the following code -&lt;/FONT&gt;&lt;/DIV&gt;&lt;P&gt;&lt;FONT size="2"&gt;&amp;nbsp;&lt;FONT face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lda&amp;nbsp;&amp;nbsp; PNTR&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;inca&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; and&amp;nbsp;&amp;nbsp; #$1F&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sta&amp;nbsp;&amp;nbsp; PNTR&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;This will restrict the value of PNTR to the range 0 - 31.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;Regards,&lt;BR /&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT face="Arial"&gt;Mac&lt;BR /&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;&lt;DIV&gt;HI Bigmac,&lt;/DIV&gt;&lt;DIV&gt;The above changes works for me.&lt;/DIV&gt;&lt;DIV&gt;Thanks.&lt;/DIV&gt;&lt;DIV&gt;However the &lt;FONT size="2"&gt;mov&amp;nbsp;&amp;nbsp;&amp;nbsp; X+,TPM2C0VL portion still doesnt work.&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;At least I'm able to get it working though.&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;I've changed the TPM2SC to $08, TPM2C0SC is $28 &amp;amp; the TPM2MOD = $E4&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;BR /&gt;&lt;BLOCKQUOTE&gt;&lt;DIV&gt;&lt;HR /&gt;bigmac wrote:&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&lt;P&gt;&lt;FONT size="2"&gt;&lt;FONT size="2"&gt;How many times does the "tone" sub-routine&amp;nbsp;repeat to produce your plotted output&amp;nbsp;(it appears to provide an output over about a 250 ms period)?&amp;nbsp; Each call of the sub-routine will output a single sine wave cycle.&amp;nbsp; For&amp;nbsp;the anticipated&amp;nbsp;output frequency, 250 ms would correspond to about 60 cycles.&amp;nbsp; However, y&lt;/FONT&gt;&lt;FONT size="2"&gt;ou will really need to use continuous output so that the filtered waveform can settle properly.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;FONT size="2"&gt;Regards,&lt;BR /&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT face="Arial"&gt;Mac&lt;BR /&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;I only run the routine once cause I using it to generate a beep tone when a button is pressed.&lt;/DIV&gt;&lt;DIV&gt;Currently the Sincewave is running at approx 500Hz.&lt;/DIV&gt;&lt;DIV&gt;If i were to increase the sine wave frequency, I should decrease the TPM2MOD??&lt;/DIV&gt;&lt;DIV&gt;U mentioned that $E4 for TPM2MOD is the minimum, so how do I come about to increase the Since Wave Frequency in this case?&lt;/DIV&gt;&lt;DIV&gt;Do i need to increase my 32 steps?&lt;/DIV&gt;&lt;DIV&gt;What is the formula to calculate this?&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Thanks.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Regards,&lt;/DIV&gt;&lt;DIV&gt;MY&lt;BR /&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;Message Edited by mingyee on &lt;SPAN class="date_text"&gt;2007-11-26&lt;/SPAN&gt; &lt;SPAN class="time_text"&gt;09:44 AM&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 26 Nov 2007 17:43:18 GMT</pubDate>
    <dc:creator>mylim</dc:creator>
    <dc:date>2007-11-26T17:43:18Z</dc:date>
    <item>
      <title>Lookup table to Generate PWM tone</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Lookup-table-to-Generate-PWM-tone/m-p/165568#M10426</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hi guys, do you have any example on Lookup Table for PWM tone generation?&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Thanks.&lt;/DIV&gt;&lt;DIV&gt;MY&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 19 Nov 2007 11:22:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Lookup-table-to-Generate-PWM-tone/m-p/165568#M10426</guid>
      <dc:creator>mylim</dc:creator>
      <dc:date>2007-11-19T11:22:35Z</dc:date>
    </item>
    <item>
      <title>Re: Lookup table to Generate PWM tone</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Lookup-table-to-Generate-PWM-tone/m-p/165569#M10427</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;Check &lt;A href="http://forums.freescale.com/freescale/board/message?board.id=8BITCOMM&amp;amp;message.id=6681" target="_blank"&gt;this thread&lt;/A&gt; on a similar topic.&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 19 Nov 2007 19:16:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Lookup-table-to-Generate-PWM-tone/m-p/165569#M10427</guid>
      <dc:creator>tonyp</dc:creator>
      <dc:date>2007-11-19T19:16:47Z</dc:date>
    </item>
    <item>
      <title>Re: Lookup table to Generate PWM tone</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Lookup-table-to-Generate-PWM-tone/m-p/165570#M10428</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hi Tony,&lt;/DIV&gt;&lt;DIV&gt;Basing on the code from the thread;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;BR /&gt;&lt;BLOCKQUOTE&gt;&lt;DIV class="msg_source_code"&gt;&lt;DIV class="text_smallest"&gt;Code:&lt;/DIV&gt;&lt;PRE&gt;lb00                ldhx      #TabSinlb01                clr       TPMC1VH                    mov       x+,TPMC1VL                    mov       #$28,TPMSC                    brclr     TOF,TPMSC,*                    cphx      #EndTabSin                    blo       lb01                    bra       lb00TabSin              dc.b      $A0,$A0,$da,$da,$A0,$A0,$da,$da                    dc.b      $A0,$A0,$da,$da,$A0,$A0,$da,$daEndTabSin&lt;/PRE&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;/BLOCKQUOTE&gt;&lt;DIV&gt;Where/how does the pointer increment in order to load the next TabSin value to x?&lt;/DIV&gt;&lt;DIV&gt;Thanks.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Regards,&lt;/DIV&gt;&lt;DIV&gt;MY&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Oct 2020 09:12:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Lookup-table-to-Generate-PWM-tone/m-p/165570#M10428</guid>
      <dc:creator>mylim</dc:creator>
      <dc:date>2020-10-29T09:12:29Z</dc:date>
    </item>
    <item>
      <title>Re: Lookup table to Generate PWM tone</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Lookup-table-to-Generate-PWM-tone/m-p/165571#M10429</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;PRE&gt;mov x+,TPMC1VL
(the + is for auto-increment after the move)

The TabSin table value isn't loaded to X, it's copied ('moved') from memory to memory using HX as pointer
&lt;/PRE&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;SPAN class="time_text"&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;Message Edited by tonyp on &lt;SPAN class="date_text"&gt;2007-11-22&lt;/SPAN&gt; &lt;SPAN class="time_text"&gt;10:30 AM&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Oct 2020 09:12:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Lookup-table-to-Generate-PWM-tone/m-p/165571#M10429</guid>
      <dc:creator>tonyp</dc:creator>
      <dc:date>2020-10-29T09:12:31Z</dc:date>
    </item>
    <item>
      <title>Re: Lookup table to Generate PWM tone</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Lookup-table-to-Generate-PWM-tone/m-p/165572#M10430</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hi Tony,&lt;/DIV&gt;&lt;DIV&gt;does that mean once this routine is called, I do not require to have any external pre-calculated pointer for &lt;FONT face="Courier New"&gt;#TabSin&lt;/FONT&gt;?&lt;/DIV&gt;&lt;DIV&gt;It will increment itself in the routine until it matched &lt;FONT face="Courier New"&gt;#EndTabSin?&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Arial"&gt;To generate tone, it's preferable to init my pin to PWM or Output Compare?&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;Any difference between these 2 as PWM will also either set/clr output on compare?&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Does the channel compare value = TPMxCxV?&lt;/DIV&gt;&lt;DIV&gt;Thanks&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Regards,MY&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Nov 2007 16:49:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Lookup-table-to-Generate-PWM-tone/m-p/165572#M10430</guid>
      <dc:creator>mylim</dc:creator>
      <dc:date>2007-11-22T16:49:39Z</dc:date>
    </item>
    <item>
      <title>Re: Lookup table to Generate PWM tone</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Lookup-table-to-Generate-PWM-tone/m-p/165573#M10431</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hi,&lt;/DIV&gt;&lt;DIV&gt;The pointer gets incremented at&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x+,TPMC1VL&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;and when it hits EndTabSin, it gets reset to TabSin.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Note that the program assumes that the conversion table starts at&amp;nbsp;address $xx00.&lt;/DIV&gt;&lt;DIV&gt;So put an&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; org $xx00&lt;/DIV&gt;&lt;DIV&gt;before the TabSin label.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Regards,&lt;/DIV&gt;&lt;DIV&gt;Ake&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Nov 2007 16:52:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Lookup-table-to-Generate-PWM-tone/m-p/165573#M10431</guid>
      <dc:creator>Ake</dc:creator>
      <dc:date>2007-11-22T16:52:29Z</dc:date>
    </item>
    <item>
      <title>Re: Lookup table to Generate PWM tone</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Lookup-table-to-Generate-PWM-tone/m-p/165574#M10432</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;BR /&gt;&lt;BLOCKQUOTE&gt;&lt;HR /&gt;Ake wrote:&lt;BR /&gt;&lt;DIV&gt;Note that the program assumes that the conversion table starts at&amp;nbsp;address $xx00.&lt;/DIV&gt;&lt;DIV&gt;So put an&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; org $xx00&lt;/DIV&gt;&lt;DIV&gt;before the TabSin label.&lt;BR /&gt;&lt;/DIV&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;No such assumption!&lt;BR /&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Nov 2007 16:58:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Lookup-table-to-Generate-PWM-tone/m-p/165574#M10432</guid>
      <dc:creator>tonyp</dc:creator>
      <dc:date>2007-11-22T16:58:45Z</dc:date>
    </item>
    <item>
      <title>Re: Lookup table to Generate PWM tone</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Lookup-table-to-Generate-PWM-tone/m-p/165575#M10433</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;BLOCKQUOTE&gt;&lt;HR /&gt;mingyee wrote:&lt;BR /&gt;&lt;DIV&gt;does that mean once this routine is called, I do not require to have any external pre-calculated pointer for &lt;FONT face="Courier New"&gt;#TabSin&lt;/FONT&gt;?&lt;BR /&gt;&lt;/DIV&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;Read the code carefully.&amp;nbsp; First instruction initializes HX to the beginning of the table.&lt;BR /&gt;&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;DIV&gt;&lt;FONT face="Arial"&gt;To generate tone, it's preferable to init my pin to PWM or Output Compare?&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;Any difference between these 2 as PWM will also either set/clr output on compare?&lt;/DIV&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;PWM uses an Output Compare.&amp;nbsp; Normally, varying the pulse-width changes the volume, while varying the frequency changes the tone.&amp;nbsp; (How you do it depends on your actual hardware design.)&lt;BR /&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Nov 2007 17:13:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Lookup-table-to-Generate-PWM-tone/m-p/165575#M10433</guid>
      <dc:creator>tonyp</dc:creator>
      <dc:date>2007-11-22T17:13:51Z</dc:date>
    </item>
    <item>
      <title>Re: Lookup table to Generate PWM tone</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Lookup-table-to-Generate-PWM-tone/m-p/165576#M10434</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;&lt;/DIV&gt;&lt;BLOCKQUOTE&gt;&lt;DIV&gt;&lt;HR /&gt;tonyp wrote:&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;PWM uses an Output Compare.&amp;nbsp; Normally, varying the pulse-width changes the volume, while varying the frequency changes the tone.&amp;nbsp; (How you do it depends on your actual hardware design.)&lt;BR /&gt;&lt;HR /&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;&lt;DIV&gt;Hi Tony,&lt;/DIV&gt;&lt;DIV&gt;As I'm aware, the frequency can be manipulated thru TPMC1VL.&lt;/DIV&gt;&lt;DIV&gt;But how do I come about the Pulse Width?&lt;/DIV&gt;&lt;DIV&gt;I'm a little confused here.&lt;/DIV&gt;&lt;DIV&gt;Thanks.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Regards,&lt;/DIV&gt;&lt;DIV&gt;MY&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Nov 2007 17:44:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Lookup-table-to-Generate-PWM-tone/m-p/165576#M10434</guid>
      <dc:creator>mylim</dc:creator>
      <dc:date>2007-11-22T17:44:52Z</dc:date>
    </item>
    <item>
      <title>Re: Lookup table to Generate PWM tone</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Lookup-table-to-Generate-PWM-tone/m-p/165577#M10435</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;You'll have to read the various references for detailed explanations.&amp;nbsp; In short, (quoting from one such reference):&lt;BR /&gt;&lt;BR /&gt;&lt;I&gt;The period of this PWM signal is determined by the setting in the modulus register&lt;BR /&gt;(TPMMODH:TPMMODL). The duty cycle is determined by the setting in the timer channel value register&lt;BR /&gt;(TPMCnVH:TPMCnVL). The polarity of this PWM signal is determined by the setting in the ELSnA&lt;BR /&gt;control bit.&lt;BR /&gt;&lt;/I&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Nov 2007 17:59:14 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Lookup-table-to-Generate-PWM-tone/m-p/165577#M10435</guid>
      <dc:creator>tonyp</dc:creator>
      <dc:date>2007-11-22T17:59:14Z</dc:date>
    </item>
    <item>
      <title>Re: Lookup table to Generate PWM tone</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Lookup-table-to-Generate-PWM-tone/m-p/165578#M10436</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hi Tony,&lt;/DIV&gt;&lt;DIV&gt;I've tried the code with my TPM modulo ctr $FF00.&lt;/DIV&gt;&lt;DIV&gt;I've obtained the graph below basing on circuit attached.&lt;/DIV&gt;&lt;DIV&gt;I'm not able to get a 'nice' sine wave is it due to my hardware filtering problem?&lt;/DIV&gt;&lt;DIV&gt;Please advise.&lt;/DIV&gt;&lt;DIV&gt;Thanks.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Regards,&lt;/DIV&gt;&lt;DIV&gt;MY&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Nov 2007 19:36:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Lookup-table-to-Generate-PWM-tone/m-p/165578#M10436</guid>
      <dc:creator>mylim</dc:creator>
      <dc:date>2007-11-22T19:36:58Z</dc:date>
    </item>
    <item>
      <title>Re: Lookup table to Generate PWM tone</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Lookup-table-to-Generate-PWM-tone/m-p/165579#M10437</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;Others can help you much better with this.&amp;nbsp; What frequency are you running the PWM at?&amp;nbsp; Don't you need a resistor from between R14, R15 to ground?&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Nov 2007 20:26:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Lookup-table-to-Generate-PWM-tone/m-p/165579#M10437</guid>
      <dc:creator>tonyp</dc:creator>
      <dc:date>2007-11-22T20:26:33Z</dc:date>
    </item>
    <item>
      <title>Re: Lookup table to Generate PWM tone</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Lookup-table-to-Generate-PWM-tone/m-p/165580#M10438</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hi Tony,&lt;/DIV&gt;&lt;DIV&gt;My controller is running at internal osc. Which my bus freq is 2MHz.&lt;/DIV&gt;&lt;DIV&gt;My TPM Modulo is FF00 at 261.124ms ~ 3.83Hz.&lt;/DIV&gt;&lt;DIV&gt;I'm not targeting at any specific freq because I'm curretly testing out whether I'm able to obtain a Sine Wave using PWM.&lt;/DIV&gt;&lt;DIV&gt;Thanks.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Regards,&lt;/DIV&gt;&lt;DIV&gt;MY&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;A href="http://www.freescale.com/files/community_files/8BITCOMM/8179_tpm_config.jpg" rel="nofollow" target="_self"&gt;tpm_config.jpg&lt;/A&gt;&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV class="message-edit-history"&gt;&lt;SPAN class="edit-author"&gt;Message Edited by t.dowe on&lt;/SPAN&gt; &lt;SPAN class="local-date"&gt;2009-10-27&lt;/SPAN&gt; &lt;SPAN class="local-time"&gt;01:17 PM&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 23 Nov 2007 00:20:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Lookup-table-to-Generate-PWM-tone/m-p/165580#M10438</guid>
      <dc:creator>mylim</dc:creator>
      <dc:date>2007-11-23T00:20:36Z</dc:date>
    </item>
    <item>
      <title>Re: Lookup table to Generate PWM tone</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Lookup-table-to-Generate-PWM-tone/m-p/165581#M10439</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;Hello MY,&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;It would appear the primary&amp;nbsp;reason your code doesn't generate a sine wave is that the table data you are using does &lt;U&gt;not&lt;/U&gt; represent a sequence of amplitude values within&amp;nbsp;a sine wave.&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;Firstly, you will need to decide how many PWM output periods should represent one sine wave cycle.&amp;nbsp; More periods per cycle should give simpler filtering, but there will be a trade off between amplitude resolution and sine wave frequency.&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;For example, let's assume you require 1000Hz sine wave using 10MHz&amp;nbsp;TPM clock&amp;nbsp;rate, i.e. 10,000 bus cycles per output cycle.&amp;nbsp; One possible solution would be to have 100 PWM periods, with each PWM period consisting of 100&amp;nbsp;TPM clock&amp;nbsp;cycles ( 1% amplitude resolution). and this would seem a reasonable compromise.&amp;nbsp; Using these figures, the size of the lookup&amp;nbsp;table would need to be 100 bytes.&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;Since the PWM generates an output amplitude between 0 percent and 100 percent, the sine waveform will be offset so that the negative minimum corresponds with 0 percent, and the positive maximum with 100 percent amplitude.&amp;nbsp; The lookup table might have the following structure -&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New" size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New" size="2"&gt;Table index:&amp;nbsp;&amp;nbsp;Entry value:&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 50&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;25&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;100&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;50&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 50&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New" size="2"&gt;&amp;nbsp;&amp;nbsp; 75&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New" size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;The intermediate values, in increments of 3.6 degrees,&amp;nbsp;would need to be calculated and scaled to follow the sine waveform.&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;Since the PWM frequency for the above example would be 100 kHz,&amp;nbsp; the cut-off frequency for the output filter would be non-critical, perhaps a value of 2 - 3 kHz.&amp;nbsp; A two-pole filter will probably be adequate, however, I would probably use an active filter type for better control of the filter characteristic, and to provide output buffering.&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;Regards,&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;Mac&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 23 Nov 2007 01:10:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Lookup-table-to-Generate-PWM-tone/m-p/165581#M10439</guid>
      <dc:creator>bigmac</dc:creator>
      <dc:date>2007-11-23T01:10:21Z</dc:date>
    </item>
    <item>
      <title>Re: Lookup table to Generate PWM tone</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Lookup-table-to-Generate-PWM-tone/m-p/165582#M10440</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;You could have the lookup table only contain the data for a single quadrant of the sine since all four quadrants will have identical values and will differ only in output order and magnitude.&amp;nbsp; If you have amplitude resolution of 8 bits your table would contain only seven bits and half the time would be subtracted from 128 and the other half added to 128.&amp;nbsp; This could reduce your table size to 25% or you could inccrease the frequency resolution - your call.&lt;BR /&gt;&lt;BR /&gt;I am sure Mac knows this and left it off for simplicity!&lt;BR /&gt;&lt;BR /&gt;Good Luck,&lt;BR /&gt;&lt;BR /&gt;Peter House&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 23 Nov 2007 12:23:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Lookup-table-to-Generate-PWM-tone/m-p/165582#M10440</guid>
      <dc:creator>PeterHouse</dc:creator>
      <dc:date>2007-11-23T12:23:44Z</dc:date>
    </item>
    <item>
      <title>Re: Lookup table to Generate PWM tone</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Lookup-table-to-Generate-PWM-tone/m-p/165583#M10441</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hi, I've tried to implement a table like below which i think it looks more like a sine table according to your comment.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class="msg_source_code"&gt;&lt;DIV class="text_smallest"&gt;Code:&lt;/DIV&gt;&lt;PRE&gt;tone        ldhx   #tonetab 
tone1       clr    TPM2C0VH
            mov    X+,TPM2C0VL
            mov    #$28,TPM2SC
            brclr  TPM2SC_TOF,TPM2SC,*
            cphx   #tonetabend
            blo    tone1
            rts
           &lt;/PRE&gt;&lt;PRE&gt;tonetab     fcb    $00,$7F,$94,$A7,$B9,$C8,$D5,$DE,$E4,$E6
            fcb    $E4,$DE,$D5,$C8,$B9,$A7,$94,$7F,$6C,$59
            fcb    $47,$38,$2B,$22,$1C,$22,$2B,$28,$47,$59,$6C
tonetabend   &lt;/PRE&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I'm having another problem which&amp;nbsp;after executing&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; X+,TPM2C0VL&lt;/DIV&gt;&lt;DIV&gt;I do not see the X value written into TPM2C0VL register.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Please advise.&lt;/DIV&gt;&lt;DIV&gt;Thanks.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;regards,&lt;/DIV&gt;&lt;DIV&gt;MY&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;&lt;A href="http://www.freescale.com/files/community_files/8BITCOMM/8190_7.jpg" rel="nofollow noopener noreferrer noopener noreferrer" target="_self"&gt;7.jpg&lt;/A&gt;&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV class="message-edit-history"&gt;&lt;SPAN class="edit-author"&gt;Message Edited by t.dowe on&lt;/SPAN&gt; &lt;SPAN class="local-date"&gt;2009-10-27&lt;/SPAN&gt; &lt;SPAN class="local-time"&gt;01:19 PM&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Oct 2020 09:12:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Lookup-table-to-Generate-PWM-tone/m-p/165583#M10441</guid>
      <dc:creator>mylim</dc:creator>
      <dc:date>2020-10-29T09:12:33Z</dc:date>
    </item>
    <item>
      <title>Re: Lookup table to Generate PWM tone</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Lookup-table-to-Generate-PWM-tone/m-p/165584#M10442</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;No, you're not.&amp;nbsp; The first value in your table is $00 indeed.&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 23 Nov 2007 20:53:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Lookup-table-to-Generate-PWM-tone/m-p/165584#M10442</guid>
      <dc:creator>tonyp</dc:creator>
      <dc:date>2007-11-23T20:53:32Z</dc:date>
    </item>
    <item>
      <title>Re: Lookup table to Generate PWM tone</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Lookup-table-to-Generate-PWM-tone/m-p/165585#M10443</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;Hello MY,&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;There are still some problems with your lookup table.&amp;nbsp; Since you requre symmetry between the positive and negative half-cycles of the waveform, the table should have an even number of entries, possibly 32 (not 31), and the first entry should not be zero.&amp;nbsp; There&amp;nbsp;also seems to be some degree of asymmetry between positive and negative peak amplitudes.&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;For a 32 byte table, the following would seem to be a little more accurate for a sine shape -&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New" size="2"&gt;tonetab:&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New" size="2"&gt;&amp;nbsp; fcb&amp;nbsp; 128,148,166,184,199,211,220,226&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New" size="2"&gt;&amp;nbsp; fcb&amp;nbsp; 228,226,220,211,199,184,166,148&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New" size="2"&gt;&amp;nbsp; fcb&amp;nbsp; 128,108,90, 72, 57, 45, 36, 30&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New" size="2"&gt;&amp;nbsp; fcb&amp;nbsp; 28, 30, 36, 45, 57, 72, 90,108&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;For the range of values you have selected, the TMOD value for the TPM module should be 228 ($00E4) minimum.&amp;nbsp; Higher values will affect both output amplitude and sine frequency.&amp;nbsp;&lt;/FONT&gt; &lt;FONT size="2"&gt;The sine wave period will be 32 times the TPM overflow period.&amp;nbsp;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;For a TPM clock of 2.0 MHz, and a TMOD value of, say 255, the sine frequency should be about 244 Hz, and the PWM frequency 7.8 kHz.&amp;nbsp; The low-pass filter cut-off frequency should be about 500 Hz, perhaps somewhat higher if a CR passive filter is used.&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;Regards,&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;Mac&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 24 Nov 2007 03:22:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Lookup-table-to-Generate-PWM-tone/m-p/165585#M10443</guid>
      <dc:creator>bigmac</dc:creator>
      <dc:date>2007-11-24T03:22:38Z</dc:date>
    </item>
    <item>
      <title>Re: Lookup table to Generate PWM tone</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Lookup-table-to-Generate-PWM-tone/m-p/165586#M10444</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hi Bigmac,&lt;/DIV&gt;&lt;DIV&gt;I've tried using the sine table you gave me &amp;amp; the TPM2MOD value.&lt;/DIV&gt;&lt;DIV&gt;The waveform doesnt seems quite right.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Another thing is that after executing mov&amp;nbsp;&amp;nbsp;&amp;nbsp; X+,TPM2C0VL&lt;BR /&gt;I still can't see the respective Tonetab value on the memory table in the debug window.&lt;/DIV&gt;&lt;DIV&gt;Doesnt this mean the value is not written into the register?&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Thanks.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;regards,&lt;/DIV&gt;&lt;DIV&gt;mingyee&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;A href="http://www.freescale.com/files/community_files/8BITCOMM/8198_1_tpm2_config.jpg" rel="nofollow" target="_self"&gt;TPM2_config.jpg&lt;/A&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;A href="http://www.freescale.com/files/community_files/8BITCOMM/8198_2_8_waveform.jpg" rel="nofollow" target="_self"&gt;8_waveform.jpg&lt;/A&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;A href="http://www.freescale.com/files/community_files/8BITCOMM/8198_3_9_debug.jpg" rel="nofollow" target="_self"&gt;9_debug.jpg&lt;/A&gt;&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV class="message-edit-history"&gt;&lt;SPAN class="edit-author"&gt;Message Edited by t.dowe on&lt;/SPAN&gt; &lt;SPAN class="local-date"&gt;2009-10-27&lt;/SPAN&gt; &lt;SPAN class="local-time"&gt;01:21 PM&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 24 Nov 2007 14:33:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Lookup-table-to-Generate-PWM-tone/m-p/165586#M10444</guid>
      <dc:creator>mylim</dc:creator>
      <dc:date>2007-11-24T14:33:08Z</dc:date>
    </item>
    <item>
      <title>Re: Lookup table to Generate PWM tone</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Lookup-table-to-Generate-PWM-tone/m-p/165587#M10445</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hi, i also tried the method proposed by Peg (&lt;A href="http://forums.freescale.com/freescale/board/message?board.id=8BITCOMM&amp;amp;thread.id=6656&amp;amp;view=by_date_ascending&amp;amp;page=1" rel="nofollow noopener noreferrer noopener noreferrer" target="_blank"&gt;http://forums.freescale.com/freescale/board/message?board.id=8BITCOMM&amp;amp;thread.id=6656&amp;amp;view=by_date_ascending&amp;amp;page=1&lt;/A&gt;) message 10 of 11.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;The code goes;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV class="msg_source_code"&gt;&lt;DIV class="text_smallest"&gt;Code:&lt;/DIV&gt;&lt;PRE&gt;        mov    #$28,TPMSC    ; TPM: No int, ext source, prescale 1
          clr    PNTR          ; Initialise pointer value
          clrh
LOOP1:    ldx    PNTR
          ldx    TabSin,x      ; Get byte value from table
          sthx   TPMC1V        ; Set PWM value
          inc    PNTR          ; Increment for next table entry
          brclr  TOF,TPMSC,*   ; Wait for timer overflow
          mov    #$28,TPMSC    ; Clear overflow flag
          bra    LOOP1         ; Loop always&lt;/PRE&gt;&lt;/DIV&gt;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;I'm still unable to write my lookup table value into the TPM2C0VL.&lt;/DIV&gt;&lt;DIV&gt;Is there anything wrong?&lt;/DIV&gt;&lt;DIV&gt;I've attached the debug window &amp;amp; waveform captured below.&lt;/DIV&gt;&lt;DIV&gt;Btw, I'm using MC9S08AW60CFG.&lt;/DIV&gt;&lt;DIV&gt;Please advise. Thanks.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Regards,&lt;/DIV&gt;&lt;DIV&gt;MY&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;A href="http://www.freescale.com/files/community_files/8BITCOMM/8200_1_c_debug.jpg" rel="nofollow noopener noreferrer noopener noreferrer" target="_self"&gt;C_debug.jpg&lt;/A&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;A href="http://www.freescale.com/files/community_files/8BITCOMM/8200_2_b_waveform.jpg" rel="nofollow noopener noreferrer noopener noreferrer" target="_self"&gt;B_Waveform.jpg&lt;/A&gt;&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV class="message-edit-history"&gt;&lt;SPAN class="edit-author"&gt;Message Edited by t.dowe on&lt;/SPAN&gt; &lt;SPAN class="local-date"&gt;2009-10-27&lt;/SPAN&gt; &lt;SPAN class="local-time"&gt;01:23 PM&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Oct 2020 09:12:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Lookup-table-to-Generate-PWM-tone/m-p/165587#M10445</guid>
      <dc:creator>mylim</dc:creator>
      <dc:date>2020-10-29T09:12:35Z</dc:date>
    </item>
  </channel>
</rss>

