当前位置:文档之家› 基于Proteus及Keil C的单片机开发全虚拟环境

基于Proteus及Keil C的单片机开发全虚拟环境

基于Proteus及Keil C的单片机开发全虚拟环境
基于Proteus及Keil C的单片机开发全虚拟环境

基于Proteus及Keil C的单片机开发全虚拟环境

2009-02-27 09:55:19 作者:来源:创新电子技术网浏览次数:43 文字大小:【大】【中】【小】

一, 概述

随着半导体技术的飞速发展,以及移动通信、网络技术、多媒体技术在嵌入式系统设计中的应用,单片机从4位、8位、16位到32位,其发展历程一直受到广大电子爱好者的极大关注。单片机功能越来越强大,价格却不断下降的优势无疑成为嵌入式系统方案设计的首选,同时单片机应用领域的扩大也使得更多人加入到基于单片机系统的开发行列中,推动着单片机技术的创新进步。

然而传统的单片机系统开发除了需要购置诸如仿真器、编程器、示波器等价格不菲的电子设备外,开发过程也较繁琐。如图1所示,用户程序需要在硬件完成的情况下才能进行联调,如果在调试过程中发现需修改硬件,则要重新制板。因此无论从硬件成本还是开发周期来看,其高风险、低效率的特性显露无遗。来自英国Labcenter Electronics公司的Pr oteus软件很好地诠释了利用现代EDA工具方便快捷开发单片机系统的优势。它包括PR OTEUS VSM(Virtual System Modelling)、PROTEUS PCB DESIGN两大组成部分,在PC机上就能实现原理图电路设计、电路分析与仿真、单片机代码级调试与仿真、系统测试与功能验证以及形成PCB文件的完整嵌入式系统设计与研发过程。本文讲述PROTEUS VSM单片机系统的PROTEUS设计与仿真功能,图2为基于PROTEUS仿真软件的单片机系统设计流程,它极大地简化了设计工作,得到众多设计师的青睐。

2 基于Proteus的单片机系统设计与仿真

Proteus支持51、PIC、AVR、ARM7等多个系列的单片机芯片,集编辑、编译、仿真调试于一体。它的界面简洁友好,可利用该软件提供的数千种数字/模拟仿真元器件以及丰富的仿真设备,使得在程序调试、系统仿真时不仅能观察到程序执行过程中单片机寄存器和存储器等内容变化,还可从工程的角度直观地看到外围电路工作情况,非常接近工程应用。另外Proteus还能与第三方集成开发环境(如Keil的μVision)进行联合仿真调试,给予开发人员莫大便利。本设计以51单片机构成的99秒马表为例描述基于Proteus的硬件设计、基于Keil C的软件设计以及它们的联合仿真调试过程。

2.1 硬件设计

2个七段数码管显示马表时间,用51单片机的P1口驱动;按键SP挂在外部中断0的I/O口上,第1次按下表示开始运行,第2次按下为计时停止,第3次按下重新归零;扩展程序存储器27256、数据存储器62256主要是缘于嵌入式操作系统μC/OSII下的应用程序设计,片内存储空间有限,同时也方便扩展。

图1 传统的单片机系统设计流程图2 基于Prote us的单片机系统设计流程

图3 基于Proteus的马表系统原理图

根据以上分析,选取的元器件有:AT89C51、4位7段译码显示器、74LS373、27 256、62256、按键及电阻电容等。Proteus绘制原理图和Protel软件相似,先从元件库中取出所需的元件并在绘图区布局好,设置元器件属性,接着进行连线,添加必要的网络标示等,最后完成电气检测。图3为马表电路原理图。

图4 程序流程图

2.2 软件设计

随着嵌入式系统应用不断扩大,功能不断增强,为了对整个系统及其所操作的部件、装置等资源进行统一协调、指挥和有效控制,使开发人员只专注于应用程序设计,在嵌入式系统中引入操作系统是非常必要的。μC/OSII是源码公开的实时多任务操作系统,具备足够的稳定性和安全性,特别适合用于中小型嵌入式系统中。μC/OSII的具体介绍和移植过程请见参考文献[1]。

Keil公司的K eil μVision3,是目前使用最为广泛的开发环境之一。这里介绍在Keil μVision3环境下基于μC/OSII嵌入式操作系统的用户程序设计。根据马表系统功能,设计两个任务:任务1为数码管显示,调用系统延时函数实现马表的运行;任务2为按键判断,属于中断级任务,通过按键启动/停止/重置马表。数码管显示和按键判断任务之间用信号量实现通信;其中按键任务发出信号量,数码管显示任务负责接收信号量。程序流程如图4所示。部分程序清单如下:

主程序

main() {

……

8051init();/*CPU初始化*/ OSInit();/*操作系统初始化*/ OSTaskCreate();/*创建任务*/ OSSemCreate();/*创建信号量*/ OSStart();/*多任务启动*/

……

}

任务1

Task1() {

for(;;) {

……

Display(0);/*显示0*/ OSSemPend();/*等待信号量*/ for(;;){

……

Run_Display();/*马表运行*/

OSSemPend();/*等待信号量*/ ……

}

for(;;){

……

Stop_Display();/*马表停止*/ OSSemPend();/*等待信号量*/ ……

}

}

}

任务2

Int0() interrupt 0 {

EX0=0;/*关中断*/ OSSemPost();/*发出信号量*/ EX0=1;/*开中断*/

}

2.3 系统联调

在Proteus硬件电路图和Keil C程序设计完成之后,接着进行联合仿真。此时需要对Proteus和Keil两个软件进行简单的配置,具体配置过程见参考文献\[2\]。同时打开电路仿真图和C工程文件,在Keil中启动调试“DebugStart/Stop Debug Session”,并运行DebugGo,此时Proteus仿真被Keil启动,在Keil和Proteus中都可以观察运行状态。程序运行后,可看到数码管显示情况,当按下按键,数码管显示作相应切换。

结语

基于Proteus电路设计、Keil程序设计以及它们联合仿真调试的方法,建立了单片机系统硬件设计、软件设计以及调试的全虚拟环境,使得全部的设计工作基于PC就能完成,显著提高了设计开发效率,降低开发风险,这对嵌入式方案开发无疑是一个不错的思路。

单片机原理与应用—基于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? 万方数据

单片机原理及应用——基于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和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

基于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

单片机原理及应用——基于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和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;

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

第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》 课后答案习题解答

第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个机器周期的高电平;按钮开关复位电路,由两个电阻

相关主题
文本预览
相关文档 最新文档