找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 11224|回复: 5
打印 上一主题 下一主题
收起左侧

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

[复制链接]
跳转到指定楼层
楼主
一,打开文件(可以随文下载放置在文档中打开)。(如下图1所示)

图1

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

图2


图3


图4

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

图5

四,编辑main.c 代码如Proteus8.9 VSM Studio SDCC编译器仿真STC15W4K32S4系列013_iic_04_AT24C16 (如下图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是命令(状态)
//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

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

图8


图9

图10


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

图11


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


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:873073 发表于 2021-7-11 08:39 | 只看该作者
对我的电子实践很有帮助谢谢楼主
回复

使用道具 举报

板凳
ID:228452 发表于 2022-12-31 05:17 | 只看该作者
Link not visible
回复

使用道具 举报

地板
ID:228452 发表于 2022-12-31 05:18 | 只看该作者
Link not visible
回复

使用道具 举报

5#
ID:3802 发表于 2023-1-4 09:14 | 只看该作者

对我的电子实践很有帮助谢谢楼主
回复

使用道具 举报

6#
ID:499750 发表于 2024-4-1 22:52 | 只看该作者
Proteus8.9 VSM Studio SDCC编译器仿真STC15W4K32S4系列013_iic_04_AT24C16
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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