基于51单片机的数字钟设计-毕业设计论文(编辑修改稿)内容摘要:
再调校时均不向上一单位进位(例如分加到 59 后变为 00;但小时不发生改变)。 按键的开关状态通过一定的电路转换为高、低电平状态。 按键闭合过程在相应的 I/O 端口形成一个负脉冲。 闭合和释放过程都要经过一定的过程才能达到稳定,这一过程是处于高、低电平之间的一种不稳定状态,称为抖动。 抖动持续时间的常长短与开关的机械特性有关,一般在 510ms 之间。 为了避免 CPU 多次处理按键的一次闭合,应采用措施消除抖动。 本文采用的是独立式按键,电子综合设计论文 9 直接用 I/O 口线构成单个按键电路,每个按键占用一条 I/O 口线,每个按键的工作状态不会产生互相影响。 4 硬件设计 图 LED 电路图 由 MCS51 单片机系统的硬件原理图可知, 8位数码管的显示由 SEL1— 8端控制由哪个数码管显示,由 SEG_AG 端控制显示的数据,同时这两个端口都与 P0 口相接的74HC573 的输出有 关,而控制端分别为与非门输出口的 CS_LED_SEL11, CS_LED_SEG11,由此找到 CS3, CS2与非门输入端,同时 CS3, CS2 为 HC138 译码器的输出,由高 8 位的 A8,9,10,15 控制,故可通过对高 8位的设置从而来控制数码管的显示。 电子综合设计论文 10 图 74HC138 芯片图 图 或非门电路 图 74HC573芯片图 电子综合设计论文 11 5 软件设计 图 主程序定时器的程序流图 电子综合设计论文 12 图 中断服务以及显示 电子综合设计论文 13 6 系统测试 硬件: MCS51 单片 机系统 一片一片,计算机一台,通讯电缆一根,数据线一根。 软件: Windows XP 操作系统、 Keil51 软件, SoftICE 监控程序。 硬件测试 先检测单片机与计算机的连接问题,将单片机设置为可控制状态;由于我们拿到的是现成的 51单片机,首先编先一段程序检测 LED 数码管是否完好 ,同时利用这个小程序可以检测数码管是共阴极还是共阳极类型,查看晶体振荡器的振荡频率,复位是否有效,电源是否接通好等硬件设施。 软件测试 SoftICE 的下载与使用: SoftICE 的英文是 Software In Circuit Emulator 的简称,其翻译成中文就是在线 的软件仿真器的意思,它是 SST 公司为方便 SST用户在使用 SST 单片机(包括 SST89C5xSST89x564RD/554RC/516RD2/5XRD2 )调试程序所开发的开发工具,这个 SST 的仿真器功能可以代替大部分的专用仿真器的功能,使单片机工程师在开发单片机时省却了价格昂贵的仿真器和编程器,使得 51 单片机的开发更加容易和普及并且 SST的单片机价格便宜,出厂时就包含了在线下载和在 线仿真的功能。 SoftICE 监控程序占用 89E516RD 的 MCU 的 5Kbyte 程序空间为: BLOCK1 的 4Kbyte 从 0000h 到 0FFFh BLOCK0 的 1Kbyte 从 FC00h 到 FFFFh 由于 SST 的 MCU 在出厂时已经将 BOOT LOADER 的下载监控程序写入到芯片中,因此无需编程器就可通过 SST BOOTSTRAP LOADER 软件工具将用户程序下载到 SST 的 MCU中,电子综合设计论文 14 从而运行用户程序。 SST BOOTSTRAP LOADER 软件工具还可将原来的 MCU 内部的下载监控程序转 换为SoftICE 的监控程序从而实现 SOFTICE 的仿真功能。 执行 软件运行 SST BootStrap Loader,在内部模式下检测到对应器件的型号后, SoftICE 固件通过按 SoftICE 菜单下“ Download SoftICE”选项下载,便将 SoftICE 固件下载到 MCU, 在 BLOCK1 的 SST BootStrap Loader 会被 SoftICE固件代替,详细操作步骤如下: 选择连接的串口,选择 Detect Target MCU for and RS232 Config: 选择芯片型号和内部存储器模式,选择 SST89E/V516RD2 和 Inter Memory: 选择串口波特率 MCU的晶振频率,串口号为 COM1,晶振频率为 : 按确定后再重新复位 MCU: 如果通讯成功在窗口的右上角可以显示出芯片的型号及 BOOT LOADER 的版本信息: 点击 DOWNLOAD SOFTICE 的按钮即可将 MCU 内部的 BOOT LOADER 的监控程序更换为 SOFTICE 的监控程序: 点击确定 按钮确认转换为 SOFT ICE 的监控程序: 这是转换后的提示信息,说明转换 SOFTICE 监控程序成功: 此时这片 SST89E516RD 芯片便具备了 SOFTICE 的在线仿真的功能。 若要将 Keil C 编译生成的 HEX 文件下载到 MCU 中,则在通讯成功(参见 5)后,点击 Download 或者 Dnload/Run UserCode: 1点击浏览后选择需要下载的 HEX 文件,然后点击“ OK”确定: 1然后点击“是”确认下载,或者点击“否”放弃下载。 实施过程 :点亮最右边的数码管,显示设定的数字 ORG 0000H JMP MAIN。 转入主程序 ORG 0100H。 主程序 MAIN: MOV A,0FEH。 选择最右边的数码管 MOV DPTR,8300H。 通过 SEL 选择数码管地址端 MOVX @DPTR,A。 将最右边数码管的地址传给低 8 位 p0 口,点亮 MOV A,3FH。 设置显示数字, 0 MOV DPTR,8200H。 通过 SEG 选择显示的数据 MOVX @DPTR,A。 将要显示的数据的地址传给低 8 位 p0 口,显示 LJMP MAIN。 使程序一直在主程序中,之前少了这句,编译 电子综合设计论文 15 通过,却运行不了 END :点亮最右边的数码管,从 TAB 字表中选择想要显示的数字 ORG 0000H JMP MAIN ORG 0100H MAIN: MOV 7EH,3。 用地址 7EH 做十进制数据 3 的缓冲区 MOV R0, 7EH。 将数据 3 寄存在 R0 寄存器 MOV DPTR,TAB。 将 DPTR 指针指向字表 MOV A,R0。 把 R0 中的数据放到 A 中,注意区别于 A,@R0 MOVC A,@A+DPTR。 从字表中取出从 0 开始的编号为 3 的数存在 A MOV DPTR,@8200H。 显示 A 中的数据 MOVX @DPTR,A MOV A,@0FEH。 选择最右边的数码管 MOV DPTR,@8300H MOVX @DPTR,A TAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH END :用定时器 T0 在秒位(最右边的数码管)上实现 1S 加 1 显示 初始值的计算: 模式 0 最长定时约 16ms, 模式 1 最长可定时约 130ms, 模式 2 最长可定时约 510us 要实现 1s 定时,可选择模式 1,每个 50ms 中断一次,中断 20 次为 1s。 根据公式,设初值为 X ( 216 X) *12/(12*106HZ)=50*103s 所以算得 X =15536=3CB0H 故初值 ( TL0) =0B0H,(TH0)=3CH 代码: ORG 0000H JMP MAIN ORG 000BH。 T0 中断入口 AIMP SERVE。 转入中断 ORG 0030H 电子综合设计论文 16 MAIN:。基于51单片机的数字钟设计-毕业设计论文(编辑修改稿)
相关推荐
外接定时反馈元件以后就组成振荡器,产生时钟送至单片机内部的各个部件。 AT89C51是属于 CMOS8位微处理器,它的时钟 电路在结构上有别于 NMOS型的单片机。 CMOS型单片机内部(如 AT89C51)有一个可控的负反馈反相放大器,外接晶成都理工大学本科毕业设计(论文) 10 振(或陶瓷谐振器)和电容组成振荡器,图 4- 2为 CMOS型单片机时钟电路框图。 振荡器工作受 /PD端控制
地址外部数据存储器进行存取时, P2 口输出地址的高八位。 在给出地址“ 1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时, P2 口输出其特殊功能寄存器的内容。 P2口在 FLASH编程和校 验时接收高八位地址信号和控制信号。 P3 口: P3口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL 门电流。 当 P3口写入“ 1”后,它们被内部上拉为高电平
行驱动器 T6A40 工作原理如下:两个 34 位双向移位寄存器产生的两个 34 位并行数 据将输出到两个 LCD 驱动电路中,并在 LCD 偏压电路作用下产生 68 位并行 LCD 行输出信号,最后加到 LCD 屏的行输入端。 4 硬件设计 ( 1)控制液晶显示模块实现英文、汉字、图形、及图像的显示。 ( 2)实现便携式设计。 ( 3)可提供实现与计算机的数据传输的接口电路。
CJNE R1,4,EXIT MOV R1,0 MOV 24H,00H。 调时闪烁基准清零 RET /*****增加键处理子程序 *****/ ADD_KEY: CJNE R5,02H,EXIT。 增加键键值 CJNE R1,01H,NEXT1。 选择键功能标志为 1,调时,否则跳出 MOV A,23H ADD A,01H DA A MOV 23H,A CJNE A,24H,EXIT MOV
G R E E N+ 5 VR96 8 0R 1 06 8 0R 1 16 8 0R 1 26 8 0R66 8 0D6L E D G R E E N 图 27 指示灯电路 量程选择电路 在图 24 中可以看到,在 RC 充电回路中, R 值是固定的,不可变的,那么量程也显然是不可变的,因此,需要在此加入可调节充电回路电阻的电路部分,这里,利用继电器可以简单实现。 具体电路如图 28所示
16个 I/O接口,通过扩展得到了 64+8个接口,这样就可以把 512个 LED灯给控制好了 ,原理图如图 39所示。 x轴 ULN2803 的八个口 x轴 y 轴 第一个 74HC595 八个口 第八个 74HC595 八个口 8到………1从 图 39 LED结构设计图 将 LED从点到线的搭建 准备材料首先要找一块万用板如图 311,这样就可以保持灯与灯之间的距离保持相等