找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 14654|回复: 0
收起左侧

Proteus8.9 VSM Studio SDCC编译器仿真STC15W4K32S4系列013_iic_01_AT24C02

[复制链接]
ID:371233 发表于 2020-6-3 03:27 | 显示全部楼层 |阅读模式
一,打开文件(可以随文下载放置在文档中打开)。(如下图1所示)
1.png
图1

二,调整原理图大小,适合可视,另存工程文件。(如下图2,3,4所示)
2.png
图2

3.png
图3

4.png
图4

三,点击Source Code标签。(如下图5所示)
5.png
图5

四,编辑main.c 代码如Proteus8.9 VSM Studio SDCC编译器仿真STC15W4K32S4系列013_iic_01_AT24C02 (如下图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 :";

void main()
{
        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'); delay(5);
        write_at_addr(0x0001,'e'); delay(5);
        write_at_addr(0x0002,'l'); delay(5);
        write_at_addr(0x0003,'l'); delay(5);
        write_at_addr(0x0004,'o'); delay(5);
       
        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


__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是命令(状态)
//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 write_at_addr(uchar addr, uchar dat);
uchar read_at_addr(uchar addr);

#endif




六,点击构建工程按钮,编译工程。(如下图7所示)
7.png
图7

七,点击窗口左下方仿真按钮,可见虚拟AT24C02读写闪烁显示在屏。 (如下图8,9,10所示)
8.png
图8

9.png
图9
10.png
图10


八,选择release,点击构建工程按钮,编译工程生成Hex文件。(如下图11所示)
11.png
图11


附件Proteus8.9 VSM Studio SDCC编译器仿真STC15W4K32S4系列013_iic_01_AT24C02在已安装Proteus8.9的计算机文件夹中打开即可
需要进一步了解,请加入QQ群:976235464

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表