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

QQ登錄

只需一步,快速開始

搜索
查看: 12229|回復(fù): 5
收起左側(cè)

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

[復(fù)制鏈接]
ID:371233 發(fā)表于 2020-6-3 19:45 | 顯示全部樓層 |閱讀模式
一,打開文件(可以隨文下載放置在文檔中打開)。(如下圖1所示)
1.png
圖1

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

3.png
圖3

4.png
圖4

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

四,編輯main.c 代碼如Proteus8.9 VSM Studio SDCC編譯器仿真STC15W4K32S4系列013_iic_04_AT24C16 (如下圖6所示)
6.png
圖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.png
圖7

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

9.png
圖9
10.png
圖10


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


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


回復(fù)

使用道具 舉報(bào)

ID:873073 發(fā)表于 2021-7-11 08:39 | 顯示全部樓層
對(duì)我的電子實(shí)踐很有幫助謝謝樓主
回復(fù)

使用道具 舉報(bào)

ID:228452 發(fā)表于 2022-12-31 05:17 | 顯示全部樓層
Link not visible
回復(fù)

使用道具 舉報(bào)

ID:228452 發(fā)表于 2022-12-31 05:18 | 顯示全部樓層
Link not visible
回復(fù)

使用道具 舉報(bào)

ID:3802 發(fā)表于 2023-1-4 09:14 | 顯示全部樓層

對(duì)我的電子實(shí)踐很有幫助謝謝樓主
回復(fù)

使用道具 舉報(bào)

ID:499750 發(fā)表于 2024-4-1 22:52 | 顯示全部樓層
Proteus8.9 VSM Studio SDCC編譯器仿真STC15W4K32S4系列013_iic_04_AT24C16
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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