搜档网
当前位置:搜档网 › 基于proteus和keil的交通灯控制

基于proteus和keil的交通灯控制

基于proteus和keil的交通灯控制
基于proteus和keil的交通灯控制

基于proteus和keil的交通灯系统控制1、任务

2、proteus仿真截图

3、源程序

#include

#include

#define GPIO_DIG P0

//A道和B道交通灯

sbit Ared=P2^1;

sbit Agreen=P2^2;

sbit Ayellow=P2^3;

sbit Bred=P2^4;

sbit Bgreen=P2^5;

sbit Byellow=P2^6;

sbit K2=P1^4;

sbit K3=P1^3;

//数码管片选

sbit A=P1^0;

sbit B1=P1^1;

sbit C=P1^2;

//A道和B道的红绿灯时间黄灯时间不变是2s

unsigned int Atgreen;

unsigned int Atred;

unsigned int Btgreen;

unsigned int Btred;

unsigned int D,Ashow,Bshow;

unsigned int time=0;//second

unsigned int i,j,SA,SB;//交通灯显示状态位00,01,10,011

//分别表示Agreen,Ayellow,Bgreen,Byellow,

unsigned char code DIG_CODE[10]={

0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,

0x7f,0x6f};

//0、1、2、3、4、5、6、7、8、9的显示码

unsigned char DisplayData[8];

//用来存放要显示的8位数的值

void DigDisplay(); //动态显示函数

void delay500ms(void) //误差0us

{

unsigned char a,b,c;

for(c=23;c>0;c--)

for(b=152;b>0;b--)

for(a=70;a>0;a--);

}

void main()

{

Atgreen=45;

Btgreen=25;

Atred=Btgreen+2;

Btred=Atgreen+2;

TMOD=0x21;//定时器初始化

TH0=0xFC;//设定定时器1为1ms,用来记录时间

TL0=0x81;

TH1=0xAA;//设定定时器0为0.1ms,用来显示数码管

IT1=1;//外部中断采用下降沿中断

IT0=1;

PT0=1;//中断优先级,设置状态的定时器0优先级高

EA=1;

ET1=1;

ET0=1;

EX1=1;

EX0=1;

TR1=1;

TR0=1;

while(1)

{

if(SA==0&&SB==0)

{

if(Ashow>=0&&Ashow<=3)

{

Agreen=1;

Ared=0;

Ayellow=0;

Bred=1;

Bgreen=0;

Byellow=0;

delay500ms();

Agreen=0;

delay500ms();

}

else

{

Agreen=1;

Ared=0;

Ayellow=0;

Bred=1;

Bgreen=0;

Byellow=0;

}

}

else if(SA==0&&SB==1)

{

Agreen=0;

Ared=0;

Ayellow=1;

Bred=1;

Bgreen=0;

Byellow=0;

}

else if(SA==1&&SB==0)

{

if(Bshow>=0&&Bshow<=3)

{

Agreen=0;

Ared=1;

Ayellow=0;

Bred=0;

Bgreen=1;

Byellow=0;

delay500ms();

Bgreen=0;

delay500ms();

}

else

{

Agreen=0;

Ared=1;

Ayellow=0;

Bred=0;

Bgreen=1;

Byellow=0;

}

}

else if(SA==1&&SB==1)

{

Agreen=0;

Ared=1;

Ayellow=0;

Bred=0;

Bgreen=0;

Byellow=1;

}

}

}

void K1()interrupt 0

{

Atred=20;

Btgreen=18;

Btred=20;

Atgreen=18;

time=0;

}

void K2K3()interrupt 2

{

if(K2==0)

{

time=0;

Atred=27+30;

Btgreen=25+30;

Atgreen=45;

Btred=47;

}

else if(K3==0)

{

time=0;

Btred=47+30;

Atgreen=45+30;

Atred=27;

Btgreen=25;

}

}

void t1()interrupt 3

{

for(i=0;i<=3;i++)

{

if(i==0)

{

if(Ashow==0)

DisplayData[0]=0x00;

else

{

j=Ashow%10;

DisplayData[0]=DIG_CODE[j];

}

}

else if(i==1)

{

if(Ashow==0)

DisplayData[1]=0x00;

else

{

j=Ashow/10;

DisplayData[1]=DIG_CODE[j];

}

}

else if(i==2)

{

if(Bshow==0)

DisplayData[2]=0x00;

else

{

j=Bshow%10;

DisplayData[2]=DIG_CODE[j];

}

}

else if(i==3)

{

if(Bshow==0)

DisplayData[3]=0x00;

else

{

j=Bshow/10;

DisplayData[3]=DIG_CODE[j];

}

}

}

DigDisplay();

}

void t0()interrupt 1

{

TH0=0xFC;//设定定时器1为1ms,用来记录时间

TL0=0x81;

time++;//

D=time/500;

if(D>=0&&D<=(Atred+Btred))

{

if(D>=0&&D<=Atgreen)

{

Ashow=Atgreen-D;

Bshow=Btred-D;

SA=0;

SB=0;

}

else if(D>Atgreen&&D<=Btred)

{

Ashow=0;

Bshow=Btred-D;

SA=0;

SB=1;

}

else if(D>Btred&&D<=(Btred+Btgreen))

{

Ashow=Atred+Btred-D;

Bshow=Btgreen+Btred-D;

SA=1;

SB=0;

}

else if(D>(Btred+Btgreen)&&D<(Atred+Btred))

{

Ashow=Atred+Btred-D;

Bshow=0;

SA=1;

SB=1;

}

}

else time=0;

}

void DigDisplay()

{

unsigned char i;

unsigned int j;

for(i=0;i<4;i++)

{

switch(i) //位选,选择点亮的数码管,

{

case(0):

A=0;B1=0;C=0; break;//显示第0位

case(1):

A=1;B1=0;C=0; break;//显示第1位

case(2):

A=0;B1=1;C=0; break;//显示第2位

case(3):

A=1;B1=1;C=0; break;//显示第3位

}

GPIO_DIG=DisplayData[i];//发送段码

j=5; //扫描间隔时间设定

while(j--);

GPIO_DIG=0x00;//消隐

}

}

Proteus和Keil的使用与联调

Proteus和Keil的使用与联调 Proteus7.0 是目前最好的模拟单片机外围器件的工具,非常不错。可以仿真51 系列、AVR,PIC 等常用的MCU 及其外围电路(如LCD,RAM,ROM,键盘,马达,LED,AD/DA,部分SPI器件,部分IIC 器件等等),虽然有那么多优点和长处,但还是与实际情况有不少的差别。如果条件允许,还是买一块单片机开发板或自己做一个单片机应用系统,实实在在的学习和体会一下,仿真毕竟还是仿真,不能代替实际操作,许多实际问题是在仿真中碰不到的。当然,条件不允许,我们可以采用仿真,达到学习的目的。 如果学习和使用单片机,除了灵活应用Protel等绘制原理图和PCB图以外,那么Keil C51 软件应该要掌握,我们要通过它来编写和调试单片机程序。Keil C51 软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM 语言和C 语言的程序设计,界面友好,易学易用。下面就三个问题分别进行介绍。 一、proteus的使用 1. 软件打开 双击桌面上的ISIS 7 Professional图标或者单击屏幕左下方的“开始”→“程序”→“Proteus 7 Professional”

→“ISIS 7 Professional”,出现如图1-1所示界面,随后就进入了Proteus ISIS集成环境。 图1-1 启动时的界面 2. 工作界面 Proteus ISIS的工作界面是一种标准的Windows界面,如图1-2所示。包括:标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。

关于如何使用Proteus和keil4联调

一、关于如何使用Proteus。软件下载地址:http://59.77.2.173/edown25/ Proteus有点类似protel,在本学期的单片机实验课中所起的作用主要是考虑到同学们只利用上课时间在单片机实验室编程时间比较紧,所以陈老师采用Proteus让大家可以自己先做仿真,看看实验现象,关于Proteus大家不用懂得太多,只要懂得如何用Proteus看现象及与如何与Keil uVision4联调即可。 当然,软件要先安装好,并且是破解好的。否则会出错。 下面先讲讲如何用Proteus看实验现象。其实就是助教会在下一周实验前将Proteus电路图画好,大家直接打开电路图,在51芯片上双击出窗口导入.hex文件(编译.成功asm或.c 文件时会生成),然后点击运行即可观看现象。想要停止,点击停止就OK。以观察实验二的例子为例。如图。打开.DSN文件 出现如下界面。 双击单片机芯片,出现对话框 运行、停止

双击单片机芯片,出现对话框 点击运行或者停止即可观察实验室现象。二、如何使用Keil uVision4与Proteus联调。 打开 Keil uVision4 。如下图所示。 此处导入同文件夹下的.hex文件

1、菜单栏的project菜单下新建一个工程。 2、保存工程名称后,出现如下菜单。

选择Atmel下的A T89C51,点击OK后在跳出来的菜单后点击“否”。 出现如下对话框。

Output框下将“Create HEX file”前打钩,使得在编译成功后能生成.hex文件,用于在Proteus 中作仿真,也是用于烧录的。 Debug框将“Use:Proteus VSM Simulator”选择,如下图显示: 注意,在设置“debug”前要将keil与Proteus的联调软件安装好!

单片机原理与应用—基于Proteus和KeilC课后答案复习题解答.doc

第 2 章 MCS-51 单片机结构及原理习题 1. MSC- 51 单片机部由哪些功能部件组成,各有什么功能? 答:以 80C51 单片机为例,其部功能部件有: 控制器:是对取自程序存储器中的指令进行译码,在规定的时刻发出各种操作所需的控制信 号,完成指令所规定的功能; 运算器:根据控制器发来的信号,执行算术逻辑运算操作; 存储器:包括程序存储和数据存储器; 定时器计数器: 2 个 16 位定时器 / 计数器,可对机器周期计数,也可对外部输入脉冲计数; 中断系统:可响应三个部中断源和两个外部中断源的中断请求;输入输出接口: 4 个 8 位并行 口和一个全双工串行口; 2. MSC- 51 单片机外部引脚的名称是什么?各有什么功能? 答: (1)电源及晶振引脚 VCC(40 脚 ) : +5V 电源引脚 VSS(20 脚 ) :接地引脚 XTAL1(19 脚 ) ;外接晶振引脚(置放大器输入端) XTAL2(18 脚 ) :外接晶振引脚(置放大器输出端) (2)控制引脚 RST/VPD(9)为复位 /备用电源引脚 ALE/PROG(30)为地址锁存使能输出/编程脉冲输入 PSEN(29):输出访问片外程序存储器读选通信号 EA/ VPP (31):外部ROM允许访问/编程电源输入 (3)并行 I/O 口引脚 P0.0 ~ P0.7 ( 39~ 32 脚)—— P0 口; P1.0 ~ P1.7 ( 1~ 8 脚)—— P1 口; P2.0 ~ P2.7 ( 21~ 28 脚)—— P2 口; P3.0 ~ P3.7 ( 10~ 17 脚)—— P3 口。 3. 51 系列单片机的封装有哪些类型?请说明每一种封装引脚之间的距离。 答: 51 系列单片机的封装有: 40 引脚双列直插封装( DIP—— dual in-line package ),引脚之间的距离是 100mil(2.54mm) ; 44 引脚方形扁平封装( QFP —— quad flat package )方式,引脚之间的距离是 2.54mm;44 引脚带引线的塑料芯片载体PLCC(Plastic Leaded Chip Carrier) 。 4.什么是复位?单片机复位电路有哪几种,工作原理分别是什么? 答:复位——使单片机恢复原始默认状态的操作。 单片机复位电路有: 上电复位电路,由电阻和电容构成,通过上电时,电容相当于短路而使 复位引脚在晶振有效的情况下保持 2 个机器周期的高电平;按钮开关复位电路,由两个电阻

