娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2024年10月23日(星期三)

正在發(fā)生

2019年10月23日 | avr單片機定時與中斷做的電子琴(仿真+程序)

發(fā)布者:Qianfeng 來源: 51hei關(guān)鍵字:avr單片機  定時  中斷  電子琴 手機看文章 掃描二維碼
隨時隨地手機看文章

仿真原理圖如下

 

avr單片機源碼:


#include

#include


#define uchar unsigned char 

#define uint unsigned int 


#define LED1_ON() PORTA=0xFE

#define LED2_ON() PORTA=0xF7 

#define LED3_ON() PORTA=0xBF 

#define LED4_ON() PORTA=0x7F 


uchar key_0=16;


uint Fr[]= {0,262*8,294*8,330*8,349*8,392*8,440*8,

494*8,523*8,587*8,659*8,698*8,784*8,880*8,988*8 ,1046*8};



uchar SEG_CODE[]=

{ 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8, 

0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E 

};


uint Tone_Delay_Table[] =

{ 64021,64103,64260,64400,64524,64580,64684,64777, 

64820,64898,64968,65030,65058,65110,65157,65178};


uchar spe1_Tone[] = { 3,5,5,3,2,1,2,3,5,3,

2,3,5,5,3,2,1,2,3,2,1,1,0xFF };


uchar spe1_Time[] =

{ 2,1,1,2,1,1,1,2,1,1,1,2,1,1,2,1,1,1,2,1,1,1,0xFF };


uchar spe2_Tone[] =

{ 1,3,3,3,3,5,4,2,5,3,7,6,5,5,7,4,4,3,6,7,2,1,0xFF };

uchar spe2_Time[] =

{ 2,1,1,2,1,1,1,2,1,1,3,2,1,1,2,4,1,1,2,1,1,1,0xFF };


uchar spe3_Tone[] = { 0,1,2,3,4,5,5,6,7,8,9,10,11,12,13,14,15,

15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0xFF}; 


uchar spe3_Time[] =

{ 1,1,1,1,1,1,1,1,1,1,1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1, 1, 1,1,1,1,1,1,1,1,1,1,0xFF};


uchar spe4_Tone[] =

{ 1,2,3,1,1,2,3,1,3,4,5,3,4,5,5,6,5,4,3,1,5,6,

5,4,3,1,1,5,1,1,5,1,0xFF };


uchar spe4_Time[] =

{ 2,1,1,1,2,1,1,1,2,1,1,2,1,1,3,0.5,0.25,0.5,0.25,1,1,

0.5,0.25,0.5,1,1,1,1,3,1,1,3,0xFF };


