基于STC89C52单片机的模数转换

合集下载

基于STC89C52单片机的数字温度计(附源代码,完美实现)

基于STC89C52单片机的数字温度计(附源代码,完美实现)

基于STC89C52单片机的数字温度计学院:信息科学与工程学院专业:电子信息科学与技术一、摘要温度的检测是工业生产中比较典型的应用之一,随着传感器在生产和生活中的更加广泛的应用,利用新型数字温度传感器实现对温度的测试与控制得到更快的开发。

本文设计了一种基于STC89C52单片机的温度检测系统,该系统将温度传感器DS18B20接在控制器的端口上,对温度进行采集,将采集到的温度值显示在1602液晶屏上。

经实验测试表明,该系统设计和布线简单,结构紧凑,有可读性高,反应速度快,测量准确,抗干扰能力强,性价比高,扩展方便等优点,具有关阔的应用前景。

关键词:STC89C52 数字温度计 DS18B20二、前言随着人民生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便是不可否定的,其中数字温度计就是一个典型的例子。

单片机控制温度检测系统的温感系统主要是DS18B20芯片,该芯片由一根总线控制,电压范围为3.0v--5.5v。

DS18B20具有测温方便、测温范围广、测温精度高等特点。

出于对此类问题的探索,我们设计并制作了此温度检测系统。

本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确。

其输出温度采用数字显示,主要用于对测温比较准确的场所,该设计控制器模块主要使用STC89C52单片机,测温传感模块使用DS18B20;显示模块使用1602液晶显示屏,可以只管、准确的显示所测温度值。

三、系统组成及工作原理3.1、总体设计方案经分析,将系统分为两个部分,一个是由温度传感器DS18B20组成的检测部分,另一个是由单片机和1602液晶组成的主控与显示部分。

如图所示DS18B20将检测到的数据送到单片机,单片机对接收到的数据进行处理并送到1602显示,6V电源给各个部分供电。

3.2系统单元的选择与论证3.2.1单片机控制模块的选择与论证方案一:采用XC9000系列的FPGA。

基于STC89C52单片机的多功能智能台灯设计

基于STC89C52单片机的多功能智能台灯设计

基于STC89C52单片机的多功能智能台灯设计作者:***来源:《电脑知识与技术》2020年第18期摘要:随着科技的不断发展,各类台灯产品也随着走向智能化。

该设计介绍一种基于STC89C52单片机的多功能智能台灯设计,具有自适应调光、自动/手动调节切换、坐姿纠正提示、定时提醒等功能,并能实现“人来开灯、人走关灯”的智能控制,使台灯的使用更加智能与人性化,并实现环保节能的效果。

该设计给出了详细的方案、硬件设计及软件设计流程,对系统的原理及设计过程进行了深入解析,并通过Proteus与Keil软件的仿真调试分析及实物调试分析,验证了系统的正确性与可靠性。

关键词:智能台灯;单片机;自动调光;坐姿纠正;定时提醒中图分类号:TP274 文献标识码:A文章编号:1009-3044(2020)18-0198-02开放科学(资源服务)标识码(OSID):1 背景随着社会的进步和科技的发展,人们对照明的追求从单一的追求亮度提高到对灯光的舒适度、对视力的影响、功能多样化、智能化等方面的转变。

台灯在我们生活中使用广泛,但是普通台灯由于光线单一、缺乏智能按钮开关操作,无法实现人们对台灯的智能化需求。

特别是对青少年而言,由于学习需要较长用眼时间,青少年近视比例也越来越高,更需要一款可以保护青少年视力的多功能智能台灯。

本文介绍的这款智能台灯,用户可以主动调节亮度、自动开关灯,且能及时提醒用户纠正坐姿、保护视力,并能实现手动自动切换控制。

2 设计方案本智能台灯系统的总体框架如图1所示,主要由单片机、时钟电路、复位电路、人体感应输入模块、按键输入模块、光敏检测及其模数转换电路、LED台灯电路、指示灯电路等部分组成。

智能台灯的系统功能主要包括:1)人体感应自动开关灯。

当人靠近台灯,即距离在40cm-llOcm之间时台灯会亮;当人离开1分钟后台灯自动熄灭。

2)自适应亮度调节。

能自动根据环境光线的强弱变化进行亮度调节,达到环保节能效果。

一种基于STC89C52单片机的便携式电子秤设计

一种基于STC89C52单片机的便携式电子秤设计

一种基于STC89C52单片机的便携式电子秤设计电子秤在日常生活中广泛应用,尤其在超市、货运、厨房等场景中起到了不可或缺的作用。

本文将介绍一种基于STC89C52单片机的便携式电子秤设计,以满足人们对便携、精确、易用的电子秤的需求。

1. 简介电子秤是一种利用传感器测量物体重量的设备。

传统的机械秤存在读数不准确、不易携带等问题,而基于单片机的电子秤则具备了更高的精确度和便携性。

2. 设计原理该电子秤的设计原理是利用压力传感器测量物体受力变化,然后将受力信号通过模拟电路转换为电压信号,再由单片机进行模拟数字转换(ADC)并进行计算,最终得出物体的重量。

3. 硬件设计3.1 单片机选择本设计采用STC89C52单片机作为主控芯片,其具备高性能、低功耗的优势,并且具备8位数据总线、32KB的闪存等特点,非常适用于小型应用。

3.2 传感器选择为了实现高精度的重量测量,我们选用了一款高精度的压力传感器。

该传感器具备良好的线性度和稳定性,能够准确地测量重量变化。

3.3 电路设计电路设计包括模拟电路和数字电路两部分。

模拟电路将传感器输出的模拟信号转换为电压信号,再经过条件放大后输入到单片机的模拟转换电路。

数字电路主要由单片机、LCD显示屏和按键等组成,实现数据处理和人机交互功能。

4. 软件设计4.1 硬件初始化在软件设计中,首先需要对硬件进行初始化设置。

通过配置单片机的GPIO口、中断、计时器等功能来实现对各个硬件模块的控制。

4.2 模拟转换和数据处理通过单片机提供的模拟数字转换(ADC)功能,将模拟电压信号转换为数字信号。

然后,通过数据处理算法对数字信号进行滤波和校准,得出准确的重量数据。

4.3 显示和人机交互使用LCD显示屏来展示测量结果,并增加按键功能,方便用户进行重量锁定、切换单位等操作。

同时,还可以通过串口通信将数据传输到其他设备。

5. 功能拓展在基本功能实现的基础上,可以对电子秤进行一些功能扩展。

例如,增加存储功能,记录每次测量的重量数据;增加串口通信功能,方便与其他设备进行数据交互;增加温湿度传感器等,实现多功能集成。

基于单片机STC89C52的直流电机PWM调速控制系统

基于单片机STC89C52的直流电机PWM调速控制系统

