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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
, l; m$ `$ q. Y! Y
摘要:KEILμVision2软件的串口、I/0口、定时器/计数器和中断等4种仿真功能可以" W- ~7 H1 J* x7 [1 C  p* e2 l
为用户在不需要任何8051单片机硬件的条件下调试程序.具体介绍这4种仿真,并在该软件
7 w3 o  }0 D; O1 }( C环境下建立LED循环闪烁显示实验,仿真AT89S51单片机的定时/计数器T0功能,得到应有4 O+ s+ U$ K1 h3 M# ]9 {; g6 n
的结果., S1 v* x9 N, n4 R" X

/ l" R. O$ H/ W$ b: f, H关键词: KEIL; LED循环闪烁显示;单片机仿真
" g4 C3 d, D/ v% ]3 e9 z% b  C
0引言
- m9 D+ v1 l# n" H2 l3 J2 eKEIL 51是德国KEIL公司开发的单片机C语言8 E: X9 l. y/ G3 k% G
编译器,该编译环境集成文件编译处理、编译链接、
+ Q7 T' d9 ^# g$ a. m" L项目管理、窗口、工具引用和软件仿真等多种功能,% i8 ?0 u1 U! l3 I, d
是功能很强的C51开发工具,目前越来越多的人使
" ?: U, S2 V: l: S  T' i& q用这种环境开发单片机程序.9 q7 `; O$ B# j* D' O
μ Vision 2是KEIL公司关于8051系列mcu) z0 w; R9 J* u# f) i5 L8 Y
(Mi cro Controller Unit)的开发工具,可以用来
: `9 a; r9 F! d# s2 B编译C语言代码、汇编语言程序、创建HEX文件、
$ h- K, T. D- E调试目标程序等. μ Vision 2的仿真功能有两种
: I/ Y. {7 W% B1 G  \1 h模式:软件模拟方式和硬件系统板仿真,其中软件8 l" W% K* |  q! {1 Z
模拟方式不需要任何8051 单片机硬件就可以调试" Q8 ?# _/ z" N7 i, s( P
用户的程序,开发效率极大提高,开发经费大为节# g) e6 B* @' j! }  Q

4 W. O9 }1 t' Q: x) l省.- x  W4 E( L& \5 x
116 D8 u  V8 d) @
μ Vision 2软件仿真
; h* p( p' ?  d( ~0 n+ Wμ Vision 2软件仿真功能强大,可以仿真各" o2 Y  O  {3 B1 ^  o" `
种外设,包括串口、I/0口、定时器/计数器等6 P5 Z0 j. N7 d; p! s$ z$ k
1.1I/0端口仿真7 K7 P' u7 n! R3 ?' o# C
μVision2在项目选定CPU型号后就自动定
* v9 l' u3 @3 C义外设,有两种定义变量:特殊功能寄存器( Special* k- @9 S( M+ c: w* w. b; v
Function Registers, SFRs) 和虚拟目标寄存器  e8 y5 B5 e) G. _* N% G  C: R- [
(Virtual Target Registers, VTREGs). μ Vision
! O8 {* V$ C, r% [2提供所选择CPU中所有的特殊功能寄存器,并且. Y  Q5 R1 b+ d7 r) M7 o$ i
SFRs有固定地址和简记的表示方法; VITREGs能使用
( j/ `9 ~" h0 `5 WCPU仿真的管脚确定输出和输入,但是VTREGs不是4 Y, p. b! O! b/ k& i* B% S
5 t( S( \8 _6 w! d9 q1 f% B
公共变量,也不存在于CPU的某个内存地址内,其
3 ^) u4 [* P9 `. W: C! Y6 {值和使用与CPU有关,VTREGs 标志详见文献[1].
2 {. i# M$ K$ U& `6 U7 r; J4 |1 I4 m在项目建立并且通过编译后,选择Debug (调1 ]1 T- U* V9 k% \
试)菜单中的开始(Start) /停止(Stop Debug)
3 @! m8 g: n0 E" c" Y, u进入模拟仿真状态,可以直接选择Peripherials$ W9 V$ z( R! y) [

8 t/ g9 }9 I8 ?(外围设备)菜单中的I/0-Ports选项中的I/0端
; R2 ?- g! U9 S" ^3 @* \1.' L6 a$ i9 _0 f
口,弹出所需要监视的I/0端口状态表,见图1. I/0* E' F% F! Q4 K5 p
口对话框反映端口(P1) 内部状态和MCU (引脚)
8 g8 _; Q' Y4 }# _" Y# y: X状态,每个端口都有VTREGs,可以查看和修改引脚
) c& r, K2 }' L. i
. Q. ?& s) D% [/ b, {1 G的状态。在仿真有外部硬件的输入时,就需要用到* A7 X6 c: n; o7 _6 [6 L# Y' }
VTREGs,μ Vision 2为每个I/0端口都定义1个
4 Q# w/ L2 {+ {' G" xVTREG,例如PORT1是I/0口1的VTREG名字.在调
8 D8 E# }8 z8 f! S/ e' Q0 W试器命令窗口中,可以进入PORT1取得端口1引脚" ?: V8 ^( L# d
的当前值,向PORT1指定1个值就是设置和清除引; I. g9 Z$ e; j+ C
脚的相应输入值。在程序执行时就可以直接通过每1 p/ S( ^# Z; D% t. {8 a
个I/0口的“1”和“0”的变化断定该口输出电平% e7 C/ W  V" e, J2 z' ^+ |, @
的高低.但是不能够混淆各个端口的VTREGs 和
/ @/ I: \0 D; C& s4 W/ v, A2 lSFRs,例如P2和SFRs可以被当作CPU的内存空间, C9 L& E; e) a. l! r
访问,但是VTREGs只能是引脚上的信号.如果有1! T. t- o$ D5 i* e8 q3 [' _: E
个脉冲进入1个端口引脚上,可以使用信号函数仿4 ?& y5 O2 A  }; G8 y( I
真这个信号。
  J$ i- k/ {- L/ {$ m) _
3 Z7 ]$ H+ X) S% l$ y
6 {/ |% I7 Z, N+ `7 \1 v: Q: z) \
附件下载:
游客,如果您要查看本帖隐藏内容请回复

6 ?" d; i( C. Y! k8 |6 v/ I8 t

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-30 12:01 , Processed in 0.140625 second(s), 27 queries , Gzip On.

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

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

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