实验三定时器计数器应用实验一
【报告】单片机定时器计数器实验报告
【关键字】报告单片机定时器计数器实验报告篇一:单片机计数器实验报告计数器实验报告㈠实验目的1. 学习单片机内部定时/计数器的使用和编程方法;2. 进一步掌握中断处理程序的编程方法。
㈡实验器材1. 2. 3. 4. 5.G6W仿真器一台MCS—51实验板一台PC机一台电源一台信号发生器一台㈢实验内容及要求8051内部定时计数器,按计数器模式和方式1工作,对P3.4(T0)引脚进行计数,使用8051的T1作定时器,50ms中断一次,看T0内每50ms来了多少脉冲,将计数值送显(通过LED发光二极管8421码来表示),1秒后再次测试。
㈣实验说明1. 本实验中内部计数器其计数器的作用,外部事件计数器脉冲由P3.4引入定时器T0。
单片机在每个机器周期采样一次输入波形,因此单片机至少需要两个机器周期才能检测到一次跳变,这就要求被采样电平至少维持一个完整的机器周期,以保证电平在变化之前即被采样,同时这就决定了输入波形的频率不能超过机器周期频率。
2. 计数脉冲由信号发生器输入(从T0端接入)。
3. 计数值通过发光二极管显示,要求:显示两位,十位用L4~L1的8421码表示,个位用L8~L5的8421码表示4. 将脉搏检查模块接入电路中,对脉搏进行计数,计算出每分钟脉搏跳动次数并显示㈤实验框图(见下页)程序源代码ORG 00000H LJMP MAINORG 001BH AJMP MAIN1 MAIN:MOV SP,#60HMOV TMOD,#15H MOV 20H,#14H MOV TL1,#0B0H MOV TH1,#3CHMOV TL0,#00H;T0的中断入口地址;设置T1做定时器,T0做计数器,都于方式1工作;装入中断次数;装入计数值低8位;装入计数值高8位MOV TH0,#00HSETB TR1 ;启动定时器T1 SETB TR0 ;启动计数器T0 SETB ET1 ;允许T1中断SETB EA ;允许CPU中断SJMP $;等待中断MAIN1: PUSH PSW PUSH ACC CLR TR0CLR TR1 MOV TL1,#0B0H MOV TH1,#3CHDJNZ 20H,RETUNT MOV 20H ,#14HSHOW: MOV R0,TH0 MOV R1,TL0MOV A,R1 MOV B,#0AH DIV ABMOV C,ACC.3MOV P1.0,C MOV C,ACC.2 MOV P1.1,C MOV C,ACC.1 MOV P1.2,C MOV C,ACC.0 MOV P1.3,CMOV A,B MOV C,ACC.3MOV P1.4,C MOV C,ACC.2 MOV P1.5,C MOV C,ACC.1 MOV P1.6,C MOV C,ACC.0MOV P1.7,C ;保护现场;装入计数值低8位;装入计数值高8位,50ms;允许T1中断;未到1s,继续计时;1s到重新开始;显示计数器T0的值;读计数器当前值;将计数值转为十进制;显示部分,将A中保存的十位赋给L0~L3 将B中保存的各位转移到A中;将个位的数字显示在L4~L7上;RETUNT:MOV TL0,#00H;将计数器T0清零MOV TH0,#00HSETB TR0SETB TR1POP ACCPOP PSWRETI ;中断返回在频率为1000HZ时,L0~L7显示为50;频率为300HZ时,L0~L7显示为15,结果正确,程序可以正确运行。
电气控制与PLC编程实验三 定时器实验
实验二定时器实验
一、实验目的
l. 掌握定时指令的使用。
2. 掌握由计数器构成的典型环节。
3. 熟悉软件的调试方法,监控模式的使用。
二、实验器材
1. DICE-PLC02-A/B型可编程序控制器实验台/箱l台
2. FX一l0P-E编程器(可选)l只
3. 编程电缆l根
4. 连接导线若干
三、实验内容与步骤
一)实验原理
FX2N系列PLC有定时器256个(T0~T199),定时器的时基脉冲为l00ms(T25~T199、T250~T255)、10ms(T200~T245)、1ms(T246~T249),其中1ms(T246~T249)和l00ms(T250~T255)为累计(积算)型定时器。
每个定时器的定时范围从1×T~32767×Ts,T为时基脉冲周期。
二)实验内容与步骤:
1、编程实现按键按下后1s后接通LED,然后2s后断开LED,记录梯形图和指令表,然后打开监控模式,观察各元件的动态表现。
监控模式下的现象记录:
2)改变定时器的编号(地址)观察累计型和非累计型定时器的区别,然后打开监控模式,观察各元件的动态表现。
监控模式下的现象记录,累计型与非累计型的区别:
3)编写由定时器构成的闪烁(震荡)程序
分析:振荡器的高低电平/频率分别由什么控制。
4)编写8 LED流水灯程序;
实验报告
一、记录实验步骤
二、记录对应程序(梯形图和指令表)
三、记录实验现象
四、实验现象分析。
实验三流水灯实验(io口和定时器实验)
实验三流水灯实验(I/O口和定时器实验)一、实验目的1.学会单片机I/O口的使用方法和定时器的使用方法;2.掌握延时子程序的编程方法、内部中断服务子程序的编程方法;3.学会使用I/O口控制LED灯的应用程序设计。
二、实验内容1.控制单片机P1口输出,使LED1~LED8右循环轮流点亮(即右流水),间隔时间为100毫秒。
2.控制单片机P1口输出,使LED1~LED8左循环轮流点亮(即左流水),间隔时间为100毫秒。
3.使用K1开关控制上面LED灯的两种循环状态交替进行;4. 用定时器使P1口输出周期为100ms的方波,使LED闪烁。
5.使用定时器定时,使LED灯的两种循环状态自动交替,每一种状态持续1.6秒钟(选作)。
三、实验方法和步骤1.硬件电路设计使用实验仪上的E1、E5和E7模块电路,把E1区的JP1(单片机的P1口)和E5区的8针接口L1~L8(LED的驱动芯片74HC245的输入端)连接起来,P1口就可以控制LED 灯了。
当P1口上输出低电平“0”时,LED灯亮,反之,LED灯灭。
E7区的K1开关可以接单片机P3.0口,用P3.0口读取K1开关的控制信号,根据K1开关的状态(置“1”还是置“0”),来决定LED进行左流水还是右流水。
综上,画出实验电路原理图。
2.程序设计实验1和实验2程序流程图如图3-1实验3程序流程图如图3-2所示。
图3-1 实验1,2程序流程图图3-2 实验3程序流程图实验4程序流程图如图3-3,3-4所示。
实验5程序流程图如图3-5,3-6所示。
图3-5 实验5主程序流程图图3-6 定时器中断服务子程序流程图图3-4 定时器中断服务子程序流程图图3-3 实验4主程序流程图编程要点:(1)Pl,P3口为准双向口,每一位都可独立地定义为输入或输出,在作输入线使用前,必须向锁存器相应位写入“1”,该位才能作为输入。
例如:MOV P1,A; P1口做输出MOV P1,#0FFHMOV A,P1;P1口做输入SETB P3.0MOV C,P3.1;从P3.1口读入数据(2)每个端口对应着一个寄存器,例:P1→90H(P1寄存器地址);P3→B0H(P3寄存器地址);寄存器的每一位对应着一个引脚,例:B0H.0→P3.0(3)对寄存器写入“0”、“1”,对应的外部引脚则输出“低电平”、“高电平”。
plc应用实训报告
plc应用实训报告一、引言在现代工业自动化领域,可编程逻辑控制器(PLC)已成为一种关键的设备。
本报告旨在总结和分析我参与的PLC应用实训过程,并对实训的成果和经验进行评估。
二、实训背景本次实训课程旨在使学生深入了解PLC的基本原理、操作和应用。
通过实际动手操作和实时调试,学生将学会PLC的编程技巧,同时了解到PLC在工业控制中的重要性。
三、实训内容1. 实验一:PLC系统的组成与实操在实验一中,我们首先学习了PLC系统的组成部分,包括PLC主机、输入/输出模块、通信模块等。
然后,我们进行了实操练习,使用STEP 7软件编写简单的PLC程序,实现了一个基本的开灯和关灯控制。
2. 实验二:传感器的应用与实操在实验二中,我们深入学习了不同类型的传感器的原理和应用场景。
通过实操,我们了解到如何将传感器与PLC进行联动,实现自动控制。
我们使用接近开关和光电传感器等传感器,编写了相应的PLC程序,实现了自动输送带的控制。
3. 实验三:定时器和计数器的应用与实操在实验三中,我们学习了定时器和计数器的基本原理和使用方法。
我们编写了PLC程序,实现了一个简单的定时器控制电路和计数器控制电路。
通过调试和优化,我们掌握了定时器和计数器在自动控制中的重要作用。
4. 实验四:通信与网络控制实操在实验四中,我们探讨了PLC系统与上位机的通信和联动控制。
我们使用工业以太网和Modbus通信协议,编写了相应的PLC程序,实现了PLC与电脑的联动控制。
这使得我们可以通过电脑进行实时监控和故障诊断,提高了工业自动化的可靠性和效率。
四、实训成果通过本次PLC应用实训,我掌握了以下技能和知识:1. 熟悉了PLC系统的基本组成和工作原理;2. 培养了使用STEP 7软件进行PLC编程的能力;3. 了解了不同类型传感器的原理和应用场景,并掌握了传感器与PLC的联动控制方法;4. 掌握了定时器和计数器在自动控制中的使用技巧;5. 学会了使用通信和网络控制实现PLC与上位机的联动。
定时计数器实验报告
定时计数器实验报告定时计数器实验报告一、引言定时计数器是一种常见的电子设备,它可以根据预设的时间间隔进行计数,并在达到设定值时触发相应的操作。
在本次实验中,我们将通过搭建一个简单的定时计数器电路来了解其工作原理和应用。
二、实验目的1. 掌握定时计数器的基本原理;2. 学习使用集成电路和其他元件搭建定时计数器电路;3. 了解定时计数器在实际生活中的应用。
三、实验器材1. 集成电路:555定时器芯片;2. 电阻:100Ω、10kΩ;3. 电容:10μF;4. 开关:按键开关;5. LED灯:红色。
四、实验步骤1. 将555定时器芯片插入面包板中,并连接电源和地线;2. 将100Ω电阻连接到芯片的引脚6和7之间;3. 将10kΩ电阻连接到芯片的引脚7和8之间;4. 将10μF电容连接到芯片的引脚1和2之间;5. 连接按键开关到芯片的引脚2和8之间;6. 连接LED灯到芯片的引脚3。
五、实验原理555定时器芯片是一种多功能集成电路,它可以通过外部元件的连接和设置,实现不同的计时和触发功能。
在本次实验中,我们使用555定时器芯片作为定时计数器的核心。
555定时器芯片的工作原理是基于两个比较器和一个RS触发器的组合。
当芯片上电后,引脚2和6的电平会进行比较,如果引脚6的电平高于引脚2,则芯片的输出为低电平;反之,输出为高电平。
当芯片输出为高电平时,电容开始充电,直到电压达到2/3的供电电压,此时芯片的输出变为低电平,电容开始放电,直到电压降至1/3的供电电压,芯片的输出再次变为高电平。
这样,芯片的输出就形成了一个周期性的方波信号。
六、实验结果与分析经过搭建和调试,我们成功实现了定时计数器电路。
当按下按键开关时,LED 灯开始闪烁,每隔一段时间亮起一次,然后熄灭,如此循环往复。
定时计数器在实际生活中有着广泛的应用。
例如,我们可以将其用于定时控制家电设备的开关,实现定时开关灯、定时煮饭等功能。
此外,定时计数器还可以应用于工业自动化领域,用于计时、触发和控制各种生产过程。
《自动控制原理》实验指导书
《自动控制原理》实验指导书31000字实验一、开关量控制与监测实验目的:掌握开关量控制与监测的基本原理及方法。
实验器材:PC机、PLC编程软件、PLC编程器、PLC实验箱、直流电源、继电器、开关。
实验内容:1. 使用PLC编程软件进行PLC的程序编写。
2. 使用直流电源作为控制电源,将继电器与开关连接,利用PLC实现开关量控制和监测。
实验步骤:1. 利用PLC编程软件进行PLC的程序编写。
2. 将直流电源的正极与继电器的常闭端相连,继电器的常开端与开关相连。
3. 将开关的另一端与PLC的输入端相连,PLC的输出端与继电器的控制端相连。
4. 将直流电源的负极与PLC实验箱的接地端相连。
5. 将PLC编程器连接到PC机上,将编写好的程序下载到PLC实验箱中。
6. 按下开关,观察继电器的输出,检查程序的正确性。
实验结果:1. 开关按下,PLC输出信号,继电器吸合。
2. 开关松开,PLC输出信号,继电器断开。
实验二、模拟量采集和控制实验目的:掌握模拟量采集和控制的基本原理及方法。
实验器材:PC机、PLC编程软件、PLC编程器、PLC实验箱、直流电源、电位器、LED灯。
实验内容:1. 使用PLC编程软件进行PLC的程序编写。
2. 使用电位器作为模拟量输入信号源,利用PLC采集电位器的模拟量信号,并控制LED灯的亮度。
实验步骤:1. 利用PLC编程软件进行PLC的程序编写。
2. 将电位器的信号通过模拟量转换模块输入到PLC的模拟量输入端。
3. 利用PLC的模拟量比较指令,将电位器的模拟量信号转换成数字量信号。
4. 根据数字量输出信号的状态,控制LED灯的亮度。
5. 将直流电源的负极与PLC实验箱的接地端相连。
6. 将PLC编程器连接到PC机上,将编写好的程序下载到PLC实验箱中。
7. 调节电位器,观察LED灯的亮度变化。
实验结果:1. 电位器调整时,模拟量输入信号发生变化。
2. 根据模拟量输入信号的大小,PLC输出数字量信号,控制LED灯的亮度。
单片机实验三-定时器实验
实验三 定时器实验 ——循环彩灯实验1、 实验目的1. 学习8051内部计数器的使用和编程方法。
2. 进一步掌握中断处理程序的编写方法。
2、 实验原理1. 定时常数的确定定时器/计数器的输入脉冲周期与机器周期一样,为振荡频率的1/12。
比如实验中时钟频率为12MHZ,现要采用中断方法来实现0.5秒延时,要在定时器1中设置一个时间常数,使其每隔0.05秒产生一次中断,CPU响应中断后将RO中计数值减一,令RO=0AH,即可实现0.5秒延时。
初值=65536-500002. 初始化程序包括定时器初始化和中断系统初始化,主要是对IP、IE、TCON、TMOD的相应位进行正确的设置,并将时间常数送入定时器中。
3. 设计中断服务程序和主程序中断服务程序除了要完成计数减一工作外,还要将时间常数重新送入定时器中,为下一次中断做准备。
主程序则用来控制发光二极管按要求顺序燃灭。
3、 实验要求由8051内部定时器1按方式1工作,即作为16位定时器使用,每0.05秒钟T1溢出中断一次。
P1口的P1.0~P1.7分别接发光二极管的L1~L8。
要求编写程序模拟一循环彩灯。
彩灯变化花样可自行设计。
建议变化花样为:L1、L2、…L8依次点亮;L1、L2、…L8依次熄灭;L1、L2、…L8全亮、全灭。
各时序间隔为0.5秒。
让发光二极管按以上规律循环显示下去。
4、 实验连线P1.0~P1.7分别接发光二极管L1~L8即可。
5、 程序org 0000hLjmp mainorg 000BhLjmp INTTorg 0100hmain:mov sp,#60h /*设置堆栈指针mov TMOD,#01h /*设置TMOD,仅由TRx控制中断,定时器模式,工作方式1mov TH0,#3CHMOV TL0,#0B0H /*设置初值x=65536-50000 (12M晶振)SETB EA /*开中断SETB ET0 /*开定时器中断T0SETB TR0 /*启动定时器MOV R1,#8 /*中断子程序工作方式1的工作次数MOV R2,#8 /*中断子程序工作方式2的工作次数MOV R3,#1 /*中断子程序工作方式3的工作次数MOV R0,#0AH /*延时次数(产生中断的次数)MOV A,#0FFHWAIT1:AJMP WAIT1INTT:MOV TH0,#3CHMOV TL0,#0B0H /*计数器赋初值DJNZ R0,RETT /*R0减1后判断延时的次数是否足够,足够顺序执行,不足够跳中断返回CJNE R1,#0,INTT1 /*判断彩灯工作方式1工作是否完毕,完毕顺序执行下一种方式,未完毕跳转继续执行此种方式CJNE R2,#0,INTT2 /*判断彩灯工作方式2工作是否完毕,完毕顺序执行下一种方式,未完毕跳转继续执行此种方式CJNE R3,#0,INTT3 /*判断彩灯工作方式3工作是否完毕,完毕顺序执行下一种方式,未完毕跳转继续执行此种方式 JMP INTT4 /*跳转执行第4种方式INTT1:MOV R0,#0AH /*重新向延时次数计数器赋初值CLR C /*C清零RLC A /*带进位左循环移位,低位移入0,即LED相继点亮(低电平亮)DEC R1 /*工作次数减1JMP RETT /*跳中断返回INTT2:MOV R0,#0AHSETB C /*C置1RRC A /*带进位右循环移位,高位移入1,即LED相继熄灭(低电平灭)DEC R2JMP RETTINTT3:MOV R0,#0AHMOV A,#0 /*8位LED灯全部点亮DEC R3JMP RETTINTT4:MOV R0,#0AHMOV P1,#0FFH /*8位LED灯全部熄灭MOV R1,#8MOV R2,#8MOV R3,#1MOV R0,#0AHMOV A,#0FFH /*重新装入相应初值,循环执行彩灯的四种工作方式JMP INTTRETT:MOV P1,A /*输出彩灯的各种状态RETIEND6、 结论通过本次试验掌握了8051内部计数器的使用和编程方法。
实验三 定时器实验
1 计数 0 定时
4种工作方式
设置定时器工作方式
TMOD
D7 D6 D5 D4 D3 D2 D1 D0 GATE C/T M1 M0 GATE C/T M1 M0 1 1 T1 0 T0 0
定时器/计数器
THX(8位) TLX (8位)
方式0:213*1.085us=8.89ms M1M0 方式 计 数 器 配 工作方式 TMOD 置 16*1.085us=71.10ms 方式1: 2 01H T0定时 0 0 0 TLx低5位与THx的8位构成13位计数器 10H T1定时 方式2: 28*1.085us=0.2778ms 0 1 1 TLx与THx构成16位计数器 05H T0计数 1 0 2 自动重装初值(THx)的8位(TLx溢出时)计数器 方式3: 28*1.085us=0.2778ms 51H T1计数 1 1 3 仅用于T0,分成两个8位计数器,T1停止计数 在实验过程中,我们统一选择方式一定时/计数。
THX(8位) TLX (8位)
16位定时器/计数器
计数最大值为216
设置定时器工作方式
2种工作模式
定时 计数
4种工作方式
方式0
方式1
方式2
方式3
工作方式控制寄存器TMOD(8位,字节地址89H)
D7 D6 D5 D4 D3 D2 D1 D0 GATE C/T M1 M0 GATE C/T M1 M0 T1 T0
实验接线
P1.0--0 1
0 1 1 0 1 0 1 0 1
0 1 1 1 0 1 0 0 1
0 1 1 0 1 0 1 0 1
0 1 0 1 1 1 0 0 1
0 0 1 1 1 0 1 0 1
PLC应用技术实验3 定时器和计数器器指令的应用
PLC 应用技术实验指导书
1 实验3 定时器和计数器指令的应用
一、实验目的
1. 熟悉CPM2A 型PLC 的交流和直流电源的连接,熟悉输入开关板和I/O 端子的连接。
2. 通过实验程序熟悉定时器和计数器指令的基本应用方法。
二、实验内容
1. 认真阅读实验程序,理解并熟悉实验程序的功能。
2. 输入程序。
3. 调试并监控程序运行。
三、实验步骤
1. 正确连接PLC 所需的各种电源。
连接实验程序的需要的输入开关板和I/O 的接线端子。
2. 输入用定时器指令编写的延时10s 导通的定时程序(见图1)。
运行、监控并调试,观察结果。
3. 输入用计数器指令编写的计数10次的计数程序(见图2)。
运行、监控并调试,观察结果。
4. 用定时器和计数器器指令编写一个既有定时器,又有计数器的延时10s 导通的定时电路程序。
输入、修改、运行、监控并调试,观察结果。
●自编梯形图程序:
四、实验总结及思考
1. 总结本次实验中各个程序运行的结果。
2. 写出上述梯形图程序的指令语句表。
3. 若延时时间修改为50s ,应该修改定时器的什么值,如何修改?
4. 按现在的程序,计数电路中的1.02输入端子上应该接动合还是动断按钮?为什么?
00000 00002 00005
图1 延时10s 的定时电路的梯形图 00000 00004 00007 图2 计数10次的计数电路的梯形图。
定时器计数器实验报告
定时器计数器实验报告定时器计数器实验报告引言:定时器计数器是一种常用的电子元件,它可以在电路中起到计时和计数的作用。
在本次实验中,我们将探索定时器计数器的基本原理和应用,并通过实际操作来验证其性能和功能。
一、实验目的本次实验的目的是熟悉定时器计数器的工作原理,掌握其使用方法,并通过实验验证其性能和功能。
二、实验器材和原理1. 实验器材:- 定时器计数器模块- 电源- 示波器- 连接线- 电阻、电容等元件2. 实验原理:定时器计数器是一种能够产生精确时间间隔的电子元件。
它通常由一个时钟信号源和一个计数器组成。
时钟信号源提供固定频率的脉冲信号,计数器根据时钟信号的输入进行计数,并在达到设定值时触发相应的操作。
三、实验步骤1. 连接电路:将定时器计数器模块与电源和示波器连接起来,确保电路连接正确。
2. 设置参数:根据实验要求,设置定时器计数器的工作频率、计数范围等参数。
这些参数可以通过调节电阻、电容等元件来实现。
3. 运行实验:启动电源,观察示波器上的波形变化。
根据设定的参数,定时器计数器将在一定时间间隔内产生脉冲信号,并在达到计数值时触发相应的操作。
4. 数据记录和分析:记录实验过程中的数据和观察结果,并进行分析。
比较实验结果与理论预期的差异,找出可能的原因并提出改进措施。
四、实验结果与讨论通过实验,我们观察到定时器计数器在不同参数设定下的工作情况。
根据实验数据和观察结果,我们可以得出以下结论:1. 定时器计数器的工作频率与输入时钟信号的频率有关。
当时钟信号频率较高时,定时器计数器的计数速度也会相应增加。
2. 定时器计数器的计数范围决定了其能够计数的最大值。
当计数器达到设定的计数范围时,将触发相应的操作。
3. 定时器计数器可以应用于各种计时和计数的场合,如脉冲计数、频率测量等。
通过调节参数,可以实现不同的功能。
根据实验结果,我们可以进一步探索定时器计数器的应用领域和优化方法,提高其性能和功能。
五、实验总结通过本次实验,我们深入了解了定时器计数器的原理和应用。
单片机实验报告(相当不错,有具体实验结果分析哦)
学生姓名:学号:专业班级:实验类型:□ 验证□ 综合□ 设计□ 创新实验日期:实验成绩:实验一 I/O 口输入、输出实验地点:基础实验大楼A311一、实验目的掌握单片机P1口、P3口的使用方法。
二、实验内容以P1 口为输出口,接八位逻辑电平显示,LED 显示跑马灯效果。
以P3 口为输入口,接八位逻辑电平输出,用来控制跑马灯的方向。
三、实验要求根据实验内容编写一个程序,并在实验仪上调试和验证。
四、实验说明和电路原理图P1口是准双向口,它作为输出口时与一般的双向口使用方法相同。
由准双向口结构可知当P1口作为输入口时,必须先对它置高电平使内部MOS管截止。
因为内部上拉电阻阻值是20K~40K,故不会对外部输入产生影响。
若不先对它置高,且原来是低电平,则MOS管导通,读入的数据是不正确的。
本实验需要用到CPU模块(F3区)和八位逻辑电平输出模块(E4区)和八位逻辑电平显示模块(B5区)。
2学生姓名:学号:专业班级:实验类型:□ 验证□ 综合□ 设计□ 创新实验日期:实验成绩:五、实验步骤1)系统各跳线器处在初始设置状态。
用导线连接八位逻辑电平输出模块的K0 到CPU 模块的RXD(P3.0 口);用8 位数据线连接八位逻辑电平显示模块的JD4B 到CPU 模块的JD8(P1 口)。
2)启动PC 机,打开THGMW-51 软件,输入源程序,并编译源程序。
编译无误后,下载程序运行。
3)观察发光二极管显示跑马灯效果,拨动K0 可改变跑马灯的方向。
六、实验参考程序本实验参考程序:;//******************************************************************;文件名: Port for MCU51;功能: I/O口输入、输出实验;接线: 用导线连接八位逻辑电平输出模块的K0到CPU模块的RXD(P3.0口);;用8位数据线连接八位逻辑电平显示模块的JD2B到CPU模块的JD8(P1口)。
实验三_8253定时器计数器实器
实验三 8253定时器/计数器实验一、实验目的1. 学会8253 芯片与微机接口的原理和方法。
2. 掌握8253 定时器/计数器的工作原理和编程方法。
二、实验内容编写程序,将8253的计数器0设置为方式2 (频率发生器),计数器1设置为方式3 (方波频率发生器),计数器0的输出作为计数器1的输入,计数器1的输出接在一个LED上,运行后可观察到该LED在不停地闪烁。
1.编程时用程序框图中的二个计数初值,计算OUT1的输出频率,用表观察LED,进行核对。
2.修改程序中的二个计数初值,使OUT1的输出频率为1Hz,用手表观察LED,进行核对。
3.上面计数方式选用的是 16 进制,现若改用 BCD 码,试修改程序中的二个计数初值,使LED 的闪亮频率仍为1Hz。
三、电路图CS3→0040H;JX8→JX0;IOWR→IOWR;IORD→IORD;A0→A0;A1→A1;GATE0→+5V;GATE1→+5V;OUT0→CLK1;OUT1→L1;CLK0→0.5MHz;四、流程图及编程指南8253 是一种可编程定时/计数器,有三个十六位计数器,其计数频率范围为0-2MHz用+5V 单电源供电。
8253 的六种工作方式:⑴方式0:计数结束中断⑷方式3:方波频率发生器⑵方式l:可编程频率发生⑸方式4:软件触发的选通信号⑶方式2:频率发生器⑹方式5:硬件触发的选通信号8253 初始化编程1. 8253 初始化编程8253 的控制寄存器和 3 个计数器分别具有独立的编程地址,由控制字的内容确定使用的是哪个计数器以及执行什么操作。
因此8255 在初始化编程时,并没有严格的顺序规定,但在编程时,必须遵守两条原则:①在对某个计数器设置初值之前,必须先写入控制字;②在设置计数器初始值时,要符合控制字的规定,即只写低位字节,还是只写高位字节,还是高、低位字节都写(分两次写,先低字节后高字节)。
2. 8253 的编程命令8253 的编程命令有两类:一类是写入命令,包括设置控制字、设置计数器的初始值命令和锁存命令;另一类是读出命令,用来读取计数器的当前值。
定时器的应用实验报告
定时器的应用实验报告定时器的应用实验报告一、引言定时器是一种常见的电子元件,广泛应用于各种电子设备中。
本实验旨在通过实际操作,探究定时器在不同领域的应用,并了解其工作原理和特性。
二、材料与方法1. 实验材料:- Arduino开发板- 数字多用途电路板- 电阻、电容等元器件- 连接线2. 实验方法:- 搭建电路连接定时器和其他元器件- 编写Arduino代码,控制定时器的功能- 运行实验,观察实验结果并记录数据- 分析实验数据,总结定时器的应用特点三、实验过程与结果1. 实验一:闪烁LED灯搭建电路,将一个LED灯连接到定时器的输出引脚上。
编写代码,使定时器以一定频率输出高低电平,从而实现LED灯的闪烁效果。
运行实验,LED灯按照设定的频率闪烁,实验成功。
2. 实验二:蜂鸣器发声将蜂鸣器连接到定时器的输出引脚上。
编写代码,使定时器以一定频率输出高低电平,从而控制蜂鸣器的发声频率。
运行实验,蜂鸣器按照设定的频率发声,实验成功。
3. 实验三:控制电机转动将电机连接到定时器的输出引脚上。
编写代码,使定时器以一定频率输出高低电平,从而控制电机的转动速度。
运行实验,电机按照设定的频率转动,实验成功。
四、实验结果分析通过以上实验,我们可以得出以下结论:1. 定时器可以通过编程控制,实现不同频率的信号输出。
2. 定时器广泛应用于LED灯、蜂鸣器和电机等设备中,用于产生特定的时间间隔或频率。
3. 定时器的频率控制精度较高,可以满足多种应用需求。
4. 定时器的应用范围广泛,不仅仅局限于电子设备,还可以应用于工业自动化、通信等领域。
五、实验总结通过本次实验,我们深入了解了定时器的应用特点和工作原理。
定时器作为一种常见的电子元件,具有广泛的应用前景。
在今后的学习和工作中,我们可以利用定时器实现更多的创意和应用。
六、参考文献[1] Arduino官方网站[2] 电子技术实验教程以上是本次定时器的应用实验报告,通过实际操作和分析,我们对定时器的应用特点有了更深入的了解。
实验三 定时器实验 实验报告
课程名称:单片机实验题目:实验三定时实验学生姓名:专业:电子信息科学与技术班级:学号:指导教师:张涛实验三 定时器实验一、实验目的1、掌握单片机系统定时器断的原理及使用方法。
二、实验原理 (一)、单片机定时器/计数器的结构 1.定时器/计数器组成框图8051单片机内部有两个16位的可编程定时器/计数器,称为定时器0(T0)和定时器1(T1),可编程选择其作为定时器用或作为计数器用。
此外,工作方式、定时时间、计数值、启动、中断请求等都可以由程序设定,其逻辑结构如图所示。
_____INT1(P3.3)_____INT0(P3.2)T1(P3.5)T0(P3.4)图 8051定时器/计数器逻辑结构图由图可知,8051定时器/计数器由定时器 T0、定时器T1、定时器方式寄存器TMOD 和定时器控制寄存器TCON 组成。
2.定时/计数器的方式寄存器和控制寄存器定时/计数器的初始化通过定时/计数器的方式寄存器TMOD 和控制寄存器TCON 完成。
1)定时/计数器方式寄存器TMODTMOD 为T1、T2的工作方式寄存器,其格式如下:TMOD D7 D6 D5 D4 D3 D2 D1 D0(89H) TMOD 的低 (1(2)T /C :功能选择位。
0/C =时,设置为定时器工作方式;1/C =时,设置为计数器工作方式。
(3)GATE :门控位。
当GA TE=0时,软件控制位TR0或TR1置1即可启动定时器;当GATE=1时,软件控制位TR0或TR1须置1,同时还须0INT (P3.2)或1INT (P3.3)为高电平方可启动定时器,即允许外中断0INT 、1INT 启动定时器。
TMOD 不能位寻址,只能用字节指令设置定时器工作方式,高4位定义T1,低4位定义T0。
复位时,TMOD 所有位均置0。
2)定时器/计数器控制寄存器TCONTCON 的作用是控制定时器的启动、停止,标志定时器的溢出和中断情况。
定时器控制字TCON 的格式如下:TCON (88H ) 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H(1) TCON.7 TF1:定时器1溢出标志位。
实验三(一)(二)定时器与计数器功能认识与应用、扩展
实验三 定时器/计数器实验(一)一、实验目的通过实验了解定时器和计数器的不同应用。
进一步掌握定时器和计数器的编程和调试的方法。
二、实验内容要求学生自行设计并调试程序(教师可适当提示)1、自复位接通延时定时器电路(一个机器周期脉冲发生器电路)提示:先思考下面三个电路,根据定时器的刷新方式分析它们能否正常工作?不能工作的程序应如何修改?为了确保在每次定时器达到预置值时,自复位定时器的输出都能够接通一个程序扫描周期,用一个常闭触点来代替定时器位作为定时器的使能输入。
但一个程序扫描周期的脉冲过窄,在状态表中无法监视,为解决这种状况,可使用比较指令“LDW >= T33,+40”控制PLC 的某个输出点,再用状态图监视。
(思考:若想形成自复位计数器电路应如何编程?)知识回顾:定时器的刷新方式: 1ms 定时器每隔1ms 刷新一次与扫描周期和程序处理无关即采用中断刷新方式。
因此当扫描周期较长时,在一个周期内可能被多次刷新,其当前值在一个扫描周期内不一定保持一致。
10ms 定时器则由系统在每个扫描周期开始自动刷新。
由于每个扫描周期内只刷新一次,故而每次程序处理期间,其当前值为常数。
100ms 定时器则在该定时器指令执行时刷新。
下一条执行的指令,即可使用刷新后的结果,非常符合正常的思路,使用方便可靠。
但应当注意,如果该定时器的指令不是每个周期都执行,定时器就不能及时刷新,可能导致出错。
使用定时器本身的常闭触点作定时器的使能输入。
定时器的状态位置1时,依靠本身的常闭触点的断开使定时器复位,并重新开始定时,进行循环工作。
采用不同时基标准的定时器时,会有不同的运行结果,具体分析如下:(1)T32为1ms 时基定时器,每隔1ms 定时器刷新一次当前值,CPU 当前值若恰好在处理常闭触点和常开触点之间被刷新,Q0.0可以接通一个扫描周期,但这种情况出现的几率很小,一般情况下,不会正好在这时刷新。
若在执行其他指令时,定时时间到,1ms 的定时刷新,使定时器输出状态位置位,常闭触点打开,当前值复位,定时器输出状态位立即复位,所以输出线圈Q0.0一般不会通电。
51单片机定时器计数器汇编实验
实验三、定时器/计数器实验报告一、实验内容1、编写单片机程序,用T0作定时器产生周期为1秒的方波(用查询方式编程),从P3.6,P3.7口输出,将P3.7接到示波器显示该方波波形;用T1作计数器对从P3.6输出的方波进行计数,计数结果通过P1口输出到发光二极管显示。
(计算机仿真)2、编写单片机程序,用T0作定时器产生周期为1秒的方波(用查询方式编程),从P3.6,P3.7口输出,将P3.6输出的方波接到P3.5口通过T1作计数器对该方波进行计数,计数值由LED显示,用存储示波器显示P3.7输出的方波。
(实验台验证)3、设计一个60秒计时器,秒计时结果用两位LED数码管显示。
(计算机仿真)二、实验仿真图(1)脉冲计数实验程序ORG 0000HBEGIN:MOV TMOD,#51H MOV TL0,#0F0HMOV TH0,#0DBHMOV TH1,#00HMOV TL1,#00HMOV P1,#00HMOV P0,#00HMOV P2,#00HMOV R3,#00HMOV R4,#00HSETB TR0SETB TR1S1: MOV R1,#33HMOV A,R4MOV R5,TL1ADD A,R5MOV P1,AMOV R2,TL1CJNE R2,#10,S2MOV TH1,#00HMOV TL1,#00HINC R3MOV A,R3MOV DPTR,#TAB1MOVC A,@A+DPTRMOV P2,AMOV P0,#3FHMOV A,R3MOV B,#0AHMUL ABMOV R4,AMOV P1,R4AJMP NEXTS2: MOV R1,#33HMOV DPTR,#TAB1MOV A,TL1MOVC A,@A+DPTRMOV P0,AAJMP NEXT LOOP: JBC TF0,NEXT AJMP LOOPNEXT: MOV TL0,#0F0HMOV TH0,#0DBHDJNZ R1,LOOPCPL P3.6CPL P3.7AJMP S1TAB1:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;(SW3,SW4为:00) END(2)60秒定时器实验程序ORG 0000HBEGIN:MOV TMOD,#51HTL0,#0F0HMOVMOVTH0,#0DBHTH1,#00HMOVTL1,#00HMOVR3,#00HMOVP0,#00HMOVP2,#00HMOVSETBTR0TR1SETBS1: MOV R1,#33HR2,TL1MOVR2,#10,S2CJNETH1,#00HMOVTL1,#00HMOVR3INCR3,#06H,S4CJNER3,#00HMOVS4: MOV A,R3DPTR,#TAB1MOVA,@A+DPTRMOVCP2,AMOVMOVP0,#3FHNEXTAJMPS2: MOV R1,#33HDPTR,#TAB1MOVA,TL1MOVA,@A+DPTRMOVCMOVP0,ANEXTAJMPLOOP: JBC TF0,NEXTLOOPAJMPNEXT: MOV TL0,#0F0HTH0,#0DBHMOVR1,LOOPDJNZP3.6CPLCPLP3.7S1AJMPTAB1:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH END。
《单片机技术》实验(2022级自动化1201~02电气1201~02)教案
《单片机技术》实验(2022级自动化1201~02电气1201~02)教案课程教案课程名称:单片机技术实验任课教师:王韧所属院部:电气与信息工程学院教学班级:自动化1201~02、电气1201~02教学时间:2022—2022学年第二学期湖南工学院课程基本信息湖南工学院教案用纸实验一数据传送实验一、本次实验主要内容1、Keil软件的使用方法和调试。
2、存储器之间数据传送的方法和循环程序设计。
3、MCS-51系列单片机堆栈的使用。
二、实验目的与要求1、掌握单片机的汇编指令系统及汇编语言程序设计方法。
2、掌握单片机的存储器体系结构。
3、熟悉Keil软件的功能和使用方法。
4、掌握单片机应用程序的调试方法。
三、实验重点难点MOV、MOV某指令的用法特点。
四、实验方法和手段讲授、演示、操作、仿真、提问。
五、作业与习题布置写出实验报告。
P1湖南工学院教案用纸一、实验内容或原理1、实现单片机内部RAM之间,外部RAM之间以及内部RAM与外部RAM之间的数据传送。
2、利用Keil软件编辑、汇编、调试、运行实验程序并记录实验数据。
二、设计要求1、编写程序将00H~0FH16个数据分别送到单片机内部RAM30H~3FH单元中。
2、编写程序将片内RAM30H~3FH的内容传送至片内RAM40~4FH单元中。
3、编写程序将片内RAM40H~4FH单元中的内容传送到外部RAM4800H~480FH单元中。
4、编写程序将片外4800H~480FH单元内容送到外部RAM5800H~580FH单元中。
5、编写程序将片外RAM5800H~580FH单元内容传送回片内RAM50H~5FH单元中。
三、实验报告要求1、实验目的和要求。
2、设计要求。
3、实验程序流程框图和程序清单。
4、实验总结。
5、思考题。
四、思考题1、说明MCS-51系列单片机对片内RAM和片外RAM存贮器各有哪些寻址方式?2、说明指令MOVA,20H和MOVC,20H中的20H含义有什么不同?传送指令中的助记符MOV,MOV某,MOVC各适用于访问哪个存储器空间?P2湖南工学院教案用纸实验后记:P3湖南工学院教案用纸实验二单片机并行I/O口的应用实验一、本次实验主要内容1、利用单片机并行I/O口控制流水灯。
实验三、定时器实验
实验报告本 指导老师: 班级: 姓名: 学号: 2011 ~2012 学年度第二学期广东石油化工学院计算机与电子信息学院 实验三、定时器实验 一、实验目的 1、熟悉DSP的定时器 2、掌握DSP定时器的控制方法 3、学会使用定时器中断方法控制程序流程 二、实验设备 计算机、ZYE1801C实验箱 三、实验原理 TMS320VC5402有两个16位的定时器,每个定时器带有一个4位预分频器PSC和16位定时计数器TIM。CLKOUT时钟先经 PSC预分频后,用分频的时钟再对TIM作减1计数,当TIM减为0时,将在定时器输出管脚TOUT上产生一个脉冲,同时产生定 时器中断请求,并将定时器周期寄存器PRD的值装入TIM。因此,定时器的工作受到三个寄存器的控制,即TIM、PRD、定时 器控制寄存器TCR。两个定时器分别有3个寄存器和相应的输出管脚TOUT。 TMS320VC5402的定时器可以被特定的状态位实现停止、重新启动、重新设置或禁止。可以使用该定时器产生周期性的CPU 中断。 1、TIMER REGIS算机与ZYE1801C 实验箱通过并口P1相连,运行CCS 软件。 2. 编写定时器中断程序,实现实验箱插板上红色指示灯的闪烁。
3. 调整定时延时系数TIMER ,观察指示灯闪烁延时的变化。 4. 调整寄存器PRD0,TCR0的值,观察指示灯的闪烁周期的变化。 五、思考题 1、本实验的定时时间是如何计算的? ()()11 ()(1)(1) c c c c TIN T RATE t u v t TD D R PRD = = ???+?+ 注:()c c t 是DSP 芯片时钟周期。 2、本实验系统采用的外部时钟输入,f=11.0592MHZ ,采用的是5倍频模式,请问该系统定时器的最大定时周期? 11.59ms 六、实验心得体会 通过本次实验,熟悉DSP 的定时器的原理和定时时间的计算,学会使用定时器中断方法控制程序流程,及DSP 开发板的使 用,以及要延时比较长时间的处理方法。
定时器应用实验报告
定时器应用实验报告定时器应用实验报告引言:定时器是一种广泛应用于各个领域的电子设备,它能够精确地测量时间间隔,并在特定时间点触发相应的操作。
本文将介绍定时器的原理和应用,并通过实验验证其功能和性能。
一、定时器的原理定时器是一种基于时钟信号的计时器件,它通常由一个计数器和一个控制逻辑组成。
计数器用于记录时钟信号的脉冲数量,而控制逻辑则根据设定的时间参数来判断何时触发相应的操作。
二、定时器的应用领域1. 工业自动化:在工业生产过程中,定时器被广泛应用于控制设备的启停、周期性操作以及时间计量等方面。
例如,定时器可以用于控制机器的定时开关,以实现自动化的生产线。
2. 电子设备:在电子设备中,定时器常常用于实现延时操作、定时测量和时序控制等功能。
例如,手机中的闹钟功能、照相机中的自动对焦功能以及微波炉中的定时加热功能等,都离不开定时器的应用。
3. 科学实验:在科学实验中,定时器被用于控制实验的时间间隔和触发实验的操作。
例如,生物实验中的药物注射、物理实验中的数据采集以及化学实验中的反应时间测量等,都需要借助定时器来实现。
三、定时器实验设计为了验证定时器的功能和性能,我们设计了以下实验:实验一:延时触发LED灯材料:- Arduino开发板- LED灯- 面包板- 连接线步骤:1. 将Arduino开发板连接到电脑,并打开Arduino IDE软件。
2. 将LED灯的正极连接到Arduino开发板的数字引脚13,负极连接到地。
3. 在Arduino IDE软件中编写以下代码:```void setup() {pinMode(13, OUTPUT);}void loop() {digitalWrite(13, HIGH);delay(1000);digitalWrite(13, LOW);delay(1000);}```4. 将编写好的代码上传到Arduino开发板中。
5. 观察LED灯的闪烁情况,每隔1秒钟亮灭一次。
单片机 实验三中断及定时器实验
实验三:中断及定时器实验一、实验目的:1、弄清中断的概念、基本原理,掌握中断技术的应用2、了解中断初始化的方法,中断向量安装和中断服务子程序的设计方法。
3、了解定时/计数器的工作原理及MCS51单片机的定时器内部结构4、掌握时间常数计算方法5、掌握定时器初始化方法和定时中断程序设计方法二、实验内容:定时器实验1、这个是一个电子钟走时程序,利用定时器T0产生50ms中断,中断计数器中断20次为1秒,利用秒信号进行电子钟计时。
先读懂下面程序段,然后编辑、编译程序,并在伟福仿真器上模拟调试该程序。
程序清单如下:COUNT EQU 7FHCOUNT1 EQU 7EHS_MEM EQU 73HM_MEM EQU 72HH_MEM EQU 71HORG 0000HLJMP MAINORG 000BHLJMP INT_T0 ;“*1”MAIN: MOV SP,#2FHMOV TMOD,#BMOV TH0,#03CH ;50毫秒中断时间常数MOV TL0,#0BHMOV IE,#B ;开放T0MOV IP,#0MOV S_MEM,#0MOV M_MEM,#0MOV H_MEM,#0MOV COUNT,#20SETB TR0;______________________________________________________ W AIT:NOPSJMP W AITINT_T0: MOV TL0,#0BHMOV TH0,#3CHDJNZ COUNT,EXT_T0MOV COUNT,#20 ;恢复中断计数器INC S_MEM ;“*2”MOV A,S_MEMCJNE A,60,EXT_T0MOV S_MEM,#0INC M_MEMMOV A,M_MEMCJNE A,#60,EXT_T0MOV M_MEM,#0INC H_MEMMOV A,H_MEMCJNE A,#13,EXT_T0MOV H_MEM,#0EXT_T0: RETI2、按下列要求修改程序或回答问题。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
定时器/计数器应用实验一
设计性试验
2012年11月14日星期三第三四节课
一、实验目的
1、掌握定时器/计数器定时功能的使用方法。
2、掌握定时器/计数器的中断、查询使用方法。
3、掌握Proteus软件与Keil软件的使用方法。
4、掌握单片机系统的硬件和软件设计方法。
二、设计要求
1、用Proteus软件画出电路原理图,单片机的定时器/计数器以查询方式工作,在P1.0口线上产生周期为200μS的连续方波,在P 1.0口线上接示波器观察波形。
2、用Proteus软件画出电路原理图,单片机的定时器/计数器以中断方式工作,在P1.1口线上产生周期为240μS的连续方波,在P 1.1口线上接示波器观察波形。
三、电路原理图
四、实验程序流程框图和程序清单及实验结果
/*********
设计要求:(a)单片机的定时器/计数器以查询方式工作,
在P1.0口线上产生周期为200us的连续方波
编写:吕小洋
说明:用定时器1的方式1以查询方式工作
时间:2012年11月10日
***************/
ORG 0000H
开始
系统初始化
START: LJMP MAIN
ORG 0100H
MAIN: MOV SP, #2FH
CLR EA ;关总中断
CLR ET1 ;禁止定时器1中断
MOV TMOD, #00010000B ;设置定时器1为工作方式1
MOV TH1, #0FFH ;设置计数初值
MOV TL1, #9CH
SETB TR1 ;启动定时器
LOOP: JNB TF1, LOOP ;查询计数是否溢出
MOV TH1, #0FFH ;重置计数初值
MOV TL1, #9CH
CLR TF1 ;清除计数溢出标志
CPL P1.0 ;输出取反
LJMP LOOP ;重复取反
END
/*********
设计要求:(b)单片机的定时器/计数器以查询方式工作,
在P1.0口线上产生周期为200us 的连续方波
编写:吕小洋
说明:用定时器0的免装初值方式2以中断方式工作
时间:2012年11月10日
***************/
ORG 0000H
START: LJMP MAIN
ORG 000BH
LJMP TTC0
ORG 0100H
MAIN: MOV SP, #2FH
SETB EA ;开总中断
SETB ET0 ;定时器0允许中断
MOV TMOD, #02H ;设置T0为工作方式2
MOV TH0, #88H ;设置计数初值
MOV TL0, #88H
SETB TR0 ;启动定时器
HERE: LJMP HERE ;等待中断
/****中断服务程序****/
ORG 0200H
TTC0: CPL P1.0 ;输出取反
RETI ;中断返回
END
五、实验总结
通过本次试验,我掌握了定时器/计数器定时功能的使用方法,能够利用定时器产生特定脉宽的波形,掌握了定时器/计数器的中断、查询使用方法。
同时掌握了单片机系统的硬件和软件设计方法。
加强了自己的编程能力。
六、思考题
1、在P1.0口线上产生周期为500微秒,占空比为2:5的连续矩形波。
/**(1)定时器0定时200us以查询方式、方式2工作, Array
定时器1定时300us以查询方式、方式1工作******/
ORG 0000H
START: LJMP MAIN
ORG 0100H
MAIN: MOV SP, #2FH
CLR EA ;关总中断
CLR ET0 ;禁止定时器0中断
CLR ET1 ;禁止定时器1中断
MOV TMOD, #00010010B ;设置工作方式
MOV TH0, #37H ;设置T0的计数初值
MOV TL0, #37H
MOV TH1, #0FEH ;设置T1的计数初值
MOV TL1, #0D4H
SETB TR0 ;启动定时器0 LOOP: JNB TF0, LOOP ;查询计数是否溢出CPL P1.0 ;输出取反
CLR TF0 ;清除T0计数溢出标志
CLR TR0 ;关定时器0
SETB TR1 ;启动定时器1
LOOP1: JNB TF1, LOOP1
CPL P1.0 ;输出取反
MOV TH1, #0FEH ;重装计数初值
MOV TL1, #0D4H
CLR TF1 ;清除T1计数溢出标志
CLR TR1 ;关闭定时器1
SETB TR0 ;启动定时器0
LJMP LOOP ;重复循环
END
/******(2)定时器0定时200us以中断方式、方式2工作,
ORG 0000H
START: LJMP MAIN
ORG 000BH
LJMP TTC0
ORG 001BH
LJMP TTC1
ORG 0100H
MAIN: MOV SP, #2FH
SETB EA ;开总中断
SETB ET0 ;允许定时器0中断
SETB ET1 ;允许定时器1中断
MOV TMOD, #00010010B ;设置T0、T1都为工作方式1
MOV TH0, #38H ;设置T0的计数初值
MOV TL0, #38H
MOV TH1, #0FEH ;设置T1的计数初值
MOV TL1, #0D4H
SETB TR0 ;启动定时器0
HERE: SJMP HERE
ORG 0200H
TTC0: CPL P1.0 ;输出取反CLR TR0 ;关定时器0
SETB TR1 ;启动定时器1
RETI
ORG 0300H
TTC1: CPL P1.0 ;输出取反MOV TH1, #0FEH ;重装计数初值
MOV TL1, #0D4H
CLR TR1 ;关闭定时器1
SETB TR0 ;启动定时器0
RETI
END
/******(3)定时器0定时200us以查询方式工作, Array定时器1定时300us以中断方式工作******/
ORG 0000H
START: LJMP MAIN
ORG 001BH
LJMP TTC1
ORG 0100H
MAIN: MOV SP, #2FH
SETB EA ;开总中断
CLR ET0 ;禁止定时器0中断
SETB ET1 ;允许定时器1中断
MOV TMOD, #00010001B ;设置T0、T1都为工作方式1
MOV TH0, #0FFH ;设置T0的计数初值
MOV TL0, #38H
MOV TH1, #0FEH ;重装T1计数初值
MOV TL1, #0D4H
SETB TR0 ;启动定时器0
LOOP: JNB TF0, LOOP ;查询T0计数是否溢出CPL P1.0 ;输出取反
CLR TF0 ;清除T0计数溢出标志
CLR TR0 ;关定时器0
MOV TH0, #0FFH ;重装T0计数初值
MOV TL0, #38H
SETB TR1 ;启动定时器1
LJMP LOOP
TTC1: CPL P1.0 ;输出取反CLR TR1 ;关闭定时器1
SETB TR0 ;启动定时器0
MOV TH1, #0FEH ;重装T1计数初值
MOV TL1, #0D4H
RETI
END。