導航:首頁 > 操作系統 > 單片機代碼生成器

單片機代碼生成器

發布時間:2023-01-15 08:04:45

『壹』 各位大神,怎樣用單片機的譜曲軟體進行譜曲

單片機音樂代碼生成器,用你想要的譜曲 輸入後 生成代碼,就可以模擬效果,內有模擬實例可以參考。


『貳』 stm32庫函數代碼自動生成器 是什麼有什麼用

什麼是STM32的DMA?其全稱是:Direct Memory Access;根據ST公司提供的相關信息,DMA是STM32中一個獨立與Cortex-M3內核的模塊,有點類似與ADC、PWM、TIMER等模塊;主要功能是通信「橋梁」的作用,可以將所有外設映射的寄存器「連接」起來,這樣就可以高速問各寄存器,其傳輸不受CPU的支配,傳輸還是雙向的。

過程:怎樣啟用DMA?首先,眾所周知的是初始化,任何設備啟用前都要對其進行初始化,要對模塊初始化,還要先了解該模塊相應的結構及其函數,以便正確的設置;由於DMA較為復雜,我就只談談DMA的基本結構和和常用函數,這些都是ST公司提供在庫函數中的。

1、 下面代碼是一個標准DMA設置,當然實際應用中可根據實際情況進行裁減: DMA_DeInit(DMA_Channel1);

上面這句是給DMA配置通道,根據ST提供的資料,STM3210Fx中DMA包含7個通道(CH1~CH7),也就是說可以為外設或memory提供7座「橋梁」

DMA_InitStructure.DMA_PeripheralBaseAddr = ADC1_DR_Address;

上面語句中的DMA_InitStructure是一個DMA結構體,在庫中有聲明了,當然使用時就要先定義了;DMA_PeripheralBaseAddr是該結構體中一個數據成員,給DMA一個起始地址,好比是一個buffer起始地址,數據流程是:外設寄存器à DMA_PeripheralBaseAddàmemory中變數空間(或flash中數據空間等),ADC1_DR_Address是我定義的一個地址變數; DMA_InitStructure.DMA_MemoryBaseAddr = (u32)ADC_ConvertedValue;

上面這句很顯然是DMA要連接在Memory中變數的地址,ADC_ConvertedValue是我自己在memory中定義的一個變數;

DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC;

上面的這句是設置DMA的傳輸方向,就如前面我所說的,DMA可以雙向傳輸,也可以單向傳輸,這里設置的是單向傳輸,如果需要雙向傳輸:把DMA_DIR_PeripheralSRC改成DMA_DIR_PeripheralDST即可。

DMA_InitStructure.DMA_BufferSize = 2;

上面的這句是設置DMA在傳輸時緩沖區的長度,前面有定義過了buffer的起始地址:ADC1_DR_Address ,為了安全性和可靠性,一般需要給buffer定義一個儲存片區,這個參數的單位有三種類型:Byte、HalfWord、word,我設置的2個half-word(見下面的設置);32位的MCU中1個half-word佔16 bits。

DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;

上面的這句是設置DMA的外設遞增模式,如果DMA選用的通道(CHx)有多個外設連接,需要使用外設遞增模式:DMA_PeripheralInc_Enable;我的例子里DMA只與ADC1建立了聯系,所以選用DMA_PeripheralInc_Disable

『叄』 請問單片機源代碼自動生成器的研製

這個很難,因為單片機的資源太有限了,如果能做成,很多單片機工程師都會沒有飯吃了.不過簡單的還是可以的,你可以去網上打,我以前看到過,就是以填表的方式來生成程序.

『肆』 PIC單片機 mplab

應該是第一次編譯時,你沒有加標識,而第二次編譯時,ide自動識別了,小問題
a = 3453463463L; //表示一個long類型

『伍』 51music單片機音樂代碼生成器中的蜂鳴介面是什麼意思還有1---後面的四節拍怎麼輸入

