搜档网
当前位置:搜档网 › (完整版)单片机原理及应用——基于Proteus和KeilC

(完整版)单片机原理及应用——基于Proteus和KeilC

(完整版)单片机原理及应用——基于Proteus和KeilC
(完整版)单片机原理及应用——基于Proteus和KeilC

一、填空

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

C.可变的,通过定时器/计数器T1的溢出率设定D.固定的,为f osc/12

9、A T89S51单片机共有(B)个中断源。

A.4 B.5 C.6 D.7

10、ORG 0003H

LJMP 2000H

ORG 000BH

LJMP 3000H

当CPU响应外部中断0时,PC的值是( A )。

A.0003H B.2000H C.000BH D.300

11、当需要从8051单片机程序存储器取数据时,采用的指令为( B )。

(A)MOV A, @R1 (B)MOVC A, @A + DPTR

(C)MOVX A, @R0 (D)MOVX A, @DPTR

12、MCS-51单片机的堆栈区应建立在( A )。

(A)片内数据存储区的低128字节单元 (B)片内数据存储区

(C)片内数据存储区的高128字节单元 (D)程序存储区

13、在串行通信中,MCS-51单片机中发送和接收的寄存器是( B )。

(A)TMOD (B) SBUF (C) SCON (D)DPTR

14、8051单片机中即可位寻址又可字节寻址的单元是( A )。

(A)20H (B)30H (C)00H (D)70H

15、MOVX A , @R0指令中,源操作数采用()寻址方式,指令作用在( )区间。( D ) (A)寄存器,外部数据存储器(B)直接,程序存储器

(C)寄存器间接,内部数据存储器(D)寄存器间接,外部数据存储器

16、执行下列程序段

MOV SP,#3AH

MOV A,#20H

MOV B,#30H

PUSH ACC

PUSH B

POP ACC

POP B

后,A和B的内容分别是( B )。

(A)20H,30H (B) 30H,20H (C)3AH,30H (D)3AH,3AH

三、程序题

1、设(A)=38H,R0=28H,(28H)=18H,执行下列程序后,(A)= E7H。

ORL A,#27H

ANL A,28H

XCHD A,@R0

CPL A

2、如果(DPTR)=5678H,(SP)=42H,(3FH)=12H,(40H)=34H,(41H)=50H,(42H)=80H,则

执行下列指令后:(DPH)= 80H,(DPL)= 50H。

POP DPH

POP DPL

RET

3、单片机采用6MHz的晶振,定时0.5ms,如用定时器方式0时的初值(16进制数)应为0X1F06H

TH0=0X1F TL0=0X06H。

4、下列子程序的功能是将外部数据存储器7000H开始的单元清零,以00H为结束标志。

ORG 0030H

CLEAR: MOV R0,#00H

MOV DPTR,#7000H

CLEAR1:CLR A

MOVX @DPTR,A

INC DPTR

INC R0

CJNE R0,#00H,CLEAR1

SJMP CLEAR

END

5、设晶振频率为6MHz,定时/计数器T0工作于方式2,产生500μs定时中断,在中断服务程序中把累加器A的内容减1,然后送P1口显示,请补全下列程序。

$include (STC12.INC)

ORG 0000H

LJMP MAIN

ORG 000BH

LJMP T0_ISR

ORG 0030H

MAIN: MOV SP,#60H

MOV A,#0FFH

MOV TMOD,#02H

MOV TL0,#06H

MOV TH0,#06H

SETB ET0

SETB EA

SETB TR0

SJMP $

T0_ISR: DEC A

MOV P1,A

RETI

END

1、简述PSW寄存器的各个位的作用。

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 。

PSW.0:奇偶标志位P,累加器A中1的个数为奇数时置1。

2、简述调用子程序和中断服务程序的异同点。

相同点:均能中断主程序执行本程序,然后再返回断点地址继续执行主程序。

不同点:

(1)中断服务程序入口地址是固定的,子程序调用入口地址是用户自己设定的。

(2)中断服务程序返回指令除具有子程序返回指令所具有的全部功能之外,还有清除中断响应时被置位的优先级状态、开放较低级中断和恢复中断逻辑等功能。

(3)中断服务程序是在满足中断申请的条件下,随机发生的;而子程序调用是用户主程序事先安排好的。