第一章:前言Pwm 电机调速原理对于电机的转速调整,我们是采用脉宽调制(PWM)办法,控制电机的时候,电源并非连续地向电机供电,而是在一个特定的频率下以方波脉冲的形式提供电能。

不同占空比的方波信号能对电机起到调速作用,这是因为电机实际上是一个大电感,它有阻碍输入电流和电压突变的能力,因此脉冲输入信号被平均分配到作用时间上,这样,改变在始能端EN1 和EN2 上输入方波的占空比就能改变加在电机两端的电压大小,从而改变了转速。

此电路中用微处理机来实现脉宽调制,通常的方法有两种:(1)用软件方式来实现,即通过执行软件延时循环程序交替改变端口某个二进制位输出逻辑状态来产生脉宽调制信号,设置不同的延时时间得到不同的占空比。

(2)硬件实验自动产生PWM 信号,不占用CPU 处理的时间。

这就要用到STC89C52的在PWM模式下的计数器1,具体内容可参考相关书籍。

51 单片机PWM 程序产生两个PWM,要求两个PWM 波形占空都为80/256,两个波形之间要错开,不能同时为高电平!高电平之间相差48/256,PWM 这个功能在PIC 单片机上就有,但是如果你就要用51 单片机的话,也是可以的,但是比较的麻烦.可以用定时器T0来控制频率,定时器T1 来控制占空比:大致的的编程思路是这样的:T0 定时器中断是让一个I0口输出高电平,在这个定时器T0的中断当中起动定时器T1,而这个T1 是让IO 口输出低电平,这样改变定时器T0 的初值就可以改变频率,改变定时器T1 的初值就可以改变占空比。

前言:直流电机的定义:将直流电能转换成机械能(直流电动机)或将机械能转换成直流电能(直流发电机)的旋转电机。

近年来,随着科技的进步,直流电机得到了越来越广泛的应用,直流具有优良的调速特性,调速平滑,方便,调速范围广,过载能力强,能承受频繁的冲击负载,可实现频繁的无极快速起动、制动和反转,需要满足生产过程自动化系统各种不同的特殊要求,从而对直流电机提出了较高的要求,改变电枢回路电阻调速、改变电压调速等技术已远远不能满足现代科技的要求,这是通过 PWM 方式控制直流电机调速的方法就应运而生。

STC89C52单片机测试报告

STC89C52单片机测试报告

STC89C52单片机调试报告The debugging report of STC89C52MCU姓名:***专业:电子信息工程时间:2011年8月2日STC89C52单片机调试报告摘要:通过这次对单片机最小系统的焊接与调试,我对单片机内部结构有了深入的了解,并且学会了利用单片机扩展其他模块,对单片机的外围器件已经能熟练地操作,自己亲自焊接与调试,发现了自己画的PCB 板有许多问题,经过不断的调试,最后顺利完成了52单片机基本外围器件的调试和扩展,这次52单片机外围器件的调试为我以后参加比赛奠定了基础。

【本科组】1.技术讨论:STC89C52是一种八位的单片机,共40个引脚,五个中断源,三个内部中断,分别为定时器0,定时器1,串口中断,两个外部中断,分别为外部中断0和外部中断1,4个双向的I/O口可以用来扩展外部器件和存储器。

除此之外,利用单片机的ALE和PSEN引脚也可以扩展外部存储器。

如果外部器件需要时钟信号,可以利用单片机的定时器作外部器件的时钟,由于单片机正常工作的时候ALE 引脚会输出6分频的方波,所以时钟信号也可以接单片机的ALE引脚。

2.技术路线:我用的PCB板是自己画的,板子上除了STC89C52单片机主控芯片外,主要模块有:四位数码管,两位数码管,蜂鸣器,虚拟串口,矩阵键盘,电源指示灯,时钟芯片DS1302,温度传感器DS18B20,12864液晶,诺基亚液晶,除此之外,我利用单片机外围引脚的排针扩展了ADC0809,DS18B20多点测温。

3.硬件设计:3.1数码管部分采用的是四位共阴数码管,段选通过单片机的P2口控制,位选通过P0.4-P0.7控制,驱动用的是8050NPN数码管,R5-R8的作用是限流,防止电流过大烧坏数码管,R1-R4的作用也是限流作用,防止电流过大烧坏单片机。

3.2复位电路单片机的第九脚只要出现连续两个机器周期以上的高电平就恢复位,复位电路上电容采用的是10UF,电阻中的阻值是10K。

基于STC89C52单片机智能教室灯光控制系统设计

基于STC89C52单片机智能教室灯光控制系统设计

基于STC89C52单片机智能教室灯光控制系统设计一、概述随着科技的快速发展和智能化时代的到来,人们对于教室灯光控制系统的要求也越来越高。

传统的教室灯光控制系统往往存在操作不便、能耗较高以及无法根据环境自动调节等问题,这既影响了教学质量,也增加了能源浪费。

设计一种基于STC89C52单片机的智能教室灯光控制系统具有重要的现实意义和应用价值。

本系统以STC89C52单片机为核心控制器,结合传感器技术、无线通信技术以及智能控制算法,实现对教室灯光的智能化控制。

系统能够实时监测教室内的光照强度、人员分布等信息,并根据这些信息自动调节灯光亮度和开关状态,从而营造一个舒适、节能的教学环境。

具体来说,本系统通过光照传感器实时监测教室内的光照强度,当光照强度低于设定阈值时,系统会自动开启灯光反之,则关闭或调低灯光亮度。

同时,系统还配备了人体红外传感器,用于检测教室内的人员分布情况,当教室内无人时,系统会自动关闭所有灯光,实现节能降耗。

本系统还支持远程控制功能,用户可以通过手机APP或电脑端软件对教室灯光进行远程操控,方便灵活。

同时,系统还具备故障检测和报警功能,一旦发现异常情况,会及时发出警报并通知管理人员进行处理。

基于STC89C52单片机的智能教室灯光控制系统能够有效解决传统教室灯光控制存在的问题,提高教学环境的舒适度和节能性,具有重要的推广和应用价值。

1. 教室灯光控制的重要性教室灯光控制作为现代教育环境中的重要组成部分,其重要性不容忽视。

适宜的灯光环境能够直接影响学生的学习效率和视力健康。

过亮或过暗的灯光都可能造成学生的视觉疲劳,甚至引发近视等视力问题。

合理控制教室灯光,确保光线柔和、均匀且亮度适中,对于保护学生视力、提高学习效率至关重要。

智能教室灯光控制系统能够实现能源的有效管理和节约。

传统的教室灯光控制方式往往存在能源浪费的现象,如无人时灯光依然开启、光线充足时仍使用高亮度照明等。

而智能灯光控制系统能够根据教室内的光线强度和人员活动情况自动调节灯光亮度和开关状态,从而实现能源的智能管理和节约。

