1、 单片机课程设计 1 1 目录 第一章 引言 2 第二章 设计方案论证 .3 2.1 方案论证与设计 3 2.1.1 控制部分的方案选择 .3 2.1.2 显示部分的方案选择 .4 2.1.3 系统基本方案选择和论证 .4 2.2 单片机原理 5 2.3 LED 显示数码管 .5 第三章 计算部分 .5 3.1 主要单元电路的器件 .5 3.1.1 单片机主控制模块 .6 3.2 其他模块器件 . .10 3.2.1 74LS164 . .10 3.2.2 其他元器件 .10 第四章 结构设计部分 13 4.1 显示部分设计 . .12 4.1.1 万年历优先算法 .13 4.1.2 秒表显示
2、 . .13 4.2 电路控制部分设计 .13 4.3 整体设计 .14 4.4 系统软件设计 . .16 4.4.1 Proteus 软件仿真 .17 结束语 19 参考文献 . .20 系统程序清单 .20 单片机课程设计 1 2 第一章 引言 随着微电子技术的高速发展,单片机在国民经济的个人领域得到了广泛的运用。单片机以体积小、功能全、性价比高等诸多优点,在工业 控制、家用电器、通信设备、信息处理、尖端武器等各种测控领域的应用中独占鳌头,单片机开发技术已成为 电子信息、电气、通信、自动化、机电一体化等专业技术人员必须掌握的技术。 而 电子万年历作为电子类小设计不仅是市场上的宠儿,也是是单
3、片机实验中一个很常用的题目。因为它的有很好的开放性和可发挥性,因此对作者的要求比较高,不仅考察了对单片机的掌握能力更加强调了对单片机扩展的应用。而且在操作的设计上要力求简洁,功能上尽量齐全,显示界面也要出色。 数字显示的日历钟已经越来越流行,特别是适合在家庭居室、办公室、大厅、会议室、车站和 广场等使用,壁挂式 LED 数码管显示的日历钟逐渐受到人们的欢迎。 LED 数字显示的日历钟显示清晰直观、走时准确、可以进行夜视,并且还可以扩展出多种功能。 所以,电子万年历无论作为比赛题目还是练习题目都是很有价值。 关键字: 单片机 显示器 计时 万年历 秒表 第二章 设计方案论证 2 1 方案论证与设
4、计 单片机课程设计 1 3 2.1.1.控制部分的方案选择 a)用可编程逻辑器件设计。可采用 ALTERA 公司的 FLEX10K系列 PLD 器件。设计起来结构清晰,各个模块,从硬件上设计起来相对简单,控制与显示的模块间的 连接也会比较方便。但是考虑到本设计的特点, EDA 在功能扩展上比较受局限,而且 EDA 占用的资源也相对多一些。从成本上来讲,用可编程逻辑器件来设计也没有什么优势。 b)用凌阳 16 位单片机设计。凌阳 16 位单片机有丰富的中断源和时基,方便本实验的设计。它的准确度相当高,并且 C 语言和汇编兼容的编程环境也很方便来实现一些递归调用。 I/O 口功能也比较强大,方便使
5、用。用凌阳 16 位单片机做控制器最有特色的就是它的可编程音频处理,可完成语音的录制播放和识别。这些都方便对设计进行扩展,使设计更加完善。成本也相对低一些。 2.1.2 显示部分的方案选择 a)液晶显示方式。液晶显示效果出众,可以运用菜单项来方便操作,但是在显示时,特别是使用秒表功能时扫描速度跟不上,屏幕会有明显的闪烁。而且由于 61 板的存储空间有限,液晶显示就不能与语音播抱程序同时实现。这些大大影响了电子万年历的性能。 b)相比液晶显示,采用 8 段数码管既经济实惠,在效果上也可以加入语音报时功能,操作比较液晶显示来说虽然略显繁琐,但总体也还可以做到比较人性化。所以,最后选择 LED 数码
6、管显示方案。 2.1.3 系统基本方案选择和论证 1.单片机芯片的选择方案和论证 : 方案一 : 采用 AT89S52,片内 ROM 全都采用 Flash ROM;能以 3V 的超底压工作;同时也与 MCS-51 系列单片机完全该芯片内部存储器为 8KB ROM 存储空间,同样具有 89C51 的功能,且具有在线编程可擦除技术,与 51 单片机相比,存储空间更大一些,处理能力更强一些,但价格昂贵。 方案二 : 采用 89C51 芯片作为硬件核心,采用 Flash ROM,内部具有 4KB ROM 存储空间 ,能于 3V 的超低压工作 ,而且与 MCS-51 系列单片机完全兼容 ,虽然其存储空间
7、和处理能力都比不上 52 单片机,但是 51单片机课程设计 1 4 单片机 的处理能力完全能够满足我们的要求,而且价格方面非常便宜。 所以选择采用 AT89C51 作为主控制系统 . 2. 显示模块选择方案和论证: 方案一: 采用 LED 液晶显示屏 ,液晶显示屏的显示功能强大 ,可显示大量文字 ,图形 LED 数码管价格适中 ,对于显示数字最合适 ,而且采用动态扫描法与单片机连 ,显示多样 ,清晰可见 ,但是价格昂贵 ,需要的接口线多 ,所以在此设计中不采用 LED 液晶显示屏 . 方案二:采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合 ,如采 用在显示
8、数字显得太浪费 ,且价格也相对较高 ,所以 也不用此种作为显示 . 方案三:采用 LED 数码管动态扫描 ,接时 ,占用的单片机口线少。 所以采用了 LED 数码管作为显示。 3. 电路设计最终方案决定 综上各方案所述 ,对此次作品的方案选定 : 采用 AT89C51 作为主控制系统 ;LED 数码管动态扫描作为显示。 2.2 单片机原理 单片机就是简化的微型计算机。 CPU 中本身自带存储器 ROM和 RAM。 CPU 片内也有总线。 IC(集成电路)技术是将电路通过特殊工艺做在一块硅基片上封装成芯片,比如 CPU,片外存储器等等。 将单片机 CPU(比如 51 系列),晶振,存 储器,地址
9、锁存器,逻辑门,七段译码器(显示器),按钮(类似键盘),扩展芯片,接口等通过 PCB 工艺(比如 SMT 贴片,或者插装)做在环氧树脂板上。这样才是一个完整的单片(做在一块 PCB 板上)的微型计算机。 2.3 LED 显示数码管 常见的 LED 显示具有清晰明亮的特点。是显示接口也是绝大多数单片机应用系统必备的部件之一。 发光二极管组成的显示器是单片机应用产品中最常用的廉价输出设备。它由若干个发光二极管按一定的规律排列而成。当某一个发光二极管导通时,相应的一个点或一笔画被点亮,控制不同组合的二极管导通,就能显出 各种字符。 1. 显示器的结构 常用的 7 段显示器的结构如图所示,发光二极管的
10、阳极连在单片机课程设计 1 5 一起的称为共阳极显示器,阴极连在一起的成为共阴显示器。 1位显示器由 8 个发光二极管组成,其中 7 个发光二极管 a g 控制7 个笔画的亮或暗,另一个控制一个小数点的亮和暗,这种笔画的七段显示器能显示的字符较少,字符的形状有些失真,但失控简单,使用方便。 第三章计算部分 3.1 主要单元电路的器件 3.1.1 单片机主控制模块 1内部结构 8051 是 MCS-51 系列单片机的典型产品,我们以这一代表性的机型进行系统的讲解。 8051 单片机包含中央处理器、程序存储器 (ROM)、数据存储器 (RAM)、定时 /计数器、并行接口、串行接口和中断系统等几大单
11、元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明: 单片机课程设计 1 6 中央处理器: 中央处理器 (CPU)是整个单片机的核心部件,是 8 位数据宽度的处理器,能处理 8 位二进制数据或代码, CPU 负责控制、指 挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。 数据存储器 (RAM): 8051内部有 128 个 8位用户数据存储单元和 128 个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于 存放用户数据,所以,用户能使用的的 RAM 只有 128 个,可存放读写的数据,运算的中间结果或用户定义的字型表
12、。 程序存储器 (ROM): 8051 共有 4096 个 8 位掩膜 ROM,用于存放用户程序,原始数据或表格。 定时 /计数器 (ROM): 8051 有两个 16 位的可编程定时 /计 数器,以实现定时或计数产生中断用于控制程序转向。 并行输入输出 (I/O)口: 8051 共有 4 组 8 位 I/O 口 (P0、 P1、 P2 或 P3),用于对外部数据的传输。 全双工串行口: 8051 内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。 中断系统: 8051 具备较完善的中断功能,有两个外中断、两个定时 /计数器中断
13、和一个串行中断,可满足不同的控制要求,并具有 2 级的优先级别选择。 时钟电路: 8051 内置最高频率达 12MHz 的时钟电路,用于 产生整个单片机运行的脉冲时序,但 8051 单片机需外置振荡电容。 单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛 (Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿(Princeton)结构。 INTEL 的 MCS-51 系列单片机采用的是哈佛结构的形式,而后续产品 16 位的 MCS-96 系列单片机则采用普林斯单片机课程设计 1 7 顿结构。 2.引脚定义及功能 : MCS
14、-51 系列单片机中的 8031、 8051 及 8751 均采用 40Pin 封装的双列直接 DIP 结构,右图 是它们的引脚配置, 40 个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根, 4 组 8 位共 32 个 I/O 口,中断口线与P3 口线复用。现在我们对这些引脚的功能加以说明: 1) .电源及时钟引脚 Vcc:接 +5V 电源 Vss:接地 XTAL1 和 XTAL2:时钟引脚,外接晶体引线端。当使用芯片内部时钟时,此两引脚端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。 2) .控制引脚 RST/Vpq: RST 是复位信号输入端, Vpd 是备
15、用电源输入端。当 RST 输入端保持 2 个机器周期以上高电平时,单片机完成复位初始化操作。 当主电源 Vcc 发生故障而突然下降到一定低电压或断电时,第 2 功能 Vpd 将为片内 RAM 提供电源以保护片内 RAM 中的信息不丢失。 ALE/PROG:地址锁存允许信号输入端。在存取外存储器时,用于锁存低 8 位地址信号。当单片机正常工作后, ALE 端就周期性地以时钟振荡频率的 1/6 固定频率向外输出正脉冲信号。此引单片机课程设计 1 8 脚的第 2功能 PROG是对片内带有 4K字节 EPROM的 8751固外程序时,作为编程脉冲输入端。 PSEN:程序存储器允许输出端。当片外程序存储
16、器的 读选通信号,低电平有效。 CPU 从外部程序存储器取指令时, PSEN 信号会自动产生负脉冲,作为外部程序存储器的选通信号。 EA/Vpp:程序存储器地址允许输入端。当 EA 为高电平时, CPU执行片内程序存储器指令,但当 PC 中的值超过 0FFFH 时,将自动转向执行片外程序存储器指令;当 EA 为低电平时, CPU 只执行片外程序存储器指令。 3) .I/O 口引脚 P0.0P0.7:P0 口 8 位双向 I/O 口; P1.0P1.7:P1 口 8 位准双向 I/O 口; P2.0P2.7:P2 口 8 位准双向 I/O 口; P3.0P3.7:P3 口 8 位准双向 I/O
17、口。 3片外总线结构 分为三部分:数据总线 Data Bus(DB) ,地址总线 Address Bus (AB) ,控制总线 Control Bus(CB) 3.2 其他模块器件 ( 1) 74HC164 芯片外观图如下: 74HC 是个串入并出的 8 位移位寄存器, 它 常用于单片机系统中, 其主要工作特点如下: 串行输入带锁存 ; 时钟输入 ,串行输入带缓冲 ; 异步清除 ; 最高时钟频率可高达 36Mhz ; 功耗:10mW/bit ; 74 系列工作温度: 0C to 70C ; Vcc 最高电压:7V ; 输入最高电压: 7V; 高电平: 0.4mA ; 低电平: 8mA 其内部引
18、脚结构图如下: 单片机课程设计 1 9 ( 2) .电阻 本实验 采用金属薄膜电阻,阻值为 1K, 金属膜电位器的电阻体可由合金膜、金属氧化膜、金属箔等分别组成。特点是分辩力高、耐高温、温度系数小、动噪声小、平滑性好。 ( 3)电解电容 本实验电解电容分别有 20uf 和 100uf,在电路中起微调作用,用于复位与电源电路中。元件示意图如下: 单片机课程设计 1 10 ( 4) .电容 本实验中采用 C104,在电源与地之间其去耦的作用,同时用于振荡电路中。 ( 5) .晶振 本实验采用 6MHZ 的晶体振荡器, XTAL1 和 XTAL2 分别为 晶振 的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件, XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度 。 ( 6) .七段数码管显示器 本实验选用元件示意图如下: