单片机定时器仿真实验

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2006-2-10



7 年3月 2013
传感器原理与应用
7
51系列单片机定时器/计数器实验Proteus仿真


(2)加载目标代码文件
(I) 在Proteus ISIS中,左键双击AT89C51元件打开 “Edit Component”对话框,设置单片机的频率为 12MHz; (II) 在该窗口的“Program File”栏中,选择先前在 Keil中编译产生的“.HEX”文件; (III) 在Proteus ISIS菜单栏中选择【File】→【Save Design】选项,保存设计;
CRYSTAL
18
XTAL2

元件全部添加后,在
R1 C3
22uF
9 200
RST
Proteus ISIS的编辑区
域中按图1所示的原 理图连接硬件电路。
29 30 31
R2
1k P10 1 2 3 4 5 6 7 8
PSEN ALE EA
D1
LED-BLUE
P1.0/T2 P1.1/T2EX P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 AT89C52
地址 D7 D6 D5 D4 D3 D2 D1 D0 符号 GATE C/T M1 M0 GATE C/T M1 M0
定时 / 计数器1

定时 / 计数器0
M1,M0——操作方式选择位;
ቤተ መጻሕፍቲ ባይዱ
M1M0=00——13位计数器; M1M0=01——16位计数器; M1M0=10——自动再装入8位计数器; M1M0=11 ——T0分成两个8位计数器;T1无效

TR1——定时/计数器1启停控制位;


TR1=0——定时器/计数器停止; TR1=1——定时器/计数器启动。

TF0(IF1) ——计数溢出标志
2006-2-10
3 年3月 2013
传感器原理与应用
3
51系列单片机定时器/计数器实验Proteus仿真

(4) 工作方式控制寄存器TMOD (地址为89H )
2
51系列单片机定时器/计数器实验Proteus仿真

(3) 定时器控制寄存器TCON (地址为88H )
位地址 位符号

8F 8E 8D 8C 8B 8A 89 88 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
TR0——定时/计数器0启停控制位;

TR0=0——定时器/计数器停止; TR0=1——定时器/计数器启动;
2006-2-10 传感器原理与应用

ET0——定时/计数中断0允许控制位;


ET1——定时/计数中断1允许控制位;

1 年3月 2013
1
51系列单片机定时器/计数器实验Proteus仿真

(2) 中断优先级控制寄存器IP (地址为B8H )
位地址 BF BE BD BC BB BA B9 B8 / / PS PT1 PX1 PT0 PX0 位符号 /
D1
LED-BLUE
R3
10
4 5 6 7 8
P1.3 P1.4 P1.5 P1.6 P1.7 AT89C52
P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD
13 14 15 16 17
图2 程序运行结果
9 年3月 2013 2006-2-10 传感器原理与应用
9
37 36 35 34 33 32 21

P2.0/A8 (I) 在Keil的菜单栏中选择【Debug】→【Start/Stop 22 P2.1/A9 23 P2.2/A10 Debug Session】选项,或者在工具栏中直接单击图标, 29 24 PSEN P2.3/A11 30 25 ALE P2.4/A12 进入调试环境; 31 26 EA P2.5/A13 27 P2.6/A14 (II) 按“F5”键或图标,顺序执行程序; 28 P2.7/A15 1 10 (III) 在Proteus ISIS界面中,可以看到, P1.0/T2 LED灯亮一秒, P3.0/RXD 2 11 P1.1/T2EX P3.1/TXD 关一秒,循环进行,如图2所示。 3 12 P1.2 P3.2/INT0

PT0—— 定时中断0优先级设定位;

PT0=0——定时器/计数器中断低优先级; PT0=1——定时器/计数器中断高优先级;

PT1—— 定时中断1优先级设定位;


PT1=0——定时器/计数器中断低优先级; PT1=1——定时器/计数器中断高优先级。
2 年3月 2013
2006-2-10
传感器原理与应用

C/T——选择定时/计数器模式;

C/T=0——选择定时器; C/T=1——选择计数器;
4

GATE ——选通控制
2006-2-10 传感器原理与应用
4 年3月 2013
51系列单片机定时器/计数器实验Proteus仿真
1 Proteus电路设计

(1) 元件清单列表 打开Proteus ISIS编辑环境,按表1所列的清单添加元件 表1 元件清单
2006-2-10

Generic - -
传感器原理与应用
5
51系列单片机定时器/计数器实验Proteus仿真

(2)电路原理图
C1
1nF
X1
C2
1nF 19
U1
XTAL1 P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17
P10
图1 电路原理图
6 年3月 2013 2006-2-10 传感器原理与应用
6
51系列单片机定时器/计数器实验Proteus仿真
2 建立源程序及编译

(1)建立程序文件 (I) 打开Keil µ Vision3,新建Keil项目,选择AT89C51 单片机作为CPU; (II) 新建汇编源文件,编写程序并将其导入到“Source Group 1”中; (III) 在“Options for Target”对话框中,选中“Output” 选项卡中的“Create HEX File”选项和“Debug”选项卡 中的“Use:Proteus VSM Simulator”选项; (IV) 编译源程序,修改程序中的错误直至通过。
元件名称 所属类 所属子类
AT89C51
CAP CAP-ELEC
Microprocessor ICs
Capacitors Capacitors
8051 Family
Generic Generic
CRYSTAL
RES LED-BLUE SWITCH
5 年3月 2013
Miscellaneous
Resistors Active Active



(IV) 在Proteus ISIS菜单栏中,打开“Debug”下拉菜 单,在菜单中选择“Use Remote Debug Monitor”选项, 以支持与Keil的联调。
8 年3月 2013 2006-2-10 传感器原理与应用
8
3 Proteus调试与仿真

P0.1/AD1 P0.2/AD2 18 51系列单片机定时器 / 计数器实验 Proteus 仿真 XTAL2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 9 RST P0.7/AD7
51系列单片机定时器/计数器实验Proteus仿真
(1)中断允许寄存器IE (地址为A8H )
位地址 位符号

AF EA
AE -
AD -
AC AB ES ET1
AA EX1
A9 ET0
A8 EX0
EA—— 中断允许总控制位;

EA=0—— 中断总禁止,禁止所有中断; EA=1—— 中断总允许; ET0=0——禁止定时器/计数器中断; ET0=1——允许定时器/计数器中断; ET1=0——禁止定时器/计数器中断; ET1=1——允许定时器/计数器中断。
相关文档
最新文档