3、简述8051单片机4个I/O口在使用上有哪些分工和特点。

①P0口: 可作通用I/O口用,也可作地址/数据线用。作通用I/O口用时,输出级为开漏极电路,在驱动外部电路时应接上拉电阻;在接有外部存储器时,P0口作地址/数据线用,先输出低8位地址到外部地址锁存器,后输人指令代码或输人/输出数据。

②Pl口: 是一个8位准双向口,作通用I/O口用。

③P2口: 是一个8位准双向口,作通用I/O口用。当外部接有存储器时,可用于输出高8位地址。

④P3口: 是一个多功能端口。其基本功能仍然是通用I/O口,使用时与Pl、P2口类似。其第二功能则是串行口、外部中断线、定时器/计数器的输入及外部数据存储器的选通信号等。

准双向口:某引脚的输出变为输入时,用户应向锁存器写“1”,以免错误读出引脚内容。当复位时,口锁存器均置“1”,作为输入口使用。P1P2P3均内置上拉电阻,P0输出端口必须外接上拉电阻,P0.X 才有高电平输出。

4、简述AT89S51单片机的定时/计数器各工作方式的特点。

方式0:采用高8位THx和低5位TLx组成一个13位的加1计数器,满计数值为213,初值不能自动重装载。

计数个数:1~8192(213)定时时间(T=1us):1us~8.19ms

方式1:采用高8位THx和低8位TLx组成一个16位的加1计数器,满计数值为216。

计数个数:1~65536(216)定时时间(T=1us):1us~65.54ms

方式2:采用8位寄存器TLx作为加1计数器,满计数值为28。省去程序重装初值的指令,并可产生相当精确的定时时间。

最大计数值:256(28)最大定时时间(T=1us):256us

方式3:三种定时/计数器关系

①TH0+TF1+TR1组成带中断的8位定时器;

②TL0+TF0+TR0组成的带中断功能的8位定时、计数器;

③T1组成的无中断功能的定时/计数器。

方式3下T0可有两个具有中断功能的8位定时器,在定时器T0用作方式3时,T1仍可设置为方式0~2(但没有方式3状态)。

5、编程:将片外数据存储器2000H至20FFH单元内容清零。

MOV R0,#100H

MOV A,#0

MOV DPTR,#2000H

LOOP: MOVX @DPTR,A

INC DPTR

DJNZ R0,LOOP

END

6、在外部RAM起始地址为2000H的数据表中存有10个字节的数据,编程将每个字节的最高位无条件置于1。

MOV DPTR, #2000H

MOV R7 #10

LOOP: MOVX A, @DPTR

ORL A, #80H

MOVX @DPTR, A

INC DPTR

DJNZ R7, LOOP

END

7、编程:设晶振频率为12MHz,定时/计数器T1工作于方式1,产生50ms定时中断,在中断服务程序中把累加器A的内容减1,然后送P1口显示。

ORG 0000H

LJMP MAIN

ORG 001BH

LJMP T1_ISR

ORG 0030H

MAIN: MOV TMOD,#10H

MOV TL0,#0B0H

MOV TH0,#3CH

SETB ET1

SETB EA

SETB TR1

SJMP $

T1_ISR: DEC A

MOV P1,A

RETI

END

8、编写一段程序,把片外RAM中2000H-2030H单元的内容传送到片内RAM的30H-60H单元中。

MOV R7,#30

MOV DPTR,#2000H

MOV R0,#30H

LOOP: MOVX A,@DPTR

MOV R0,A

INC R0

INC DPTR

DJNZ R7, LOOP

END

9、编程将16个数据连续存放在以BUF为起始地址的内部RAM中,找出最大值存入MAX单元。

MOV R7,#16

MOV R0,#60H

LP: MOV 30H,@R0

MOV BUF,@R0

INC R0

MOV A,@R0

CLR CY

CJNE A,30H,NOEQU

NOEQU: JC NEXT

MOV MAX,A

SJMP LOP

NEXT: MOV MAX,30H

LOP: DJNZ R7,LP

END

10、读图分析题。

1)所示,单片机外部扩展的是什么存储器?其容量总共是多少?2)分别写出三片存储器芯片的地址范围。

答:

1)数据存储器,总容量为24K。

2)IC1:C000H~DFFFH

IC2:A000H~BFFFH

IC3:6000H~7FFFH

基于51单片机的乒乓游戏机设计附Proteus仿真_毕业设计

基于51单片机的乒乓游戏机设计附Proteus仿真 基于51单片机的乒乓游戏机设计附Proteus仿真 目录 1 绪论 (1) 1.1 本设计的研究背景和研究目的 (1) 1.2 国内外研究现状 (1) 1.3 本设计的任务和设计方法 (2) 1.3.1 设计任务 (2) 1.3.2 设计方法 (2) 2 乒乓游戏机设计方案 (3) 2.1 基于单片机的乒乓游戏机设计 (3) 2.1.1 硬件设计 (3) 2.1.2 软件设计 (4) 2.2 基于FPGA的乒乓游戏机设计 (4) 2.3 方案比较与选择 (5) 3硬件电路的设计 (6) 3.1 硬件核心电路选择 (6) 3.1.1 单片机STC89C51简介 (6) 3.1.2 单片机端口分配 (7) 3.2 电源电路的设计 (8) 3.3 时钟电路的设计 (9) 3.4 复位电路的设计 (10) 3.5 按键电路的设计 (10) 3.6 模拟球台电路的设计 (12) 3.6.1 译码器简介 (12) 3.6.2发光二极管简介 (14) 3.6.3 模拟球拍电路的设计 (15) 3.7 显示电路的设计 (15) 3.7.1 LCD1602简介 (15) 3.7.2 显示电路的设计 (16)

3.8 乒乓游戏机总电路的设计 (17) 4 乒乓游戏机的软件设计及编程 (18) 4.1 主程序的设计及功能实现 (19) 4.2 按键组的设计及功能实现 (20) 4.2.1 球拍模拟子程序 (20) 4.2.2 暂停/开始子程序 (20) 4.3 发球程序的设计及功能实现 (21) 4.4 线路程序的设计及功能实现 (21) 4.4.1 线路选择子程序 (21) 4.4.2 LED点阵子程序 (22) 4.5 回球程序的设计及功能实现 (22) 4.6 LCD显示程序设计及功能实现 (23) 4.7 设计源程序 (24) 5 系统调试及分析 (24) 5.1 仿真调试及分析 (24) 5.1.1 Proteus软件简介 (24) 5.1.2 Keil uVision4软件简介 (25) 5.1.3 仿真调试 (25) 5.1.4 仿真调试的结果分析 (28) 5.2 实物调试及分析 (28) 5.2.1 制作实物的过程 (28) 5.2.2 进行实物调试 (28) 5.2.3 实物调试的结果分析 (31) 6 结论与展望 (32) 谢辞(Acknowledge) (33) 参考文献 (34) 附录1:程序 (36) 附录2:元件清单 (51)

(整理)较为全面的基于PROTEUS仿真51单片机动态数码管课程设计(WORD版)

单片机课程设计 题目动态数码管显示 学院机电工程学院 专业班级电子信息工程12-1班 姓名 组员 指导教师张、王老师 2015 年 5 月30 日

课程设计量化评分标准

目录 一、概述 (1) 1. 单片机简介 (1) 2. Proteus简介 (2) 3. 设计任务与要求 (3) 二、硬件设计 (3) 1. 单片机最小系统设计 (1) 2. 数码管显示部分 (4) 3. 数码管驱动部分 (5) 三、软件设计 (6) 1. 仿真原理图 (6) 2. 仿真参数设置 (6) 3. 仿真结果 (7) 4. 程序流程图 (8) 5. 程序代码.................................................... .9 四、心得体会............................................... (11) 五、参考文献 (12)

精品文档 一、概述 1. 单片机简介 如图1.1和图1.2分别为PDI P封装的AT89C52引脚图和实物图 图1.1 引脚图图1.2 实物图 AT89C52是一个低电压,高性能CMOS8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。 AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2 个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的 Flash存储器可有效地降低开发成本。 AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。本课程设计中使用的是PDIP封装的AT89C52单片机。 2.Proteus简介 如图1.3为Proteus7.0的工作界面图

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 课程设计

