


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验八综合实验班级 通信1105姓名 李朋伟 学号515.指导老师 袁文澹一、实验目的在掌握单片机控制系统基本实现方法的基础上,综合前期实验,创意设计一个完整的单片机功能系统; 根据创意设计要求在 PROTEUS平台仿真实现系统。二、实验内容基于80C52的抢答计分器(Shaking Way 2s)主要功能如下:1、允许抢答键按下前,选手若按下抢答键,蜂鸣器蜂鸣五秒,四位数码管的第二位显示选手 号,其余位显示F。且该选手的分数扣除 1分。2、 允许抢答按键后,数码管开始30秒倒计时,在最后八秒流水灯依此随秒灭,最后五秒蜂 鸣器一秒一鸣,时间到后蜂鸣三秒示意。3、倒计时期间,如选手按下抢答键,数
2、码管第二位显示最快的选手,倒计时停止且清零。在 第一位选手按键后,其余选手按键按下均无效。4、 允许答题按键按下后,开始60秒倒计时。数码管第二位显示答题选手。最后八秒流水灯 依此随秒灭,最后五秒蜂鸣器一秒一鸣,时间到后蜂鸣三秒示意。5、模式切换按键按下后,数码管切换两种模式。模式一为以上提到的抢答答题模式,模式二 显示选手分数。6、 在模式二中,按键 1为选手切换按键,按下后轮流显示选手分数。按键3和按键4分别对 选手分数进行加减。三、实验原理主要运用到单片机中的以上部分。我们的设计结合了课程实验一到六的全部内容,包括流水灯、蜂鸣器、数码管动态显示和按 键的应用。主要框架同实验六类似,程序运
3、行过程中,主要是对按键部分的循环,通过按键跳转到相应的子程序,执行对应的功能。四、实验方法与步骤设计思路和方法:程序流程图如下:否开始按键2按键3否是按键2按键否是是是否按MOV3AH等待按键3是否为XUANSHOU按键4等待XUANSHOU否否违规是3AH是等待XUANSHOU3AH是按键5按键1否为1否为1进入模式2按键6下按是 MOV进入模式 赋初值按键1标志位3AH置1进入抢答状态切换选手加一减一否否1=1是/违规MOV设计步骤:1、确定实验内容和基本功能。2、小组成员进行分工。金泽芬芬负责按键的赋值,包括状态的切换跳转和子程序调用。谢劼劼负 责子程序调用,计时中断等。李朋伟负责屏幕中
4、断,包括其中四个状态的显示。3、编译与调试。4、80C52 板子反复下载程序验证结果。五、实验结果与分析1、软件设计过程a)源代码;脚功能定义SMG_q EQU P1.0SMG_b EQU P1.1SMG_s EQU P1.2SMG_g EQU P1.3KEY1 EQU P3.7;定义数码管阳级控制脚,千位 ;定义数码管阳级控制脚,百位 ;定义数码管阳级控制脚,十位 ;定义数码管阳级控制脚,个位 ;定义按键 1KEY2 EQU P3.6 ;定义按键 2KEY3 EQU P3.5KEY4 EQU P3.4KEY5 EQU P3.3KEY6 EQU P3.2WEIGUI EQU 38H ;定义一个
5、变量存放计数值秒LFEN EQU 39HXUANSHOU EQU 37HLAST EQU 36HFENSHU1 EQU 35HFENSHU2 EQU 34HFENSHU3 EQU 33HORG 0000HLJMP MAINORG 000BH ;中断入口LJMP TIMERORG 001BHLJMP DISPLAY;数据存放ORG 0100TABLE1: DB 0FFH,0FEH,0FCH,0F8H,0F0H,0E0H,0C0H,80H,0HTABLE2: DB 0C0h,0F9H,0A4H,0b0H,99H,92H,82H,0F8H,80H,90H,0C0H ;表:共阳数码管0-9TABLE3
6、:DB 32H,35H,34H,33HORG 0200HMAIN:MOV 32H,#00HMOV 33H,#0AHMOV 34H,#0AHMOV 35H,#0AHMAIN1: MOV TMOD,#11H ;设置定时器 1 为 1 模式,即 16 位计算模式MOV TH0,#0D8H;给计数寄存器赋值, 10 毫秒时间MOV TL0,#0F0HMOV DPTR,#64536MOV TH1,DPH;重新装入定时器值10 毫秒MOV TL1,DPLMOV IE,#8AH ;开总中断和 T0 中断CLR TR0;SETB TR1CLR ACLR 3AH;CLR WEIGUIMOV XUANSHOU,A
7、MOV R1,ASETB 3BHM01: JB KEY1,M02 LCALL DELAY1 JNB KEY1,$ LCALL DELAY1 JNB KEY1,$ LCALL DELAY1 JNB KEY1,$ MOV A,#30 LCALL DAOJISHI SETB 3AH M02: JB KEY2,M03 LCALL DELAY1 JNB KEY2,$ LCALL DELAY1 JNB KEY2,$ LCALL DELAY1 JNB KEY2,$ CLR TR1 CLR TR0 LJMP MAIN2 M03: JB KEY3,M04 LCALL DELAY1 JNB KEY3,$ LCAL
8、L DELAY1 JNB KEY3,$ LCALL DELAY1 JNB KEY3,$ MOV XUANSHOU,#1H JNB 3AH,M3 CLR TR0 MOV LFEN,#0 LJMP M2M04: JB KEY4,M05 LCALL DELAY1;主持人控制 1 键;按下控制 2 键停止与清零; 选手 1选手 2JNB KEY4,$LCALL DELAY1JNB KEY4,$LCALL DELAY1JNB KEY4,$MOV XUANSHOU,#2HJNB 3AH,M3CLR TR0MOV LFEN,#0LJMP M2 M7:LJMP M01 M05: JB KEY5,M7 ; 选手
9、 3LCALL DELAY1JNB KEY5,$LCALL DELAY1JNB KEY5,$LCALL DELAY1JNB KEY5,$MOV XUANSHOU,#3HJNB 3AH,M3CLR TR0MOV LFEN,#0LJMP M2M2: JB KEY6,$;LCALL DELAY1CLR 3BHMOV A,#3CHLCALL DAOJISHI;SETB 3EHLJMP M01M3:LCALL FENGMINGMOV DPTR,#TABLE3MOV A,XUANSHOUMOVC A,A+DPTRMOV R1,ADEC R1; 最后 8 秒时通过查表依次熄灭流水灯LJMP M01 DISP
10、LAY:JNB LAST,OVERMOV DPTR,#TABLE1MOV A,LFEN ;MOVC A,A+DPTR ;MOV P2,AMOV A,LFENCJNE A,#0H,OVERCLR LASTMOV R0,#3HSETB TR0CLR P1.5LJMP OVEROVER: MOV DPTR,#6453610 毫秒MOV TH1,DPH;重新装入定时器值MOV TL1,DPLMOV DPTR,#TABLE2JB WEIGUI,M1; 违规JNB 3AH,DISPLAY1; 初始状态 JB 3BH,DISPLAY2; 抢答状态 LCALL DISPLAY3; 答题 RETIM1:LCAL
11、L DISPLAY4RETIDISPLAY1: ;等待显示CLR SMG_q ;千位数码管MOV A,#0BFH;MOV P0,ALCALL DELAY ;MOV P0,#0FFH ;SETB SMG_q ;CLR SMG_b ;百位数码管MOV A,#0C0H;MOV P0,ALCALL DELAY ;MOV P0,#0FFH ;SETB SMG_b ;CLR SMG_s ;十位数码管MOV A,#0C0H;MOV P0,ALCALL DELAY ;MOV P0,#0FFH ;SETB SMG_s ;CLR SMG_g ;个位数码管MOV A,#0C0H;MOV P0,ALCALL DELA
12、Y ;MOV P0,#0FFH ;SETB SMG_g ;RETIDISPLAY2: ;抢答计时CLR SMG_q ;千位数码管MOV A,#0F9H;MOV P0,ALCALL DELAY ;MOV P0,#0FFH ;SETB SMG_q ;CLR SMG_b ;百位数码管MOV A,XUANSHOU;选手号数注意显示的 1 和数学的 1 的不同,MOVC A,A+DPTRMOV P0,ALCALL DELAY ;MOV P0,#0FFH ;SETB SMG_b ;MOV A,LFEN ;MOV B,#10DIV ABCLR SMG_s ;十位数码管MOVC A,A+DPTR;MOV P0
13、,ALCALL DELAY ;MOV P0,#0FFH ;SETB SMG_s ;CLR SMG_g ;个位数码管CLR CMOV A,LFENCJNE A,#3H,L11L11: MOV A,BJNC L12JB LAST,L12MOV A,#0HL12: MOVC A,A+DPTR;MOV P0,ALCALL DELAY ;MOV P0,#0FFH ;SETB SMG_g ;RETIDISPLAY3: ;答题显示CLR SMG_q ;千位数码管MOV A,#0A4H;MOV P0,ALCALL DELAY ;MOV P0,#0FFH ;SETB SMG_q ;CLR SMG_b ;百位数码
14、管MOV A,XUANSHOU;选手号数MOVC A,A+DPTRMOV P0,ALCALL DELAY ;MOV P0,#0FFH ;SETB SMG_b ;MOV A,LFEN ;MOV B,#10DIV ABCLR SMG_s ;十位数码管MOVC A,A+DPTR;MOV P0,ALCALL DELAY ;MOV P0,#0FFH ;SETB SMG_s ;CLR SMG_g ;个位数码管CLR CMOV A,LFENCJNE A,#3H,L13L13:MOV A,BJNC L14JB LAST,L14MOV A,#0HL14: MOVC A,A+DPTR;MOV P0,ALCALL
15、DELAY ;MOV P0,#0FFH ;SETB SMG_g ;RETDISPLAY4:;违规显示CLR SMG_q ;千位数码管MOV A,#8EH ;MOV P0,ALCALL DELAY ;MOV P0,#0FFH ;SETB SMG_q ;CLR SMG_b ;百位数码管MOV A,XUANSHOU;选手号数MOVC A,A+DPTRMOV P0,ALCALL DELAY ;MOV P0,#0FFH ;SETB SMG_b ;CLR SMG_sMOV A,#8EH ;MOV P0,ALCALL DELAYMOV P0,#0FFH SETB SMG_s ;CLR SMG_gMOV A,
16、#8EH ;MOV P0,A LCALL DELAYMOV P0,#0FFH SETB SMG_g ; RETDAOJISHI:SETB TR0MOV R0,AMOV LFEN,ARETTIMER:MOV TL0,#0D8HMOV TH0,#0F0H INC R2JNB LAST,T5 MOV A,LFEN CLR C CJNE A,#6H,T3 T3: JNC T5CJNE R2,#01H,T4CLR P1.5T4: CJNE R2,#33H,T5SETB P1.5LJMP T5T5: CJNE R2,#64H,HUIDEC R0MOV LFEN,R0INC R0CJNE R0,#9H,T1
17、 SETB LAST T1: DJNZ R0,HUICLR TR0SETB P1.5JNB WEIGUI,HUI CLR WEIGUIMOV XUANSHOU,#0 HUI: RETI;判断是否是最后几秒的;判断是否小于等于五秒; 最后 5 秒时每一秒中第 10ms 蜂鸣; 最后 5 秒时每一秒中第 510ms 蜂鸣;每整秒进位;最后计时完毕时关计时、蜂鸣、去LAST 标志FENGMING:CLR P1.5SETB TR0;违规状态调用SETB WEIGUIMOV R0,#5HRETMAIN2:MOV XUANSHOU,#1HM11:JB KEY1,M12;主持人控制 1 键LCALL DEL
18、AY1JNB KEY1,$LCALL DELAY1JNB KEY1,$MOV A, XUANSHOUINC ACJNE A,#4H,M6MOV A,#1HM6:MOV XUANSHOU,ASJMP M4M12:JB KEY2,M13;按下控制 2 键停止与清零LCALL DELAY1JNB KEY2,$LCALL DELAY1JNB KEY2,$LJMP MAIN1M13:JB KEY3,M14LCALL DELAY1JNB KEY3,$LCALL DELAY1JNB KEY3,$MOV A,R3INC AMOV R3,ASJMP M5M14:JB KEY4,M4 LCALL DELAY1JN
19、B KEY4,$LCALL DELAY1JNB KEY4,$MOV A,R3DEC AMOV R3,ASJMP M5M4:MOV A,XUANSHOUMOV DPTR,#TABLE3 MOVC A,A+DPTRMOV R1,AMOV A,R1MOV R3,AM5: LCALL DISPLAY5MOV A,R3MOV R1,ALJMP M11DISPLAY5:MOV DPTR,#TABLE2CLR SMG_q ;千位数码管 MOV A,#0B7H;MOV P0,ALCALL DELAY ;MOV P0,#0FFH ;SETB SMG_q ;CLR SMG_b ;百位数码管MOV A,XUANSHOU;选手号数MOVC A,A+DPTRMOV P0,ALCALL DELAY ;MOV P0,#0FFH ;SETB SMG_b ;MOV A,R3 ;MOV B,#10DIV ABCLR SMG_s ;十位数码管MOVC A,A+DPTR;MOV P0,ALCALL DELAY ;MOV P0,#0FFH ;SETB SMG_s ;CLR SMG_g ;个位数码管 MOV A,B ; MOVC A,A+DPTR;MOV P0,ALCALL DELAY ;MOV P0,#0FFH ;SETB SMG_g ;RETDELAY: MO
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 起重机专业知识培训课件
- 2025年度环保材料加工技术研发合同
- 二零二五年度个人公寓租赁管理协议
- 武汉2025年度商业地产租赁及品牌管理合同
- 二零二五年度早餐店加盟合作协议
- 二零二五年度农业科技公司技术员劳动合同终止及农业技术指导合同
- 二零二五年度企业员工虚拟股权激励与员工权益保障合同
- 二零二五年度房屋租赁双方租赁合同解除及违约赔偿协议书
- 2025年度生态保护区房屋拆迁补偿安置协议
- 2025年度旅游景区商铺租赁及景区住宿服务合作合同
- 第15课 列强入侵与中国人民的反抗斗争【课件】-中职高一上学期高教版
- 新人教小学数学六年级下册《成数》示范课教学课件
- CAR-T细胞疗法行业营销策略方案
- 中国海关科学技术研究中心招聘笔试真题2022
- 四年级美术测国测复习题答案
- 2024年河南信息统计职业学院单招职业技能测试题库各版本
- 基于STM32F103C8T6单片机的电动车智能充电桩计费系统设计
- 结构实验技术:地震模拟振动台试验
- 《邓稼先》省公开课一等奖全国示范课微课金奖课件
- GJB9001C-2017管理手册、程序文件及表格汇编
- 2024年常德职业技术学院单招职业技能测试题库及答案解析
评论
0/150
提交评论