標(biāo)題: Proteus8.9 VSM Studio SDCC編譯器仿真STC15W4K32S4系列013_iic_03_AT24C08 [打印本頁]

作者: kaillen    時(shí)間: 2020-6-3 19:07
標(biāo)題: Proteus8.9 VSM Studio SDCC編譯器仿真STC15W4K32S4系列013_iic_03_AT24C08
一,打開文件(可以隨文下載放置在文檔中打開)。(如下圖1所示)

圖1

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

圖2


圖3


圖4

三,點(diǎn)擊Source Code標(biāo)簽。(如下圖5所示)

圖5

四,編輯main.c 代碼如Proteus8.9 VSM Studio SDCC編譯器仿真STC15W4K32S4系列013_iic_03_AT24C08 (如下圖6所示)

圖6

五,Main.c 代碼:

/* Main.c file generated by New Project wizard
*
* Created:   周二 6月 2 2020
* Processor: STC15W4K32S4
* Compiler:  SDCC for 8051
*/

#include "comds.h"


uchar __code table[] = "Write:";
uchar __code table2[] = "Read :";

int main(void) {
        uint i;
        init();

        set_lcd(0x80);        //把位置設(shè)置為第一行第一位
        delay(5);
        for(i=0;i<6;i++) set_data(table);

    set_lcd(0x80 + 7);
        delay(200);
        set_data('H');       
        set_data('e');
        set_data('l');
        set_data('l');
        set_data('o');
        write_at_addr(0x0000,'H');
        write_at_addr(0x0001,'e');
        write_at_addr(0x0002,'l');
        write_at_addr(0x0003,'l');
        write_at_addr(0x0004,'o');
       
        set_lcd(0x80+0x40);        //把位置設(shè)置到第二行第一位         
        for(i=0;i<6;i++) set_data(table2);

        delay(5);               

        set_lcd(0x80+0x40+7);
        delay(200);
        set_data( read_at_addr(0) );
        set_data( read_at_addr(1) );
        set_data( read_at_addr(2) );
        set_data( read_at_addr(3) );
        set_data( read_at_addr(4) );

        while(1) {
               
                delay(2000);
        }
}

comds.h:

/* Main.c file generated by New Project wizard
*Coder:       Ziegler Yin
* Created:   周日 5月 3 2020
* Processor: AT89C51RD2
* Compiler:  Keil for 8051
*/

#ifndef __COMDS_H_
#define __COMDS_H_

#include "mySTC01.h"
#include "INTRINS.H"


#define uchar unsigned char
#define uint unsigned int



__sfr __at 0xE8 P6          ;
__sfr __at 0xF8 P7          ;

__sbit __at 0xB3 port_rs        ;
__sbit __at 0xB4 port_rw       ;
__sbit __at 0xB5 port_en       ;

__sbit __at 0x90 scl        ;
__sbit __at 0x91 sda       ;

//sbit port_rs = P3 ^ 4;  //數(shù)據(jù)/命令選擇端,1是數(shù)據(jù),0是命令(狀態(tài))
//sbit port_rw = P3 ^ 5;        //讀寫控制,1是讀,0是寫
//sbit port_en = P3 ^ 6;        //使能端,高電平允許

//sbit scl = P1 ^ 0;
//sbit sda = P1 ^ 1;


void init(void);
void delay(uint t);
void set_lcd(uchar val);
void set_data(uchar dat);
void delay_us(uint t);
void start(void);
void stop(void);
void Ask(void);
void NoAsk(void);
void respons(void);
void write_byte(uchar Data);
uchar read_byte(void);
void write_at_addr(uchar addr, uchar dat);
uchar read_at_addr(uchar addr);


#endif

六,點(diǎn)擊構(gòu)建工程按鈕,編譯工程。(如下圖7所示)

圖7

七,點(diǎn)擊窗口左下方仿真按鈕,可見虛擬AT24C08讀寫閃爍顯示在屏。 (如下圖8,9,10所示)

圖8


圖9

圖10


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

圖11


附件Proteus8.9 VSM Studio SDCC編譯器仿真STC15W4K32S4系列013_iic_03_AT24C08在已安裝Proteus8.9的計(jì)算機(jī)文件夾中打開即可
需要進(jìn)一步了解,請加入QQ群:976235464







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