|
一,打開(kāi)文件(可以隨文下載放置在文檔中打開(kāi))。(如下圖1所示)
1.png (699.76 KB, 下載次數(shù): 60)
下載附件
2020-6-3 19:43 上傳
圖1
二,調(diào)整原理圖大小,適合可視,另存工程文件。(如下圖2,3,4所示)
2.png (236.03 KB, 下載次數(shù): 58)
下載附件
2020-6-3 19:43 上傳
圖2
3.png (278.58 KB, 下載次數(shù): 60)
下載附件
2020-6-3 19:43 上傳
圖3
4.png (341.48 KB, 下載次數(shù): 50)
下載附件
2020-6-3 19:43 上傳
圖4
三,點(diǎn)擊Source Code標(biāo)簽。(如下圖5所示)
5.png (149.85 KB, 下載次數(shù): 56)
下載附件
2020-6-3 19:43 上傳
圖5
四,編輯main.c 代碼如Proteus8.9 VSM Studio SDCC編譯器仿真STC15W4K32S4系列013_iic_04_AT24C16 (如下圖6所示)
6.png (144.95 KB, 下載次數(shù): 45)
下載附件
2020-6-3 19:43 上傳
圖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 (171.73 KB, 下載次數(shù): 54)
下載附件
2020-6-3 19:43 上傳
圖7
七,點(diǎn)擊窗口左下方仿真按鈕,可見(jiàn)虛擬AT24C16讀寫閃爍顯示在屏。 (如下圖8,9,10所示)
8.png (300.3 KB, 下載次數(shù): 46)
下載附件
2020-6-3 19:43 上傳
圖8
9.png (159.72 KB, 下載次數(shù): 54)
下載附件
2020-6-3 19:43 上傳
圖9
10.png (321.44 KB, 下載次數(shù): 43)
下載附件
2020-6-3 19:43 上傳
圖10
八,選擇release,點(diǎn)擊構(gòu)建工程按鈕,編譯工程生成Hex文件。(如下圖11所示)
11.png (176.79 KB, 下載次數(shù): 53)
下載附件
2020-6-3 19:43 上傳
圖11
附件Proteus8.9 VSM Studio SDCC編譯器仿真STC15W4K32S4系列013_iic_04_AT24C16在已安裝Proteus8.9的計(jì)算機(jī)文件夾中打開(kāi)即可
需要進(jìn)一步了解,請(qǐng)加入QQ群:976235464
|
|