版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、微机实验报告LED灯控制器指导教师: 专业班级: 姓名: 学号:联系方式:任务要求实验目的:加深对定时/计数器、中断、1()端口的理解,掌握定时/计數霁、中断的应 用编程技术氏中断程序的调试方法。实验內容:利用C8O51F31O单片机设计一个LED灯控制器主要功能和技术指标要求:1. LEP灯外接于P0.0端。2. LEP灯分别按2Hz, 1Hz和0.5Hz三种不同频率闪动,各持续10s。3. 在LED灯开始和停止闪烁时蜂呜器分别呜响1次。4. 利用单片机内部定时翳定时,要求采用中断方式。提高要求:便用按键(K1NT)控制LED灯闪烁棋式的切换。设计思路C8051F310单片机片上晶振为24.
2、5MHz採用8分频后为3.0625MHz ,输入时钟信 号为48个机器周期,所以T1定时器采用定时方式1,单次定时晟长可以达到的时间为 1.027s,可以满足0.5Hz是的定时要求。基础部分:给TNIOP赋值10H,即选用T1定时器采用定时方式1,三种频率对应的半周期 时间为 0.25s、0.5s、Iso 计算得需给 TH1 和 TL1 为 C1H、BIH; 83H、63H; 06H、C6H。 要使闪烁持绫10s,三种棋式需要各循环40、20、10次。用L()OP3:M()V C,PSW.5 ; PSW.5为标志位,进定时黑中断后置一JNC LOOP3代替踏步程序等待中断,以便中断完后回到主程
3、序继绽向下执行。为了减少代码长度,可以采用循环结构,循环主題中,将Rl、R2分别賦给TH1、 TL1, R7为循环次數(用DJNZ语句实现);定时中断里,畫新给TH1、TL1赋值时同 理。这祥,術环时只要把定时时间和循环次数赋给Rl、R2、R7即可,达到减少代码 长度的效杲。蜂呜器也采用T1定时方式1,定时一秒。提离部分:采用外部中断0,下降沿触发。外部中断程序里置标志位PSR.1和RO, PSV7.5用于 判断执行完一种模式后,是否跳出術环结束。R0用于判断执行何种模式,每按一次后RO 加一,第四次时就将R0和PSW.5清零,这样程序就又回到了基础部分的循序执行。因为中断程序执行完后,会回到
4、原来程序中断的地方,继续向下执行而给程序运行带来 诸多不便。所以,査沓了 RETI语句的实现形式:将栈顶压入PCH, POP后再将栈顶压入 PCL,利用这个定义,只要将需要返回的地址压入PCH和PCL就能返回到指定地址。三、资源分配P0.0:为LED灯控制端口,高电平触发。P3.1:为蜂鸣器控制端口,高电平蝕发。P0.1:为KINT键控制端口,下降沿触发。Rl、R2:用于存放计时器计时数据,R1赋给TH1、R2赋给TL1。R7:存放三种模式的循环次数。R0:在外部中断程序中賦值,用于判断采用何种模式。PSW-1:为标志位,用于等待定时器中断,中断执行完清雾,并在中断处向下继绫执 行程序。PSW
5、.5:为标志位,用于判断执行一种中断还爱三种,在外部中断程序中改变。四、流程图1主程序流程图(合提高部分):2 外部中断流程图3 立时器中断流程图定时器溢出 触发中断五、源代码(含文件头说明、资源使用说明、语句行注释)*:*:*:*:*:* 來 *+*:* 水班 *1*:*9;Filcnamc: LED 灯闪烁.asm;Pccription: LED LED灯分别按2Hz, 1Hz和0.5Hz三种不同频率闪动,各持续10s。;在LED灯开始和停止闪烁时蜂呜器分别鸣响1次。按一次按钮,LEP以;2Hz频率闪动;按第二次以1Hz频率闪动;按第二次以0.5Hz频率闪动;;第四次时又顺序执行三种模式(
6、可以在任何时候按按钮,不必等上一模;式闪烁完);Dcsigiicd by: gxy;Datc:2012.10.319include (C8051F31().inc)LEP BIT PO.O;LED灯控制端口BEEP BIT P3.1;蜂呜器控制端口KINT BIT PO1;K1NT按钮端口ORG 0000H;复位入口LJMP MAINORG 0003H;外部中断0入口LJMP T_K1NTORG 001BH淀时器1入口LJMP TIME1MAIN: LCALL Init_Dcncc;初始化配置M()VR0,#00HCLR LED;关led灯CLRBEEPCLR PSW1;标志位1清零CLR P
7、SW.5;标志位2清零SETB EA;允许总中断SETB EXO;外部中断0允许SETB ITO;下降沿延蝕发MC)VTM()P,#10H;f T1为定时方式SETB ET1;定时器T1允许中断a*;外部中断返回处,选择模式.*#*#*#* ,CHOO: CJNE R(),#02H丄OOP;选择楔式LJMP CASE2;R0等于02H,跳转到棋式2L(X)P:JC CASE1R()小于02H,跳转到撲式1LJMP CASE3工()大于02H,跳转到棋式3水*:*:*:*:*:*:*:*:*:*:*:*:*:*:* 9濮式1, 2Hz闪烁10s *:*:*J#C*:*:* 来 * 球 *水*:水
8、:*:*电*:*水:*玻*:*水:*:*:水取*:*CASE1:M()V R1,#OC1HMOV R2,#OB1HMOV R7,#28HLMP START*水:*水:*:*:*:*水*:*:*水:*:*:*:*:*水來*;模式2, 1Hz闪烁10s*:*:*:*:*:* 來 *:*:*CASE2:M()V R1,#83HMOV R2,#63HMOV R7,#14HLMP START.*#*#*#*;模式3, 0.5Hz闪烁10s.*#*#*#*CASE3:M()V R1,#()6HMOV R2,#0C6HMOV R7,#()AHLMP START.*#*;闪烁控制程序M()VC,PSW.lJC
9、THER E外CJNE A,#14H丄()()P2LJMP CASE3L()()P2:JC THERELIMP CASE2.*#*#*#*#*#*:*START:LCALLV()1C E;蜂鸣IsMOVTH1.R1MOVTL1,R2MOV AR7BACK: SETB TRI;开定时L(X)P1:M()VC,PSW.5;等待中断,中断会虽一标志位PSW.5JNC LOOP1;中断结束,继绫向下运行CLR PSW.5;清零标志位PJNZ R7,BACK;術环,便闪烁达到10s;PSW.l为1则只执行一种模式跳转到THERE等待;部中断;顺序执行时,刿断下一棋式;A=14H则跳转到模式3;A<
10、14H则跳转到模式2TH ERE:LCALL VOICE;蜂呜IsSJMP S;踏步,等待外部中断;蜂呜器响Is.*#*VOICE:SETB BEEP;开蜂呜MOVTH1,#06HM()VTLh#0C6HCLR PSW.5SETB TRI;开定时黑1L(X)P3:MOVC,PSW.5;等待中断JNC L()()P3CLR BEEP;关蜂呜RET.*#*;外部中断0.*#*T_K1NT:SETB PSW.l;标志位1置一,用于判断是否顺序执行三种棋式INC RO尺)加一,用于利断何种摸式CJNE R(),#()4H,K_RETCLRPSW瓦)到04H时清零标志位和R0MOV RO,#0()HK_
11、RET: CLR TRI;关定时器1POP SPPOP SP;出栈两次MOV PPTR,#0036H;OO36H为选择处地址PUSH PPL;DPL压入栈顶PUSH PPH;pph压入栈顶RETI;返回到知道位虽.*淀时器1中断TIMElrMOVTHl.RlM()VTL1,R2;重新置数SETB PSW.5;标志位宜一CLRTR1;关定时CPL LED;LED取反RET!水*:*:*:*:*:*:*:*:*:*:*:*:*:*:*;初始化配昼 .*#*PCAJnit:;关闭看门狗Timcr_lnit:movTMOP,#01 OhmovCKCON,#002hret;定时器1初始化配置anl PC
12、A0MD,#OBFhmov PCAOMD,#O(X)hret;端口初始化配宣;中断初始化配宣Port_I()_lnit:mov XBR1, #()40h retIntcrrupts_lnit:mov IE.# (X)9hretInit_Dcviccr:lcall PCAJnitlcall Timcr_Initlcall Port_I()_lnitlcall Intcrruptsjnit retEND程序测试方法与结果、软件性能分析1、软件调试总体界面:| '皿厂ParJWPort 3OxOT 0x03 Ctefll 0x01 0x0X0 c o?(o:oo QTO2CO30x0)sta
13、tesw=r r TF1¥习ixdptrCJNZUMF:L0CP2:JCWMPA,*LrLOCP2CASE3THERECiSE2TCON:議 WD So"TH1TL1.mFPoti-I , £ Bts 3 ra:|SFF fppppP3MWN. |SfF pppppP3MD0UT W0 rTTTTBns SfF 帀丽 PMJJ C.P5V.1 JC IH£F£20: 3MP MAIH21: O3G 0003H;外总<>:: 0x000002001Z 1JMP MAIX(C:001E)22: LCMP T ZI2C滋g砒* E- E侮
14、5TAF.T:LCALL VOICE KW THbRl Z TL1ZR2 MJJ A,R7 3iCK: SZT2 7F.1 二OCF::M7J C.PS.5 JMC LOOP1 CU» PSW.S WNZ R7,BACHTimcf/Cocnwr 1Trner?CoLfrtef 1 -Mdert Soiree比如 | Wo* | Ffeq | Bo | Pn*moC003H0000TiwcrOKC6H000M0000 FTiner 1W1BH000歸SOOT2JH000 LL沁畑cM2JH000liner 2OKfiH000Tiner2Lc4<0 0 0 0SF1 ktanxt:
15、03JH0005F1 WVrc CdiKriCO33H000SF1 Exc:C33H000SB Receive OvefnnW31H000.Paralid P* 0探-PccO.=-? Bis0PO: pfF pp y|/pPWDIN. / f>yWMCOUT 阿 nTTTTTT pgskp 阿 rrrrrrrr厶Piu CxFF p W2$712、定肘器1测试软件调试时利用标志位用L(X)P1:MOVCTSW.5JNC LOOP1语句,可以在中断返回后,在中断处继绫向下执行代码硬件调试时,可以顺序以2Hz, 1Hz和0.5Hz 3种不同頻率闪动,各挣绽10s,并且蜂呜器鸣叫Is正常3、
16、定时循环代码测试:例如执行撲式1定时0.25s,要循环40次才能跳出开始时,R7为28HRegisterJ Value Regsr00x01fOxclOxblr3000r4000:“ r50x00ir60x000x28一次循环后R7为27HrOOzOlrlOxclr20x66r30x00r40x90rS0x00r60x00沖T0x27RegisterValue耳.Regs趾出循环时,R7为0t>C:OxO0 6E A2D1MOVCf Fl(0xD0J.)81:JC THERE&2 :gbsp sp_maxdptrPC $ statessecS psw0x000010x0b0x00
17、36C:Ox006E3306185810. 795T0873082所以,定时循环程序正常4、外部中断测试rouxuur60x00r70x27a0x28b0k00sp0k03spjnax0x0bdptr0x0036PC $C:OxOOACstates3062717sec1.00007086psw0x82E Sys+1069070071072073074075076077078079吩0800813led.asm *START: LCALL VOICEMOY TiilzRlMCW TLlrR2bfOV AfR7BACK: SETB TRILOCPlibfOV Cz PSW 5JNC LOOP1CL
18、R PSW.5DJNZ R7 z BACK|MOV C, PSW . 1JC THERE105106107;外部中断0108;*109r_KINT:SETE PSW.l110INC RO111CJNE R0z #04HrKJCLR PSW .111314OV RO 岸00目114K_RET: CLR TRI115POP SP116POP SP117MOV DPTR,#O036H118PUSH DPL119PUSH DPH120 |RET IRET如图,软件调试时,进入中断程序执行到RET1后,DPTR被賦为0036H, pc在OOACH处再执行一步r7 白 Sys0x270x280x000x0
19、1037038039040041042043044045046047048049050MOV TMOE,tlOHSETE ET1a;直三1为走討方芦 ;定时器"允许彳sp_m dptr PC $ states!“ sec十 pswOxOb 0x0038C:0x0036 30627221.000072490x82:CJNE ROr#02H,LOOPLJMP CASE2LOOP: JC CASE1LJl-fP CASE3 *模弍丄:2 且乙 cases = c:OxOO53 *CASE1: MOVMOVMOVLJMPRlr#OC1HR2r#OBl.H R7r28H STARTPc在OO36H处,返回到了指定位置。所以,这说明不管程序运行到了哪虽,只要按下KINT馋,就会返回到指定位昼,选择下一种濮式运行。Program Size: data=&0 xdata=0 codc=219代码利用合理空行和注释,不仅在视.觉上美化了,而且让各个于段程序的功能一目了然,方便凋试和检错硬件调试时,在C8051F310单片机开发板上跑代码:不按KINT键时,LED灯以2Hz, 1Hz和0.5Hz三种不同频率闪动,各持续10s,在开始、结束和切换模式时,蜂呜黑都响Is,按下一次时,LED灯以2Hz闪烁10s后结束;按下两次时,JED灯以1Hz闪烁10s后结束;按下三次时
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 陕西邮政2026年度校园招聘200人备考题库带答案详解
- 2026山东省科创集团有限公司权属企业招聘13人笔试历年参考题库附带答案详解
- 2025长江产业集团创新投资事业部一线基金管理团队社会招聘7人笔试历年参考题库附带答案详解
- 2026年阿拉善职业技术学院单招综合素质考试题库附答案详解(研优卷)
- 2026年陕西省西安市单招职业倾向性测试题库及答案详解(各地真题)
- 2025山西大地环境投资控股有限公司招聘116人笔试历年参考题库附带答案详解
- 2026年陕西省商洛地区单招职业倾向性考试题库参考答案详解
- 2026年陕西青年职业学院单招职业适应性测试题库带答案详解(新)
- 2025年昆明元朔建设发展有限公司收费员招聘9人备考题库及参考答案详解1套
- 2026年鹰潭职业技术学院单招职业技能测试题库及参考答案详解
- 北海市老干部活动中心招聘笔试真题2024
- 国家中小学智慧教育平台应用指南
- 2025年部编版道德与法治五年级下册第二单元复习课教案
- 学生心理健康一生一策档案表
- 2025年初级会计职称《经济法基础》精讲课件 (第5-8章)
- 基于PLC电解机床控制系统设计13000字论文
- GB/T 41850.9-2024机械振动机器振动的测量和评价第9部分:齿轮装置
- 6西格玛管理在护理应用中的案例
- GB/T 44731-2024科技成果评估规范
- 医学教材 《狂犬病暴露预防处置工作规范(2023年版)》解读课件
- 马戏团表演行业分析报告及未来三年行业发展报告
评论
0/150
提交评论