一,打開文件(可以隨文下載放置在文檔中打開)。(如下圖1所示)
圖1
二,調整原理圖大小,適合可視,另存工程文件。(如下圖2,3,4所示)
圖2
圖3
圖4
三,點擊Source Code標籤。(如下圖5所示)
圖5
四,編輯main.c 代碼如Proteus8.9 VSM Studio Keil編譯器仿真AT89C51RD2系列015_lcd2004一線屏(如下圖6所示)
圖6
五,Main.c 代碼:
/* Main.c file generated by New Project wizard
*Coder: Ziegler Yin
- Created: 週日 5月 3 2020
- Processor: AT89C51RD2
- Compiler: Keil for 8051
*/
#include “comds.h”
#define Buf_Max 50
u8 xdata Rec_Buf[Buf_Max];
u8 t= 0;
u8 uart1temp= 0x33;
u8 code *table[4]= {" Kaillen Works “,
" Wellcom YOU!”,
" Code Made “,
" --Ziegler Yin” };
void Uart1() interrupt 4
{
if(RI) //接收到數據的中斷
{
RI=0; //清除中斷標誌
uart1temp=SBUF;
if(t==Buf_Max) t= 0;
Rec_Buf[t]= uart1temp;
t++;
}
}
void main()//主函數
{
UInit();
while(1) //程序循環發送
{
while(!RI) {
init();
wrt_lin(‘0’);
mprint(table[0]); //共有十一個字符
mprint("\r\n");
delayms(1000); //兩個字符串之家間隔一秒
wrt_lin(‘1’);
mprint(table[1]); //共有十一個字符
mprint("\r\n");
delayms(1000); //兩個字符串之家間隔一秒
wrt_lin('2');
mprint(table[2]); //共有十一個字符
mprint("\r\n");
delayms(1000); //兩個字符串之家間隔一秒
wrt_lin('3');
mprint(table[3]); //共有十一個字符
mprint("\r\n");
delayms(1000); //兩個字符串之家間隔一秒
if(Rec_Buf[0]>0){
mprint(Rec_Buf); //共有十一個字符
mprint("\r\n");
mZero(Rec_Buf);
t=0;
}
}
delayms(100); //兩個字符串之家間隔一秒
}
}Comds.h:
/* Main.c file generated by New Project wizard
*Coder: Ziegler Yin
- Created: 週日 5月 3 2020
- Processor: AT89C51RD2
- Compiler: Keil for 8051
*/
#ifndef _CMDS_H
#define _CMDS_H
#include “muart.h”
void wrt_lcd(u8 com);
void wrt_lin(u8 com);
void UInit(void);
void init(void);
#endif
六,點擊構建工程按鈕,編譯工程。(如下圖7所示)
圖7
七,點擊窗口左下方仿真按鈕,可見lcd1602一線屏上信息顯示在屏。 (如下圖8,9,10所示)
圖8
圖9
圖10
八,選擇release,點擊構建工程按鈕,編譯工程生成Hex文件。(如下圖11所示)
圖11
九, 系列的001-003虛擬仿真與開發板對應已證明:虛擬仿真程序對於開發板有效,之後不再➕上下載到開發板的介紹。
附件Proteus8.9 VSM Studio Keil編譯器仿真AT89C51RD2系列015_lcd2004一線屏在已安裝Proteus8.9的計算機文件夾中打開即可
需要進一步瞭解,請加入QQ羣:976235464