资源描述:
《《实验四定时器实验》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验四 定时器实验实验目的1.学习8051内部计数器的使用和编程方法。2.进一步掌握中断处理程序的编程方法实验要求P1口做输出口,接八只发光二极管,编写程序,使其循环点亮。以单脉冲输出端做为中断申请,当产生外部中断时,使发光二极管全亮,延时1秒后返回中断之前的状态,如上述一直循环下去。由8031内部定时器1,按方式1工作,即作为16位定时器使用每0.05秒钟T1溢出中断一次。P1口的P1.0-P1.7分别接八个发光二极管。要求编写程序模拟一时序控制装置。开机后第一秒钟L1,L3亮,第二秒钟L2,L4亮,第三秒钟L5,L7亮,第四秒钟L6,L8亮,第五秒L
2、1,L3,L5,L7亮,第六秒钟L2,L4,L6,L8亮,第七秒钟八个二极管全亮,第八秒钟全灭,以后又从头开始,L1,L3亮,然后L2,L4亮......一直循环下去三实验原理四、实验步骤1、硬件连接(1)连接PC机串口与自带仿真器串口的通信电缆。(2)K10下拨,控制开关KC接至上端。(3)连接实验箱电源线。(4)将“L00~L07”分别与“P10~P17”相连用八根线分别相连。2、系统加电先按交流电开关,再按直流开关。3、运行KeilC51软件4、编辑、调试、运行一个模仿外界的动态广告灯程序。(1).建立一个工程项目:E:shiyansy2.uv
3、2①Project→②NewProject③输入工程名sy2,④保存工程文件选CPU厂家(SST)→选CPU型号SST89C54(2).选晶振频率及生成HEX文件①Project→②OptionsforTarget‘Target1’或右击Target1,选择OptionsforTarget‘Target1’③在Target选项中,④更改CPU晶振频率12MHZ,在Output选项中,选择生成HEX格式,在Debug选项中,选择内置仿真器.其它采用缺省设置(3).用项目管理器生成各种应用文件①点击Target1前之+号,②点击SourceGroup1,③按
4、鼠标右键会生弹出快捷菜单,选择AddFilestoGroup‘SourceGroup1’向项目中添加C:单片机实验程序zyorder.asm源文件.在SourceGroup1前会出现一个+号.右击zyorder.asm,Project→Buildtarget,生成一系列到文件如OBJ文件LST文件HEX文件等(4)检查并修改源文件中的错误修改后重新编译,Project→REBuildtarget(5)运行思考1、程序ZYADV.ASM可以实现什么功能?2、开机后第一秒钟L1,L3亮,第二秒钟L2,L4亮,第三秒钟L5,L7亮,第四秒钟L6,L8亮,第
5、五秒L1,L3,L5,L7亮,第六秒钟L2,L4,L6,L8亮,第七秒钟八个二极管全亮,第八秒钟全灭,以后又从头开始,L1,L3亮,然后L2,L4亮......一直循环下去。怎样实现?四、注意事项1、规范操作忌带电插拔导线,先加交流,再加直流,然后PC机加电。关闭时相反。2、认真阅读参考程序,尝试自己编程。3、填写设备使用记录本。4、班长填写教学记录单。5、认真填写实验报告。6、实验完成后,注意把连线和记录本收到实验箱。7、打扫卫生,5人/组。程序一FLASH:MOVA,#0FEH;置灯亮初值FSH0:MOVR1,#0AH;置闪烁次数FLOP:MOVP1
6、,A;点亮LCALLDELAY;延时1sMOVP1,#0FFH;熄灭LCALLDELAY;延时1sDJNZR1,FLOP;闪烁10次RLA;左移一位SJMPFSH0;循环DELAY:MOVR2,#00HMOVR3,#00HDE:DJNZR2,$DJNZR3,DERET程序二ORG0MAIN:MOVDPTR,#TABMOVR1,#0AHH,10个状态LOOP:MOVA,#00HMOVCA,@A+DPTRMOVP1,A;取第一个状态值ACALLDELAY;调用1S延迟程序,2×250×200×10INCDPTRDJNZR1,LOOPLJMPMAINDELAY
7、:MOVR2,#250MOVR3,#200MOVR4,#10DE:DJNZR2,$DJNZR3,DEDJNZR4,DERETTAB:DB0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FHDB0FFH,00HEND程序三ORG0MAIN:MOVR1,#0AHMOVR0,#00HLOOP:MOVA,R0MOVDPTR,#TABMOVCA,@A+DPTRMOVP1,AINC R0 ANL R0,#07HINCDPTRDJNZR1,LOOPLJMPMAINDELAY:MOVR2,#00HMOVR3,#00HDE:DJNZR2
8、,$DJNZR3,DERETTAB:DB0FAH,0F5H,0FBH,0F7H,