#include<reg51.h>
sbit speaker=P1^6; //(單片機音樂代碼生成器中的蜂鳴介面,就是一個IO腳)
unsigned char timer0h,timer0l,time;
//生日歌,這三個位元組一組,分別定義:旋律(1234567)、高低音(低音、中音、高音)、節奏(長度)
code unsigned char sszymmh[]={5,1,1, 5,1,1, 6,1,2, 5,1,2, 1,2,2, 7,1,4,
5,1,1, 5,1,1, 6,1,2, 5,1,2, 2,2,2, 1,2,4,
5,1,1, 5,1,1, 5,2,2, 3,2,2, 1,2,2, 7,1,2, 6,1,2,
4,2,1, 4,2,1, 3,2,2, 1,2,2, 2,2,2, 1,2,4};
// 音階頻率表 高八位,也就是發音對應頻率的高八位
code unsigned char FREQH[]={0xF2,0xF3,0xF5,0xF5,0xF6,0xF7,0xF8, 0xF9,0xF9,0xFA,0xFA,0xFB,0xFB,0xFC,0xFC, //1,2,3,4,5,6,7,8,i
0xFC,0xFD,0xFD,0xFD,0xFD,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF,} ;
// 音階頻率表 低八位,也就是發音對應頻率的低八位
code unsigned char FREQL[]={0x42,0xC1,0x17,0xB6,0xD0,0xD1,0xB6,0x21,0xE1,0x8C,0xD8,0x68,0xE9,0x5B,0x8F, //1,2,3,4,5,6,7,8,i
0xEE,0x44, 0x6B,0xB4,0xF4,0x2D,0x47,0x77,0xA2,0xB6,0xDA,0xFA,0x16, };
void delay(unsigned char t) //延時程序
{
unsigned char t1;
unsigned long t2;
for(t1=0;t1<t;t1++)
{
for(t2=0;t2<8000;t2++)
{ ; } }
TR0=0;
}
void t0int() interrupt 1 //定時器0中斷服務程序,控制聲音打頻率
{ TR0=0;
speaker=!speaker;
TH0=timer0h;
TL0=timer0l;
TR0=1;
}
void song() //啟動演奏當前頻率
{ TH0=timer0h; //當前頻率的高八位
TL0=timer0l; //當前頻率的低八位
TR0=1; //啟動定時器0
delay(time); //延時當前頻率的演奏時間
}
void main(void)
{
unsigned char k,i;
TMOD=1; //置CT0定時工作方式1 EA=1; ET0=1;//IE=0x82 //CPU開中斷,CT0開中斷
while(1)
{
i=0;
while(i<75)
{ //音樂數組長度 ,唱完從頭再來
k=sszymmh[i]+7*sszymmh[i+1]-1; //取當前節奏的頻率地址
timer0h=FREQH[k]; //取當前頻率高八位
timer0l=FREQL[k]; //取當前頻率低八位
time=sszymmh[i+2]; //取當前頻率的時長
i=i+3; //三個位元組一組
song(); //演奏當前頻率,共75/3,25個曲調。
}
}
}
//程序的設計思路就是將一首樂曲分成三個變數來控制,分別是曲調、所在音區、時長。而控制曲調的因素也就是頻率又分成高八位和第八位兩個表,每演奏一個曲調,就根據該曲調的三個變數來取值。

『陸』 51music 單片機音樂代碼生成器 1.0綠色版怎麼用

根據簡譜點擊音符和時長,也就是點一個間符,再點這個音符的時長,完成一個音符的輸入,輸完全部音符後點生成代碼,把代碼復制到程序中編譯就行

『柒』 單片機編程一首葫蘆娃怎麼編程序

最快的方法是在網路上面搜個小軟體叫做單片機音樂代碼生成器,輸入葫蘆娃的歌譜,然後自動生成下載程序即可。
還可以是手動編碼了,比較費勁,把所有的音符對應碼寫出來然後在對照譜子編碼,自己寫定時時間,然後調試。

『捌』 51music單片機音樂代碼生成器怎麼用

黑白底色是模擬琴鍵的。白底黑字是正常音符1234567,黑底白字的1是一個介於普通音符1和2之間的音,頻率也在do和ra之間。

『玖』 51music單片機音樂代碼生成器怎麼用

試了一下,感覺速度很正常,沒有快很多的感覺。

這個軟體應該是以12M晶振的51單片機為基礎,針對那些以四分之一音符為一拍的音樂而設計的,如果晶振頻率過快,或者音樂以二分之一音符為一拍的,那樣設計結果都會比預想的快。
如果想讓他慢下來有兩個方法,一個是修改晶振頻率,另一個就是找到程序中void delay(uchar p)函數,修改函數內i,j變數的類型並且修改循環的參數,讓這個延時函數的時間變長。

符號的輸入要看符號的含義了,這種軟體不可能面面俱到的。

閱讀全文

與單片機代碼生成器相關的資料

熱點內容
明日之後安卓太卡怎麼辦 瀏覽:502
如何使用命令方塊找到村莊 瀏覽:766
泛函壓縮映像原理 瀏覽:521
win10清除文件夾瀏覽記錄 瀏覽:964
如何查看伺服器域中所有服務 瀏覽:384
學mastercam91編程要多久 瀏覽:999
如何查伺服器地址和埠 瀏覽:911
教學雲平台app怎麼下載 瀏覽:389
單片機510教學視頻 瀏覽:624
陝西信合app怎麼查看自己的存款 瀏覽:663
風冷冰箱有壓縮機 瀏覽:274
android實現wifi連接wifi 瀏覽:669
飛豬app怎麼幫別人值機 瀏覽:924
筆記本開我的世界伺服器地址 瀏覽:546
怎樣隱藏bat命令 瀏覽:127
android開發創意 瀏覽:138
京劇貓為什麼進不去伺服器 瀏覽:784
怎麼自己免費製作一個手機app 瀏覽:582
python同時迭代兩個變數 瀏覽:740
好分數app家長版怎麼刪除孩子 瀏覽:426