单片机技术课程设计-基于单片机的时钟电路设计内容摘要:
图 23 晶体振荡电路 复位电路 复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销单片机课程设计 9 复位信号。 为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分 — 合过程中引起的抖动而影响复位。 RST:复位输入,当振荡器工作时, RST 引脚出现两个机器周期 以上高电平将使单片机复位。 图 24 复位电路 按键及响铃功能 本设计是基于 MCS 的时钟设计,用 2 个四位一体的共阴数码管做为显示器,它时实显示时间值;设计中有五个按键,其中 K1 为选择调整位置, K2 为加控制键 K3 为减控制键, K4 为日期和时间的切换显示, K5 为闹钟存储按键,按下该键时会存储好当前时间值,当到设计值时,蜂鸣器报警。 这样的结果与设计要求完全相符,本设计成功。 LCD 显示功能 LCD 液晶显示器具有质量高、发光恒定、不会刷新亮点、体积小、电流小字迹清晰以及功耗低的特点。 由于 CRT 显示 器是靠 偏转线圈 产生的电磁场来控制电子束的,而由于电子束在屏幕上又不可能绝对定位,所以 CRT 显示器往往会存在不同程度的几何失真,线性失真情况。 而 LCD 由于其原理问题不会出现任何的几何失真,线性失真,这也是一大优点。 与传统 CRT 相比液晶在环保方面也表现的表现,这是因为 LCD 内部不存在象 CRT 那样的高压元器件,所以其不至于出现由于高压导致的 x 射线超标的情况,所以其辐射指标普遍比 CRT 要低一些。 ( 1)使用 12MHz 的晶振作为单片机的外部时钟输入,一个机器周期为 1us ( 2)使用定时器 0 作为时钟计数器,当计数满 8ms 时定时器 0 产生中断,当中断满 125 次时,调用时间模块进行加 1 操作。 先对秒进行加 1,若加 1 后等于 60秒,则清除秒单元,同时向分进 1,同理,对分、时进行同样操作。 ( 3) 选择键 为加控制键 减控制键 为日期时间切换显示按键。 利用发光二极管作为显示定时用,当定时时间到,从 输出一低电平点亮发红光二极管。 为发光二极管闪烁 ( 4)年、月、日的判断。 取年单元的数据除以 4,若余数为零,则该年为闰年,再判断月单元是否为 2 月,若为 2 月则当月天数加 1;若年单元数据除以 4 后余数单片机课程设计 10 不为 零,则正常取表格的数据。 单片机课程设计 11 第 3章 系统软件 设计 软件 设计是一个将需求转变为软件陈述 的过程。 这种陈述给一个对软件的全局 观观点。 系统通过逐步求精使得设计陈述逐渐接近源代码。 这里有两个基本 步骤 ;第一步是初步设计,关注于如何将需求转换成数据和软件框架。 第二步是 详细设计 ,关注于将框架逐步求精细化为具体的数据结构和软件的算法表达。 发生中的设计行为、数据、算法和程序设计都需要由现代程序所需的 界面设计 , 这一清晰的行为来结合起来。 读写程序流程图 本设计是基于 MCS 的时钟设计,用 2 个四位一体的共阴数码管做 为显示器,它时实显示时间值;设计中有五个按键,其中 K1 为选择调整位置, K2 为加控制键 K3 为减控制键, K4 为日期和时间的切换显示, K5 为闹钟存储按键,按下该键时会存储好当前时间值, 当到设计值时,蜂鸣器报警。 这样的结果与设计要求完全相符,本设计成功。 编译软件介绍 C语言是源于编写 UNIX操作系统的一种语言 , 是一种结构化程序设计语言 , 产生的代码紧凑 , 可以深入到机器内部编程 , 具备若干汇编语言所具有的特点 , 又优于汇编语言。 C程序本身并不依赖于机器的硬件系统 , 基本上不作修改就可以根据单片机单片机课程设计 12 的不同较快地移 植过来。 早在 1985年就开始出现了 8051单片机的 C 语言编译器 , 将 C语言代码编译成 51 单片机的机器代码。 常见的产品有 American Automation,Archimedes, Avocet, Bso/Tasking, Franklin, Intermetrics, MCC, Dunfields等 , 它们各具特点 , 但用的比较多的还是 Archimedes和 Franklin。 Franklin产生的代码紧凑 , 使用也方便 ; Archimedes 的性能完善 , 资料完善。 51C程序结构与一般 C语言程序结构并没有本质上的差别 , 也 是只有一个主函数和若干函数组成。 在 51C的头文件中有其库函数的说明 , 可以通过 include预处理指令将头文件包含在自己的文件中即可调用。 每个函数的定义及调用规则基本上与一般的 C一样 , 实际上 51C程序的设计过程也就是一系列函数的定义过程 , 熟悉 C语言程序设计的人很容易掌握。 尽管 51C与一般 C程序设计方法基本相同 , 但毕竟是针对单片机及其硬件系统所进行的程序设计 , 与常规意义上的 C编程有所区别。 在进行程序设计时 , 必需注意以下几个问题。 存储区的定位及访问。 必须了解编译器的数据类型以及与 51单片机存储器结构的对应关系 , 编译器定义的任何数据类型必须以一定的存储类型方式定位在单片机的某一存储区中 , 否则没有任何实际意义。 特殊功能寄存器的访问。 对于片内特殊功能寄存器 SFR 的访问 , 编译器都提供了专门的方法 , 这些方法与一般 C语言是不兼容的 , 只适用于单片机 C编程。 并行接口的定义。 51单片机有 4个 8位并行口 ,共 32条 I/O线 , 这是大家熟知的 , 这 4 个口原则上都可以作为 I/O使用 , 只是在需要外部总线扩展时 , 才将 P0用作数据低地址总线 , P2用作高地址总线。 除此之外 , 还可以在片外扩展硬件 I/O口。 51单片机没有专用的 I/O指令 , 所有 口地址与数据存储器地址时是统一编址的。 在使用 51C对单片机进行编程时 , 对这些口的访问也是通过关键字“ sfr”定义的 , 可以在头文件中定义 ,也可以在程序的开始部分进行定义。 例如 :sfrP0=0x90, 就定义了 P0口的地址为 90H。 位变量的定义。 51C除了支持一般 C语言所具有的数据类型外 , 还支持“位”数据类型。 它是通过关键字“ Bit”来实现的。 单片机课程设计 13 第 4章 仿真及调试 编译软件介绍 Proteus 是英国 Labcenter Electronics 公司开发的一款电路仿真软件,软件由两部分组成:一部分是智能原理图输入系统 ISIS(Intelligent Schematic Input System 虚拟系统模型 VSM(Virtual Model System);另一部分是高级布线及编辑软件 ARES(AdvAncd Routing and Editing Softwave)也就是 PCB。 Proteus 可以仿真模拟电路及数字电路,也可以仿真模拟数字混合电路 ,提供 30 多种元件库,超过 8000 种模拟、数字 元器件。 可以按照设计的要求选择不同生产厂家的元器件。 此外,对于元器件库中没有的元件,设计者也可以通过软件自己创建。 除拥有丰富的元器件外, Proteus 还提供了各种虚拟仪器,如常用的电流表,电压表,示波器,计数 /定时 /频率计, SPI 调试器等虚拟终端。 支持图形化的分析功能等。 Proteus 特别适合对嵌入式系统进行软硬件协同设计与仿真,其最大的特点是可以仿真 8051, PIA, AVR, ARM 等多种系列的处理器。 Protues 包含强大的调试工具,具有对寄存器和 存储器 、断点和单步模式 IAR CSPY,Keil、 MPLAB 等开发工具的源程序进行调试的功能;能够观察代码 在仿真硬件上的实时运行效果;对显示,按钮,键盘等外设的交互可视化进行仿真。 仿真过程 一、 绘制电路图 运行 Proteus 的 ISIS,进入仿真软件的主界面,主界面分为菜单栏,工具栏,模型显示窗口,模型选择区,元件列表区等。 通过左侧的工具栏区的 P(从库中选择元件 )命令,在 Pick Decices 窗口中选择系统所需元器件,还可以选择元件的类别,生产厂家等。 本例所需主要元器件有:AT89C51 芯片, ADC0808 芯片,一个四位七段数码显示器,一个可变电阻,见表 41。 表 41 元器件清单 单片机课程设计 14 选择元器件后连接图 , 电路连接完成后,选中 AT89C51 单击鼠标左键,打开“ Edit Component” 对话窗口如图 3 所示,可以直接在 “ Clock Frequency” 后进行频率设定,设定单片机的时钟频率为 12MHz。 在 “ Program File” 栏中选择已经生成的 文件,把在 Keil 编写的程 序导入 Proteus,然后单击 “ OK” 按钮保存设计。 至此,就可以进行单片机的仿真 二、 Proteus 仿真结果 单片机的仿真结果图如图 42,模拟信号经 A/D 转换后 ,结果送入单片机,再在数码管上显示;通过调节 可调电阻 的阻值,可以得到不同的显示结果。 仿真结果表明,系统达到了预先的设计要求。 在仿真的过程中每个管。单片机技术课程设计-基于单片机的时钟电路设计
相关推荐
由于步进电机的输出力矩随速度的增大而不断衰减,输出功率也随速度的增大而变化,所以保持转矩就成为衡量步进电机最重要的参数之一。 比如,当人们说 的步进电机 ,在没有特殊说明的情况下是指保持转矩为 的步进电机。 步进电机的一些特点 3%5%,且不累积。 温度。 ,从而导致力矩下降乃至于失步,因此电机外表允许的最高温度应取决于不同电机磁性材料的退磁点; 一般来讲,磁性材料的退磁点都在 130℃以上
,它还具有一个看门狗( WDT)定时 /计数器,如果程序没有正常工作,就会强制整个系统复位,还可以在程序陷入死循环的时候,让单片机复位而不用整个系统断电,从而保护你的硬件电路。 AT89S52 有 40 个 Flash 存储器结合在一起,特别是可反复擦写的 Flash 存储器可有效地降低开发成本。 其芯片外观及引脚图如下: 引脚, 32 个外部双向输入 /输出( I/O)端口,同时内含 2
//初始化 ds1302 Write1302(0x8e,0x00)。 //写控制字,允许写 set_ds1302(0x80,now_time_date,8)。 //设置初始时间,日期,年月 //LCD 初始化 LCDInit()。 //LCM 初始化 //显示 初始化界面 DisplayListChar(0, 0, uctech)。 DisplayListChar(2, 1, )。
节 ...... 5. 片上集成 1280 字节 RAM。 6. 通用 I/O 口( 36/40/44 个),复位后为: 准双向口 / 弱上拉(普通 8051 传统 I/O 口)可设置成四种模式:准双向口 / 弱上拉,推挽 / 强上拉,仅为输入 / 高阻,开漏 , 每个 I/O 口驱动能力均可达到 20mA,但整个芯片最大不要超过 55mA。 7. I S P(在系统可编程) /IAP
计、增强的原理图网络类定义。 Altium Designer S09 提供了一款统一的电子产品开发软件, 整 合了电 子 产品 开发 一体化所需的 全部 必 需 技术 、工艺和功能。 Altium Designer S09 在单一 开发设计 环境中集成了板级和 FPGA 系统设计、 基于 FPGA 以及 分立 微 处理器的嵌入式软件开发及 PCB图设计、编辑和制造,并 综合 了现代 化 设计数据
e s \D e s i g n E x p l o r e r 9 9 S E \E x a m p l e s \ M y D e s i g n .d d bD r a w n B y :R22 2 0Q1N P NR35kP 1 .7U1蜂鸣器 图 声报警电路图 3. 4 液 位指示电路设计 LED 显示器是 一种 由发光二极管显示字段的显示器件,也可称为数码管。 单片机系统中通常使用