课程设计任务书 学生姓名:专业班级:电子1102班 指导教师:工作单位:信息工程学院 题目:方波发生电路 初始条件: 计算机、Proteus软件、Cadence软件 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写 等具体要求) 1、课程设计工作量:1.5周 2、技术要求: (1)学习Proteus软件和Cadence软件。 (2)设计一个方波发生电路。 (3)利用Cadence软件对该电路设计原理图并进行PCB制版,用Proteus软件对该电路进行仿真。 3、查阅至少5篇参考文献。按要求撰写设计报告书。全文用A4纸打印,图纸应符合绘图规范。 时间安排: 2015.1.12做课设具体实施安排和课设报告格式要求说明。 2015.1.12-1.15学习Proteus软件和Cadence软件,查阅相关资料,复习所设计内容的基本理论知识。 2015.1.16-1.20对方波发生电路进行设计仿真工作,完成课设报告的撰写。 2015.1.21提交课程设计报告,进行答辩。 指导教师签名:年月日 系主任(或责任教师)签名:年月日

目录 摘要.....................................................................................................I Abstract................................................................................................II 1绪论.. (1) 2方案论证 (2) 3利用Proteus软件进行电路设计及仿真 (5) 4利用Cadence软件进行电路设计及PCB绘制 (9) 4.1电路原理图设计 (9) 4.2PCB设计 (10) 5心得体会 (13) 参考文献 (14)

关于如何使用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的联调软件安装好!

51单片机+proteus仿真PWM

#include unsigned char flag; unsigned int x; unsigned int y; #define time 800 void main() { EA=1; //开总中断 ET0=1; //定时器T0中断允许 TMOD=0x02; //使用定时器T0的模式2 TH0=0; //定时器T0的高8位赋初值 TL0=0; //定时器T0的高8位赋初值 TR0=1; //启动定时器T0 x=time; y=0; while(1)//无限循环等待中断 ; } /************************************************************** 函数功能:定时器T0的中断服务程序 **************************************************************/ void Time0(void) interrupt 1 using 0 //“interrupt”声明函数为中断服务函数 //其后的1为定时器T0的中断编号;0表示使用第0组工作寄存器{ if(flag==0) { TH0=256-y; //定时器T0的高8位重新赋初值 TL0=256-y; //定时器T0的高8位重新赋初

P1=1; if((--x)==0) { flag=1; x=time; if((--y)==0) { y=100; } } } if(flag==1) { TH0=y; //定时器T0的高8位重新赋初值 TL0=y; //定时器T0的高8位重新赋初 P1=0; if((--x)==0) { flag=0; x=time; if((--y)==0) { y=100; } } } }

基于proteus的数字电子钟的仿真设计

题目:基于Proteus的数字电子钟的设计 与仿真 课程名称:单片机系统设计与Proteus仿真 学生姓名:马珂 学生学号: 1305010323 系别:电子工程学院 专业:通信工程 年级: 13级 任课教师:徐锋 电子工程学院 2015年5月

目录 一、设计目的与要求 (3) 二、设计内容与方案制定 (3) 三、设计步骤 (3) 1.硬件电路设计 (3) 1.1.硬件电路组成框图 (3) 1.2.各单元电路及工作原理 (4) 1.3.绘制原理图 (5) 1.4.元件清单列表 (6) 2.程序设计 (6) 2.1程序流程 (6) 2.2汇编程序 (7) 四、调试与仿真 (12) 五、心得体会 (14) 六、参考文献: (14)

基于Proteus的数字电子钟的设计与仿真 一、设计目的与要求 设计目的:通过课程设计,培养学生运用已学知识解决实际问题的能力、查阅资料的能力、自学能力和独立分析问题、解决问题的能力和能通过独立思考。 设计要求:设计一个时、分可调的数字电子钟、开机显示“9-58-00”。 二、设计内容与方案制定 具有校时功能,按键控制电路其中时键、分键两个键分别控制时、分时间的调整。按分键分加1;按时键时加1。 以AT89C51单片机进行实现秒、分、时上的正常显示和进位,其中显示功能由单片机控制共阴极数码管来实现,数码管进行动态显示。 三、设计步骤 1、硬件电路设计 1.1.硬件电路组成框图 1.2.各单元电路及工作原理 (1)晶振电路 单片机的时钟产生方法有两种:内部时钟方式和外部时钟方式。本系统中

AT89C51单片机采用内部时钟方式。采用外接晶体和电容组成的并联谐振回路。其电路图如下: (2)键盘控制电路 键盘可实现对时间的校对,用两个按键来实现。按时键来调节小时的时间,按分键来调节分针的时间。其电路连接图如下: (3)显示电路 LED显示器是现在最常用的显示器之一发光二极管(LED)分段式显示器由7条线段围成8字型,每一段包含一个发光二极管。外加正向电压时二极管导通,发出清晰的光。只要按规律控制各发光段亮、灭,就可以显示各种字形或符号。显示电路显示模块需要实时显示当前的时间,即时、分、秒,因此需要6个数码管,采用动态显示方式显示时间,其硬件连接方式如下图所示。

Keil与Proteus安装联调操作(完美版)

1.安装Proteus Version 7.1 SET71UP。 2.包括安装破解文件MAXIM_LICENCE.lxk。 3.安装补丁文件patch,注意要在安装目录下补丁。 或者将文件夹BIN下:ARES/ISIS/LICENCE.DLL/PROSPICE.DLL 文件夹ELECTRA下:ELECTRA 文件夹MODELS下:AVR.DLL/KEYPAD.DLL/LCDALPHA.DLL/LCDPIXEL.DL L/LEDMPX.DLL/MCS8051.DLL/ /PIC12C5.DLL/PIC12C6.DLL/PIC12F6.DLL/pic16f6.DLL/PIC18.DLL/READOU T.DLL/VTERM.DLL 的文件复制到安装目录相应的文件覆盖。 4.安装汉化菜单: Proteus 7.01 SP2 ARES的汉化菜单放到……Program Files\Labcenter Elect ronics\Proteus 7 Professional\BIN目录下。 Proteus 7.01 SP2 ISIS的汉化菜单放到……Program Files\Labcenter Electro nics\Proteus 7 Professional\BIN目录下。 5.完成Proteus安装。 6.安装keil C518.08 uVision3 setup。 7.进入Keil uVision3界面。点File > license management 打开Keil_lic-v3.2 注册机 产生LICO 将其复制填入NEW LICENSE ID中,同时复制COMPUTER I D 或者通过KEGGEN产生填入NEW LICENSE ID中。 8.Keil 与Proteus连接,连接开始必须在roteus安装目录下VDM51.dll文件复制到Keil安装目录的\C51\BIN 目录中,但新版本中没有,所以 必须下载安装补丁vdmagdi.exe,则在Keil安装目录的\C51\BIN 目录中有文件:VDM51.dll 同时还需下载一破解文件PROSPICE.dll替换\Proteus 6 Professional\BIN目录下的相同文件(新版本的Proteus可能不需要)。 9.修改keil安装目录下Tools.ini文件 用记事本(其它的编辑软件也可以,如Ultra Edit)打开Keil 根目录下的TOOLS. INI 文件,在[C51] 栏目下加入 TDRV3=BIN\VDM51.DLL ("Proteus VSM Monitor-51 Driver" ) ,其中“TDR V3” 中的“3”要根据实际情况写,不要和原来的重复。 10.打开proteus,画出相应电路。在proteus的debug菜单中选中use remote debug monitor 。 在keil中编写MCU的程序。进入KEIL的project菜单option for target '工程名'。在DEBUG选项中右栏上部的下拉菜选中Proteus VSM Monitor-51 Dr iver。 在进入seting,如果同一台机IP 名为127.0.0.1,如不是同一台机则填另一台的IP地址。端口号一定为8000 。 11.完成keil C51 uVision2 setup 版本号是7.50a记下安装序列号SN = K1DZP-5IUSH-A01UE, 进入setup目录点击setup.exe进行安装 12.一个实际例子:

51单片机行列式键盘的应用proteus仿真+源程序

51单片机行列式键盘的应用proteus仿真本人喜好单片机设计,精通单片机编程和硬件电路设计,在空余之际编一些小程序与大家分享,有哪位路过,请多多指教,希望大家在一起能互相学习,互相进步。这里的程序已经测试通过。发表出来,一来可以帮助同样爱好单片机的朋友们,二来,希望能结交一些同道中人,共同学习。 源程序: #include #include void delayms(unsigned char ms); unsigned char data dis_digit; unsigned char code dis_code[11]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0xff}; unsigned char data dis_index; void main() { P2=0xff; P1=0x00; dis_index=0; dis_digit=0x01; while(1) { P2=dis_code[dis_index]; P1=dis_digit; delayms(1); P1=0x00; dis_digit=_crol_(dis_digit,1); dis_index++; dis_index &=0x07; } } void delayms(unsigned char ms) { unsigned char i; while (ms--) {

for(i=0;i<120;i++); } } 仿真图:

如果您想做项目开发,或者是做课题,或者您只是有一个想法,亲联系我们,我们会尽最大努力帮您完成,您的需要就是我们奋斗的方向! 本人有给学生做课程设计的经验,欢迎亲们来本店咨询哦 淘宝店铺地址:https://www.sodocs.net/doc/c916434773.html, ; https://www.sodocs.net/doc/c916434773.html, QQ:1203026348;496617571 邮箱:1203026348@https://www.sodocs.net/doc/c916434773.html, ;496617571@https://www.sodocs.net/doc/c916434773.html, 电话:小陈:152******** 小张:158******** 阿里旺旺:tb3569_1968 ;zwjyln 我们拥有40G!!超大容量!!!是单片机入门者的首选经典资料!!! 您在单片机方面有任何问题,请及时和我们联系,我们会竭诚为您服务!! 承接单片机项目开发,同时包括软件开发和硬件开发。我们是一组拥有扎实的单片机基础知识的大学生,我们可以给您提供从项目开始到项目的完成整个过程的技术支持,其中包括原理图的设计、电路图的proteus软件仿真、程序的编写以及相关软件的使用等

proteus课程设计

沈阳航空航天大学电子信息工程学院 电子设计应用软件训练 总结报告 学生姓名: 专业: 班级: 学号: 指导教师: 训练时间:2013年7月8日至2013年7月12日 电子信息工程学院电子设计应用软件训练任务 【训练任务】:

1、熟练掌握PROTEUS软件的使用; 2、按照设计要求绘制电路原理图; 3、能够按要求对所设计的电路进行仿真; 【基本要求及说明】: 1、按照设计要求自行定义电路图纸尺寸; 2、设计任务如下: 51单片机内部定时计数器T0,按计数器模式和方式1工作,对P3.4(T0)引脚进行计数,将其数值P1口驱动LED灯上显示出来,由按键产生计数脉冲,LED 分别显示脉冲个数(10个以内)。 3、按照设计任务在Proteus 6 Professional中绘制电路原理图; 4、根据设计任务的要求编写程序,在Proteus下进行仿真,实现相应功能。 成绩: 一、任务说明 51单片机内部定时计数器T0,按计数器模式和方式1工作,对P3.4(T0)引脚

进行计数,将其数值P1口驱动LED灯上显示出来,由按键产生计数脉冲,LED分别显示脉冲个数(10个以内)。按照设计任务在Proteus 6 Professional中绘制电路原理图。 根据设计任务的要求编写程序,在Proteus下进行仿真,实现相应功能。 二、PROTEUS软件的使用 1、软件概述: Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:①实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。②支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。③提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2等软件。④具有强大的原理图绘制功能。总之,该软件是一款集单机和SPICE分析于一身的仿真软件,功能极其强大。 图1 proteus工作界面 2、对象的添加和放置 点击工具箱的元器件按钮,使其选中,再点击IsIs对象选择器左边中间的置P 按钮,出现“Pick Devices”对话框。在这个对话框里我们可以选择元器件和一些

基于51单片机的计算器(附Proteus仿真图且程序有详细注释)