基于STC89C52单片机的简易数字电压表设计【毕业设计

基于STC89C52单片机的简易数字电压表设计【毕业设计

存档编号华北水利水电大学North China University of Water Resources and Electric Power 毕业设计题目基于单片机的数字电压表设计学院信息工程学院专业通信工程姓名学号 200912303指导教师完成时间 2013年5月20日教务处制目录摘要 (I)Abstract (II)绪论...................................................................................................................... I II 一设计背景................................................................................................ I II 二设计意义. (V)第一章数字电压表 (1)1.1 数字电压表的优点 (1)1.2 数字电压表发展趋势 (1)1.3 设计平台 (2)1.3.1 KEIL C51开发平台 (2)1.3.2 Proteus 7 Professional设计软件 (2)第二章总体设计方案 (4)2.1数字电压设计的两种方案 (4)2.1.1 由数字电路及芯片构建 (4)2.1.2 由单片机系统及A/D 转换芯片构建 (4)2.2 设计要求 (5)2.3 技术要求 (5)2.4 设计方案 (5)第三章硬件简介 (7)3.1 本设计单片机的选择 (7)3.1.1常用单片机的特点比较 (7)3.1.2 单片机的选择 (7)3.1.3 STC89C52单片机介绍 (8)3.2 本设计显示器件选择 (13)3.2.1 常用显示器件简介 (13)3.2.2 显示器件的选择 (14)3.2.3 1602字符型LCD简介 (14)3.3A/D芯片 (19)3.3.1常用的A/D芯片 (19)3.3.2 ADC0809芯片 (20)第四章接口电路 (23)4.1 显示电路 (23)4.2 ADC0809与单片机接口电路 (23)第五章硬件电路系统模块设计 (25)5.1 总电路模块 (25)5.2 硬件系统电路简介 (25)第六章系统软件设计 (26)6.1 主程序 (26)6.2 A/D转换子程序 (26)6.3 显示子程序 (27)第七章调试及性能分析 (28)7.1 调试与测试 (28)7.2 性能分析 (28)总结 (30)参考文献 (31)致谢 (33)附录 (34)附录I(外文翻译) (34)外文译文 (44)附录II(任务书) (52)附录III(开题报告) (54)附录IV(图表) (57)I Proteus仿真图 (57)II 硬件总电路图 (58)III 实物图 (59)附录V(程序清单) (60)摘要随着时代的进步,用指针式万用表测量小幅度直流电压已经显得有些不太方便。

基于STC89C52单片机的计算器

基于STC89C52单片机的计算器

基于STC89C52单片机的计算器一、引言计算器作为一种常见的电子设备,经常被人们用于日常的数学计算。

本文将介绍一种基于STC89C52单片机的计算器的设计与实现。

该计算器具有基本的四则运算功能,并且支持浮点数的运算。

二、硬件设计1.单片机选择本文选择STC89C52单片机作为计算器的核心处理器。

STC89C52是基于8051架构的单片机,具有强大的计算和控制能力,适合用于计算器的设计。

2.显示器设计本文选用16x2LCD液晶显示器作为计算器的显示器。

液晶显示器具有容量小、功耗低、反射型等优点,非常适合计算器的显示要求。

3.按键设计本文选用矩阵按键设计。

通过矩阵按键设计,可以设计出较多的按键功能,并且能够节省IO口的使用。

4.电源设计计算器使用直流电源供电,可以选择使用电池或者外部电源适配器供电。

三、软件设计计算器的软件设计主要包括界面设计和计算功能设计两个方面。

1.界面设计计算器的界面设计主要包括显示数字和调用函数。

a.显示数字通过将用户输入的数字显示到LCD液晶屏上,实现数字的显示功能。

液晶屏可以显示16个字符,可以一次性显示一个较长的数字。

b.调用函数通过监测用户按键的输入,调用相应的函数实现计算功能。

可以设置加、减、乘、除等函数,并通过按键的组合调用相应的函数。

2.计算功能设计计算器的计算功能设计主要包括四则运算和浮点数运算两个方面。

a.四则运算通过四个函数实现加、减、乘、除的功能。

在用户按下相应的运算符号键后,调用相应的函数对输入的数字进行相应的运算,并将结果显示在LCD液晶屏上。

b.浮点数运算在用户输入的数字或运算结果存在小数的情况下,可以设计相应的浮点数运算函数,通过运算可以得到带有小数点的结果,并将结果显示在LCD液晶屏上。

四、系统实现五、总结基于STC89C52单片机的计算器设计和实现包括硬件设计和软件设计两个方面。

通过合理的硬件设计和功能完善的软件设计,可以实现一款功能强大的计算器。

基于STC89C52单片机最小系统的设计

基于STC89C52单片机最小系统的设计

基于STC89C52单⽚机最⼩系统的设计基于STC89C52单⽚机最⼩系统的设计1 设计内容及要求设计题⽬:基于STC89C52单⽚机最⼩系统的设计及制作。

设计要求:输⼊信号为传感器、电压、电流、开关等形式,单⽚机型号可以⾃⼰选择(51,128,430等),输出控制信号为模拟电压或者数字信号,控制对象可以是电机(直流电机,步进电机)、开关、显⽰器等。

(注:可以采⽤单⽚机、传感器电路模块以及集成电路芯⽚制作。

)使⽤器材:感光板及常⽤PCB制版器材、常⽤电⼦装配⼯具、万⽤表、⽰波器及电⼦元器件(详见附录)。

2 STC89C52单⽚机2.1 STC89C52单⽚机简介单⽚微型计算机简称单⽚机,是典型的嵌⼊式微控制器(Microcontroller Unit),常⽤英⽂字母的缩写MCU表⽰单⽚机,它最早是被⽤在⼯业控制领域。

单⽚机由芯⽚内仅有CPU的专⽤处理器发展⽽来。

最早的设计理念是通过将⼤量外围设备和CPU集成在⼀个芯⽚中,使计算机系统更⼩,更容易集成进复杂的⽽对体积要求严格的控制设备当中。

⽤专业语⾔讲,单⽚机就是在⼀块硅⽚上集成了微处理器、存储器及各种输⼊/输出接⼝的芯⽚。

2.2 单⽚机的特点(1)⾼集成度,体积⼩,⾼可靠性单⽚机将各功能部件集成在⼀块晶体芯⽚上,集成度很⾼,体积⾃然是最⼩的。

芯⽚本⾝是按⼯业测控环境要求设计的,内部布线很短,其抗⼯业噪声性能优于⼀般通⽤的CPU。

单⽚机程序指令,常数及表格等固体化在ROM中不易破坏,许多信号通道均在⼀个芯⽚内,故可靠性⾼。

(2)控制功能强为了满⾜对控制对象的要求,单⽚机的指令系统均有极丰富的条件:分⽀转移能⼒、I/O⼝的逻辑操作机位处理能⼒,⾮常适⽤于专门的控制功能。

