精品设计
《单片机原理及应用》
课程设计报告
专业: 电子信息工程
班级: 0901
姓名:
指导教师:
二0 XX年 XX 月 XX 日
任务书:
一、设计题目
LED数字显示电子时钟
二、设计要求
1、方案论证,确定总体电路原理图。
2、元器件选择,设计PCB图(或用万能电路实验板搭线)。
3、绘制程序流程图,编写汇编语言源程序(或C语言源程序)。
4、安装调试,实现数字时钟的基本功能,即能正确显示时、分、秒;可调整时间;秒闪功能。
目录
一. 电路原理图和设计程序流程图 1
1. 单片机芯片选择方案 1
2. 时钟主程序流程图 2
3. 按键扫描程序流程图 2
4. 时钟程序流程图 3
二. 设计方案分析 3
1. 时钟电路 3
2. 复位电路 4
3. 按键电路 4
4. 显示电路 5
5. LED的结构与原理 5
三. 程序仿真 6
四. 心得体会 7
附一:参考书目 9
附二:源程序 9
一. 电路原理图和设计程序流程图
单片机模块
驱动模块
按键模块
LED显示模块
时钟模块
电源模块
图一流程图
系统由51系列单片机AT89C51、按键、数码管显示、电源等部分构成。单片机部分包括时钟电路、复位电路;按键部分能够实现对时间的调整、设定。三个按键的功能分别为:小时的调整,分钟的调整,复位。电源部分(USB充电器)可输出5V电压,给系统供电。
1. 单片机芯片选择方案
方案一:AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器。主要性能有:与MCS-51单片机产品兼容、全静态操作:0Hz~33Hz、三级加密程序存储器、32个可编程I/O口线、三个16位定时器/计数器、八个中断源、全双工UART串行通道、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符、易编程。
方案二:AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM)。主要性能有:兼容MCS51指令系统、32个双向I/O口、256x8bit内部RAM、3个16位可编程定时/计数器中断、时钟频率0-24MHz、2个串行中断、可编程UART串行通道、2个外部中断源、6个中断源、2个读写中断口线
、3级加密位、低功耗空闲和掉电模式、软件设置睡眠和唤醒功能。
从单片机芯片主要性能角度出发,本数字电子钟单片机芯片选择设计采用方案一。
2. 时钟主程序流程图
时钟主程序流程图如图二所示。进入系统后首先实现程序的初始化,然后进入主程序,定时器开始计时,当定时器发生中断时刷新数码管同时显示,之后实现中断与显示的循环。
图二时钟主程序流程图
3. 按键扫描程序流程图
按键扫描程序流程图如图三所示。。,,若按了一次则进行秒调整,若按了两次则进行分调整,若按了三次则进行时调整。然后进入显示程序段进行显示刷新。
图三按键扫描流程图
4. 时钟程序流程图
时钟程序流程如图四所示。设计中,采用51单片机的定时器的方式一定时,所以如图所示,当程序产生定时溢出中断时要重新赋初值。然后进行是否到一秒的判断,若到一秒则秒加一,若未到则直接退出中断。一秒到了加一以后进行是否秒到六十的判断,若秒到六十则秒清零,同时分加一,若秒未到六十则退出中断。分加一以后进行分是否到六十的判断,若未到六十则退出中断,若分到六十则分清零,同时小时加一。小时加一后进行小时是否到二十四的判断,若未到二十四则退出中断,若到二十四则清零,然后退出中断。
图四时钟程序流程图
二. 设计方案分析
1. 时钟电路
时钟电路由外接谐振器的时钟振荡器、时钟发生器及关断控制信号等组成。时钟振荡器是单片机的时钟源,时钟发生器对振荡器的输出信号进行二分频。
CPU 的时钟振荡信号有两个来源:一是采用内部振荡器,此时需要在 XTAL1 和XTAL2 脚连接一只频率范围为0—33MHZ 的晶体振荡或陶瓷振荡器及两只 30pf 电容。二是采用外部振荡,此时应将外部振荡器的输出信号接至 XTAL1 脚,将XTAL2 脚浮空。
利用单片机内部的定时功能来实现时钟的走时,通过编程实现每 50 毫秒产生一次中断,中断20 次后,秒单元加1,秒单元加到60 时,跳回到零再继续加,同时分单元加1;当分单元加到60 时,跳到零再继续
《单片机原理及应用》课程设计报告-LED数字显示电子时钟 来自淘豆网m.daumloan.com转载请标明出处.