找回密码
 注册
关于网站域名变更的通知
查看: 365|回复: 1
打印 上一主题 下一主题

[毕业设计] KEIL μ Vision2环境下仿真单片机程序

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-3-16 13:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
* W) b% y' H5 a
摘要:KEILμVision2软件的串口、I/0口、定时器/计数器和中断等4种仿真功能可以  T  c9 @, d- W7 s! {+ z7 T7 c9 e
为用户在不需要任何8051单片机硬件的条件下调试程序.具体介绍这4种仿真,并在该软件$ U% x3 [( F8 l8 X7 V
环境下建立LED循环闪烁显示实验,仿真AT89S51单片机的定时/计数器T0功能,得到应有1 v" v2 e* ?" S. _, \
的结果.
# c% N1 z# o) t% j0 N$ C  U8 _
. j% m: {& u) F# Y关键词: KEIL; LED循环闪烁显示;单片机仿真' ?. |1 D: D! B" ~2 p

2 s/ w* H0 Z# ]" g& {! o8 [  z, t9 l3 I0引言
4 ?  y& s* Y5 U6 t* EKEIL 51是德国KEIL公司开发的单片机C语言
  M& Z3 p! N+ _; L/ J编译器,该编译环境集成文件编译处理、编译链接、# F& x: J5 p5 F# p
项目管理、窗口、工具引用和软件仿真等多种功能,
4 f4 M: [+ g9 ]6 f5 P: k6 u是功能很强的C51开发工具,目前越来越多的人使$ z# w' \5 U3 }! a$ a! ^
用这种环境开发单片机程序.: d+ ~6 O) y% y3 r, {  |0 ?
μ Vision 2是KEIL公司关于8051系列mcu; t  m. \5 U& j" T' n+ w0 i
(Mi cro Controller Unit)的开发工具,可以用来
' F; N( h% @( \$ H; G: _) N' S编译C语言代码、汇编语言程序、创建HEX文件、! Y  w, F& o+ P$ g1 ]* Q
调试目标程序等. μ Vision 2的仿真功能有两种: p+ `9 [# }% c& @& s/ X
模式:软件模拟方式和硬件系统板仿真,其中软件3 q7 ]! l7 e/ b5 |3 T2 x6 u
模拟方式不需要任何8051 单片机硬件就可以调试
( ]7 O+ d4 z- L, I$ e% p! v用户的程序,开发效率极大提高,开发经费大为节$ R" A# P- X2 I. A; C/ H7 ^
5 E* h9 w2 p9 y& F5 N* n
省.
) @' D5 e& [* }, D11
5 |9 K- k: l0 i9 d) I8 k) b0 Sμ Vision 2软件仿真
- L$ L  q: k* \% cμ Vision 2软件仿真功能强大,可以仿真各+ d6 Q+ ~5 y. Y: O  J8 M( ~
种外设,包括串口、I/0口、定时器/计数器等7 Z; t9 L% Y9 Y  U5 ]6 w  a* s# |# Z, [) q; P
1.1I/0端口仿真
9 S( w4 x7 ^, s% k& VμVision2在项目选定CPU型号后就自动定
/ A) w; @, [# D义外设,有两种定义变量:特殊功能寄存器( Special1 B; M: _/ _+ G: M
Function Registers, SFRs) 和虚拟目标寄存器+ N4 t; K5 f" F- w6 X. V- Q
(Virtual Target Registers, VTREGs). μ Vision
1 z- n) ^8 W! o$ x2提供所选择CPU中所有的特殊功能寄存器,并且- R! [7 S8 ~# M# l
SFRs有固定地址和简记的表示方法; VITREGs能使用
4 }! T; ^3 y7 x2 NCPU仿真的管脚确定输出和输入,但是VTREGs不是
$ H6 Y$ E8 z! O6 Y9 w+ W' Q
( b* S# ?: B% T& b( L! [公共变量,也不存在于CPU的某个内存地址内,其
  w$ [4 q! l8 P5 e% ~2 z值和使用与CPU有关,VTREGs 标志详见文献[1].
* x3 V" ], N' A* E; r在项目建立并且通过编译后,选择Debug (调7 j" j9 v; {* q8 S
试)菜单中的开始(Start) /停止(Stop Debug)
& }2 ~4 m, O# p! f. R进入模拟仿真状态,可以直接选择Peripherials
; v8 S0 J- h9 ]) L: Z2 q* M1 q) z$ w
(外围设备)菜单中的I/0-Ports选项中的I/0端
5 y" [+ V2 T, k4 O1.- c8 i) }1 |/ g# h
口,弹出所需要监视的I/0端口状态表,见图1. I/0
: Z1 ~5 I# v! g9 c* O# I* ?口对话框反映端口(P1) 内部状态和MCU (引脚)
; ]2 f( n( r; e, S状态,每个端口都有VTREGs,可以查看和修改引脚
0 C" P- `9 K  Y6 ~  [+ O2 C& y: Z* @
7 S  X) I7 s2 d6 G的状态。在仿真有外部硬件的输入时,就需要用到
' t3 {( |& v# d% i3 YVTREGs,μ Vision 2为每个I/0端口都定义1个5 k) ]8 M: p5 k! |$ @
VTREG,例如PORT1是I/0口1的VTREG名字.在调% Y4 n* K4 `; D- V" F
试器命令窗口中,可以进入PORT1取得端口1引脚, H( i1 U5 R. w" u# o2 b" D: e
的当前值,向PORT1指定1个值就是设置和清除引, J* E+ F' l2 o9 s- e+ x3 D/ _
脚的相应输入值。在程序执行时就可以直接通过每
( Z3 }; ]' w, d: u6 \. p4 |个I/0口的“1”和“0”的变化断定该口输出电平
4 C4 Y" t+ y& ~的高低.但是不能够混淆各个端口的VTREGs 和2 B9 ^5 c2 T8 l: h3 t( A  i0 W
SFRs,例如P2和SFRs可以被当作CPU的内存空间
$ o9 x. L9 z+ X/ k: V0 \8 o7 e# o访问,但是VTREGs只能是引脚上的信号.如果有1& C8 ]" a/ H5 X/ `
个脉冲进入1个端口引脚上,可以使用信号函数仿
5 a6 y1 W) B+ k! F. b' J* D真这个信号。) y2 E* h4 w, V; N- E) O

! N+ o6 {8 r- s- ~  Z1 ]
2 C/ F: x  K. c6 p( x+ g* r3 c# n' D& `! S' B5 i
附件下载:
游客,如果您要查看本帖隐藏内容请回复
* v6 p. r1 Q" F2 a( ~- R9 @

* {+ r5 G8 V7 f4 Z( ], x

该用户从未签到

2#
发表于 2020-3-16 13:46 | 只看该作者
KEIL 51是德国KEIL公司开发的单片机C语言编译器
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-2 12:22 , Processed in 0.156250 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表