(3)低电压,低功耗,便于⽣产携带为了便于⼴泛使⽤于便携式系统,许多单⽚机内的⼯作电压仅为 1.8V~3.6V,⼯作电流仅为数百微安。

(4)易扩展⽚内具有计算机正常运⾏所需的部件。

芯⽚外部有许多供扩展⽤的三总线及并⾏、串⾏输⼊/输出管脚,很容易构成各种规模的计算机应⽤系统。

基于STC89C52单片机的多功能测温仪设计

基于STC89C52单片机的多功能测温仪设计
关 键 词 :S T C 8 9 C 5 2 MC U; P T1 0 0; L C D1 2 8 6 4( S T 7 9 2 0)
中 图 分 类 号 :T P 3 6 8 文 献 标 识 码 :A 文 章 编 号 :1 6 7 4 — 7 7 2 0 ( 2 0 1 3) 0 1 — 0 0 2 6 — 0 4
Har d wa r e Te c h n i q u e
基于 S T C 8 9 C 5 2单片机 的多功 能 , 福建 厦 门 3 6 1 0 2 1 )
摘 要 : 设 计 了 由 S T C 8 9 C 5 2单 片 机 、 P TI O 0温 度 传 感 器 以 及 L C D1 2 8 6 4 ( S T 7 9 2 0) 液 晶 显 示 器 组 成
1 系统 总 体 设 计
系统主 要 由 S T C 8 9 C 5 2单 片 机 、 温 度采 集 电路 ( 包 括
P T l 0 0温 度 传 感 器 和 A D C 0 8 3 2) 、 键 盘 电路 、 L C D1 2 8 6 4 显
De s i g n o f mu l t i f u nc t i o n a l t e mpe r a t u r e me a s u r e me n t s y s t e m
b se a d o n S TC8 9 C5 2 M CU
Zh o u Pe ng ( S c h o o l o f I n f o r ma t i o n S c i e n c e& E n g i n e m‘ i n g, Hu a q i a o U n i v e r s i t y, Xi a me n 3 61 0 2 1, C h i n a)

基于STC89c52单片机的步进电机控制系统设计

