单片机实训——主任务为电子秒表.doc
《单片机实训——主任务为电子秒表.doc》由会员分享,可在线阅读,更多相关《单片机实训——主任务为电子秒表.doc(27页珍藏版)》请在沃文网上搜索。
1、目 录一、设计目的1二、设计任务12.1任务内容1基本任务自选任务2.2任务分工1三、框图3.1各任务硬件框图3.11蜂鸣器自检23.12键盘自检23.13 LED 显示器自检23.14 A/D自检53.15自选任务电子秒表 63.2各任务流程框图3.21蜂鸣器自检63.22键盘自检73.23 LED 显示器自检73.24 A/D自检83.25自选任务电子秒表8四、程序清单4.1蜂鸣器自检144.2键盘自检 154.3 LED 显示器自检164.4 A/D自检174.5自选任务电子秒表 19五、设计体会25六、参考资料27一、 设计目的: 通过以51单片机为核心的智能仪表的硬件调试过程,掌握具
2、有蜂鸣器、按键、LED 显示、A/D等接口电路的单片机应用系统的设计思想和方法,并熟悉定时器中断、外部中断系统的使用,进而对51单片机有更深层次的认识。 学习应用系统软件的模块化设计方法,通过源程序的编辑、汇编或编译、链接、仿真调试,合理分工,完成给定的任务。通过上述过程提高学生工程实践能力和素质。二、设计任务:2.1任务内容:基本任务:完成蜂鸣器、键盘、七段LED 显示器、A/D的自检程序设计。(1)蜂鸣器自检 要求:利用程序实现两种以上声音。 (2)键盘自检 要求:确定键盘正确。 (3)七段LED 显示器自检 要求:确定LED 显示器每一段均正确。(4) A/D自检要求:确定AD7109工
3、作是正常的。自选任务:电子秒表功能:(1)显示时间范围059分59秒 (2)跑表时间范围059分59秒硬件环境:LED显示器、键盘等2.2任务分工:李晓乐(组长):各个小任务主程序编制,大任务的主程序编制,大任务程序流程图的绘制张保增:完成各个小任务流程图的编制与整理,部分大任务程序流程图的绘制,完成分配给的子程序的编制,实验报告整理与排版三、 框图(包括自检和任务的框图):1、 硬件编程框图 (1)蜂鸣器自检硬件编程框图P2.3 电路图:(2)键盘自检硬件编程框图P1P2.5P2.6P2.7LED蜂鸣器 电路图:(3)LED自检硬件编程框图字型口字位口P0P2.7P2.6P2.5电路图:(4
4、)A/D自检硬件编程框图A/D7109LED显示 P2.5P2.6P2.7模拟量输入P1INT0 电路图:(5)自选题目电子秒表编程框图:键盘K1:计时、暂停、续计K2跑表清零K3切换时间表单片机LED显示器138译码器2、各个任务框图(1) 蜂鸣器自检程序框图 开始蜂鸣器停 调用延时1 蜂鸣器响止蜂鸣器停调用延时2 蜂鸣器响蜂鸣器停调用延时3蜂鸣器响蜂鸣器停调用延时4蜂鸣器响 返回(2)键盘自检框图 开始 关蜂鸣器 键盘采样 否是否有键按下 调用延时去抖动 是 采样,按键是否在 否 是 蜂鸣器响 返回(3)LED显示器自检程序框图一闪一闪显示good动态显示12345检测每一位数码管的每一段
5、 开始(4)A/D自检程序框图 开始 蜂鸣器响数据溢出显示低八位中低四位数据显示低八位中高四位数据显示高八位中低四位数据 初始化 外部中断读高八位数值送是否溢出Y采集数据送值N 结束NY(5)自选题目:电子秒表框图一级框图 结束 定时器中断按条件改变初始值 初始化 跑表显示状态LED显示秒表 初始化 开始 二级框图 主程序 开始 初始化 按键扫描 K1? 秒表显示 跑表显示为00:00 K1? 跑表计时 跑表暂停 K1? K1? 跑表续计时 K1? K2? K3? K2? K3? N YY N NN NYNY下面为定时器框图,定时器0用于跑表定时,定时器1用于秒表定时,以下两个框图中不满足条件
6、的则直接跳出定时器中断服务程序(要不图画的比较乱) 定时器1中断 定时器0中断 初始值设定为50ms初始值设定为5msR3是否为20 R4是否为2 MIAO02加一MIAO22加一Miao02=10? miao22=10? Miao01加1miao11加1Miao01=6 ? miao11=10? Fen2加1 Fen22加1Fen2=10? Fen22=10? Fen1加1 Fen21加1 结束 Fen1清0Fen1=6? 结束 Fen21清0Fen21=10? 子程序框图(主要): 开始1)初始化框图缓冲区清零设定初置、开中断、栈顶设计结束2)蜂鸣器延时子程序框图返回 关蜂鸣器 延时使蜂鸣
7、器响 开始 3) 显示子程序框图(包括秒表显示与跑表显示) 返回 延时显示位选数码管 开始送偏移地址,送要显示的内容25四、 程序清单:(1)蜂鸣器自检START: ORG 0000H QQ: MOV R5,#50H ;第一声音延迟时间AA: SETB P2.3 CLR P2.3 ;第一个声音 LCALL DELAY1 LCALL DELAY2 SETB P2.3 LCALL DELAY1DJNZ R5,AA MOV R5,#0A0HBB: SETB P2.3 CLR P2.3 ;第二个声音 LCALL DELAY1 SETB P2.3 LCALL DELAY1DJNZ R5,BB MOV R
8、5,#60H CC: CLR P2.3 ;第三声音 LCALL DELAY1 SETB P2.3 LCALL DELAY2 DJNZ R5,CC MOV R5,#60HDD: CLR P2.3 ;第四声音 LCALL DELAY3 SETB P2.3 LCALL DELAY2 DJNZ R5,DD LJMP QQ;* ; 三个延时程序,2最长,1次之,3最短;*DELAY1:MOV R6,#05H ;外循环次数 延时2.5毫秒LOOP1:MOV R7,#0F8H ;内循环次数 NOPLOOP2:DJNZ R7,LOOP2 DJNZ R6,LOOP1 RETDELAY2:MOV R6,#14H
9、;延时 1秒LOOP21:MOV R7,#0F8H NOPLOOP22:DJNZ R7,LOOP22 DJNZ R6,LOOP21 RETDELAY3:MOV R6,#14H ;2.3毫秒LOOP31:MOV R7,#0A4H NOPLOOP32:DJNZ R7,LOOP32 DJNZ R6,LOOP31 RET(2) 键盘自检:START:MOV P0,#0C1: LCALL SEL8 ;开按键三态门 MOV P1,#0FFH MOV A,P1 CJNE A,#0FFH,C2 ;是否有键按下 SJMP C1 ;如没有键按下 循环等待C2:LCALL DELAY1 ;有键按 下降沿消抖 CJN
10、E A,#0FFH,K1 SJMP C1 ;再次判断是否真正按下K1: JB ACC.0,K2 ;判断第一;个按键 ,可屏蔽拨盘影响K11: LCALL SEL3 ;选择数码管第三位 MOV A,#0CH MOV P0,A LCALL BEEP LCALL SEL8 ;打开三态门重新 取此键值,实现“键连锁保护 MOV P1,#0FFH MOV A,P1 JNB ACC.0,K11 ; LCALL DELAY1 JNB ACC.0,K11K2: JB ACC.1,K3K21: LCALL SEL3 MOV A,#0B6H MOV P0,A LCALL BEEP LCALL SEL8 MOV P
11、1,#0FFH MOV A,P1 JNB ACC.1,K21 LCALL DELAY1 ;松开按键上升;沿去抖动 JNB ACC.1,K21K3: JB ACC.2,K4K31: LCALL SEL3 MOV A,#9EH MOV P0,A LCALL BEEP LCALL SEL8 MOV P1,#0FFH MOV A,P1 MOV A,P1 JNB ACC.2,K31 LCALL DELAY1 ;松开按键上 ;升沿去抖动 JNB ACC.2,K31K4: JB ACC.3,c3K41: LCALL SEL3 MOV A,#0CCH MOV P0,A LCALL BEEP LCALL SEL
12、8 MOV P1,#0FFH MOV A,P1 JNB ACC.3,K41 LCALL DELAY1 ;松开按键 上升沿去抖动 JNB ACC.3,K41c3: AJMP C1;* ;延时子程序DELAY1: MOV R6,#1AH LOOP1:MOV R7,#0F8H NOP LOOP2:DJNZ R7,LOOP2 DJNZ R6,LOOP1 RETDELAY2: MOV R3,#0FFH LOOP21: MOV R2 ,#0F8H NOPLOOP22: DJNZ R2,LOOP22 DJNZ R3,LOOP21 RET;*; 蜂鸣器响子程序BEEP: CLR P2.3 LCALL DELA
13、Y2 SETB P2.3 LCALL DELAY2 RET;*; 打开三态门,位选子程序SEL8: SETB P2.7 SETB P2.6 SETB P2.5 RETSEL3: CLR P2.7 SETB P2.6 CLR P2.5 RET(3) LED自检程序:LED0 EQU 30HLED1 EQU 31HLED2 EQU 32HLED3 EQU 33HLED4 EQU 34HMAIN: LCALL SEL1 ;测第1个数码管 LCALL ST2 LCALL SEL2 ;测第2个数码管 LCALL ST1 LCALL SEL3 ;测第3个数码管 LCALL ST1 LCALL SEL4 ;
14、测第4个数码管 LCALL ST1 LCALL SEL5 ;测第5个数码管 LCALL ST1 MOV R0,#30H MOV R1,#1H MOV DPTR,#TAB SS: MOV A,R1 ;动态显示12345 MOVC A,A+DPTR MOV R0,A INC R0 INC R1 CJNE R1,#7DH,SS MOV R3,#32H WW: LCALL DISPLAY ;动态显示;12345延时一段时间 DJNZ R3,WW LCALL SEL7 LCALL DELAY MOV R0,#30H ;缓冲区送;对应的tab值,最终显示 good MOV R0,#0CH INC R0 M
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 主任 电子 秒表