uchar *spe_Tone_Ptr[]={

        spe1_Tone,spe2_Tone,spe3_Tone,spe4_Tone},

                *spe_Time_Ptr[]=

        {spe1_Time,spe2_Time,spe3_Time,spe4_Time}; 

        

        uint Tone_Idx = 0; 

        

        uint i = 0,j=1,spe_Idx = 0; 

        

        uint FALSE = 0, TRUE = 1, Pause = 1; 

        

        void delay_1ms(void)

        {

                uint i;

                for(i=1;i<(uint)(153*143-2);i++)

                        ;

        }

        

        void delay(unsigned int n)

        {

                unsigned int i;

                

                for(i=0;i                        

                        delay_1ms();

        }

        

        uchar KeyMatrix_Down()

        {

                DDRB=0XF0;

                PORTB=0X0F;

                delay(1);

                return PINB!=0x0f? 1:0;

        }

        

        void Keys_Scan()

        {

                switch(PINB)

                {

                case 0B00001110: key_0=0; break;

                case 0B00001101: key_0=1; break;

                case 0B00001011: key_0=2; break;

                case 0B00000111: key_0=3; break;

                default:key_0=0xFF;

                }

                

                DDRB=0x0F;

                PORTB=0xF0;

                delay(1);

                

                switch(PINB)

                {

                case 0B11100000: key_0+=0; break;

                case 0B11010000: key_0+=4; break;

                case 0B10110000: key_0+=8; break;

                case 0B01110000: key_0+=12; break; 

                default: key_0= 0xFF;

                }

        }

        

        int main() 

        {

                DDRB=0xFF;

                PORTB=0xFF;

                

                

                DDRA=0xFF;

                PORTA=0xFF; 


                DDRC=0xFF;

                PORTC=0xBF; 

                

                DDRD|=BIT(PD7);

                PORTD&=~BIT(PD7);

                

                DDRD=~(BIT(PD2)|BIT(PD3));

                PORTD=BIT(PD2)|BIT(PD3); 

                

                MCUCR=0x82; 

                GICR=BIT(INT0)|BIT(INT1); 

                

                TCCR1A=0x00; 

                TCCR1B=0x09;

                SREG=0x80;

                

                while(1)

                        

                {

                        if(KeyMatrix_Down()==0)

                                

                        {

                                if(Pause)

                                {

                                        continue;

                                }

                                TCCR1B=0x01; 

                                

                                Tone_Idx=spe_Tone_Ptr[spe_Idx][i];

                                if(Tone_Idx==0xFF)

                                {

                                        

                                        delay(200);

                                        i=0; 

                                        continue;         

                                }

                                

                                TIMSK=BIT(TOIE1); 

                                

                                delay(spe_Time_Ptr[spe_Idx][Tone_Idx]*200/26);

                                

                                TIMSK=0x00; 

                                

                                i++; 

                        }

                        else  

[1] [2]
關(guān)鍵字:avr單片機  定時  中斷  電子琴 引用地址:avr單片機定時與中斷做的電子琴(仿真+程序)

上一篇:avr單片機帶小數(shù)點數(shù)碼管的程式
下一篇:ATmage128內(nèi)部EEPROE的應(yīng)用程序

推薦閱讀

2018年還有兩個月就接近尾聲,但今年這場有關(guān)新造車勢力之間的競賽,似乎才剛剛步入高潮。?10月18日,李想攜車和家旗下第二款產(chǎn)品—理想智造ONE亮相北京。這一款綜合續(xù)航里程高達700公里的增程式混合動力汽車,將是李想在早前折戟SEV(小型電動車)項目之后,公司能否存活下來的關(guān)鍵。?盡管理想智造ONE計劃于2019年第四季度才開始實現(xiàn)首批交付,但李想?yún)s...
(文章來源:中科羅伯特機器人學(xué)院) 人機協(xié)作的機器人推動了工業(yè)新時代的到來,丹麥的優(yōu)傲機器人公司 (Universal Robots)就是一家人機協(xié)作機器人全球的領(lǐng)導(dǎo)企業(yè)。在汽車行業(yè)中,在現(xiàn)在市場的發(fā)展和客戶的高度個性化定制的需求下,個性化的生產(chǎn)已成為一種新的發(fā)展趨勢。有有很多知名的汽車制造商和零部件供應(yīng)商都將擁有創(chuàng)新的技術(shù)與人性化設(shè)計的優(yōu)傲...
今(22)日晚,華為舉行了Mate40系列全球線上發(fā)布會。據(jù)華為消費者業(yè)務(wù)CEO余承東介紹,華為Mate40系列延續(xù)Mate中軸對稱設(shè)計,推出極具未來感的“星環(huán)設(shè)計”。華為Mate40系列采用88度超曲環(huán)幕屏設(shè)計。同時,支持高刷新率和高觸控采樣率。配色和材質(zhì)方面,華為Mate 40 系列將浩瀚天空色彩,亮黑色、釉白色和秘銀色擷取到玻璃后蓋之上,盡顯光影流轉(zhuǎn);素皮...
榮耀官宣將于 10 月 28 日舉辦 11?11 新品發(fā)布會,推出榮耀 X30i、榮耀 X30 Max 和榮耀 Play5 活力版三款手機。今日,榮耀 X30 Max 正面照正式公布。這款手機采用水滴全面屏設(shè)計,底部包含 Type-C 接口以及 3.5mm 耳機孔。手機邊框較為圓潤,但是上下部分保持平整。  IT之家獲悉,這款手機與榮耀 Play5 活力版的跑分信息...

史海拾趣

問答坊 | AI 解惑

MSP430 應(yīng)用技術(shù)資料.

MSP430 應(yīng)用技術(shù)資料.…

查看全部問答∨

方便的食物垃圾處理系統(tǒng)IDEA78.com分享

Clive食物垃圾處理系統(tǒng)能很方便的處理掉家庭生活所產(chǎn)生的垃圾,從而供給更加方便和更加舒適的廚房生活。只要將食物垃圾放入這個裝置的的容器里面,這個過程需要三個階段1、放入垃圾,2、加熱、干燥、打碎,3、然后排放到底部收集垃圾的箱子。垃圾經(jīng) ...…

查看全部問答∨

如何編寫單片機的啟動文件?

今天開始玩論壇給我的開發(fā)板,我是用KEIL開發(fā)的,首先自己按照論壇有經(jīng)驗開發(fā)者的指點下載了一個例程,工作的正常! 然后我就看程序的編寫,發(fā)現(xiàn)系統(tǒng)時鐘的中斷函數(shù)SysTick_Handler (void)是例程編寫的,但是沒有與中斷定義相關(guān)聯(lián) 于是我就查找, ...…

查看全部問答∨

CE中有沒有像GetKeyNameText一樣的函數(shù)

或者哪位大哥可以告訴我如果在CE下獲取鍵盤的VK?…

查看全部問答∨

招聘EE leader

各位童鞋,獵頭職位來啦!電子研發(fā)主管-外資醫(yī)療器械公司,主要負責呼吸麻醉機和監(jiān)護儀相關(guān)的產(chǎn)品開發(fā),精通模擬電路,很強的leadership,工作地點上海。如有興趣可直接@我。 The Section Manager Electronics is leading the team of electronics ...…

查看全部問答∨

KEIL,LPC2210下載片外FLASH失敗

 ads的工程移植到keil4.0+ULINK,LPC2210,smartarm2200開發(fā)板,想將程序下載到片外Flash(39VF1601)時出現(xiàn)如圖所示情況:keil設(shè)置情況如圖示。(軟件仿真通過,LPC2210無片內(nèi)flash,外擴的2M片外flash39VF1601,開發(fā)板的跳線按要求進行了設(shè)置 ...…

查看全部問答∨

無線防碰撞問題

我想用CC1101做一個信號采集的小系統(tǒng),有多個節(jié)點和一個集中器。節(jié)點采集信號并把信息發(fā)送給集中器。節(jié)點的發(fā)送是隨機的,如何能做到節(jié)點之間不會發(fā)生碰撞呢?請高手指教啊!…

查看全部問答∨

電源短路你怎么查?

每隔一段時間回來的板子就會出現(xiàn)這樣的問題,突然蹦出一塊板子電源短了。 運氣好碰到焊接問題能看出來,在不濟就開始拆電容,再不濟開始吹片子,最悲哀的一次把板子上的最后一個BGA拆下來之后不短了。 大家有什么更好的方法么?…

查看全部問答∨
小廣播
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機文章

 
EEWorld訂閱號

 
EEWorld服務(wù)號

 
汽車開發(fā)圈

 
機器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務(wù)審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 宁阳县| 厦门市| 伊宁市| 青龙| 莫力| 博客| 衡山县| 富裕县| 阿坝县| 广安市| 东乌珠穆沁旗| 集贤县| 邢台市| 宣恩县| 河西区| 华蓥市| 沙河市| 宝鸡市| 清徐县| 嘉义县| 壶关县| 玉龙| 蓝山县| 旅游| 阜城县| 阿鲁科尔沁旗| 潮安县| 济宁市| 林西县| 武强县| 柳河县| 化德县| 扬州市| 九江县| 德庆县| 巴彦淖尔市| 辰溪县| 威海市| 遵化市| 娱乐| 连州市|