基于STC89c52单片机的步进电机控制系统设计
2系统 设 计 原 理 步进 电机控制系统主要 由 S T C8 9 c 5 2单 片 机 、 驱 动、 键 盘、 L E D
显示 、 人机互动等 四个 模块 组成 ; 实现 的功能 有 ( 1 ) 键盘 上相应 的 按键可 以控 制步进 电机停 止 、 转动 、 转 速的快 慢 、 正反转 等 ; ( 2 ) 通 过L E D 可 以 显 示 电机 的 工 作 状 态 , 如 转 速 的大小 , 转 动方 向 等 ; ( 3 ) 通 过 人 机 互 动 可 以灵 活 的对 电机 进 行 控 制 , 随 时 可 以 改 变 对 步 进 电机 的操作 ; 3系 统 硬 件 设 计 3 . 1 单 片机 模 块 该设计用 S T C8 9 c 5 2 单 片机 , 单片机 的 P 1 . 0 一P 1 . 3 接 步进 电机 驱 动器 。脉 冲信号 由延 时函数 产生 , 通 过单 片 机 的 P 1 . 0口输 出, 可 以通过 改变延 时 函数 的延时 时间来调 整电机 的转速 , 通过键 盘 的按钮 , 就可 以改变延时 函数 的延时 时间从 而改变 电机 的转 速 , P 0 口接 L E D数码管 , 可 以显示 当前 的电机转速 状态 。单 片机 的 P 3 . 0 P 3 . 4 接按 键电路 。振荡 电路 的晶振频 率为 : 1 1 . 0 5 9 2 MH z 。
基于 S T C 8 9 c 5 2 单 片机 的 步进 电 机 控 制 系统 设 计
邢聪聪 杨 成 邵 帅
( 西北 民族 大学电气工程 学院
【 摘 妻】 本设 计是 基 于 S T C 8 9 c 5 2 单 片机 的 步进 电机控 制 系统 , 步进 电 机 转动是 通 过将 单 片机 产 生 的信 号 脉 冲 转换 成 步进 电机 相 应 的 角位 移, 从 而 实现 工作 的驱 动 ; 该设 计 结构 简单 , 易于操 作 , 精度较高, 成本 较低 , 使 用 灵活等 特 点。 【 关键 词】 s T c 8 9 c 5 2 ; 步进 电机 ; 信 号脉 冲

基于STC89C52单片机多功能计算器设计与仿真

基于STC89C52单片机多功能计算器设计与仿真

0 引 言
多 功 能 计 算 器 作 为 一 种 快 速 通 用 的 计 算 工 具 为 日常 计 算 提 供 了方 便 ,同 时 又 可 以 兼 有 时 钟 显 示 和 温 度 显 示 功 能 。 该 计 算 器 以 STC89C52单 片 机 为 核 心 进 行 计 算 器 模 拟 系 统 的 设 计 ,输 入 采 用 4× 4矩 阵 键 盘 ,可 以 进 行 加 、减 、乘 、除 数 字 运 算 ,并 在 LCD1602上 显 示 操 作 过 程 ,不 计 算 时 ,显 示 当 前 时 间 和 温 度 ,通 过 按 键 切 换 模 式 时 ,可 进 行 时 间 的 调 整 。
和 液 晶 显 示模 块 组 成 ,其 中 ,单 片机 的 P0 口 用 作 输 出 端 口接 LCD1602的 8个 数 据 引 脚 ,P2 口接 使 能 端 和 读 写 引脚 ,驱 动
LCD16O2显 示 ;P1口作 为 输 入 端 口 ,外接 4x4的 矩 阵 键 盘 ;P3口接 DS18B20温 度 传 感 器和 DSI 302时 钟 芯 片 ,用 于 实 时 监 测
郭 占苗 , 吴 沛。 (西安 航 空职业 技 术学 院 ,1.电子 工程 学 院 ,2.学生 处 ,西安 710089)
摘 要 :基 于 STC89C52单 片机 设 计 一 款 用 LCD16O2液 晶 显 示 的 多功 能计 算 器 。 由矩 阵 键 盘 模 块 、温度 图
1 原 理 的 设 计
2 软 件 的 设 计
该 多 功 能计 算 器 主要 包 括 键 盘 输 入 模 块 、单 片 机 主 控 芯 片 、显 示模 块 、时 钟模 块 和 温 度 控 制 模 块 等 5部 分 组 成 ,键 盘 部 分 主 要 用 于 计 算 器 运 算 时输 入 数 字 ,切 换 计 算 器 或 时 间 显 示 ,以 及 时 间 显 示 时 进 行 时 间 调 整 的 功 能 ;单 片 机 主 要 完 成 数 据 处 理 功 能 ,包 括 确 定 按 键 ,完 成 运 算 ,以及 输 出 数 据 ;显 示 器 部 分 主 要 完 成 单 片机 输 出 的 显 示 ;时 钟 模 块 完 成 当前 时 间 的精 准 显 示 ,温 度 传 感 器 对 实 时 温 度 进 行 检 测 [1]。主 要 原 理 框 图 ,如 图 1所 示

基于STC89C52单片机最小系统的设计

基于STC89C52单片机最小系统的设计

基于STC89C52单片机最小系统的设计基于STC89C52单片机最小系统的设计一、引言随着科技的不断进步,单片机在各个领域中的应用越来越广泛。

STC89C52是一种常用的单片机,具有高性能、低功耗、可编程等特点,被广泛应用于工业控制、智能家居、物联网等领域。

最小系统是单片机应用的基础,本文将介绍基于STC89C52单片机的最小系统设计。

二、STC89C52单片机简介STC89C52是一种8位微控制器,采用CMOS工艺制造。

它具有8K字节的闪存程序存储器,支持在线编程和调试。

STC89C52单片机具有高性能、低功耗、高可靠性等特点,并且具有丰富的外设资源,如定时器、中断控制器、串行通信接口等。

三、最小系统设计思路最小系统是指能够让单片机正常工作所需的最基本的电路,包括电源电路、晶振电路、复位电路和下载电路等。

1、电源电路:为整个系统提供电源,需要根据单片机的供电要求选择合适的电源模块。

2、晶振电路:为单片机提供时钟信号,一般采用外部晶振。

3、复位电路:用于将单片机恢复到初始状态,一般采用上电复位和手动复位两种方式。

4、下载电路:用于将编写好的程序下载到单片机中,一般采用串口或SW下载方式。

四、硬件选型1、电源模块:选择12V电源模块,通过降压电路转换为5V供电。

2、晶振电路:选择11.0592MHz的外部晶振。

3、复位电路:选择上电复位和手动复位两种方式。

4、下载电路:选择SW下载方式,使用CH340芯片实现USB转串口下载功能。

五、软件设计软件设计主要包括程序的编写和调试。

根据实际需求编写程序,并进行仿真和调试。

在调试过程中,可以使用串口调试助手等工具进行程序的下载和调试。

六、实验结果在实验室中,我们成功地搭建了基于STC89C52单片机的最小系统,并编写了一个简单的程序,实现了LED的闪烁控制。

实验结果表明,最小系统能够正常工作,并且程序运行稳定。

七、总结本文介绍了基于STC89C52单片机的最小系统设计,包括硬件选型和软件设计等方面。

基于单片机STC89C52的电阻测量系统设计

基于单片机STC89C52的电阻测量系统设计

根据测量 的精度和端 口的要求,系统选用TLC2543作为A/ 图 2 MCU控 制及 显 示 电路
D转换器 。TLC2543是TI公司的12位串行模 数转换器 ,使用开关
电容逐次逼 近技 术完 成A/D转 换过程 ,工作温 度 范围内10la S 3 系统 软件 设计
转 换时间,l1个模拟输入通 道,3路内置 自测试 方式 ,采样率为
用户。可用5V电压编程,没有两种 电源的要求 ,改写时不拔下芯
片,适合许多嵌入式控制领域 。工作电压范围宽 (2.7V~6V),全
静态工作,工作频率宽在OHz ̄24MHz之 间L ̄,8751/87C51等51系
列的6MHz ̄I2MHz更具有灵活性,系统工作频率能快能慢。
1.2 A/D转 换器 的选择
片机 进行数据传送 。 2.3 MCU控 制及 显 示电路设 计
系 统 选 用 STC89C52作 为 mCU处 理 器 ,其 主 要 特 点 :
单片机 系统 电路如图2所 示。该模块 是整 个系统的核心,主
STC89C52与MCS-51系列 的单片机在 指令系 统和引脚上完全 兼 要 由STC89C52单片机、电机驱 动和uLN2o03和l2864液 晶显示器
辨 率达4096。程 序设计 采用模 拟通 道AINO端 ,并用 高测试精度 .以及电路 的稳定性 。图
中OP07的3脚为放大后 的采样 电压输入端 ,输入 的模拟 电压 经
TLC2543进进行A/D后。数字量 以SPI总线 数据传输 的方式与单
图1 系统总体设计框 图 1.1 MCU处 理器 的选择
作复杂。本系统采用通用单片机STC89C52实现 1Q 1OMQ电阻量 IOK ̄IIOM之间的量程 的自动切换 。在 电路 中被测 电阻Rx将和一

基于STC89C52RC单片机的简易计算器设计《 电子设计大赛》概要

基于STC89C52RC单片机的简易计算器设计《 电子设计大赛》概要

基于单片机简易计算器的设计汇总两个方案学院专业班级学号学生姓名联系方式指导教师职称2013年5月基于单片机的简易计算器的设计摘要近几年单片机技术的发展很快,其中,电子产品的更新速度迅猛。

计算器是日常生活中比较常见的电子产品之一。

如何才能使计算器技术更加的成熟,充分利用已有的硬件和软件条件,设计出更出色的计算器。

本设计是以STC89C52单片机为核心的计算器模拟系统设计,输入采用4*4矩阵键盘,可以进行加、减、乘、除带符号数字运算(六位整数、两位小数),并在液晶显示屏LCD1602上静态显示操作过程及结果。

本设计的操作过程是利用SCTT89C51的来控制LXD1602显示器,SCT89C51有共四个端口,作为数据的输入端和输出端,其中两个端口作为输出端,两个端口作为输出端,两个特殊的端口XTAL2和XTAL1,则作为外部振荡器的输入端和输出端。

四个端口的作用是:一个输入端接4*4矩阵键盘,另一个数据输入端接显示屏LCD1602的三个特殊端口,而另外两个端口作为输出端口,一个端口接显示屏LCD1602的数据端口,另一个端口作为振荡电路的输入端和输出端,连接好电路,接通电源,则可在液晶显示屏LCD1602显示加、减、乘、除的运算过程及结果,这是计算机的设计总过程。

关键词:单片机;C语言;计算器Simple calculator design based on single chipABSTRACTSingle-chip computer technology developing rapidly in recent years, among them,electronic product update speed is fast. The calculator is one of the electronic products are common in everyday life. How can you make the calculator technology more mature, make full use of existing hardware and software conditions, design a better calculator.This design is based on STC89C52 single-chip microcomputer as the core of calculator simulation system design, input use 4 * 4 matrix keyboard, could add, subtract, multiply and divide signed number-crunching six (integer, two decimal places), and static on the LCD display LCD1602 display operation process and results. This design process is controlled by using SCTT89C51 LXD1602 display, SCT89C51 has a total of four ports, as the data input terminal and output terminal, two of the port as the output side, the two ports as the output side, and two special port XTAL1 and XTAL2, as external oscillator input end and output end. Four port is: a 4 * 4 matrix keyboard input, another data input termination display LCD1602 three specific ports, and the other two ports as output port, a port display LCD1602 data port, another port as oscillation circuit input end and output end, good connection electric circuit, switch on the power, can be in the LCD display LCD1602 display of add, subtract, multiply and divide operation process and result, this is the computer's design process.Key words:Single chip microcomputer; The C language; Calculating machine基于单片机的简易计算器的设计序言随着社会的发展,科学的进步,人们的生活水平在逐步地提高,尤其是微电子技术的发展犹如雨后春笋般的变化。

酒精测试仪参考论文

酒精测试仪参考论文

论文(设计)基于单片机的酒精浓度检测仪设计所在学院专业名称年级学生姓名、学号完成日期摘要摘要近年来,随着我国经济发展,越来越多的私家车进入了人们的视野,而酒后驾车造成的交通事故也屡屡攀升。

本文研究了一种用于公共场所具有检测及超限报警功能的酒精浓度检测仪设计。

设计方案基于STC89C52 单片机和MQ3酒精浓度传感器,系统先将传感器输出的信号通过A/D转换电路处理后,再经单片机进行数据处理,最后由LCD显示酒精浓度值,从而告知驾驶人在合理安全的情况下才能驾车行驶。

经过大量实验,基于单片的酒精浓度测试仪比传统的机械检测仪或酒精计灵敏,扩展简单,准确方便,可靠性好,检测精度高,控制功能强大,对超出阀值进行声光报警,直观准确。

所以基于单片机的酒精浓度监测仪的研究对社会公共安全的提高具有很大促进作用。

关键词:酒精浓度传感器,单片机,数模转换,硬件设计,报警IABSTRACTABSTRACTIn recent years, along with our country economy development, more and more private cars have come into the vision. While drunk driving traffic accidents caused by the repeated.This paper used for public inspection and overrun with the functions of alcohol concentration intelligent tester. Design scheme based on STC89C52 and MQ3 alcohol concentration sensor, the system will be the first sensor output signal through the A/D converter circuit after treatment, then the MCU data processing, and finally by LCD display alcohol leel. Thus told people in the safety of reasonable driving can drive.Refined over a large number of experiments, using the alcohol concentration test instrument than traditional mechanical detector or alcohol gauge, extended simple, accurate and convenient, good reliability, high precision, strong control function, to go beyond threshold alarm, intuitive and accurate.So based on SCM alcohol concentration monitor research for social public security increase of great value.Keywords: Alcohol, concentration sensor, microcontroller analog-to-digital conversion , hardware design, alarmII目录1 引言 (2)1.1 酒精浓度检测仪的背景 (2)1.2 酒精浓度检测仪现状及发展趋势 (2)1.3 本课题实现目标 (2)2 设计方案和元器件选择 (3)2.1 设计方案 (3)2.2 单片机的选择 (3)2.3 传感器 (5)2.4 数模转换器 (6)2.5 LCD显示模块 (7)3 系统硬件设计 (9)3.1 硬件设计原理 (9)3.2 硬件设计外围电路 (10)3.2.1 晶振电路、复位电路设计 (10)3.2.2 报警设计设计 (12)3.2.3 电源电路设计 (13)3.2.4 A/D转换电路设计 (13)3.2.5 语音播报 (13)4 系统软件设计 (16)4.1 主程序流程图 (16)4.2 A/D转换模块程序流程图 (17)4.3 按键程序流程图 (18)4.4 液晶显示程序流程图 (19)5 软件与硬件调试 (20)第5.1节程序的编译与下载 (20)5.1.2STC-ISP芯片烧录软件的使用 (22)6 本设计总结与展望 (24)6 结束语 (24)参考文献 (26)致谢 (27)11 引言1.1 酒精浓度检测仪的背景对气体中酒精含量进行检测的设备有五种基本类型,即:燃料电池型(电化学)、半导体型、气体色谱分析型、红外线型、比色型。

基于STC89C52RC单片机的模数转换测试

基于STC89C52RC单片机的模数转换测试

一:测试内容:此处采用STC89C52RC单片机,配合ADC0804完成对外部0-5V模拟量信号的采样与转换,活动系统后续控制信号。

此处采用查询输入口读入的方式读取AD转换结果,并将数字量的结果显示在数码管上。

显示结果:000-255之间变换。

数码管采用循环扫描的方式依次显示百十个三位数。

二:测试程序:#include<reg52.h>sbit CS=P2^0;//定义ADC0804片选端P2口的第0口sbit AD_RD=P2^1;//定义ADC0804读选通端P2口的第1口sbit AD_WR=P2^2;//定义ADC0804写选通端P2口的第2口sbit LED1=P2^3;//定义指示灯1为P2口第3口sbit LED2=P2^4;//定义指示灯1为P2口第4口#define uchar unsigned char//宏替换定义#define uint unsigned intsbit select1=P2^5;//定义个位选择开关1sbit select2=P2^6;//定义十位选择开关2sbit select3=P2^7;//定义百位选择开关3/***********数码管0-9的对应查表值********************************************/ unsigned char table[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};/***************延时函数******************************************************/ void delay(uint a){uint i,j;for(i=0;i<a;i++)for(j=0;j<a;j++);}/*************数码管显示函数*************************************************/ void display(uchar a){unsigned char i,shi,ge,bai;bai=a/100;//将AD转换的结果对应的十进制数依次分解成百十个三位数shi=(a/10)%10;ge=a%10;for(i=0;i<100;i++)//三位数轮流循环显示100次{select3=0;//选通百位P0=table[bai];//获取对应的显示码送到P0口输出delay(20);select3=1;//关闭百位select2=0;//显示十位P0=table[shi];//获取对应的显示码送到P0口输出delay(20);select2=1;//关闭十位select1=0;//打开个位P0=table[ge];//获取对应的显示码送到P0口输出delay(20);select1=1;//关闭个位}}/****************************功能函数定义***********************************/void light_1()//指示信号1:1号灯闪烁{LED1=1;delay(200);LED1=0;delay(200);}void light_2()//指示信号2:2号灯闪烁{LED2=1;delay(200);LED2=0;delay(200);}void light_3()//指示信号3:1、2号灯同时闪烁{LED1=1;LED2=1;delay(200);LED1=0;LED2=0;delay(200);}void AD_wright()//ADC0804控制写入信号为启动AD转换之用{AD_WR=1;delay(5);AD_WR=0;delay(5);AD_WR=1;delay(5);}void AD_read()//ADC0804数据读出信号为读AD转换之后的数据用{AD_RD=1;delay(5);AD_RD=0;delay(5);}/************************主程序*********************************************/ main(){uint DATA;uchar i;P1=0xff;//定义P1口为输入P2=0x00;//定义P2口为输出P0=0x00;//定义P0口为输出注意:P0口内部无上拉电阻,因此须外接排阻。

单片机AD模数转换实验报告

单片机AD模数转换实验报告

单片机AD模数转换实验报告实验目的:通过单片机完成模数转换实验,了解AD模数转换的原理,掌握AD转换器的使用方法。

实验设备:1.STC89C52RC单片机开发板2.电位器3.电阻4.电容5.连接线实验原理:AD模数转换是将连续的模拟信号转换为离散的数字信号的过程。

在单片机中,通过ADC模块将模拟电压转换为数字量。

STC89C52RC单片机具有内置的10位ADC模块,可以将模拟电压转换为0-1023之间的数字量。

实验步骤:1.连接电位器、电阻和电容的引脚到单片机上。

2.在单片机的引脚配置中,将ADC0的引脚配置为模拟输入。

3.在主函数中初始化ADC模块。

4.使用AD转换函数来获取模拟电压的数字量。

5.将数字量通过串口输出。

实验结果:经过以上步骤,我们成功地将连续的模拟信号转换为了数字信号,并通过串口输出。

通过电位器、电阻和电容的调整,我们可以观察到不同的输入信号对应的数字量。

实验总结:通过本次实验,我们深入了解了AD模数转换的原理,并学会了使用单片机的ADC模块来完成模数转换。

在实验过程中,我们还发现了一些问题和注意事项。

首先,在连接电路时,需要将模拟输入连接到ADC0引脚,并在引脚配置中正确设置。

其次,在初始化ADC模块时,需要根据实际情况设置参考电压和转换速率等参数。

最后,在使用AD转换函数时,需要根据需要进行适当的调整和计算,以获取正确的数字量。

总体来说,本次实验帮助我们更好地理解了AD模数转换的原理和单片机的ADC模块的使用方法。

通过实际操作,我们掌握了实验步骤和注意事项,提高了实际操作的能力和理论知识的运用。

这对我们的电子技术学习和应用都起到了积极的促进作用。

毕业论文(设计)基于单片机的智能清洁机器人的设计

毕业论文(设计)基于单片机的智能清洁机器人的设计
从智能化方面讲智能清洁机器人体现了循迹、避障、电机控制等多方面的技术,具有 较强的代表性。另一方面从市场发展角度讲,智能清洁机器人能够有效的减少人力劳动, 提高劳动效率,具有广阔的发展空间和市场。随着经济的发展、社会产业结构的转型和升 级,智能清洁机器人的应用领域必将越来越大。
1.2 研究意义
随着智能机器人的发展和科研技术的进步,清洁机器人的智能程度也越来越高。智能 化技术的发展速度越来越快,智能化也是未来社会的发展方向。作为现代智能化方向里一 项先进发明,智能清洁机器人已经和人们生产生活的联系越来越密切。
I
The design of intelligent cleaning robot
Abstract
In recent years, with the development of intelligent robots and the technological progress. The cleaning robot is more and more intelligent,and intelligent is the sign of the development of cleaning robot.As the development trend of modern intelligent robot,it has become the research direction of designers.At the same time, intelligent cleaning robot is direction of development in the future.
Keywords: Intelligent cleaning robot, MCU , obstacle avoidance, infrared, vacuum cleaner

基于STC89C52单片机的点焊机控制系统的软件设计

基于STC89C52单片机的点焊机控制系统的软件设计

毕业设计题目基于STC89C52单片机的点焊机控制系统的软件设计一、毕业论文(设计)的主要内容及要求:1、主要内容:(1)、收集和查阅点焊机的相关资料;(2)、掌握现有点焊机系统的基本原理及进行优劣分析;(3)、明确点焊机系统所要达到的要求和实现方法;(4)、掌握51单片机的基本原理与ADC0832模数转换芯片使用;(5)、画出点焊机系统的总体设计框图;(6)、画出电流、电压、工件准备信号、等程序流程图;(7)、编写点焊机系统各部分程序;(8)、指标要求:设计终点监测点焊机系统,实现人工设定,自动完成工件点焊;2、要求:(1)、认真分析设计课题,了解设计任务查阅相关资料,按要求完成开题报告。

(2)、遵守院相关规定和纪律,服从指导老师和实验室工作人员安排做好毕业实习和具体实验。

(3)、保质保量按时完成论文撰写工作应完成的成果。

(4)、完善的点焊机状态监测系统软件设计。

(5)、撰写高质量论文。

二、毕业论文(设计)应收集的资料及主要参考文献:[1]中国机械网.中国焊接行业的发展现状及未来展望[OL].2005.10[2]殷树言、邵青莲.coz焊接技术及应用[M].哈尔滨:哈尔滨工业大学出版社,1989.5[3]姚河清、陈亚政、孟庆芹.现代焊接技术发展的现状及展望[J].南京:河海大学2004.9 124-134[4]林三宝、黎明、吴林.计算机在焊接中的应用现状及发展前景[J],焊接,2000.8 23-56[5]杨光,焊接自动化技术的现状及展望[J].现代制造,2004.11 124-145[6]林奕鸿等,机床数字控制技术及其应用.北京:机械工业出版社,1994.8[7]徐宏.计算机数字控制技术(CNC)最新发展动态[M].机械制造.1996.9[8]秦继荣,沈安俊.现代直流伺服控制技术及系统设计.北京:机械工业出版社,1993.9[9]陈维山,赵杰.机电系统计算机控制。

哈尔滨:哈尔滨工业大学出版社,1999.2[10]Granham T.Smith CNC Machining Technology[M]. Springerer-Verlag LondonLimtied.1993.6[11]Anthony kushigian CNC dressers improve productivity,flexibility.[M]Tooling & Production, 1997.3[12]徐初雄,焊接工艺500问[M].北京:机械工业出版社,1997.2[13]川林尚扬、陈善本、李成桐等,焊接机器人及其应用[M].北京:机械工业出版社,2000.7[14]王文瀚,焊接技术手册[M],河南科学技术出版社,2000.3[15]彭友禄,焊接工艺[M].北京:人民交通出版社,2002.4[16]吴林、陈善本等,智能化焊接技术[M].北京:国防工业出版社,2000.8[17]王仲生,智能检测与控制技术[M].西安:西北工业大学出版社,2002.9[18]胡汉才,单片机原理及其接口技术(第三版)[M].北京:清华大学出版社.2005.10一、选题的意义和研究现状1.选题的理论意义、学术价值或实践价值焊接是现代制造业中最重要的工艺之一,它在很多的行业中的应用越来越广泛从机械制造、核工业、航空航天、汽车、造建筑,到电子工业、家用电器等领域,都有广泛的应用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

}
/****************************主程序******************************************/
main()
{ sys_initial();
//系统初始化
while(1)
//进入主循环
{
if(flag==1) //判断是否收到了上位机发来的启动信号即是否产生了接收中断
}
/*************************启动 A/D 转换***************************************/
void AD_start()
{
WR=1; _nop_();
//通过送进低电平来启动 AD 转换 //延时
WR=0;
_nop_();
WR=1;
}
/**********************打开 AD 芯片,读取数值***********************************/
//启动 AD 转换
delay(10); AD_get();
//延时100us左右等待 AD 转换接收 //读取 AD 转换结果
bai=DATA/100; //将转换后的十进制0-255分解成三位数
shi=(DATA%100)/10;
ge=DATA%10;
value=5.0*DATA/256; //将数字量换算成模拟量准备发送给上位机
//显示十位数
dual=1; P0=table[ge]; dual=0; P0=0xff; wela=1; P0=0x7b; wela=0; delay(5);
//显示个位数
} /*****************************系统初始化**************************************/
{
dual=1;
//显示百位数
基于 STC89C52RC 单片机的 A/D 转换测试及串口数据及数码管显示
安徽工业大学 自动化系 刘昌元
P0=table[bai]; dual=0; P0=0xff; wela=1; P0=0x7e; wela=0; delay(5);
dual=1; P0=table[shi]; dual=0; P0=0xff; wela=1; P0=0x7d; wela=0; delay(5);
void delay(uint a)
{
uint i,j;
for(i=a;i>0;i--)
for(j=110;j>0;j--)
;
}
/**************三位数循环扫描显示函数***************************************/
void display(uchar bai,uchar shi,uchar ge)
for(i=0;i<20;i++)
//数码管循环显示转换后的数值0-255
display(bai,shi,ge); TI=1;
//把模拟量电压发送回上位机显示
printf("The voltage is %f V\n",value);
while(!TI);
TI=0;
}
}
}
ES=1;
//打开串口中断,接收上位机发送来的字符
uchar code table[]=
{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
/*********************延时函数********************************************/
{
flag=0; //标志位清 0 ES=0; //关闭串口中断
TI=1;
//发送中断标志位置1准备向上位机发送字符串
switch(data1) //判断从上位机收到的数据是否是启动信号
{ case 1ቤተ መጻሕፍቲ ባይዱputs("Turn on AD\n"); //接收到1,则启动 AD 转换
break;
default :puts("Erro!");
三:程序测试记录: 当 单 片 机 接 收 到 处 数 字 1 之 外 的 其 他 字 符 时 由 单 片 机 返 回 Erro! 给 上 位 机
基于 STC89C52RC 单片机的 A/D 转换测试及串口数据及数码管显示
安徽工业大学 自动化系 刘昌元
当单片机收到上位机发来的1时,单片机发送“Turn on AD!”,之后便开始显示对应的模量 电压值。例如,数码管上显示:117 ,上位机对应的显示“The voltage is 2.285156 V”
void AD_get()
{ P1=0xff; RD=1;
//P1 口置 1,作为数据输入口使用 //通过送进低电平信号来打开 ADC0804 数据通道
_nop_();
RD=0;
_nop_(); DATA=P1;
//将 P1 口的数据存到变量 DATA 中
RD=1;
//关闭 ADC0804 数据通道
{ RI=0;
//当单片机通过串行口收到 PC 机发来字符时进中断,清接收中断标志位
基于 STC89C52RC 单片机的 A/D 转换测试及串口数据及数码管显示
安徽工业大学 自动化系 刘昌元
data1=SBUF; //把数据缓冲器中数据存到变量 data1 中。
flag=1;
//自定义变量标志位置 1
基于 STC89C52RC 单片机的 A/D 转换测试及串口数据及数码管显示
安徽工业大学 自动化系 刘昌元
一:测试目的: 在工业控制和检测等过程中经常会用到来自传感器或变送器等装置的模拟量信号,所有的这 些信号都需要经过模数转换后方能送进单片机处理获得后续系统控制的其他信号,因此模数 转换就显得尤为重要,现在很多单片机内部集成有 A/D 模块,直接利用它自带的模块和寄 存器编程就可以实现,但是对于有些价格比较便宜但性能优越,基本满足控制要求的控制器 却往往不自带 A/D 模块,此时就需要我们自己来组建 A/D 转换电路。此处本人采用的是 ADC0804LCN,售价一般在 6 元左右,性能还不错,搭建电路也比较方便,但此芯片使用 熟练后大家可以再去尝试多通道的 ADC0809,控制方式基本上差不多,在搭建电路时芯片的 时钟信号显得尤为重要,这是我在实际测试过程最大的体会,要保证转换器的可靠工作,它 的 CLCK 信号特别要注意,ADC0804 可以利用电阻和电容的自激振荡;来产生时钟信号, ADC0809 可以使用 51 系列单片的 ALE 引脚的 4 分频来提供时钟信号,具体情况需要参考 芯片的手册和自己搭建的电路,下面我就我自己测试的程序来大致讲一下转换采样过程。此 处我是将 0-5V 的模拟电压量转换成数字量后在数码管上显示出来,ADC0804 是 8 位的采样 芯片,对应的数字量应该为 0x00-0xFF,十进制的 0-255 同时将其运算成对应的模拟量通过 串行口发送回 PC 机显示出来,PC 机作为控制机发送字符来选择是否启动模数转换。
break;
} while(!TI);
//等待字符串发送结束
基于 STC89C52RC 单片机的 A/D 转换测试及串口数据及数码管显示
安徽工业大学 自动化系 刘昌元
TI=0;
//发送标志位清0
} }
if(data1==1) //判断是否是启动 AD 转换信号
{
while(1)
{ AD_start();
//启动定时器 1 //串行口选择方式 1 收发,8 位数据位,1 位起始位,1 位停止位。 //打开串口中断 //打开总中断
}
/*****************************接收中断函数**********************************/
void receive()interrupt 4
void sys_initial()
{
EA=0;
//关闭总中断
TMOD=0x20; //启用定时器 1 做破特率发生器,工作于方式 2,计数初值自动重装
TH1=0xfd; TL1=0xfd;
//装定时器 1 高八位计数初值 //装定时器 1 低八位计数初值
TR1=1; SCON=0x50; ES=1; EA=1;
二:测试程序
#include<reg52.h>
// 头文件包含
#include<intrins.h>
#include<stdio.h>
#define uint unsigned int //宏替换定义
#define uchar unsigned char
sbit dual=P2^6;
//两个锁存器的控制端
sbit wela=P2^7;
uchar data1,flag;
//全局变量定义
uchar i,j,bai,shi,ge,DATA,AD_flag;
uchar b;
uchar n=0;
float value;
/********************数码管显示对应的查表值*******************************/
相关文档
最新文档