版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第1111章章 单片机应用系统设计实例单片机应用系统设计实例11.1 单片机电子时钟的设计单片机电子时钟的设计11.2 多路数字电压表的设计多路数字电压表的设计11.1 单片机电子时钟的设计单片机电子时钟的设计 通常通过用单片机设计电子时钟有两种方法:通常通过用单片机设计电子时钟有两种方法:1、通过单片机内部的定时器、通过单片机内部的定时器/计数器。计数器。这种方法硬件线路简单,采用这种方法硬件线路简单,采用软件编程实现时钟计数,一般称为软时钟。系统的功能一般与软件设软件编程实现时钟计数,一般称为软时钟。系统的功能一般与软件设计相关,通常用在对时间精度要求不高的场合;计相关,通常用在对时间精
2、度要求不高的场合;2、采用时钟芯片。、采用时钟芯片。它的功能强大,功能部件集成在芯片内部,自动它的功能强大,功能部件集成在芯片内部,自动产生时钟等相关功能。硬件成本相对较高,软件编程简单。通常用在产生时钟等相关功能。硬件成本相对较高,软件编程简单。通常用在对时钟精度要求较高的场合。对时钟精度要求较高的场合。 11.1.1 软时钟的基本原理软时钟的基本原理 软时钟是利用单片机内部的定时器软时钟是利用单片机内部的定时器/计数器来实现,它的处理计数器来实现,它的处理过程如下:首先设定单片机内部的一个定时器过程如下:首先设定单片机内部的一个定时器/计数器工作于计数器工作于方式,对机器周期计数形成基准时
3、间(如方式,对机器周期计数形成基准时间(如10ms),然后用另一个),然后用另一个定时器定时器/计数器或软件计数的方法对基准时间计数形成秒(对计数器或软件计数的方法对基准时间计数形成秒(对10ms计数计数100次),秒计次),秒计60次形成分,分计次形成分,分计60次形成小时,小时计次形成小时,小时计24次次则计满一天。然后通过数码管把它们的内容在相应位置显示出来即则计满一天。然后通过数码管把它们的内容在相应位置显示出来即可。可。11.1.2 系统硬件电路的设计系统硬件电路的设计11.1.3 系统软件程序的设计系统软件程序的设计 电子时钟的软件系统由电子时钟的软件系统由主程序主程序和和子程序子
4、程序组成,组成,主程序程序包含初始化参数设置、按键处理、数码主程序程序包含初始化参数设置、按键处理、数码管显示模块等,在设计时各个模块都采用子程序结管显示模块等,在设计时各个模块都采用子程序结构设计,在主程序中调用。由于定时器构设计,在主程序中调用。由于定时器/计数器采计数器采用中断方式处理,因此还要编写定时器用中断方式处理,因此还要编写定时器/中断服务中断服务子程序,在定时器子程序,在定时器/计数器中断服务程序中对时钟计数器中断服务程序中对时钟进行调整。进行调整。开始开始显示单元清零显示单元清零T0、T1设为设为16位计数模式位计数模式允许允许T0中断中断调用显示子程序调用显示子程序进入功能
5、程序进入功能程序按下键否?按下键否?否否是是一主程序一主程序 主程序执行流程如主程序执行流程如图,主程序先对显示图,主程序先对显示单元和定时器单元和定时器/计数器计数器初始化,然后重复调初始化,然后重复调用数码管显示模块和用数码管显示模块和按键处理模块,当有按键处理模块,当有键按下,则转入相应键按下,则转入相应的功能程序。的功能程序。二数码管显示模块二数码管显示模块 本系统共用本系统共用8个数码管,个数码管,从右到左从右到左依次显示秒个位、秒十位、依次显示秒个位、秒十位、横线、分个位、分十位、横线、时个位和时十位。数码管显示的信横线、分个位、分十位、横线、时个位和时十位。数码管显示的信息用息用
6、8个内存单元存放,这个内存单元存放,这8个内存单元称为显示缓冲区,其中秒个个内存单元称为显示缓冲区,其中秒个位和秒十位、分个位和分十位、时个位和时十位分别由秒数据、分位和秒十位、分个位和分十位、时个位和时十位分别由秒数据、分数据和小时数据分拆得到。在本系统中数码管显示采用软件译码动数据和小时数据分拆得到。在本系统中数码管显示采用软件译码动态显示。在存储器中首先建立一张显示信息的字段码表,显示时,态显示。在存储器中首先建立一张显示信息的字段码表,显示时,先从显示缓冲区中取出显示的信息,然后通过查表程序在字段码表先从显示缓冲区中取出显示的信息,然后通过查表程序在字段码表中查出所显示的信息的字段码,
7、从中查出所显示的信息的字段码,从P0口输出,同时在口输出,同时在P2口将对应口将对应的位选码输出选中显示的数码管,就能在相应的数码管上显示显示的位选码输出选中显示的数码管,就能在相应的数码管上显示显示缓冲区的内容。缓冲区的内容。三定时器三定时器/计数器计数器T0中断服务程序中断服务程序 定时器定时器/计数器计数器T0用于时间计时。用于时间计时。选择选择方式方式1,重复定时,定时,重复定时,定时时间设为时间设为50ms,定时时间到则中断,在中断服务程序中用一个计数,定时时间到则中断,在中断服务程序中用一个计数器对器对50ms计数,计计数,计20次则对秒单元加次则对秒单元加1,秒单元加到,秒单元加
8、到60则对分单元则对分单元加加1,同时秒单元清,同时秒单元清0;分单元加到;分单元加到60则对时单元加则对时单元加1,同时分单元清,同时分单元清0;时单元加到;时单元加到24则对时单元清则对时单元清0,标志一天时间计满。在对各单元,标志一天时间计满。在对各单元计数的同时,把它们的值放到存储单元的指定位置。定时器计数的同时,把它们的值放到存储单元的指定位置。定时器/计数器计数器T0中断服务程序流程图如图。中断服务程序流程图如图。 开始开始现场保护,重置初值现场保护,重置初值启动下一个启动下一个50ms50ms 计数器加计数器加1秒单元加秒单元加1,50ms计数器清计数器清0,秒写入秒个位,秒写入
9、秒个位和秒十位和秒十位50ms 计数器计数器=20?否否是是分单元加分单元加1,秒单元清,秒单元清0,分写入分个位和分十,分写入分个位和分十位位秒单元秒单元=60?时单元加时单元加1,分单元清,分单元清0,时写入时个位和时十,时写入时个位和时十位位分单元分单元=60?时单元清时单元清0时单元时单元=24?中断返回中断返回否否否否否否是是是是是是四按键处理模块四按键处理模块 按键处理设置为:如没有按键,则时钟正常走按键处理设置为:如没有按键,则时钟正常走时。当按下时。当按下K0按键时,进入调分状态,时钟停止走按键时,进入调分状态,时钟停止走动;按动;按K1可可K2按键可进行加按键可进行加1或减或
10、减1操作;继续按操作;继续按K0键可分别进行分和小时的调整;最后按键可分别进行分和小时的调整;最后按K0键将退键将退出调整状态,时钟开始计时运行。出调整状态,时钟开始计时运行。五汇编语言源程序清单(略)五汇编语言源程序清单(略)六六C语言源程序清单(略)语言源程序清单(略)11.2 多路数字电压表的设计多路数字电压表的设计11.2.1 多路数字电压表的原理及功能多路数字电压表的原理及功能 多路数字式电压表应用系统主要利用多路数字式电压表应用系统主要利用A/D转换器,处理过程如下:转换器,处理过程如下:先用先用A/D转换器对各路电压值进行转换器对各路电压值进行,得到相应的数字量,再按数,得到相应
11、的数字量,再按数字量与模拟量成字量与模拟量成正比正比关系运算得到对应的模拟电压值,然后把模拟值关系运算得到对应的模拟电压值,然后把模拟值通过显示器显示出来。设计时假设待测的输入电压为通过显示器显示出来。设计时假设待测的输入电压为8路,电压值的路,电压值的范畴为范畴为05V,要求能在四位,要求能在四位LED数码管上轮流显示或单路选择显示。数码管上轮流显示或单路选择显示。测量的最小分辨率为测量的最小分辨率为0.019V,测量误差为,测量误差为 0.02V。 根据系统的功能要求,控制系统采用根据系统的功能要求,控制系统采用AT89C52单片机,单片机,A/D转转换器采用换器采用ADC0809。ADC
12、0809是是8位的位的A/D转换器。当输入电压为转换器。当输入电压为5.00V时,输出的数据值为时,输出的数据值为255(0FFH),因此最大分辨率为),因此最大分辨率为0.0196V(5/255)。)。ADC0809的具有的具有8路模拟量输入端口,通过路模拟量输入端口,通过3位位地址输入端能从地址输入端能从8路中选择一路进行转换。如每隔一段时间轮流依次路中选择一路进行转换。如每隔一段时间轮流依次改变改变3位地址输入端的地址,就能依次对位地址输入端的地址,就能依次对8路输入电压进行测量。路输入电压进行测量。LED数码管显示采用软件译码动态显示。通过按键选择可数码管显示采用软件译码动态显示。通过
13、按键选择可8路循环显路循环显示,也可单路显示,单路显示可通过按键选择显示的通道数。示,也可单路显示,单路显示可通过按键选择显示的通道数。11.2.2 系统硬件电路的设计系统硬件电路的设计11.2.3 系统软件程序的设计系统软件程序的设计一主程序一主程序 主程序包含初始化部分、调用主程序包含初始化部分、调用A/D转换子程序和调用显示程序,转换子程序和调用显示程序,如下图。初始化包含存放通道数据的缓冲区初始化和显示缓冲区初如下图。初始化包含存放通道数据的缓冲区初始化和显示缓冲区初始化。另外,对于单路显示和循环显示,系统设置了一个标志位始化。另外,对于单路显示和循环显示,系统设置了一个标志位00H控
14、制,初始化时控制,初始化时00H位设置为位设置为0,默认为循环显示,当它为,默认为循环显示,当它为1时时改变为单路显示控制,改变为单路显示控制,00H位通过单路位通过单路/循环按键控制。循环按键控制。开始开始初始化初始化调用调用A/D转换子程序转换子程序调用显示子程序调用显示子程序 LED数码管采样软件译码动态扫描方式。在显示子数码管采样软件译码动态扫描方式。在显示子程序中包含多路循环显示程序和单路显示程序,多路循程序中包含多路循环显示程序和单路显示程序,多路循环显示程序把环显示程序把8个存储单元的数值依次取出送到四个数个存储单元的数值依次取出送到四个数码管上显示,每一路显示码管上显示,每一路
15、显示1秒。单路显示程序只对当前秒。单路显示程序只对当前选中的一路数据进行显示。每路数据显示时需经过转换选中的一路数据进行显示。每路数据显示时需经过转换变成十进制变成十进制BCD码,放于四个数码管的显示缓冲区中。码,放于四个数码管的显示缓冲区中。单路或循环显示通过标志位单路或循环显示通过标志位00H控制。在显示控制程序控制。在显示控制程序中加入了对单路或循环按键和通道选择按键的判断。中加入了对单路或循环按键和通道选择按键的判断。二二A/D转换子程序转换子程序 A/D转换子程序用于对转换子程序用于对ADC0809八路输入模拟电八路输入模拟电压进行压进行A/D转换,并将转换的数值存入转换,并将转换的数值存
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 国际货代操作奖惩制度
- 老师卫生管理奖惩制度
- 酒业销售公司奖惩制度
- 公司考勤制度与奖惩制度
- 社区居民公约奖惩制度
- 音乐老师奖惩制度范本
- 开学家庭奖惩制度范本
- 机械维修安全奖惩制度
- 小区保安奖惩制度范本
- 餐饮服务人员奖惩制度
- 初级中学学生考核制度
- 2026年南京铁道职业技术学院单招职业适应性测试题库及答案详解1套
- 电信网络故障处理操作手册
- 2025年中邮资管春季校园招聘精彩来袭笔试参考题库附带答案详解
- 小学语文课程标准解读
- 投入车辆承诺书
- 塞纳帕利胶囊-临床药品应用解读
- 2026年辽宁医药职业学院单招职业技能考试参考题库附答案详解
- 2026年湘西民族职业技术学院单招职业技能考试题库附答案
- 注塑成型工艺技术指导书
- 2025冠状动脉功能学临床应用专家共识课件
评论
0/150
提交评论