找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 10015|回復: 0
打印 上一主題 下一主題
收起左側

Proteus8.9 VSM Studio SDCC編譯器仿真STC15W4K32S4系列013_iic_03_AT24C08

[復制鏈接]
跳轉到指定樓層
樓主
ID:371233 發(fā)表于 2020-6-3 19:07 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
一,打開文件(可以隨文下載放置在文檔中打開)。(如下圖1所示)

圖1

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

圖2


圖3


圖4

三,點擊Source Code標簽。(如下圖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);        //把位置設置為第一行第一位
        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);        //把位置設置到第二行第一位         
        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;  //數據/命令選擇端,1是數據,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

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

圖7

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

圖8


圖9

圖10


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

圖11


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


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

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表