(完整版)单片机原理及应用——基于Proteus和Keil_C 林立_张俊亮毕业论文

第一章习题 1.什么是单片机?单片机和通用微机相比有何特点? 答:单片机又称为单片微计算机,它的结构特点是将微型计算机的基本功能部件(如中央处理器(CPU)、存储器、输入接口、输出接口、定时计数器及终端系统等)全部集成在一个半导体芯片上。虽然单片机只是一个芯片,但无论从组成还是从逻辑功能上来看,都具有微机系统的定义。与通用的微型计算机相比,单片机体积小巧,可以嵌入到应用系统中作为指挥决策中心,是应用系统实现智能化。 2.单片机的发展有哪几个阶段?8位单片机会不会过时,为什么? 答:单片机诞生于1971年,经历了SCM、MCU、SOC三大阶段,早期的SCM 单片机都是8位或4位的。其中最成功的是INTEL的8031,此后在8031上发展出了MCS51系列MCU系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大提高。随着INTEL i960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。然而,由于各应用领域大量需要的仍是8位单片机,因此各大公司纷纷推出高性能、大容量、多功能的新型8位单片机。 目前,单片机正朝着高性能和多品种发展,但由于MCS-51系列8位单片机仍能满足绝大多数应用领域的需要,可以肯定,以MCS-51系列为主的8位单片机,在当前及以后的相当一段时间内仍将占据单片机应用的主导地位。

3.举例说明单片机的主要应用领域。 答:单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:智能仪器单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、电流、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(电压表、功率计,示波器,各种分析仪)。 工业控制 单片机具有体积小、控制功能强、功耗低、环境适应能力强、扩展灵活和使用方便等优点,用单片机可以构成形式多样的控制系统、数据采集系统、通信系统、信号检测系统、无线感知系统、测控系统、机器人等应用控制系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。家用电器现在的家用电器广泛采用了单片机控制,从电饭煲、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备和白色家电等。 网络和通信 现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。医用设备领域

基于Proteus和_Keil的串行通信系统仿真

聊城大学 本科生毕业论文(设计)题目:基于Proteus和keil的串行通信 系统仿真 专业代码:交通运输(081201) 作者姓名:管国阳 学号: 单位:汽车与交通工程学院 指导教师: 2012年5月19日

原创性声明 本人郑重声明:所提交的学位论文是本人在导师指导下,独立进行研究取得的成果。除文中已经注明引用的内容外,论文中不含其他人已经发表或撰写过的研究成果,也不包含为获得聊城大学或其他教育机构的学位证书而使用过的材料。对本文的研究作出重要贡献的个人和集体,均已在文中以明确方式标明。本人承担本声明的相应责任。 学位论文作者签名:日期 指导教师签名: 日期

摘要 本文主要是基于I2C技术,应用proteus和keil软件,设计虚拟I2C总线串行通信外围扩展。介绍了I2C串行通信的基本原理,I2C总线设计系统的优点,虚拟I2C总线技术,I2C总线与E2PROM,ADC/DAC,I/O接口等外围器件接线方法,时序,及其寻址方法。 关键词:I2C总线技术;串行通信;I2C总线虚拟技术;串行外围扩

Abstract This article is based on I2C technology, application Proteus keil software, designing virtual I2C bus serial communications peripherals expansion. It has Introduced the basic principles of I2C serial communication, Design of I2C bus system,virtual I2C bus, I2C bus and E2PROM, ADC / DAC, I / O ports and other peripheral device connection method, timing, and addressing methods. Key Words: I2C bus technology; serial communication; I2C bus virtual technology; serial peripheral expansion

基于proteus和keil的单片机课程设计

