欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: Proteus8.9 VSM Studio WINAVR編譯器仿真ATmega16系列031_Infrared [打印本頁]

作者: kaillen    時間: 2020-6-11 21:22
標題: Proteus8.9 VSM Studio WINAVR編譯器仿真ATmega16系列031_Infrared
*本文及代碼參閱彭偉《單片機C語言程序設計實訓100例》
一,打開文件(可以隨文下載放置在文檔中打開)。(如下圖1所示)

圖1

二,調整原理圖大小,適合可視,另存工程文件。(如下圖2,3,4所示)

圖2


圖3


圖4

三,點擊Source Code標簽。(如下圖5所示)

圖5

四,編輯main.c 代碼如Proteus8.9 VSM Studio WINAVR編譯器仿真ATmega16系列031_Infrared (如下圖6所示)

圖6

五,Main.c 代碼:
//-----------------------------------------------------------------
//  名稱: 紅外遙控仿真發射器
//-----------------------------------------------------------------
//  說明: 本例運行時,按鍵鍵值以40KHZ紅外線載波發射出去,所模擬的載波
//        數據格式符合索尼紅外遙控編碼格式(SIRC).     
//  
//-----------------------------------------------------------------
#include "infrared.h"
//-----------------------------------------------------------------
// 主程序
//-----------------------------------------------------------------
int main()
{
        DDRC= 0x00; PORTC= 0xff;
        DDRD= 0x00; PORTD= 0xff;
        DDRB= 0xff;
        while(1) {
                if                (K1_DOWN()) Emit_D12(0x0509);
                else if (K2_DOWN()) Emit_D12(0x0334);
                else if (K3_DOWN()) Emit_D12(0x0556);
                else if (K4_DOWN()) Emit_D12(0x0778);
                else if (K5_DOWN()) Emit_D12(0x09aa);
                else if (K6_DOWN()) Emit_D12(0x0fcc);
                else if (K7_DOWN()) Emit_D12(0x0dee);
                else if (K8_DOWN()) Emit_D12(0x0aac);
                _delay_ms(10);
        }
}

//-----------------------------------------------------------------
//  名稱: 紅外遙控器受控端程序
//-----------------------------------------------------------------
//  說明: 程序運行時,根據SONY紅外協議接收數據并解碼,然后將12位編碼
//        以16進制數形式顯示在三只數碼管上.
//  
//-----------------------------------------------------------------
#include "infrared.h"
//-----------------------------------------------------------------
// 主程序
//-----------------------------------------------------------------
int main()                               
{
        DDRD = ~_BV(PD2);        PORTC= 0xff;
        DDRA= 0xff;        PORTA= 0x40;
        DDRB= 0xff;        PORTB= 0x40;
        DDRC= 0xff;        PORTC= 0x40;
        MCUCR = 0x02;
        GICR |= _BV(INT0);
        SREG= 0x80;
        while(1);
}




六,點擊構建工程按鈕,編譯工程。(如下圖7所示)

圖7

七,點擊窗口左下方仿真按鈕,可見虛擬示波器輸入輸出輸出顯示。 (如下圖8,9,10所示)

圖8


圖9

圖10


八,選擇release,點擊構建工程按鈕,編譯工程生成Hex文件。(如下圖11所示)

圖11


附件Proteus8.9 VSM Studio WINAVR編譯器仿真ATmega16系列031_Infrared在已安裝Proteus8.9的計算機文件夾中打開即可
需要進一步了解,請加入QQ群:976235464


031_AVR_Infrared_02pt.rar

138.95 KB, 下載次數: 9, 下載積分: 黑幣 -5

在已安裝Proteus8.9的計算機文件夾中打開即可






歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1