#include #define uint unsigned int #define uchar unsigned char #define lint unsigned long int uchar SMG[10]={0x3f,0x06,0x5b,0x4f, //数码管取模 0x66,0x6d,0x7d,0x07, 0x7f,0x6f }; uchar DA TA1[8]={0,0,0,0,0,0,0,0}; //第一个数 uchar DA TA2[8]={0,0,0,0,0,0,0,0}; //第二个数 uchar RESUIT[8]={0,0,0,0,0,0,0,0}; //结果 uchar px1=0,px2=0,px3=0,flag=0,flag1=0,flag2=0,flag3=0,f1=0,f2=0,f3=0,f4=0; //各全局变量uchar temp,key; lint x1=0,x2=0,y=0; //输入的数及其结果 void Init(); //系统初始化 void keyscan(); //键盘检测 void delay(uint); //延时 void DataOper(); //数据运算 void DataHandle(); //数据接收 void DisplayHandle(); //显示处理 void display(uchar,uchar); //数码管显示函数 void main() { P2=0x00; while(1) { keyscan(); DataHandle(); DisplayHandle(); } } void Init() //初始化,所有数据归零 { uchar i; px1=0;px2=0;px3=0; flag=0;flag1=0;flag2=0;flag3=0; f1=0;f2=0;f3=0;f4=0; x1=0;x2=0;y=0; for(i=0;i<8;i++) {DA TA1[i]=0;DATA2[i]=0;RESUIT[i]=0;} } void delay(msx) //msx为延时毫秒数 { uint i,j;

proteus闹钟课程设计要点

题目:闹钟的设计 学生姓名:黄书林 学生学号: 1114010110 系别:电气信息工程学院 专业:自动化 年级: 11 级 任课教师:张水锋 电气信息工程学院制 2013年10月

目录 摘要 (2) 课程任务与要求 (2) 方案论证 (2) 闹钟流程图 (3) 单元电路: (6) 单片机芯片 (6) 八位数码管显示电路 (7) 闹钟调节按键电路 (9) 晶振电路 (10) 复位电路 (10) 蜂鸣器体相电路 (11) 总图: (12) 心得体会 (13) 参考文献 (13) 附录 (13)

闹钟的设计 学生:黄书林 指导教师:张水锋 电气信息工程学院自动化 摘要 通过学习《基于Proteus的51系列单片机设计与仿真》让我知道我们不仅需要有过硬的理论知识,还应该有动手实践的能力。并且是将理论结合实际, 提升到应用层面。以后走上社会,还是会有很多新的知识是需要我们学习的,届时需要我们有比较强的自学能力。此次《基于Proteus的51系列单片机设计与仿真》课程设计。对理论结合实际的动手能力和自学能力有很强的体现。本次设计是基于 AT89C51 单片机的数字闹钟的设计。 关键词:数字闹钟 AT89C51 Proteus。 课程任务与要求 本次课程的任务就是要以51系列单片机为核心设计一个闹钟,它能通过单片机实现秒、分、小时的进位24 小时制,将当前时分秒在七段 LED 显示器上显示。可设置闹钟的时间当前值对准一时间,设置闹铃时间,闹铃功能的关闭和开放。 要求:通过Proteus软件来实现设计的仿真,提高自己的编程水平,增加设计兴趣。通过做自己喜欢的设计,提高自学能力。为以后毕业走上工作岗位打下坚实的基础。 二方案论证 经分析,计算器电路包括三个部分:显示部分八位数码管、闹钟时钟按键、 单片机电路。具体分析如下: 1 显示部分 1.1 LCD显示 LCD1602作为一个成熟的产品,使用简单,模式固定,便于移植到各种类型的程序,微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,价格大概15块钱左右。 1.2数码管显示 数码管是一种半导体发光器件,其基本单元是发光二极管。数码管按段数分为七

基于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/c916434773.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还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似但功能更多。

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的51单片机仿真

基于proteus的51单片机仿真实例七十八、使用BCD译码器实现8位数码管显示应用实例 标签: proteus译码器单片机BCD数码管2010-02-24 16:57 1、在此前有关数码管显示的例子中,单片机必须要发送段码才能够让数码管显示正确的数字。 本例使用7段数码管显示译码器4511,单片机可以直接输出BCD码,4511能够自动将BCD 码转换为数码管的段码。 2、在keil c51中新建工程ex66,编写如下程序代码,编译并生成ex66.hex文件 //使用BCD码译码器控制数码管显示 #include //位码表 unsigned char code bit_buff[] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //需要显示的数字 unsigned char code bcd_buff[] = {2,0,1,0,10,2,10,9}; //延时函数 void delayms(unsigned int x) { unsigned char i; while(x--) { for(i = 0;i < 120;i++); } } void main(void) { unsigned char i; while(1) { for(i = 0;i < 8;i++) //显示8位 { P2 = bit_buff[i]; // 位码 P1 = bcd_buff[i]; //需要显示的数字,这里的数字不再是段码,而是BCD码 3、在proteus中新建仿真文件ex66.dsn,电路原理图如下所示