2008年10fl 第5期(总第70期) 济南职业学院学报 JournalnfJinanVocationalCoRege Om.2008 No.5(SerialⅣ仉70) 基于Proteus和Keilfl匀单片机课程设计 宫亚梅 (常州信息职业技术学院机电工程系,江苏常州213164) 摘要:本文介.绍TProteus和Keil的功能特点,结合步进电机正反转实例,详细给出了两种软件在单片机课程设计中的具体应用。 关键词:Proteus;Keil;单片机;设计 中图分类号:TP391文献标识码:A文章编号:1673—4270(2008J05—0112—02 单片机应用技术是电类专业的一门重要课程,也是理论和实践结合性很强的一门课程,所以课程设计环节尤为萤要。课程设计环节的任务和目的是让每个学生亲自参与到其中的设计细节,提高单片机开发的能力。考虑到目前实验器材允设计过程中容易造成器件和仪器仪表的损坏,以及离开实验室学生得不到充分的锻炼,从而借助于Proteus和Keil进行课程设讯实践证明,这样可以很好地解决上述问题,节省设计成本,提高设计速度。 1Proteus和Keil简介 1.1Proteus简介 Proteus是一个完整的嵌入式系统软、硬件设计仿真平台,它包括原理图输入系统ISIS、带扩展的Prospice混合模型仿真器、动态器件库、高级图形分析模块和处理器虚拟系统仿真模型VSM。ISIS是Proteus系统的中心,具有超强的控制原理图设计环境。ProteusVSM最重要的特点是,它能把微处理器软件作用在处理器上,并和该处理器的任何模拟和数字器件协同仿真。仿真执行目标码就像在真正的单片机系统上运行,VSMCPU模型能完整仿真I/Ol=i、中断、定时器、通用外设口和其他与CPU有关的外设,甚至能仿真多个处理器。 1.2Keil简介 Keil是一个功能强大的开发平台,它包括项目管理器、CX51编译器、AX51宏汇编器、BL51/Lx51连接定位器、RTX51实时操作系统、Simulator软件模拟器以及Monitor51硬件目标调试器。它是一种集成化的文件管理编译环境,主要的功能特点为:编译C源程序、汇编源程序或混合语言源程序,链接和定位目标文件和库,创建HEX文件、调试目标程序等,是目前最好的5l单片机开发工具之一。Keil支持软件模拟仿真(Simulator)和用户目标板调试(Monitor51)两种工作模式,前者不需要任何单片机硬件即可完成用户程序仿真调试,后者利用硬件目标板中的监控程序可以直接调试目标硬件系统。 2应用举例 下面结合课程设计中四项八拍步进电机正反转电路的单片机实现,具体说明如何基于Proteus和Keil进行单片机仿真。电路的功能是,通过点击正反转按钮,让步进电机自如进行正反转的切换。 2.1硬件的实现 打开ProteusISIS编辑环境,通过对象选择按 收稿日期:2008—09一08 作者简介:宫亚梅(1979一),女,江苏姜堰人。常州信息职业技术学院机电工程系助教。 ?112? 万方数据

Keil与proteus完美结合教程

Keil与proteus完美结合教程 Proteus 单片机仿真软件 可与Keil或Pic的Mplab联接使用,单片机初学者的福音,有非常丰富的外围器件可供仿真使用

简介: Proteus6.7是目前最好的模拟单片机外围器件的工具,真的很不错。可以仿真51系列、AVR,PIC等常用的MCU及其外围电路(如LCD,RAM,ROM,键盘,马达,LED,AD/DA,部分SPI器件,部分IIC器件,...)其实proteus 与 multisim 比较类似,只不过它可以仿真MCU! 当然,软件仿真精度有限,而且不可能所有的器件都找得到相应的仿真模型,用开发板和仿真器当然是最好选择,可是估计初学者有的可能性比较小吧? 如果你在学51单片机,如果你想自己动手做做LCD,LED,AD/DA,直流马达,SPI,IIC,键盘,...的小实验的话,试一下吧,不会让你失望的!用51不管你是用汇编或是C编程当然要用keil啦,uvisoin3有不少新特性呢!使用keil c51 v7.50 + proteus 6.7 可以像使用仿真器一样调试程序,一般而言,微机实验中用万利仿真器+电工系自己做的实验板的实验都可以做得到吧!当然,硬件实践还是必不可少的!!! 本方案只是在没有硬件的情况下让你能像pspice 仿真模拟/数字电路那样仿真MCU及外围电路。另外,即使有硬件,在程序编写早期用软件仿真一下也不错的! 需要Proteus6.7 SP3和keil c51 v7.50请到本站:https://www.sodocs.net/doc/cf15838117.html,下载。本站提供的是完全解密版和专业版。放心使用。 为了使大家能最快的进入keil c51 v7.50 + proteus 6.7仿真本站特别编写了本教程共享,希望对本站大力支持! 以下文章 作者:■凉山州机电学校马正强 1 Proteus介绍 Proteus与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象。 (1)proteus的工作过程 运行proteus的ISIS程序后,进入该仿真软件的主界面。在工作前,要设置view菜单下的捕捉对齐和system 下的颜色、图形界面大小等项目。通过工具栏中的p(从库中选择元件命令)命令,在pick devices窗口中选择电路所需的元件,放置元件并调整其相对位置,元件参数设置,元器件间连线,编写程序;在source菜单的Define code generation tools菜单命令下,选择程序编译的工具、路径、扩展名等项目;在source菜单的Add/remove source files命令下,加入单片机硬件电路的对应程序;通过debug菜单的相应命令仿真程序和电路的运行情况。 (2)Proteus软件所提供的元件资源 Proteus 软件所提供了30多个元件库,数千种元件。元件涉及到数字和模拟、交流和直流等。 (3)Proteus软件所提供的仪表资源 对于一个仿真软件或实验室,测试的仪器仪表的数量、类型和质量,是衡量实验室是否合格的一个关键因素。在Proteus软件包中,不存在同类仪表使用数量的问题。 Proteus还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似但功能更多。

单片机原理及应用——基于Proteus和Keil_C林立版课后习题答案

1.计算机体系结构:哈佛结构、冯诺依曼结构的区别? 哈佛结构RAM和ROM分别编址,冯诺依曼结构RAM和ROM统一编址 2.MSC-51单片机外部引脚的名称是什么?各有什么功能? 答:(1) 电源及晶振引脚 VCC(40脚):+5V电源引脚 VSS(20脚):接地引脚 XTAL1(19脚);外接晶振引脚(内置放大器输入端) XTAL2(18脚):外接晶振引脚(内置放大器输出端) (2) 控制引脚 RST/V PD(9)为复位/ 备用电源引脚 ALE/PROG(30)为地址锁存使能输出/ 编程脉冲输入 PSEN(29):输出访问片外程序存储器读选通信号 EA/ VPP (31):外部ROM允许访问/ 编程电源输入 (3) 并行I/O口引脚 P0.0~P0.7(39~32脚)——P0口; P1.0~P1.7(1~8脚)——P1口; P2.0~P2.7(21~28脚)——P2口; P3.0~P3.7(10~17脚)——P3口。 3. AT89C51单片机的片内资源有哪些?其存储器结构如何?片内RAM可分成哪个三个区?各区的地址范围如何? 其内部功能部件有: 控制器:是对取自程序存储器中的指令进行译码,在规定的时刻发出各种操作所需的控制信号,完成指令所规定的功能; 运算器:根据控制器发来的信号,执行算术逻辑运算操作; 存储器:包括程序存储和数据存储器; 定时器计数器:2个16位定时器/计数器,可对机器周期计数,也可对外部输入脉冲计数; 中断系统:可响应三个内部中断源和两个外部中断源的中断请求; 输入输出接口:4个8位并行口和一个全双工串行口; 其存储器结构属于哈佛结构,MCS-51可寻址空间是两个64KB,即64KB的程序存储空间和64KB的数据存储空间。 片内RAM可分成划分为三个部分: ①作寄存器区(00H-1FH),四组②可位寻址区(20H-2FH)③用户RAM区(30H-7FH),80B 7.程序状态字寄存器PSW各位的定义是什么? 答:程序状态字寄存器PSW各位的定义如下: PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0 PSW.7:进/借位标志CY,加法有进位时置1,减法有借位时置1; PSW.6:辅助进位标志AC,加法运算低四位向高上四位有进位时置1; PSW.5、PSW.1:用户标志位F0和用户标志位F1, 保存用户的位数据; PSW.4、PSW.3:工作寄存器选择控制位RS1和RS0,00至11分别选择四组工作之一作为当前工作寄存器PSW.2 :溢出标志位OV,有符号数加、减运算结果有溢出或乘除上结果异常(乘法运算结果大于255即乘积在BA中,或除法运算除数为0)时置1

关于如何使用Proteus和keil4联调0001

Flsof ihcet 1 ■ 5000. J OOQO Hi *★★*■**■占占** 攵口' 康丄 *********** 一、关于如何使用 Proteus 。软件下载地址:http:〃59.77.2.173/edown25/ Proteus 有点类似protel ,在本学期的单片机实验课中所起的作用主要是考虑到同学们只 利用上课时间在单片 机实验室编程时间比较紧,所以陈老师采用 Proteus 让大家可以自己先 做仿真,看看实验现象,关于Proteus 大家不用懂得太多,只要懂得如何用 Proteus 看现象及 与如何与Keil uVision4联调即可。 当然,软件要先安装好,并且是破解好的。否则会出错。 下面先讲讲如何用 Proteus 看实验现象。其实就是助教会在下一周实验前将 Proteus 电路 图画好,大家直接打开电路图,在 51芯片上双击出窗口导入.hex 文件(编译?成功asm 或.c 文件时会生成),然后点击运行即可观看现象。想要停止,点击停止就 0K 。以观察实验二 的例子为例。如图。打开.DSN 文件 I VPICi c n ~ |++1 I 卜 i i? i ii i ■ i □ LJ RBI 色中1尅" 3 0 IB 丈畔(D 查吾M 芻辑;[)二&口 谡计? 吐圍嵋两日 廁 ■: 「 、 '■ : ■ ■ fjjj 74UQJ? 74HC13S 74NC273 ATEQC51 ^FCLCC 0TNS1AL LECRED 上 DVEL.OkV FES [74HC02] ■士 * L I ■ ■ M km." ,必, ———; :::: : ■ :1 \_9—a 双击单片机芯片,出现对话框 tgotzd 出现如下界面。 用于控制界面大小等 £ * IM. 运行、停止

proteus7.8和keil4的安装说明及联调

Proteus 安装步骤 软件安装注意事项: 1、在安装前请确保系统的用户名是英文,中文的用户名可以安装,但无法仿真。 2、安装路径不要有中文,否则运行软件时,或许会出现自动退出现象。如果有安装完但打不开的现象,请用管理员身份或者兼容模式打开。 3、若安装有以前版本的Proteus,卸载后没有将注册表清理干净,会出现安装新版本License的时候自动用原来的License,没有显示No license,导致安装新版本后不能使用。 解决方法是手工删除注册表: 将低版本Proteus卸载后,在“开始”→“运行”中输入“regedit”,打开“HKEY_LOCAL_MACHINE\SOFTWARE”,找到“Labcenter Electronics”,把它删除后,在进行版本安装。 4、安装路径最好是默认安装,或者只更改盘符。 5、修改使用日期:用记事本打开“”文件,(记事本要全屏开)然后把第二行的日期“31/12/2009”修改为“31/12/2030”或更久就行了。要在安装之前修改。 6、先安装,再运行"Proteus Pro SP2破解"破解,最后汉化。汉化覆盖前注意备份原文件,如果汉化报错,就将“汉化报错.exe”复制到安装文件夹再运行。 7、汉化目录C:\Program Files\Labcenter Electronics\Proteus 7 Professional\BIN中的和二个文件。 8、你在运行LXK Proteus SP2破解后它默认的更新目录是C:\Program Files\Labcenter Electronics\Proteus 7 Professional ,出现 wrong folder selected(即所选的目录是错误的),如果是安装在C盘的话你只需把Program Files改成Program Files (x86)再点update(升级)就可以了,你要是安在其他盘如D盘的话就还应该把C改成D,其它盘也是一样的哦 安装过程如下: 1、解压Proteus 安装包: 2、双击

单片机原理及应用——基于Proteus和Keil C

一、填空 1、CPU主要的组成部份包括_____运算器_______、______控制器______。 2、单片机的系统总线有_____地址总线_______、____数据总线________和______控制总线______。 3、单片机汇编语言有三种基本结构,分别是 _____顺序________、______分支______、_____循环______。 4、存储器6264地址线有_____13 _____根,容量为_____ 8______KB。 5、8051的中断入口地址分别是_0003H、000BH___、_0013H___、_001BH___、___0023H______。 6、若由程序设定RS1、RS0=01,则工作寄存器R0~R7的直接地址为______08~0F______。 7、定时和计数都是对_____脉冲_______进行计数,定时与计数的区别是定时是对周期相同的脉冲;计数是_周期不相同的脉冲__。 8、D/A转换器转换数据的传送有___直通式____、____单缓冲________、_____双缓冲_______三种方式。 9、任何程序总是由三种基本结构组成,它们是____顺序________、______分支______、_____循环_______。 10、串行通信分为_____异步通信_______传送和_____同步通信_______传送两种基本方式。 11、中断源的允许是由____IE____寄存器决定的,中断源的优先级别是由______IP______寄存器决定的。 12、堆栈的地址由______SP______内容确定,其操作规律是___先进后出___或者______后进先出______。 13、已知累加器A的数值为98H,它与0FAH相加,相加后标志位CY的内容为_1_,AC的内容为_1_,OV 的内容为 0_。 14、8051单片机中有__2_____个_16______位的定时/计数器,可以被设定的工作方式有______4____种。 15、D/A转换器的作用是将____数字________量转为_____模拟_______量。 16、A/D转换器的作用是将_____模拟_______量转为_______数字_____量。 17、子程序的返回指令是______RET______,中断返回指令是_____RETI_______。 18、8051单片机的_____P3_______口的引脚,还具有外中断、串行通信等第二功能。 19、串行口每一次传送_____1帧_______字符。 20、在串行通信中, 8031中发送和接收的寄存器是____SBUF_______。 21、MOVX A , @R0指令中,源操作数采用_____寄存器间接_______寻址方式。 二、选择题 1、在单片机中,通常将一些中间计算结果存放在(D)中。 A.累加器B.控制器C.程序存储器D.数据存储器 2、关于单片机的堆栈操作,正确的说法是( C )。 A.先入栈,再修改栈指针B.先修改栈指针,再出栈 C.先修改栈指针,在入栈D.以上都不对 3、MOV C,20H.0的操作方式是( B )。 A.位寻址B.直接寻址C.立即寻址D.寄存器寻址 4、对程序存储器的读操作,只能用( D )。 A.MOV 指令B.PUSH指令C.MOVX指令D.MOVC指令 5、如果(P0)=65H ,则当 CPL P0.2 SETB C MOV P0.4,C 执行后(P0)=(C)。 A.61H B.75H C.71H D.17 6、当标志寄存器PSW的RS0和RS1分别为1和0时,系统选用的工作寄存器组为(C)。 A.组0 B.组1 C.组2 D.组3 7、若某寄存器芯片的地址线为12根,那么它的存储容量为(C )。 A.1KB B.2KB C.4KB D.5kB 8、单片机AT89S51串行口工作方式0的波特率是(D)。 A.固定的,为f osc/32 B.固定的,为f osc/16

Keil与Proteus联调

下面的一到五步骤,是别人写,忘记来源了,在此引用,先感谢原作者。接下来的内容,是在实际联调中,我又发现一些注意点,不知是否是必然的规律,大家一块探讨,恳请指正!! 首先,你要下载安装这两个软件了。Proteus可以到官方网站(https://www.sodocs.net/doc/cf15838117.html,/)下载试用板(试用版无存盘功能),最新版本是6.5。Keil也可以到它的官方网站(https://www.sodocs.net/doc/cf15838117.html,)/去下载它的demo板(有2K代码限制),最新的版本是7.20。下载后就可以安装了。 第二步,安装完毕,把C:\Program Files\Labcenter Electronics\Proteus 6 Professional\MODELS\目录下的VDM51.dll文件复制到C:\Keil\C51\BIN文件夹下。(目录名都是默认的,你可以根据你实际安装的目录进行复制。) 第三步,用记事本(其它的编辑软件也可以,如Ultra Edit)打开Keil 根目录下的TOOLS.INI 文件,在[C51] 栏目下加入TDRV3=BIN\VDM51.DLL ("Proteus VSM Monitor-51 Driver" ) ,其中“TDRV3”中的“3”要根据实际情况写,不要和原来的重复。(我的这个文件中已经有了从TDRV1到TDRV4, 所以我用的是TDRV5) 第四步,keil的设置。为了让读者更好的了解这个过程,笔者以Proteus自带的例子来说明。把"C:\Program Files\Labcenter Electronics\Proteus 6 Professional\SAMPLES"的"8051 LCD Driver”文件夹复制到新建的Proteus文件夹下。运行keil程序,在"8051 LCD Driver"文件夹下建立一个新的名为8051 LCD Driver工程。单片机的型号选择AT89C52就可以,把LCDDEMO 文件加到"Source Group 1"组里。点击工具栏的"option for target"按钮,在出现的对话框里点击"Debug",在右栏上部的下拉菜单里选中" Proteus VSM Monitor-51 Driver",还要点击一下Use前面的小圆点。 再点击"Setting"设置通信接口,在Host后面添上"127.0.0.1",如果你是用的不是同一台电脑,在这里添上另一台电脑的IP地址(另一台电脑安装Proteus)。在Port后面添上"8000"。点击"OK"按钮即可。最后把工程编译一下。 第五步,Proteus的设置。运行Proteus的ISIS,鼠标左键点击菜单"DEBUG",选中"use romote debuger monitor"。下面我们用鼠标左键点击菜单"File",再点击"Load Design",导入"8051 LCD Driver"文件夹下的LCDDEMO.design文件。

基于Proteus和Keil的单片机仿真实验系统设计

河北建筑工程学院 本科毕业设计(论文) 学科专业机械电子工程 班级机电102班 姓名冯立岗 指导教师张东辉

摘要 本设计是基于51系列的单片机进行的单片机实验仿真系统设计,可以进行键盘输入显示、计数器、流水灯、LCD显示字符、抢答器等八个实验的仿真。 单片机实验仿真系统的设计过程在硬件与软件方面进行同步设计。硬件部分主要由AT89C51单片机,4×4键盘阵列,七段数码管显示,8×8LED显示模块,16×16LED点阵显示模块,流水灯模块,LCD液晶模块,以及抢答器按键电路等组成,系统通过LED及LCD显示数据,所以具有人性化的操作和直观的显示效果。软件方面主要包括时钟程序、键盘程序,显示程序等。由于本设计实验项目有多个,考虑到汇编语言并不适于比较繁琐的程序的编写,故本系统以单片机的C 语言进行软件设计,为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了,以便更简单地实现实验的选取及显示功能。所有程序在Keil软件编写完成后调试编译最后生成hex格式的文件导入到Proteus 软件中进行调试,确定没有问题后,在Proteus软件中嵌入单片机内进行仿真。关键词:AT89C51;流水灯;抢答器;键盘

ABSTRACT It is a design of single chip experimental simulation system based on the 51 series single chip. It can perform eight experimental simulations including the keyboard input display, counter, water lights, LCD display character, responder. This design’s process is designed to synchronize the hardware and software aspects. The hardware part is mainly composed of AT89C51 microcontroller,4*4 keyboard array, seven segment LED display, 8*8 LED display module, 16*16 dot matrix display module, water light module, LCD liquid crystal module and responder key circuit and other components. The system displays the data via LED and LCD, so it has humanized operation and intuitive display effect. The software includes a clock procedure, the keyboard procedure and the display procedure. Since there are many experimental projects in this design, assembly language does not take into account the relatively cumbersome procedures for the preparation, and the system is designed of the microcontroller C language. In order to facilitate the expansion and change, the software is designed with modular structure, so that the logic programming is more concise and easier to realize the experimental selection and display. All the programs are debugged and compiled after the completion of the written of the keil software. And the final completed files of hex form are debugged in the Proteus software. When there is no problem, embedded the microcontroller into the Proteus software to simulate. Key words: AT89C51;water lights;responder;keyboard

keil与proteus联调

下面说一下如何在keil中调用proteus进行MCU外围器件的仿真 吧! 1、安装keil c51 v7.20 与proteus 6.7(废话!) 2、把proteus安装目录下VDM51.dll(搜一下吧)文件复制到Keil 安装目录的\C51\BIN目录中。 3、修改keil安装目录下Tools.ini文件,在C51字段加入 TDRV5=BIN\VDM51.DLL ("Proteus VSM Monitor-51 Driver"),保存注意:不一定要用TDRV5,根据原来字段选用一个不重复的数值 就可以了。 4、打开proteus,画出相应电路(这个自己摸索吧。注意:proteus 中mouse的左右键与一般程序是相反 的样子)。在proteus的debug菜单中选中use remote debug monitor 5、在keil中编写MCU的程序(keil不会,那先学学吧,比medwin 难学些哦!)。 6、进入KEIL的project菜单option for target '工程名'。在DEBUG 选项中右栏上部的下拉菜选中

Proteus VSM Monitor-51 Driver。 在进入seting,如果同一台机IP 名为127.0.0.1,如不是同一台机则 填另一台的IP地址。端口号一 定为8000 注意:可以在一台机器上运行keil,另一台中运行 proteus进行远程仿真哦~ 7、在keil中进行debug吧,同时在proteus中查看直观的结果(如 LCD显示...) 8、就是以上这么多了。在初用proteus时,可以试试其example吧。

单片机原理及应用——基于Proteus和KeilC(可编辑修改word版)

一、填空 1、CPU 主要的组成部份包括运算器、控制器。 2、单片机的系统总线有地址总线、数据总线和控制总线。 3、单片机汇编语言有三种基本结构,分别是顺序、分支、循环 。 4、存储器6264 地址线有13根,容量为8KB。 5、8051 的中断入口地址分别是_0003H、000BH、_0013H、_001BH、0023H 。 6、若由程序设定RS1、RS0=01,则工作寄存器R0~R7 的直接地址为08~0F 。 7、定时和计数都是对脉冲 是_周期不相同的脉冲。 进行计数,定时与计数的区别是定时是对周期相同的脉冲;计数 8、D/A 转换器转换数据的传送有直通式、单缓冲、双缓冲三种方式。 9、任何程序总是由三种基本结构组成,它们是顺序、分支、循环。 10、串行通信分为异步通信传送和同步通信传送两种基本方式。 11、中断源的允许是由IE寄存器决定的,中断源的优先级别是由I P寄存器决定的。 12、堆栈的地址由SP内容确定,其操作规律是先进后出或者后进先出。 13、已知累加器 A 的数值为 98H,它与 0FAH 相加,相加后标志位 CY 的内容为_1_,AC 的内容为_1_,OV 的内容为0_。 14、8051 单片机中有2个_16位的定时/计数器,可以被设定的工作方式有 4 种。 15、D/A 转换器的作用是将数字 16、A/D 转换器的作用是将模拟量转为模拟量。量转为数字量。 17、子程序的返回指令是RET,中断返回指令是R E T I。 18、8051 单片机的P3 19、串行口每一次传送 1 帧口的引脚,还具有外中断、串行通信等第二功能。 字符。 20、在串行通信中, 8031 中发送和接收的寄存器是SBUF 。 21、MOVX A , @R0 指令中,源操作数采用 二、选择题 寄存器间接寻址方式。 1、在单片机中,通常将一些中间计算结果存放在( D )中。 A.累加器B.控制器C.程序存储器D.数据存储器 2、关于单片机的堆栈操作,正确的说法是( C )。 A.先入栈,再修改栈指针C.先修改栈指针,在入栈B.先修改栈指针,再出栈D.以上都不对 3、MOV C,20H.0 的操作方式是(B)。 A.位寻址B.直接寻址C.立即寻址D.寄存器寻址 4、对程序存储器的读操作,只能用( D )。 A.MOV 指令B.PUSH 指令C.MOVX 指令D.MOVC 指令 5、如果(P0)=65H ,则当 CPL P0.2 SETB C MOV P0.4,C 执行后(P0)=( C )。 A.61H B.75H C.71H D.17 6、当标志寄存器PSW 的RS0 和RS1 分别为1 和0 时,系统选用的工作寄存器组为( C )。A.组0 B.组1 C.组2 D.组3 7、若某寄存器芯片的地址线为12 根,那么它的存储容量为(C )。 A.1KB B.2KB C.4KB D.5kB 8、单片机AT89S51 串行口工作方式0 的波特率是( D )。

关于如何使用Proteus和keil4联调

一、关于如何使用Proteus。软件下载地址:59.77.2.173/edown25/ Proteus有点类似protel,在本学期的单片机实验课中所起的作用主要是考虑到同学们只利用上课时间在单片机实验室编程时间比较紧,所以老师采用Proteus让大家可以自己先做仿真,看看实验现象,关于Proteus大家不用懂得太多,只要懂得如何用Proteus看现象及与如何与Keil uVision4联调即可。 当然,软件要先安装好,并且是破解好的。否则会出错。 下面先讲讲如何用Proteus看实验现象。其实就是助教会在下一周实验前将Proteus 电路图画好,大家直接打开电路图,在51芯片上双击出窗口导入.hex文件(编译.成功asm 或.c文件时会生成),然后点击运行即可观看现象。想要停止,点击停止就OK。以观察实验二的例子为例。如图。打开.DSN文件 出现如下界面。 运行、停止 用于控制界面大小等 双击单片机芯片,出现对话框

双击单片机芯片,出现对话框 此处导入同文件夹下的.hex文件 点击运行或者停止即可观察实验室现象。 二、如何使用Keil uVision4与Proteus联调。 打开Keil uVision4 。如下图所示。

1、菜单栏的project菜单下新建一个工程。 2、保存工程名称后,出现如下菜单。

选择Atmel下的AT89C51,点击OK后在跳出来的菜单后点击“否”。 3、在生成的新工程的“Target1”上点鼠标右键,菜单上选择“Option for Target Target1”。出现如下对话框。

Output框下将“Create HEX file”前打钩,使得在编译成功后能生成.hex文件,用于在Proteus中作仿真,也是用于烧录的。 Debug框将“Use:Proteus VSM Simulator”选择,如下图显示: 注意,在设置“debug”前要将keil与Proteus的联调软件安装好!

相关主题