《单片机应用系统设计实例〖PPT课件〗单片机原理与应用及C51程序设计》由会员分享,可在线阅读,更多相关《单片机应用系统设计实例〖PPT课件〗单片机原理与应用及C51程序设计(13页珍藏版)》请在金锄头文库上搜索。
1、第十一章 单片机应用系统设计实例 第十一章 单片机应用系统设计实例 单片机电子时钟的设计 通常通过用单片机设计电子时钟有两种方法:一是通过单片机内部的定时器 /计数器。这种方法硬件线路简单,采用软件编程实现时钟计数,一般称为软时钟。系统的功能一般与软件设计相关,通常用在对时间精度要求不高的场合;二是采用时钟芯片,它的功能强大,功能部件集成在芯片内部,自动产生时钟等相关功能。硬件成本相对较高,软件编程简单。通常用在对时钟精度要求较高的场合。 时钟的基本原理 软时钟是利用单片机内部的定时器 /计数器来实现,它的处理过程如下:首先设定单片机内部的一个定时器 /计数器工作于定时方式,对机器周期计数形成
2、基准时间(如 10然后用另一个定时器 /计数器或软件计数的方法对基准时间计数形成秒(对 1000次),秒计 60次形成分,分计 60次形成小时,小时计 24次则计满一天。然后通过数码管把它们的内容在相应位置显示出来即可。 第十一章 单片机应用系统设计实例 系统硬件电路的设计 第十一章 单片机应用系统设计实例 统软件程序的设计 电子时钟的软件系统由主程序和子程序组成,主程序程序包含初始化参数设置、按键处理、数码管显示模块等,在设计时各个模块都采用子程序结构设计,在主程序中调用。由于定时器 /计数器采用中断方式处理,因此还要编写定时器 /中断服务子程序,在定时器 /计数器中断服务程序中对时钟进行调
3、整。 一主程序 主程序执行流程如图,主程序先对显示单元和定时器 /计数器初始化,然后重复调用数码管显示模块和按键处理模块,当有键按下,则转入相应的功能程序。 第十一章 单片机应用系统设计实例 开始 显示单元清零 6位计数模式 允许 调用显示子程序 进入功能程序 按下键否? 否 是 第十一章 单片机应用系统设计实例 二数码管显示模块 本系统共用 8个数码管,从右到左依次显示秒个位、秒十位、横线、分个位、分十位、横线、时个位和时十位。数码管显示的信息用 8个内存单元存放,这 8个内存单元称为显示缓冲区,其中秒个位和秒十位、分个位和分十位、时个位和时十位分别由秒数据、分数据和小时数据分拆得到。在本系
4、统中数码管显示采用软件译码动态显示。在存储器中首先建立一张显示信息的字段码表,显示时,先从显示缓冲区中取出显示的信息,然后通过查表程序在字段码表中查出所显示的信息的字段码,从 时在 能在相应的数码管上显示显示缓冲区的内容。 三定时器 /计数器 定时器 /计数器 择方式 1,重复定时,定时时间设为 50时时间到则中断,在中断服务程序中用一个计数器对 50 20次则对秒单元加 1,秒单元加到 60则对分单元加 1,同时秒单元清 0;分单元加到 60则对时单元加 1,同时分单元清 0;时单元加到 24则对时单元清 0,标志一天时间计满。在对各单元计数的同时,把它们的值放到存储单元的指定位置。定时器
5、/计数器 第十一章 单片机应用系统设计实例 开始 现场保护,重置初值 启动下一个 500数器加 1 秒单元加 1, 50,秒写入秒个位和秒十位 50数器 =20? 否 是 分单元加 1,秒单元清 0,分写入分个位和分十位 秒单元 =60? 时单元加 1,分单元清 0,时写入时个位和时十位 分单元 =60? 时单元清 0 时单元 =24? 中断返回 否 否 否 是 是 是 第十一章 单片机应用系统设计实例 四按键处理模块 按键处理设置为:如没有按键,则时钟正常走时。当按下 入调分状态,时钟停止走动;按 2按键可进行加 1或减 1操作;继续按 后按 钟开始计时运行。 五汇编语言源程序清单(略) 六
6、 ) 第十一章 单片机应用系统设计实例 多路数字电压表的设计 多路数字电压表的原理及功能 多路数字式电压表应用系统主要利用 A/理过程如下:先用 A/到相应的数字量,再按数字量与模拟量成正比关系运算得到对应的模拟电压值,然后把模拟值通过显示器显示出来。设计时假设待测的输入电压为 8路,电压值的范畴为 05V,要求能在四位 量的最小分辨率为 量误差为 根据系统的功能要求,控制系统采用 A/位的 A/出的数据值为 255( 05/255)。 路模拟量输入端口,通过 3位地址输入端能从 8路中选择一路进行转换。如每隔一段时间轮流依次改变 3位地址输入端的地址,就能依次对 8路输入电压进行测量。过按键
7、选择可 8路循环显示,也可单路显示,单路显示可通过按键选择显示的通道数。 第十一章 单片机应用系统设计实例 统硬件电路的设计 第十一章 单片机应用系统设计实例 系统软件程序的设计 一主程序 主程序包含初始化部分、调用 A/下图。初始化包含存放通道数据的缓冲区初始化和显示缓冲区初始化。另外,对于单路显示和循环显示,系统设置了一个标志位00始化时 00,默认为循环显示,当它为 1时改变为单路显示控制, 00循环按键控制。 开始 初始化 调用 A/调用显示子程序 第十一章 单片机应用系统设计实例 显示子程序中包含多路循环显示程序和单路显示程序,多路循环显示程序把 8个存储单元的数值依次取出送到四个数码管上显示,每一路显示 1秒。单路显示程序只对当前选中的一路数据进行显示。每路数据显示时需经过转换变成十进制 于四个数码管的显示缓冲区中。单路或循环显示通过标志位 00显示控制程序中加入了对单路或循环按键和通道选择按键的判断。 二 A/A/,并将转换的数值存入 8个相应的存储单元中,如下图。 A/即隔一段时间对输入电压采样一次。 三显示子程序 第十一章 单片机应用系统设计实例 开始 启动一次转换 取数据( ) 0809通道地址加 1 开始 地址数小于 8? A/? 第十一章 单片机应用系统设计实例 四汇编语言源程序清单(略) 五 )