找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2458|回復(fù): 7
打印 上一主題 下一主題
收起左側(cè)

如何讓單片機(jī)控制播報(bào)模塊隨機(jī)播報(bào)聲音或顯示屏顯示隨機(jī)圖片

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:547210 發(fā)表于 2019-11-16 20:40 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
100黑幣
最好用STC15系列的單片機(jī)產(chǎn)生隨機(jī)的圖片。

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:617449 發(fā)表于 2019-11-16 22:19 | 只看該作者
1、是什么樣的圖片
2、顯示用什么?真彩還是黑白?
回復(fù)

使用道具 舉報(bào)

板凳
ID:25310 發(fā)表于 2019-11-17 08:09 | 只看該作者
產(chǎn)生隨機(jī)數(shù):
rand()是一個(gè)可以生成隨機(jī)數(shù)的函數(shù)隨機(jī)數(shù),函數(shù)返回的隨機(jī)數(shù)在0-RAND_MAX(32767)之間;
rand()%100結(jié)果是隨機(jī)數(shù)除以100后所得的余數(shù),即限定隨機(jī)的范圍是在0~99之間;
使用rand()函數(shù)需添加頭文件:#include <stdlib.h>


建個(gè)數(shù)組,產(chǎn)生隨機(jī)數(shù)后調(diào)用數(shù)組里面的子函數(shù)處理隨機(jī)語音或圖片,
MCU控制串口語音模塊
MCU調(diào)用EEPROM中圖片顯示到LCD。

評(píng)分

參與人數(shù) 1黑幣 +10 收起 理由
aaaa520 + 10 贊一個(gè)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

地板
ID:390150 發(fā)表于 2019-11-17 11:01 | 只看該作者
用stm32系列比較好,因?yàn)?2系列的內(nèi)存大,運(yùn)算速度快,和語音播報(bào)模塊和顯示模塊都可以很好的通信,我也正在研究stm32驅(qū)動(dòng)語音模塊的課設(shè)
回復(fù)

使用道具 舉報(bào)

5#
ID:547210 發(fā)表于 2019-11-17 15:04 | 只看該作者
來51學(xué)習(xí)1 發(fā)表于 2019-11-16 22:19
1、是什么樣的圖片
2、顯示用什么?真彩還是黑白?

圖片都可以,可以用12864,主要是用單片機(jī)控制顯示模塊隨機(jī)顯示16張圖片
回復(fù)

使用道具 舉報(bào)

6#
ID:466505 發(fā)表于 2019-11-17 15:15 | 只看該作者
對(duì)某個(gè)變化的電壓進(jìn)行ADC轉(zhuǎn)換,每次取最后一位數(shù),16次就湊成一個(gè)int 8次湊成 1個(gè)char,這樣就很隨機(jī)了
回復(fù)

使用道具 舉報(bào)

7#
ID:547210 發(fā)表于 2019-11-17 15:21 | 只看該作者
pcbboy 發(fā)表于 2019-11-17 08:09
產(chǎn)生隨機(jī)數(shù):
rand()是一個(gè)可以生成隨機(jī)數(shù)的函數(shù)隨機(jī)數(shù),函數(shù)返回的隨機(jī)數(shù)在0-RAND_MAX(32767)之間;
rand ...

是不是下面rand()隨機(jī)函數(shù),如果用單片機(jī)控制12864隨機(jī)顯示圖片或控制語音模塊隨機(jī)播報(bào)聲音,用rand()隨機(jī)函數(shù)像下面一定要用定時(shí)器嗎

#include<reg52.h>  
#include<stdlib.h> //包含 rand()隨機(jī)函數(shù)的頭文件
unsigned char t,k,i,j,a,f,n[10];
//t 是計(jì)時(shí)變量,k 是按鍵標(biāo)志,i 是數(shù)組下標(biāo),f 是隨機(jī)數(shù)重復(fù)標(biāo)志,n[10]
是存放隨機(jī)數(shù)的數(shù)組


void init()      //初始化函數(shù)
{
    t = 0;
    i = 0;
    f = 0;
    k = 0;
    TMOD = 0x02;    //設(shè)置定時(shí)器 0 為工作方式 2
    TH0 = 7;        //裝初值                          
    TL0 = 7;                                 
    EA = 1;         //開總中斷
    ET0 = 1;        //開定時(shí)器 0 中斷
    TR0 = 1;        //啟動(dòng)定時(shí) 0
    EX0 = 1;        //開外部中斷 0,同按鍵的效果一樣
    IT0 = 1;        //下降沿觸發(fā)   
}
void main()
{


    init();
    while(1)
    {
        while(k)                     //外部中斷 0 觸發(fā)循環(huán)
        {
            if(!i)                  //i=0時(shí)取第一個(gè)隨機(jī)數(shù)放入數(shù)組
n[0]
            {
                srand(t);           //隨機(jī)數(shù)初始化      
                a = (char)(rand() % 10); //取隨機(jī)數(shù)(0~9)
                n[0] = a;              //存入數(shù)組
                i++;                 //數(shù)組下標(biāo)加 1
            }
            else
                while(i < 10)             //存放剩下的 9 個(gè)隨機(jī)數(shù)
                {  
                    srand(t);           //隨機(jī)數(shù)初始化      
                    a = (char)(rand() % 10);  //取隨機(jī)數(shù)


                    for(j = 0; j < i; j++)      //與前面的隨機(jī)數(shù)比較
                    {  
                        if(n[j] == a)        //與前面的隨機(jī)數(shù)相同
                            f = 1;           //標(biāo)志置 1  
                    }
                    if(f)                  //有重復(fù)執(zhí)行
                    {  
                        f = 0;               //標(biāo)志清 0
                        continue;          //結(jié)束本次循環(huán)
                    }
                    n = a;                //不同則存入數(shù)組中
                    i++;                   //數(shù)組下標(biāo)加 1
                }  
        }
    }
}
void inter0() interrupt 0    //外部中斷 0


{
    k = 1;                     //按鍵標(biāo)志置 1,主函數(shù)執(zhí)行取隨機(jī)數(shù)  
}
void time0() interrupt 1     //定時(shí)器 0 中斷
{         
    t++;        //時(shí)間加 1
    if(t == 100)
    {
        t = 0;  
    }
}  
回復(fù)

使用道具 舉報(bào)

8#
ID:547210 發(fā)表于 2019-11-17 15:30 | 只看該作者
巨人肩上看世界 發(fā)表于 2019-11-17 11:01
用stm32系列比較好,因?yàn)?2系列的內(nèi)存大,運(yùn)算速度快,和語音播報(bào)模塊和顯示模塊都可以很好的通信,我也正 ...

我現(xiàn)在主要用的是stc系列,主要是如何用MCU控制一些模塊來產(chǎn)生一些隨機(jī)的東西(數(shù)字,圖片,語音等)
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表