基于STCSK单片机数字电压表.doc
《基于STCSK单片机数字电压表.doc》由会员分享,可在线阅读,更多相关《基于STCSK单片机数字电压表.doc(12页珍藏版)》请在一课资料网上搜索。
1、2信息与电气工程学院单片机课程设计报告题 目: 专 业: 班 级: 姓 名: 学 号: 指导教师: 信息与电气工程学院课程设计任务书20 20 学年第 学期专业: 班级: 学号: 姓名: 课程设计名称: 设计题目: 完成期限:自 年 月 日至 年 月 日共 周设计依据、要求及主要内容(可另加附页):指导教师(签字): 批准日期: 年 月 日2目录一、课程设计的目的4二、实验要求4三、设计方案的描述4四、硬件原理图5五、基本原理和元器件说明51. ADC原理和内部结构52. TL431的功能与应用63. 74HC595简介7六、程序流程图7七、源程序清单8八、心得体会12九、参考文献12一、课程
2、设计的目的通过单片机原理与应用这门课的课程设计,学生应能对STC15系列单片机有一个全面的认识,掌握以STC15系列单片机为核心的电子电路的设计方法和应用技术。(1) 1.进一步掌握ADC转换的原理和编程方法。 (2) 2.进一步掌握TL431基准电压的原理及使用方法。 (3) 3.进一步掌握中断处理程序的编程方法。二、实验要求用STC15F2K60S2单片机和ADC0809构成数字电压表,测量0-5v的电压,将所测电压用4位数码管动态显示出来。三、设计方案的描述1.读ADC测量外部电压,使用外部TL431基准计算电压,计算公式为g = (u16)(u32)j * 2.5 / Bandgap)
3、,Bandgap为基准电压数字量,j为相应按键模拟量逐次比较后对应的数字量,g为测得的相应按键电压。2.用STC的MCU的IO方式控制74HC595驱动8位数码管。3.用户可以修改宏来选择时钟频率。使用Timer0的16位自动重装来产生1ms节拍,程序运行于这个节拍下, 用户修改MCU主时钟频率时,自动定时于1ms。4.右边4位数码管显示测量的电压值,左边4位数码管显示的是基准电压值。5.外部电压从板上测温电阻两端输入, 输入电压0VDD, 不要超过VDD或低于0V。 6.实际项目串一个1K的电阻到ADC输入口, ADC输入口再并一个电容到地。7.总体框图如下图1-1:四、硬件原理图硬件原理图
4、如下:图 1-2 硬件原理图五、基本原理和元器件说明1. ADC原理和内部结构STC15F2K60S2单片机ADC输入通道与P1口复用,上电复位后P1口为弱上拉型I/O口,用户可通过设置P1ASF特殊功能寄存器将8路中的任何一路设置为ADC输入通道,不用作ADC输入通道仍可作为一般I/O口使用。 图 1-3 ADC原理图STC15F2K60S2单片机ADC模块的参考电压源(VREF)就是输入工作电源VCC,无专门ADC参考电压输入通道。如果VCC不稳定,如电池的供电系统中,电压常常在5.34.2V之间漂移,则可以在8路A/D转换通道的任一通道上接一个基准电源(如2.50V基准电压),以此计算出
5、此时的工作电压VCC,再计算其它输入通道的模拟输入电压。STC15F2K60S2单片机的A/D模块主要是由P1ASF、ADC_CONTR、ADC_RES和ADC_RESL等四个特殊功能寄存器进行控制与管理的。P1ASF的8个控制位与P1口的8个口线是一一对应的,即P1ASF.7P1ASF.0对应控制P1.7P1.0,为“1”,对应P1口口线为ADC的输入通道;为“0”,其它I/O口功能。 P1ASF的格式如下:图 1-4 P1ASF寄存器本实验中利用了P1ASF寄存器的D4和D2亦即单片机上P1.2和P1.口,其中P1.2口用于获取基准电压模拟值,P1.口用于获取按键的模拟值。ADC0809是
6、10位的A/D转换器。当输入电压为5.00V时,输出的数据值为255(0FFH),因此最大分辨率为0.0196(5/255)。ADC0809具有8路模拟量输入端口,可以输出10位ADC 。通过3位地址输入端能从8路中选择一路进行转换。如每隔一段时间依次轮流改变3位地址输入端的地址,就能依次对8 路输入电压进行测量。LED数码管显示采用软件译码动态显示。通过按键选择可对8路循环显示,也可单路显示,单路显示可通过按键选择显示的通道数。图 1-5 ADC结构控制寄存器2. TL431的功能与应用TL431是输出可调的基准电压源,在仪表中的作用是给模拟电路提供一个稳定准确的参考电压源。这些基准的特性使
7、他们能在数字电压表、电源和运放电路等许多应用中代替齐纳二极管。2.5V参考从5.0V逻辑电源可方便地获得稳定参考电压。TL431塑料封装外壳如图1-6所示。管脚:1.参考2.阳极3.阴极图 1-6 塑料封装外壳及符号TL431为用于多方面的可编程精密参考。在需要非标准参考电压的电路中它可作为参考电压。其它用途包括驱动电压监视器、恒流源、横流宿、串联稳压器和电源中的光耦合器的反馈控制。在每项上述应用中在各种工作电流和负载电容情况下保持器件稳定性相当关键。3. 74HC595简介8位串行输入 /8位串行或并行输出 存储状态寄存器。并行输出,总线驱动; 串行输入;标准中等规模集成电路。图 1-7 7
8、4HC595六、程序流程图图 1-8 程序流程图七、源程序清单/*本程序功能说明*读ADC测量外部电压,使用外部TL431基准计算电压.用STC的MCU的IO方式控制74HC595驱动8位数码管。用户可以修改宏来选择时钟频率.使用Timer0的16位自动重装来产生1ms节拍,程序运行于这个节拍下, 用户修改MCU主时钟频率时,自动定时于1ms.右边4位数码管显示测量的电压值值.外部电压从板上测温电阻两端输入, 输入电压0VDD, 不要超过VDD或低于0V. 实际项目使用请串一个1K的电阻到ADC输入口, ADC输入口再并一个电容到地.*/#define MAIN_Fosc22118400L/定
9、义主时钟#includeSTC15Fxxxx.H/*/#define DIS_DOT0x20#define DIS_BLACK0x10#define DIS_0x11#define P1n_pure_input(bitn)P1M1 |= (bitn),P1M0 &= (bitn)/* 用户定义宏 */#defineCal_MODE 0/每次测量只读1次ADC. 分辨率0.01V/#defineCal_MODE 1/每次测量连续读16次ADC 再平均计算. 分辨率0.01V#defineTimer0_Reload(65536UL -(MAIN_Fosc / 1000)/Timer 0 中断频率,
10、 1000次/秒/*本地常量声明*/u8 code t_display=/标准字库/0 1 2 3 4 5 6 7 8 9 A B C D E F0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71,/black - H J K L No P U t G Q r M y0x00,0x40,0x76,0x1E,0x70,0x38,0x37,0x5C,0x73,0x3E,0x78,0x3d,0x67,0x50,0x37,0x6e,0xBF,0x86,0xDB,0xCF,0xE6,0xED,0x
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 STCSK 单片机 数字 电压表