4、将ex66.hex文件载入at89c51中,启动仿真,按动拨码开关,观察运行结果。下图是某一时刻程序运行结果

电气信息工程学院Proteus课程设计报告格式仿真

课程设计课程:Proteus 学生XX: 学生学号: 院系:电气信息工程学院 专业:电子信息科学与技术班级:09电技(2)班 任课教师:

《Proteus》课程设计报告 学生XX:学号: 一、设计任务内容 如下列框图,当按下K1时,显示器显示模拟信号V1的测量值;当按下K2时,显示器显示模拟信号V2的测量值。信号源可以采用传感器或信号发生器产生。结合Proteus完成: 1、设计的硬件电路图; 2、软件操作流程图; 3、运行的结果界面抓图; 4、附设计的程序代码。 二、设计分析 此设计将Proteus软件和Keil软件结合设计仿真线路和程序,将连续的模拟电压信号经过A/D转换器转换成二进制数值,再经由单片机软件编程转换成十进制数值并通过显示屏显示。此设计采用2个开关进行控制,通过按键来选择显示哪一路数据。本实验采用AT89C51单片机,A/D转换用ADC0808,显示部分使用7SEG-MPX4-CA-BLUE。 主程序主要负责初始化工作:设置定时器、寄存器的初值,启动A/D转换,读取转换结果,处理量程转换响应,控制液晶显示等 A/D转换程序的功能是采集数据,在整个系统设计中占有很高的地位。当系统设置好后,单片机扫描转换结束管脚P1.7的输入电平状态,当输入为高电平则转换完成,将转换的数值转换并显示输出。若输入为低电平,则继续扫描。 三、总体设计 1.A/D转换 ADC0808是CMOS单片型逐次逼近式A/D转换器,它有8路模拟开关、地址锁存与译码器、比较器、8位开关树型A/D转换器。 ADC0808芯片有28条引脚,采用双列直插式封装,如下图所示。各引脚功能如下:1~5和26~28(IN0~IN7):8路模拟量输入端。 8、14、15和17~21:8位数字量输出端。

关于如何使用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. 运行、停止

Keil C与Proteus连接调试的经典教程

Keil C与Proteus连接调试的经典教程 1、假若KeilC与Proteus均已正确安装在C:\Program Files的目录里,把C:\Program Files\Labcenter Electronics\Proteus 6 Professional\MODELS\VDM51.dll复制到C:\Program Files\keilC\C51\BIN目录中。 2、用记事本打开C:\Program Files\keilC\C51\TOOLS.INI文件,在[C51]栏目下加入: TDRV5=BIN\VDM51.DLL ("Proteus VSM Monitor-51 Driver") 其中“TDRV5”中的“5”要根据实际情况写,不要和原来的重复。 (步骤1和2只需在初次使用设置。) 3、进入KeilC μVision2开发集成环境,创建一个新项目(Project),并为该项目选定合适的单片机CPU器件(如:Atmel公司的A T89C51)。并为该项目加入KeilC源程序。 源程序如下: #define LEDS 6 #include "reg51.h" //led灯选通信号 unsigned char code Select[]={0x01,0x02,0x04,0x08,0x10,0x20}; unsigned char code LED_CODES[]= { 0xc0,0xF9,0xA4,0xB0,0x99,//0-4 0x92,0x82,0xF8,0x80,0x90,//5-9 0x88,0x83,0xC6,0xA1,0x86,//A,b,C,d,E 0x8E,0xFF,0x0C,0x89,0x7F,0xBF//F,空格,P,H,.,- }; void main() { char i=0; long int j; while(1) { P2=0; P1=LED_CODES[i]; P2=Select[i]; for(j=3000;j>0;j--); //该LED模型靠脉冲点亮,第i位靠脉冲点亮后,会自动 熄来头。 //修改循环次数,改变点亮下一位之前的延时,可得到不同的 显示效果。 i++; if(i>5) i=0; } }

相关主题