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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
" A0 U9 a: a( c+ W( R1 }+ b
摘要:KEILμVision2软件的串口、I/0口、定时器/计数器和中断等4种仿真功能可以+ l6 U1 S/ J  G' A; _# I. G8 ?
为用户在不需要任何8051单片机硬件的条件下调试程序.具体介绍这4种仿真,并在该软件
! _  n, R, G9 R& U! i环境下建立LED循环闪烁显示实验,仿真AT89S51单片机的定时/计数器T0功能,得到应有
0 N" H0 Y2 |/ v1 O0 J的结果.9 |8 w9 k4 q- F! S7 n. {

7 U+ o5 \3 n8 ^# K% \# I关键词: KEIL; LED循环闪烁显示;单片机仿真1 a7 q! k6 q0 ?- |5 f
3 G' k, R0 C. g4 z6 A
0引言
' B/ G/ U0 |6 A' r% p: c1 T6 sKEIL 51是德国KEIL公司开发的单片机C语言
$ P! F3 I+ w2 t4 m编译器,该编译环境集成文件编译处理、编译链接、- R1 E/ ?2 [/ K% ]. O2 d
项目管理、窗口、工具引用和软件仿真等多种功能,
( u" n7 t" z: o) ~5 I! i是功能很强的C51开发工具,目前越来越多的人使! z4 |( h: [/ S  e
用这种环境开发单片机程序.: s1 K" P5 B6 P+ k0 Y
μ Vision 2是KEIL公司关于8051系列mcu; y/ |  x+ P  _! U9 l9 e
(Mi cro Controller Unit)的开发工具,可以用来
, O& G1 q# o+ x8 n( ?编译C语言代码、汇编语言程序、创建HEX文件、
! j4 w) F% m6 }调试目标程序等. μ Vision 2的仿真功能有两种
9 t/ B# P9 _* g7 a& i& _: e模式:软件模拟方式和硬件系统板仿真,其中软件
& H1 G( K" b% K$ K3 G: r. F$ C+ l- B模拟方式不需要任何8051 单片机硬件就可以调试
3 f9 ?8 T) t% V+ O) r( d用户的程序,开发效率极大提高,开发经费大为节3 W3 m1 {2 [% f9 M
0 ~! r+ w! L, `  T3 O
省.
, f7 A& p8 E1 p; k111 p1 D! b  c. |1 `; P, f
μ Vision 2软件仿真5 _9 D; {8 I" H# j2 J  ^5 ]
μ Vision 2软件仿真功能强大,可以仿真各; h: g0 A4 Q0 g3 Q9 \: h8 S, ]
种外设,包括串口、I/0口、定时器/计数器等
# R. \( y1 |" c5 e2 c3 G$ W( @) ?1.1I/0端口仿真3 ]2 x+ u/ I# m8 w% @' e2 N
μVision2在项目选定CPU型号后就自动定2 ]9 X* J! X; p. I
义外设,有两种定义变量:特殊功能寄存器( Special) d4 R' U  G' L5 @* a  A4 N
Function Registers, SFRs) 和虚拟目标寄存器8 n3 v$ v: F# y- z) y7 k" N" i8 _
(Virtual Target Registers, VTREGs). μ Vision+ ~9 `. z, V6 I& A* E8 ]$ w  v
2提供所选择CPU中所有的特殊功能寄存器,并且; K+ K  f: Z9 H: ~5 A9 }' c9 a
SFRs有固定地址和简记的表示方法; VITREGs能使用
- J# \; \& J: f% _CPU仿真的管脚确定输出和输入,但是VTREGs不是
# c. {8 f# U' Z, K
' f, a6 L( g4 @公共变量,也不存在于CPU的某个内存地址内,其
9 e, c3 [* t0 E+ D值和使用与CPU有关,VTREGs 标志详见文献[1]., T$ k" @) ~6 v3 q1 ]/ p7 `
在项目建立并且通过编译后,选择Debug (调8 L& C0 r6 o+ a5 E' x# F$ w$ A
试)菜单中的开始(Start) /停止(Stop Debug)
+ m# A, A6 F. O' k  G4 B7 [: t: p  [进入模拟仿真状态,可以直接选择Peripherials
2 N& M8 t. R- z
5 D! {; v4 U$ ?5 Q$ H% |9 @(外围设备)菜单中的I/0-Ports选项中的I/0端$ n3 e7 p0 U5 M  B. K- U$ }- K
1.; K3 l: L0 k2 \7 j3 ]! W0 T6 m
口,弹出所需要监视的I/0端口状态表,见图1. I/0
0 N! [- O5 j1 `! G口对话框反映端口(P1) 内部状态和MCU (引脚)
3 \5 S6 D# Y. ~8 M. h5 X7 x状态,每个端口都有VTREGs,可以查看和修改引脚3 e9 h1 p3 G9 S6 x

3 D* T2 O7 A$ O) x  M的状态。在仿真有外部硬件的输入时,就需要用到
2 a2 Z6 j# S! V5 ?" J% pVTREGs,μ Vision 2为每个I/0端口都定义1个* I3 Q! n; ~: ~4 W
VTREG,例如PORT1是I/0口1的VTREG名字.在调7 `' w  Q, V/ p4 [5 M
试器命令窗口中,可以进入PORT1取得端口1引脚0 x& O9 w$ H$ S% {* u/ z
的当前值,向PORT1指定1个值就是设置和清除引
# G/ }6 t' A! u% j' ^: T( F! }" ^脚的相应输入值。在程序执行时就可以直接通过每, d1 S* p1 f( ]3 D$ u8 t, Z
个I/0口的“1”和“0”的变化断定该口输出电平, A+ a1 K8 a+ F! e! d3 a  U7 O# P
的高低.但是不能够混淆各个端口的VTREGs 和
# q8 I5 ~4 b0 p/ Y8 _SFRs,例如P2和SFRs可以被当作CPU的内存空间
7 D" m% ]/ F! D# e8 {% g访问,但是VTREGs只能是引脚上的信号.如果有1
8 t; Y) X$ e' p, M9 m& Z& l' ~个脉冲进入1个端口引脚上,可以使用信号函数仿# a! b3 t0 a9 u4 Z/ ^
真这个信号。
. ]- F' \; W& |2 E# I7 x% C- f, z# Q9 o" |# _

4 b% p4 F; e  F; ~7 w& ~! o  @2 E3 o5 C8 g7 [: Y2 v
附件下载:
游客,如果您要查看本帖隐藏内容请回复
" e6 x# ]; `' x7 i- _2 h3 w

# [5 g; a/ o  a6 a! c

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-2 04:33 , Processed in 0.078125 second(s), 26 queries , Gzip On.

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

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

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