




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录目录 目录 1 第 1 章数码管显示 2 1 1 摘 要 2 1 2 关键词 2 1 3 LED 显示的原理 2 1 4 LED 显示动态显示的原理 2 1 5 流程图 4 1 6 实现的功能及结果 4 1 6 1 数码管显示结果 4 1 6 2 程序及解释 5 第 2 章单片机时钟 6 2 1 摘 要 6 2 2 关键词 7 2 3 功能要求 7 2 4 程序设计 7 2 4 1 主程序 7 2 4 2 显示子程序 7 2 4 3 定时器 T0 中断服务程序 8 2 5 按键设置 9 2 6 数码管显示结果 9 2 7 程序 10 2 7 1 汇编程序 10 2 7 2 C 语言程序编译 15 第 3 章两个实验总的电路图 18 1 第第 1 章章数码管显示数码管显示 1 1 摘摘 要要 LED 的技术进步是扩大市场需求及应用的最大推动力 最初 LED 只是作为微型指示灯 在计算 机 音响和录像机等高档设备中应用 随着大规模集成电路和计算机技术的不断进步 LED 显示 器正在迅速崛起 近年来逐渐扩展到证券行情股票机 数码相机 PDA 以及手机领域 LED 显示 器集微电子技术 计算机技术 信息处理于一体 以其色彩鲜艳 动态范围广 亮度高 寿命长 工作稳定可靠等优点 成为最具优势的新一代显示媒体 目前 LED 显示器已广泛应用于大型广 场 商业广告 体育场馆 信息传播 新闻发布 证券交易等 可以满足不同环境的需要 1 2 关键词关键词 LED 动态显示 共阳极 位选 段选 1 3 LED 显示的原理显示的原理 数码管的每段笔画其实就是一个单独的发光二极管 内部有两种不同的连接方式 若将各二极 管的阳极都连在一起引出个公共端 称共阳数码管 如图 a 若将各二极管的阴极都连在一起 引出个公共端 称共阴数码管如图 b 使用时将共阴数码管公共端接低电平 若某笔画端接高 电平则对应笔画点亮 共阳反之 LED 的显示可分静态和动态显示 1 4 LED 显示动态显示的原理显示动态显示的原理 动态显示 如图所示 2 图图 1 4 1 六位动态显示器接口六位动态显示器接口 某一时刻位选先选通其中一位 如对图 5 46 的共阴数码管 要使最左边位能点亮 则令 P3 0 为 1 其余位选位均为 0 这时在字型口输出该位要显示的数字或字符的字型 亮 1ms 左右 接着 位选选通另一位 其余位选关闭 字型口输出该位要显示的数字或字符的字型 虽然这时前一位位 选已关闭 但基于眼睛的惰性 前一位显示的数字或字型还留在眼中 依次一位位循环显示下去 直至最后一位显示完毕 一个动态扫描显示结束 可见动态扫描显示是在执行动态扫描显示程序的 要连续显示必须反复的去执行动态扫描显 示程序 一般可把动态扫描显示编成个子程序 主程序反复去调用它 人眼的惰性有一定时间 一 般 10ms 左右 超过这一时间再去执行显示程序 它就会闪烁 所以 LED 的位数不能太多 首先在内部数据存储器的若干连续单元中开辟一个显示缓冲区 每个单元顺序对应一个数码 管 在调用动态扫描子程序以前 主程序中先在各显示缓冲单元中写入各数码管要显示的数字和字 符在字型表中离开表头位置的值 这样当动态扫描显示程序要向字型口输出字型时 只要读得该对 应缓冲区内的值 通过查字型表获得输出字型 注意不是把缓冲单元的值直接输出 图图 1 4 2 硬件系统的总体设计框架硬件系统的总体设计框架 70H 71H72H 73H 74H75H 0 10 20 30 40 50 6 3 1 5 流程图流程图 1 6 实现的功能及结果实现的功能及结果 六位数码管显示自己的姓名和学号 姓名为开头的英文字母 1 6 1 数码管显示结果数码管显示结果 4 显示字符共阴极段选码显示字符 共阴极段选码 03FH56DH 106H67DH 25BH707H 34FH87FH 466H96FH T0CEHQ98H 灭 黑 00H 表 1 共阴极 7 段 LED 显示字型编码表 1 6 2 程序及解释程序及解释 ORG 0000H AJMP START START MOV R0 01H 扫描端口初植 PLAY MOV P0 0FFH 清原数据 MOV R5 160 滚动的速度 MOV A R0 ADD A 04H MOV R1 A MOV P2 01H PLAY1 MOV A R0 6 位数码管显示位数码管显示 DEC A A 中的数减 1 MOV DPTR TAB 段码表表址放入数据指针 MOVC A A DPTR 查段码 MOV P0 A 段码数据放入 P0 口 LCALL DL512 长调用 DL512 MOV A R0 A 恢复 1 SUBB A R1 JNC PLAY2 进位位不为 1 程序转至 PLAY2 INC R0 MOV A P2 RL A A 中的数循环左移 1 位 MOV P2 A P2 0AH AJMP PLAY1 PLAY2 DJNZ R5 PLAY4 R5 中的数减 1 不为 0 程序转至 PLAY4 AJMP PLAY3 PLAY3 MOV A R0 使滚动使滚动 SUBB A 04H 5 MOV R0 A SUBB A 010H 显示扫描数据的长度 JNC START LJMP PLAY PLAY4 MOV A R0 控制滚动时间控制滚动时间 SUBB A 05H MOV R0 A MOV P2 01H LJMP PLAY1 DL512 MOV R2 0FFH 延时延时 DL1 DJNZ R2 DL1 RET TAB DB 0FFH 0FFH 0FFH 0FFH 0FFH 0C0H 080H 0F9H 0B0H 0F9H 0C0H 0F9H 099H 0C0H 0FFH 0CEH 98H 9 8H 0FFH 0FFH 0FFH END 第第 2 章章单片机时钟单片机时钟 2 1 摘摘 要要 时钟是人类生活中必不可少的的工具 本设计从日常生活中的事物入手 通过对时钟计时器的设计 让我们认 识到单片机已经深入到我们生活的每个领域 该设计不仅可以锻炼我们的动手能力 而且可以加深我们对单片机的 认识和激发我们队位置科学领域的探索 利用单片机实现教学数字时钟计时的主要功能 采用独立式按键进行时间调整 其中 AT89C52 是核心元件同 是采用数码管 LED 动态显示 时 分 秒 的现代计时装置 与传统机械表相比 它具有走时精确 显示直观等特点 它的计时周期为 24 小时 显满刻度为 23 时 59 分 59 秒 该系统同时具有硬件设计简单 工作稳定性高 价格低廉等优点 2 2 关键词关键词 AT89C52 LED 显示 6 2 3 功能要求功能要求 1 六位数码管显示时 分 秒 以 24 小时运算 2 可实现时分调整 2 4 程序设计程序设计 2 4 1 主程序主程序 设计中计时采用定时器 T0 中断完成 主程序循环调用显示子程序和查键 当端口有开关按下时 转入相应的功能程序 流程图如图 2 4 1 所示 图图 2 4 12 4 1 主程序流程主程序流程 2 4 2 显示子程序显示子程序 显示子程序每次显示 6 个连续内存单元的十进制 BCD 码数据 由于采用 7 段共阳 LED 数码管动 态扫描实现数据显示 显示十进制 BCD 码数据对应段码存放在 ROM 中 流程图如图 2 4 2 所示 显示时取内存地址中数据 然后查表得对应显示段码从 P0 口输出 P2 口将为对应的数码管供 电 于是数码管就会显示该地址单元的数据 7 图 2 4 2 显示子程序 2 4 3 定时器定时器 T0 中断服务程序中断服务程序 定时溢出中断周期设为 50MS 中断进入后先进行定时中断初值校正 当中断累加到 20 次时 对秒计数单元进行加 1 操作 时钟最大计时值为 23 时 59 分 59 秒 7FH 存放 熄灭符 数据 用于时间调整时的闪烁功能 在计数单元中 采用十进制 BCD 码计数 满十进位 流程图如图 3 3 所示 在程序中采用 12MHZ 晶振频率 精度为 1MS 定时初值为 50MS 用循环程序进行 20 次循环 可到 1S 当 1S 到时调用加 1 程序并判断秒 分是否为 60 当秒为 60 时 秒清零 分加 1 当分 为 60 时 分清零 终端结束时 分时计时单元数据移入对应显示单元 8 图 3 3 定时器 T0 中断服务程序 2 5 按键设置按键设置 采用共阳七段 LED 显示器 其管脚 a g ap 与单片机 AT89C52 的 P0 口相连 P0 口输出段码数 据 为保证其输出的电平和 LED 显示器所需的电平相匹配 P2 0 P2 5 作为列扫描输出 P1 0 P1 1 接 2 个按钮开关 用于调时 2 6 数码管显示结果数码管显示结果 9 图中显示的是 8 点 19 分 03 秒 2 7 程序程序 2 7 1 汇编程序汇编程序 XAL 12MHz 单片机 STC89C52RC BUZZ BIT P3 7 轰鸣器 整点报时 KEY1 BIT P1 0 KEY2 BIT P1 1 DISPRAM DATA 30H 显示数字的暂存 HOUR REG DATA 38H MINU REG DATA 39H SECO REG DATA 3AH T0 COUNT DATA 3BH DISP COUNT DATA 3CH ORG 0000H 主程序的入口 LJMP MAIN ORG 000BH 定时器 T0 中断程序入口 LJMP T0 TIME ORG 0030H MAIN MOV SP 3FH 堆栈指针设置堆栈地址存放 MOV HOUR REG 0 MOV MINU REG 0 MOV SECO REG 0 MOV TMOD 11H 定时中断 选择工作方式 1 MOV IE 82H EA 1 CPU 开放中断 ET0 1 使能定时器 T0 溢出中断 SETB TR0 开定时计数器 MAIN1 LCALL TIME2STR 调用时间数据显示 MOV R0 DISPRAM LCALL DISPLAY JB KEY1 MAIN1 LCALL TIME SET SJMP MAIN1 时间数据显示字符串功能 TIME2STR MOV R0 DISPRAM 时间数据显示 MOV A HOUR REG MOV B 10 10 DIV AB MOV R0 A MOV A B INC R0 MOV R0 A MOV A MINU REG MOV B 10 DIV AB INC R0 MOV R0 A MOV A B INC R0 MOV R0 A MOV A SECO REG MOV B 10 DIV AB INC R0 MOV R0 A MOV A B INC R0 MOV R0 A RET 设定的时间功能 TIME SET CLR TR0 关定时计数器 MOV SECO REG 0 把秒清零 LCALL TIME2STR TIME S1 MOV R0 DISPRAM LCALL DISPLAY JNB KEY1 TIME S1 MOV R2 2 TIME S2 MOV A R2 JZ TIME S3 LCALL TIME2STR CJNE R2 2 TIME S21 ORL DISPRAM 80H ORL DISPRAM 1 80H SJMP TIME S22 TIME S21 ORL DISPRAM 2 80H ORL DISPRAM 3 80H TIME S22 MOV R0 DISPRAM LCALL DISPLAY 11 JB KEY1 TIME S23 DEC R2 TIME S221 MOV R0 DISPRAM LCALL DISPLAY JNB KEY1 TIME S221 TIME S23 JB KEY2 TIME S2 CJNE R2 2 TIME S231 INC HOUR REG MOV A HOUR REG CJNE A 24 TIME S232 MOV HOUR REG 0 SJMP TIME S232 TIME S231 INC MINU REG MOV A MINU REG CJNE A 60 TIME S232 MOV MINU REG 0 TIME S232 MOV R3 20 TIME S233 MOV R0 DISPRAM LCALL DISPLAY DJNZ R3 TIME S233 SJMP TIME S2 TIME S3 SETB TR0 RET 显示功能 6 个 LED 数码管 DISPLAY PUSH ACC 把 ACC 累加器 中的数字压入堆栈 PUSH DPH 把 16 位指针高 8 位压入堆栈 PUSH DPL PUSH PSW 状态字入栈保护 保护现场 MOV A R4 PUSH ACC 保存寄存器的数字 R4 R5 R6 R7 MOV A R5 PUSH ACC MOV A R6 PUSH ACC MOV A R7 PUSH ACC INC DISP COUNT ANL DISP COUNT 7FH 相与 闪烁 让灯可以由亮转为灭 MOV R5 8 MOV R4 01H 12 MOV DPTR DISPTABLE DISPL1 MOV A R0 PUSH ACC MOV P2 R4 ANL A 80H JZ DISPL11 MOV A DISP COUNT SUBB A 32 JNC DISPL11 MOV P2 0 DISPL11 POP ACC ANL A 7FH MOVC A A DPTR MOV P0 A MOV R6 00H MOV R7 01H LCALL DELAY MOV P0 0FFH INC R0 MOV A R4 RL A MOV R4 A DJNZ R5 DISPL1 POP ACC MOV R7 A POP ACC MOV R6 A POP ACC MOV R5 A POP ACC MOV R4 A POP PSW POP DPL POP DPH POP ACC RET DISPTABLE DB 0C0H 0F9H 0A4H 0B0H 99H 92H 82H 0F8H 80H 90H 88H 83H 0C6H 0A1H 86H 8EH 0BFH 89H 0C7H 8CH 0FFH 0 1 2 3 4 5 6 7 8 9 A B C D E F H L P 延迟功能 延迟时间 R6R7 ms 13 DELAY PUSH ACC MOV A R4 PUSH ACC MOV A R5 PUSH ACC MOV A R7 JZ DELAY01 INC R6 DELAY01 MOV R4 02H MOV R5 0F4H DELAY02 DJNZ R5 DJNZ R4 DELAY02 DJNZ R7 DELAY01 DJNZ R6 DELAY01 POP ACC MOV R5 A POP ACC MOV R4 A POP ACC RET 用 T0 的中断功能 T0 TIME MOV TL0 0B0H MOV TH0 3CH PUSH PSW PUSH ACC INC T0 COUNT MOV A T0 COUNT SUBB A 20 JC T0 OUT MOV T0 COUNT 0 INC SECO REG MOV A SECO REG SUBB A 60 JC T0 OUT MOV SECO REG 0 INC MINU REG MOV A MINU REG SUBB A 60 JC T0 OUT MOV MINU REG 0 14 INC HOUR REG MOV A HOUR REG SUBB A 24 JC T0 OUT MOV HOUR REG 0 T0 OUT POP ACC POP PSW RETI END 2 7 2 C 语言程序编译语言程序编译 include define uchar unsigned char define uint unsigned int define ulong unsigned long sbit BUZZ P3 7 sbit KEY1 P1 0 sbit KEY2 P1 1 uchar hour reg minute reg second reg void delay uint void display uchar void time2str uchar void time set void void main void uchar dispram 8 TMOD 0 x11 选择工作方式 1 IE 0 x82 EA 1 CPU 开放中断 ET0 1 使能定时器 T0 溢出中断 TR0 1 开定时计数器 while 1 time2str dispram display dispram if KEY1 0 time set void time2str uchar ch ch 0 hour reg 10 显示小时的高位 ch 1 hour reg 10 显示小时的低位 15 ch 2 minute reg 10 显示分钟的高位 ch 3 minute reg 10 显示分钟的低位 ch 4 second reg 10 显示秒的高位 ch 5 second reg 10 显示秒的低位 void time set void uchar ch 6 uchar i c TR0 0 关定时计数器 second reg 0 秒钟清零 time2str ch do display ch while KEY1 0 c 2 while c time2str ch if c 2 ch 0 0 x80 ch 1 0 x
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 美容机构营销活动方案策划
- 吉林建筑动画方案设计公司
- 吐鲁番工程顶管施工方案
- 营销推广咨询报价方案
- 改造小型超市建筑方案设计
- 移动服务站营销模式方案
- 编写施工方案思路怎么写
- 抖音营销方案是什么
- 商业街年度营销活动方案
- 常州整合营销报价方案
- 2025-2026学年赣美版(2024)小学美术二年级上册(全册)教学设计(附目录P126)
- 2025年度全国保密教育线上培训考试题库及答案(完整版)
- 流感疫苗接种课件
- 2025至2030中国氧化钪行业需求状况及未来趋势前景研判报告
- 题型专攻:平行线分线段成比例【八大题型】(原卷版)
- 奇瑞试乘试驾协议书模板
- 宠物洗澡美容免责协议书
- 食品生产监管培训课件
- 教科版(2024)九年级上册物理教学计划含进度表
- 2025-2026学年北师大版(2024)小学数学三年级上册教学计划及进度表
- 大型项目合同评审与风险管理方案
评论
0/150
提交评论