|
一,打開文件(可以隨文下載放置在文檔中打開)。(如下圖1所示)
1.png (611.03 KB, 下載次數(shù): 51)
下載附件
2020-6-4 00:50 上傳
圖1
二,調(diào)整原理圖大小,適合可視,另存工程文件。(如下圖2,3,4所示)
2.png (236.03 KB, 下載次數(shù): 43)
下載附件
2020-6-4 00:50 上傳
圖2
3.png (277.64 KB, 下載次數(shù): 36)
下載附件
2020-6-4 00:50 上傳
圖3
4.png (339.72 KB, 下載次數(shù): 39)
下載附件
2020-6-4 00:51 上傳
圖4
三,點(diǎn)擊Source Code標(biāo)簽。(如下圖5所示)
5.png (148.1 KB, 下載次數(shù): 39)
下載附件
2020-6-4 00:51 上傳
圖5
四,編輯main.c 代碼如Proteus8.9 VSM Studio SDCC編譯器仿真STC15W4K32S4系列013_iic_08_AT24C256 (如下圖6所示)
6.png (155.01 KB, 下載次數(shù): 39)
下載附件
2020-6-4 00:51 上傳
圖6
五,Main.c 代碼:
/* Main.c file generated by New Project wizard
*
* Created: 周二 6月 2 2020
* Processor: STC15W4K32S4
* Compiler: SDCC for 8051
*/
#include "mcomds.h"
u8 __code table[] = "Write:";
u8 __code table2[] = "Read :";
int main(void) {
u16 i;
init();
set_lcd(0x80);//把位置設(shè)置為第一行第一位
delay(50);
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');
delay(5);
set_lcd(0x80+0x40);//把位置設(shè)置到第二行第一位
for(i=0;i<6;i++) set_data(table2);
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 __MCOMDS_H_
#define __MCOMDS_H_
#include "mySTC01.h"
#include "INTRINS.H"
#define u8 unsigned char
#define u16 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; //數(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 delay_us(u16 t);
void delay_ms(u16 t);
u8 ReadKey(u8 GPIOx, u8 iobt);
void UInit(void);
void init(void);
void delay(u16 t);
void set_lcd(u8 val);
void set_data(u8 dat);
void start(void);
void stop(void);
void Ask(void);
void NoAsk(void);
void respons(void);
void write_byte(u8 Data);
u8 read_byte(void);
void write_at_addr(u16 addr,u8 dat);
u8 read_at_addr(u16 addr);
#endif
六,點(diǎn)擊構(gòu)建工程按鈕,編譯工程。(如下圖7所示)
7.png (167.44 KB, 下載次數(shù): 29)
下載附件
2020-6-4 00:51 上傳
圖7
七,點(diǎn)擊窗口左下方仿真按鈕,可見虛擬AT24C256讀寫閃爍顯示在屏。 (如下圖8,9,10所示)
8.png (363.03 KB, 下載次數(shù): 37)
下載附件
2020-6-4 00:51 上傳
圖8
9.png (158.52 KB, 下載次數(shù): 45)
下載附件
2020-6-4 00:51 上傳
圖9
10.png (350.73 KB, 下載次數(shù): 22)
下載附件
2020-6-4 00:51 上傳
圖10
八,選擇release,點(diǎn)擊構(gòu)建工程按鈕,編譯工程生成Hex文件。(如下圖11所示)
11.png (173.82 KB, 下載次數(shù): 42)
下載附件
2020-6-4 00:51 上傳
圖11
附件Proteus8.9 VSM Studio SDCC編譯器仿真STC15W4K32S4系列013_iic_08_AT24C256在已安裝Proteus8.9的計(jì)算機(jī)文件夾中打開即可
需要進(jìn)一步了解,請(qǐng)加入QQ群:976235464
|
|