资讯详情

Proteus运行Keil编写的51单片机C语言步骤

1.Keil

编写好程序以后,在左侧项目栏中单击鼠标右键,如下图

2.点击上图中Options for Target’Target1’

选项,弹出下列窗口

3.在Target中将XtalMHz)中的晶振频率改为12.0;再在Output标签中勾选Create HEX Fi复选框。

完成上面两项设置后点击确定。

4.再点击编译,生成Hex

文件。

5再在Proteus中双击的51芯片,弹出下列窗口,按下图修改晶振频率,添加需要运行的C语言生成的hex文件即可运行。

#include<reg51.h> #define uchar unsigned char #define uint unsigned int #define P1 sbit RS=P2^0; sbit rw=P2^1; sbit en=P2^2; uchar code ttt[]="Tel:123456789"; uchar code ggg[]="address:Xi'an dianziyuan"; /****************************************************** 1602液晶显示必须的几个函数: 1.初始化函数,清屏,设置从头显示,字符状态,光标状态等 2.写命令函数,显示的位置,方式 3.写数据函数,要显示的内容 4.延迟函数 5主函数 ****************************************************/ void init(void); void delay(uchar x); void writecom(uchar com); void writedat(uchar dat); void LCDinit(void) { writecom(0x38); writecom(0x0c); writecom(0x06); writecom(0x01); delay(100); } void writecom(uchar com) { DB=com; RS=0; rw=0; en=1; delay(5); en=0; } void writedata(uchar dat) { RS=1; rw=0; en=0; DB=dat; en=1; delay(5); en=0; } void delay(uchar x) { uint i=0; while(x--) { for (i=0;i<100;i++); }; }

void main(void)

{ LCDinit(); while(1) { uint i=0; writecom(0x80+10); for (i=0;i<9;i++) { writedata(ttt[i]); delay(1000); } writecom(0xC0+5); for(i=0;i<24;i++) { writedata(ggg[i]); delay(1000); } }

-电子元器件采购网(www.ruidan.com)是本土元器件目录分销商,采用“小批量、现货、样品”销售模式,致力于满足客户多型号、高质量、快速交付的采购需求。 自建高效智能仓储,拥有自营库存超过50,000种,提供一站式正品现货采购、个性化解决方案、选型替代等多元化服务。
锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台