06+电子时钟的制作+.ppt_第1页
06+电子时钟的制作+.ppt_第2页
06+电子时钟的制作+.ppt_第3页
06+电子时钟的制作+.ppt_第4页
06+电子时钟的制作+.ppt_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目六电子时钟的制作 LED数码显示电路的制作 任务二 程序调试与烧写 任务四 1秒定时闪烁电路的制作 任务一 电子时钟的制作 任务三 键盘接口电路及编程 知识点二 相关指令 知识点四 LED数码管接口电路及编程 知识点一 MCS 51单片机定时 计数器 知识点三 项目五地震报警器的制作 项目学习目标 任务一一秒定时闪烁电路的制作 任务要求 单片机的P2 0作输出口 接一个LED发光二极管 通过编程实现发光二极管以1s为周期 亮0 5s 灭0 5s 项目基本技能 1 硬件电路制作 1 电路原理图 2 制作要点及元器件清单 1秒定时闪烁参考程序 ORG0000H 程序开始LJMPSTART 转初始化程序ORG001BH 定时 计数器1中断入口地址LJMPRT1 转定时 计数器1中断服务程序ORG0030H 初始化程序开始START MOVTMOD 10H 定时 计数器1 工作方式1MOVTH1 3CH 设置计数初值MOVTL1 0B0H 设置计数初值MOVR2 05H 设置记录中断次数初值SETBEA 开启总中断允许SETBET1 开启定时 计数器1中断允许SETBTR1 启动定时 计数器1MAIN NOP 主程序不执行任何任务 只是等待中断LJMPMAIN 2 程序编写 1秒定时闪烁参考程序 中断服务程序RT1 MOVTH1 3CH 定时 计数器1中断服务子程序 置计数初值MOVTL1 0B0HDJNZR2 BACK 中断次数少于5次直接返回MOVR2 05H 重新置中断次数初值CPLP2 0 P2 0取反BACK RETI 中断返回END 任务二LED数码显示电路的制作 任务要求 单片机的P0口作输出口 接一个数码管 通过编程实现数码管循环显示十进制数字0 9 单片机的P0口作输出口 接两个数码管 通过编程实现数码管循环显示十进制数字0 59 1 LED显示器静态显示0 9 1 硬件电路制作 2 软件设计 NUMEQU40h 定义数字变量ORG0000HLJMPSTART 转移到初始化程序ORG0030HSTART MOVNUM 00H 初始化变量初值MAIN MOVA NUM 数字送入AMOVDPTR CHAR 字型码首地址存放DPTRMOVCA A DPTR 数字对应字型码送入AMOVP0 A 字型码送P0口显示LCALLDELAY 延时MOVA NUM 数字送入AINCA 加1CJNEA 0AH AA 不等于10转AABB MOVA 00H 等于10 送初值0AA MOVNUM A 保存数字LJMPMAIN 循环 继续显示 DELAY MOVR7 1EH 延时子程序D3 MOVR6 21HD2 MOVR5 0FAHD1 DJNZR5 D1DJNZR6 D2DJNZR7 D3RETCHAR DB0C0H 0F9H 0A4H 0B0H 99H 92H 82H 0F8H 80H 90H 共阳型字型码表END 2 LED显示器动态显示0 59 1 硬件电路制作 2 软件设计 SECEQU42H 秒位变量SEC 1EQU40H 秒BCD码个位SEC 2EQU41H 秒BCD码十位ORG0000HLJMPSTART 到主程序ORG000BHLJMPCT0S 到定时器0的中断服务程序ORG0030HSTART MOVR3 20 初始化R3 20次50ms的中断 MOVTMOD 01H T0工作方式1 定时50msMOVTH0 04BHMOVTL0 0FFHSETBEA 开总中断SETBET0MOVSEC 00H 开定时器0中断SETBTR0 启动定时器MAIN LCALLBCD8421LCALLDISPLAY 调显示子程序LJMPMAIN DELAY MOVR7 255 延时子程序D1 DJNZR7 D1RETCT0S PUSHA 1s的中断服务程序MOVTH0 04BHMOVTL0 0FFHDJNZR3 EE 不到1s 中断返回MOVR3 20MOVA SECINCA 秒加1MOVSEC A 保存秒数值CJNEA 60 EEMOVSEC 00H 满60s置0EE POPARETIBCD8421 MOVA SECMOVB 0AHDIVABMOVSEC 1 BMOVSEC 2 ARET DISPLAY 秒显示子程序MOVP2 00HMOVA SEC 2 显示秒的十位MOVDPTR CHARMOVCA A DPTRMOVP0 AMOVP2 02HLCALLDELAYMOVA SEC 1 显示秒的个位MOVCA A DPTRMOVP0 AMOVP2 01HLCALLDELAYRETCHAR DB0C0H 0F9H 0A4H 0B0H 99H 92H 82H 0F8H 80H 90H 共阳型字型码表END 任务三电子时钟的制作 任务要求 单片机的P0口作段控 P2口作位控 接6个数码管 通过编程实现6位数码电子时钟功能 1 硬件电路制作 1 电路原理图 CPU 按键 显示电路 2 制作要点及元器件清单 1 程序流程图 2 程序编写 2 参考程序 变量定义和内存分配KEY BUFEQU33H 键盘缓冲区KEYTEMPEQU34H 临时按键值HOUREQU40H 小时变量MINEQU41H 分钟变量SECEQU42H 秒变量HOUR 1EQU50H 小时BCD码个位HOUR 2EQU51H 小时BCD码十位MIN 1EQU52H 分钟BCD码个位MIN 2EQU53H 分钟BCD码十位SEC 1EQU54H 秒BCD码个位SEC 2EQU55H 秒BCD码十位SW1BITP1 0 小时加1按键SW2BITP1 1 小时减1按键SW3BITP1 2 分钟加1按键SW4BITP1 3 分钟减1按键ORG0000HLJMPSTART 转移到初始化程序ORG000BHLJMPCT0S 到定时器0的中断服务程序 ORG0030HSTART 初始化部分MOV33H 00H 初始化缓冲区MOVHOUR 12 初始时间12 30 00MOVMIN 30MOVSEC 00MOVR3 20 初始化R3 20次50ms的中断 MOVTMOD 01H 初始化T0定时器 T0工作方式1 定时50msMOVTH0 04BH 送定时器初值MOVTL0 0FFHSETBEA 开总中断SETBET0 开定时器0中断SETBTR0 启动定时器MAIN LCALLKEYPRESS 调按键处理子程序LCALLBCD8421 调BCD码转换子程序LCALLDISPLAY 调显示子程序LJMPMAIN DELAY MOVR7 255 延时子程序D2 DJNZR7 D2RETKEYPRESS 按键处理子程序 P1口为按键的接口SETBSW1 设置为输入JBSW1 KEY1 按键没有按下 查询下一按键LCALLDELAY 若按下 延时去抖JBSW1 KEY1MOVA HOUR 小时变量送入AINCA 小时数加1MOVHOUR A 保存小时数CJNEA 24 KEY0 如果不等于24 等待按键释放MOVHOUR 00H 如果等于24 则使小时数等于0KEY0 LCALLDISPLAY 调显示起延时去抖作用 保证扫描显示不停止JNBSW1 KEY0 没有释放 继续等待LCALLDISPLAYJNBSW1 KEY0KEY1 SETBSW2JBSW2 KEY2LCALLDELAYJBSW2 KEY2MOVA HOURDECA 小时变量减1MOVHOUR ACJNEA 255 KEY10 0减1等于255MOVHOUR 23 KEY10 LCALLDISPLAYJNBSW2 KEY10LCALLDISPLAYJNBSW2 KEY10KEY2 SETBSW3JBSW3 KEY3LCALLDELAYJBSW3 KEY3MOVA MININCA 分钟变量加1MOVMIN ACJNEA 60 KEY20MOVMIN 00HKEY20 LCALLDISPLAYJNBSW3 KEY20LCALLDISPLAYJNBSW3 KEY20KEY3 SETBSW4JBSW4 KRETLCALLDELAYJBSW4 KRETMOVA MINDECA 分钟变量减1MOVMIN ACJNEA 255 KEY30 0减1等于255MOVMIN 59KEY30 LCALLDISPLAYJNBSW4 KEY30LCALLDISPLAYJNBSW4 KEY30KRET RET CT0S 走时部分 延时1s 秒加1 秒满60 分钟加1 分钟满60 小时加1PUSHA 保护现场MOVTH0 04BH 重新送定时器初值MOVTL0 0FFHDJNZR3 TIMEEND 中断次数不足20次直接返回MOVR3 20 中断次数满20次为1s 重新送计数初值MOVA SEC 秒增加1INCAMOVSEC ACJNEA 60 TIMEENDMOVSEC 00HMOVA MIN 秒满60 分钟加1INCAMOVMIN ACJNEA 60 TIMEENDMOVMIN 00HMOVA HOUR 分钟满60 小时加1INCAMOVHOUR ACJNEA 24 TIMEENDMOVHOUR 00HTIMEEND POPA 恢复现场RETI BCD码转换子程序 变量不大于60 没有百位BCD8421 MOVA HOURMOVB 0AHDIVAB 除以10 商为十位 余数为个位MOVHOUR 2 AMOVHOUR 1 BMOVA MINMOVB 0AHDIVABMOVMIN 2 AMOVMIN 1 BMOVA SECMOVB 0AHDIVABMOVSEC 2 AMOVSEC 1 BRET DISPLAY 以下是显示子程序 P0口输出段码 P2口输出位码 MOVP2 00H 显示小时的部分MOVDPTR CHARMOVA HOUR 2MOVCA A DPTRMOVP0 AMOVP2 02HLCALLDELAYMOVA HOUR 1MOVCA A DPTRMOVP0 AMOVP2 01HLCALLDELAY 显示分钟的部分MOVA MIN 2MOVCA A DPTRMOVP0 AMOVP2 08HLCALLDELAYMOVA MIN 1MOVCA A DPTRMOVP0 AMOVP2 04HLCALLDELAY 显示秒的部分MOVA SEC 2MOVCA A DPTRMOVP0 AMOVP2 20HLCALLDELAYMOVA SEC 1MOVCA A DPTRMOVP0 AMOVP2 10HLCALLDELAYRETCHAR DB0C0H 0F9H 0A4H 0B0H 99H 92H 82H 0F8H 80H 90H 共阳型字型码表END 任务四程序调试与烧写 使用仿真器调试程序 程序调试完成后 使用编程器将编译的十六进制文件烧写入单片机 将单片机从编程器上取下 插入电路板的IC插座 给电路板接上5V电源 观察电路运行情况 知识点一LED数码管接口电路及编程 项目基本知识 1 数码管简介 显示字形码 1 LED数码管静态显示接口 2 LED数码管静态显示 2 LED数码管静态显示编程 字形码存放在数据表格中 通常在DPTR内存放数据表格首地址 A存放要显示的数据 利用MOVCA A DPTR这条指令查找字形码 1 LED数码管动态显示接口 3 LED数码管动态显示 2 LED数码管动态显示编程 动态扫描频率太低 LED数码管将出现闪烁现象 频率太高 由于每个LED数码管点亮的时间太短 LED数码管的亮度太低 无法看清 因此 在编程时 常采用调用延时子程序来达到要求的保持时间 一般取几毫秒为宜 知识点二键盘接口电路及编程 1 键盘工作原理 机械式按键在按下或释放时 由于机械弹性作用的影响 通常伴随有一定时间的触点机械抖动 然后其触点才稳定下来 抖动时间的长短与开关的机械特性有关 一般为5 10ms 2 独立式按键 对于独立式按键主程序可以采用不断查询的方法来进行处理 即如果只有一个独立式按键 检测是否闭合 如果闭合 则去除键抖动后再执行按键程序 如果有多个独立式按键 可以依次逐个查询处理 知识点三MCS 51单片机定时 计数器 1 定时 计数的概念 1 计数概念 2 计数器的容量 3 定时 4 溢出 5 任意定时及计数的方法 1 定时 计数器的方式控制字 2 定时 计数器概述 2 定时 计数器的4种工作方式 工作方式0 定时 计数器的工作方式0称为13位定时 计数方式 它由TL的低5位和TH的8位构成13位的计数器 TL的高3位未用 工作方式1 工作方式1是16位的定时 计数方式 M1M0为01 其他特性与工作方式0相同 工作方式2 工作方式2是16位加法计数器 TH0和TL0具有不同功能 其中 TL0是8位计数器 TH0是重置初值的8位缓冲器 方式2具有初值自动装入功能 每当计数溢出 就会打开高 低8位之间的开关 预置数进入低8位 这是由硬件自动完成的 不需要由人工干预 工作方式3 定时 计数器工作于方式3时 定时器T0被分解成两个独立的8位计数器TL0和TH0 1 定时 计数器的初始化 3 定时 计数器初始化及应用 确定工作方式 对TMOD赋值 如 MOVTMOD 10H 表明定时器1工作在方式1 且工作在定时器方式 预置定时或计数的初值 直接将初值写入TH0 TL0或TH1 TL1 根据需要开启定时 计数器中断 直接对IE寄存器赋值 如MOVIE 82H 表明允许定时器T0中断 启动定时 计数器工作 将TR0或TR1置 1 解 因方式0采用13位计数器 其最大定时时间为 8192 1 s 8 192ms 因此 定时时间不可能像方式1一样选择50ms 但可选择定时时间为5ms 再循环200次 定时时间选定后 再确定计数值为5000 则定时器1的初值为 X M 计数值 8192 5000 3192 C78H 0110001111000B因13位计数器中TL1的高3位未用 应填写0 TH1占高8位 所以 X的实际填写值应为 X 0110001100011000B 6318H即TH1 63H TL1 18H 又因采用方式0定时 故TMOD 00H 例6 1用定时器1方式0实现1s的延时 2 定时 计数器的编程和应用 解 要在P1 0得到周期为2ms的方波 只要使P1 0端口每隔1ms取反一次即可 设置T0的方式字 T0的方式字为 TMOD 00H TMOD 0 TMOD 1M1M0 00 T0工作在方式0 TMOD 2 0 T0为定时状态 TMOD 3GATE 0 表示计数不受控制 TMOD 4 TMOD 7可为任意字 因不用T

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论