单片机及模数综合系统设计

合集下载

基于STM32单片机的温度控制系统设计

基于STM32单片机的温度控制系统设计

基于STM32单片机的温度控制系统设计一、本文概述本文旨在探讨基于STM32单片机的温度控制系统的设计。

我们将从系统需求分析、硬件设计、软件编程以及系统测试等多个方面进行全面而详细的介绍。

STM32单片机作为一款高性能、低功耗的微控制器,广泛应用于各类嵌入式系统中。

通过STM32单片机实现温度控制,不仅可以精确控制目标温度,而且能够实现系统的智能化和自动化。

本文将介绍如何通过STM32单片机,结合传感器、执行器等硬件设备,构建一套高效、稳定的温度控制系统,以满足不同应用场景的需求。

在本文中,我们将首先分析温度控制系统的基本需求,包括温度范围、精度、稳定性等关键指标。

随后,我们将详细介绍系统的硬件设计,包括STM32单片机的选型、传感器和执行器的选择、电路设计等。

在软件编程方面,我们将介绍如何使用STM32的开发环境进行程序编写,包括温度数据的采集、处理、显示以及控制策略的实现等。

我们将对系统进行测试,以验证其性能和稳定性。

通过本文的阐述,读者可以深入了解基于STM32单片机的温度控制系统的设计过程,掌握相关硬件和软件技术,为实际应用提供有力支持。

本文也为从事嵌入式系统设计和开发的工程师提供了一定的参考和借鉴。

二、系统总体设计基于STM32单片机的温度控制系统设计,主要围绕实现精确的温度监测与控制展开。

系统的总体设计目标是构建一个稳定、可靠且高效的环境温度控制平台,能够实时采集环境温度,并根据预设的温度阈值进行智能调节,以实现对环境温度的精确控制。

在系统总体设计中,我们采用了模块化设计的思想,将整个系统划分为多个功能模块,包括温度采集模块、控制算法模块、执行机构模块以及人机交互模块等。

这样的设计方式不仅提高了系统的可维护性和可扩展性,同时也便于后续的调试与优化。

温度采集模块是系统的感知层,负责实时采集环境温度数据。

我们选用高精度温度传感器作为采集元件,将其与STM32单片机相连,通过ADC(模数转换器)将模拟信号转换为数字信号,供后续处理使用。

由单片机控制的模数转换系统

由单片机控制的模数转换系统
t r u h t e sn l c i ot r r g a h s h i ge— h p s f o wa e p o r mma e tmi g c n r l c l s v o t n e u e t e sz ,p ro ma c d s n h n z to ,y u c ur r bl i n o to al a e c s s a d r d c h ie ef r n e a y c r ia in o a f t n o n he
e h c h eibl yo e s se n a e te rl it ft ytm.F rt ef tr o fcltt h p ia r n miso .P v d b hesn l-c i ot r-c nrl d a ao t n a i h o h uu t a ii ete o tc lta s sin r e yt ige hp sf e a o wae o t l l g-o- oe n
整 个 系统 体 积 小 。 由整机 实验 证 明 . 并 系统 运 行 效 果 良好 。
【 关键词 】 模数转换 ; 单片机 ; 系统 ; 时序控制 【 b tatT eAnlg t- itlcnes n ss m t b dpe o cnrltet n utb orc a piga dra igad win 。 A sr c]h ao —9 dg a o vro yt o ea ot t ot h i gm s ecretsm l n edn r g i i e d o mi n n i t
d g t o v r in s se o ih r la ii , malsz d t e e tr y tm y t e wh l x e i n r v d t a h y t m s r n i g we 1 i i c n e o y tm fh g ei lt s l ie a n ie s se b h oe e p rme t o e tt e s se i u n n l. l a s b y n h p h

C51单片机课程设计报告

C51单片机课程设计报告

内容提要单片微型计算机简称单片机,是典型的嵌入式微控制器,常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。

单片机由芯片内仅有CPU的专用处理器发展而来。

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

单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。

相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。

概括的讲:一块芯片就成了一台计算机。

它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。

同时,学习使用单片机是了解计算机原理与结构的最佳选择。

单片机是靠程序运行的,并且可以修改。

通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。

一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性!目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。

导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。

更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。

所以说对于单片机课程的学习对于我们电子信息工程专业的学生来说至关重要,然而学习单片机课程设计是其一个极为重要的实践环节,无论是硬件扩展、接口应用还是编程方法、程序调试,都离不开该环节。

单片机课程设计过程中,学生通过查阅资料、接口设计、程序设计、安装调试等环节,完成一个涉及MCS-51单片机多种资源应用并具有综合功能的小系统目标板的设计与编程应用。

北京工业大学电子工程设计--二阶实验报告

北京工业大学电子工程设计--二阶实验报告

电子工程设计第二阶段设计报告电子工程设计第二阶段设计报告11电子工程设计第二阶段报告题目:温度测量系统专业: 通信工程小组: 14 姓名学号: 张亦驰 于伦指导教师: 司农完成日期:2011.12.20目录目录温度控制系统温度控制系统一 总述………………………………………………………总述………………………………………………………3 3二 设计任务与要求…………………………………………设计任务与要求…………………………………………3 3三 单片机……………………………………………………单片机……………………………………………………4 4四 D/A 转换电路……………………………………………转换电路……………………………………………8 8五 A/D 转换电路……………………………………………转换电路……………………………………………11 11六 显示键盘电路……………………………………………显示键盘电路……………………………………………14 14七 温度测量系统……………………………………………温度测量系统……………………………………………22 22 八 心得体会…………………………………………………心得体会…………………………………………………25 25九 附录………………………………………………………附录………………………………………………………26 26摘要:摘要:第一阶段我们已经完成了电源板和变送器。

本学期的第二阶段要求是完成这个系统中单片机,个系统中单片机,A/D A/D A/D,,D/A 转换电路和显示与键盘控制电路部分。

温度控制系统总体概述(一)、总述电子工程设计训练是一门综合理论知识,实践操作,电子电路系统的设计、实现、调试、调试、故障排查等方面的综合性训练。

故障排查等方面的综合性训练。

故障排查等方面的综合性训练。

第一阶段只完成了电源以及变送器第一阶段只完成了电源以及变送器部分。

本阶段工作量非常大,需要完成单片机,数模,模数转换电路和显示与键盘控制电路部分,并且完成测温系统的测试。

单片机实习-模块实验-Lab8000实验箱说明书汇编

单片机实习-模块实验-Lab8000实验箱说明书汇编

伟福®伟福Lab8000系列单片机仿真实验系统使用说明书南京伟福实业有限公司® 伟福Lab8000单片机仿真实验系统 目录 - ii -目 录第一章 概述 (1)第二章 伟福实验系统组成和结构 (3)1. 实验系统的硬件组成.............................................. (3)2. 实验系统的仿真板简介......... ......... ......... .. (15)3. 实验系统的调试方法......... ......... ......... ................... ....... .. (16)第三章 MCS51系列单片机实验 (17)MCS96系列单片机实验 (18)8088/86系列CPU 实验 (19)ARM LPC2103 MCU 实验 (20)PIC5X 系列CPU 实验 .............. .... . (20)软件实验1. 存储器块清零(51/96/88/PIC) (21)2. 二进制到BCD 码转换(51/96/88/PIC) (22)3. 二进制到ASCII 码转换(51/96/88/PIC) (23)4. 内存块移动(51/96/88/PIC) (24)5. 程序跳转表(51/96/88/PIC) (25)6. 数据排序(51/96/88/PIC) (26)硬件实验1. IO 口输入输出(51/96/PIC/ARM) (27)2. 继电器控制(51/96/PIC/ARM) (29)3. 用74HC245读入数据(51/96/88/ARM ) (30)4. 用74HC273输出数据(51/96/88/ARM) (31)5. PWM 转换电压实验(51/96/PIC/ARM) (32)6. 音频控制(51/96/PIC/ARM) (33)7. 用8255输入、输出(51/96/88/ARM) (34)8. 串行数转换并行数(51/96/PIC/ARM) (35)9. 并行数转换串行数(51/96/PIC/ARM) (37)10. 计数器实验(51/PIC/ARM) (39)11. 外部中断实验(51/96/ARM) (40)12. 定时器实验(51/96/PIC/ARM) (42)13. D/A 数模转换实验(51/96/88/ARM) (44)14. A/D 模数转换实验(51/96/88/ARM) ..................... . (46)15. 外部中断实验(急救车与交通灯) (51/96/ARM) (48)16. 八段数码管显示(51/96/88/PIC/ARM) (50)® 伟福Lab8000单片机仿真实验系统 目录 - ii -17. 键盘扫描显示实验(51/96/88/ARM) (52)18. 电子时钟(51/96/88/PIC/ARM) (54)19. 单片机串行口通讯实验(51/96/ARM) (56)20. 1-Wire 总线实验(51/96/PIC/ARM) (58)21. 直流电机控制实验(51/96/88/ARM) (60)22. 步进电机控制实验(51/96/88/PIC/ARM) (62)23. 温度传感器实验(51/96/88/ARM) (65)24. 液晶显示屏控制实验(51/96/88/ARM) (67)25. 电子琴实验(51/96/88/ARM) (68)26. 空调温度控制实验(51/96/88/ARM) (70)27. 计算器实验(51/96/88/ARM) (73)28. 用HSO 方式输出PWM 波形(96) (75)29. 用HSI 方式测量脉冲宽度(96) (76)30. 用HSI 中断方式统计脉冲个数(96) (77)31. 计数器实验(96) (79)32. 用片内A/D 做模数转换实验(96) (80)32. PWM 转换电压实验(88) (81)34. 8253计数器实验(88) (82)35. 8259外部中断实验(88) (83)36. 8253定时器实验(88) (85)37. 8251A 串行口通讯实验(88) (87)38. 8237 DMA 实验(88) (89)39. 压力传感器实验(51/96/88/ARM ) (91)40. 红外通讯实验(51/96/88/ARM) (92)41. 16x16点阵显示实验(51/96/88/ARM).......................................................... ..9642. I2C 总线实验(51/96/PIC/ARM).. ................................................................. ..9843. SPI 总线实验(51/96/PIC/ARM) ............................................................. ... . (100)第四章 ARM LPC2103仿真板说明........................................................................... (101)在KEIL 和ADS 开发环境中安装LAB8000的驱动.............................. . (103)在KEIL 开发环境中安装LAB8000的驱动..….................. ..... ...... ............... ..106调试时可能出现的错误信息及原因................. ........... .................................. (110)第五章 逻辑分析工具 (111)第六章 系统自检功能..............................................…….............................................. .114® 伟福Lab8000单片机仿真实验系统 目录 - ii -本实验说明书包括8051、80C196、8088/86、ARM 、PIC57五种MCU 的实验说明(MCS51有6个软件实验、31个硬件实验,MCS96有6个软件实验、35个硬件实验,8088/86有6个软件实验、25个硬件实验,PIC57有6个软件实验、14个硬件实验,ARM 提供了32个硬件实验)。

基于单片机的多路数据采集系统设计(3章)

基于单片机的多路数据采集系统设计(3章)

基于单片机的多路数据采集系统设计摘要数据采集是指从带有模拟、数字被测单元的传感器或者其他设备中对非电量或电量信号进行自动采集,再送到上位机中进行分析和处理。

近年来,众人时刻关注着数据采集及其应用的发展和市场形势。

广大人们的关注使得数据采集系统的发展有了质的飞跃,它被广泛用于各种数字市场。

本文介绍了数据采集的相关概念和基本原理,设计了基于STM32F407的多路数据采集系统的硬件和软件的实现方法及实现过程,并经过调试完成其主要功能和主要技术指标。

硬件部分包括:主控电路、信号采集处理电路、TFT液晶显示电路、SD 卡存储电路、串口通讯电路。

实现过程是以STM32F407为控制核心,通过模数转换器,实时对输入信号进行采样,得到一串数据流,通过控制器的处理实现数据的采集和显示。

软件部分包括:信号采集分析算法、嵌入式操作系统移植、UC-GUI人机交互界面设计、文件管理系统移植。

主要实现了对采集数据的存储和分析,频率和幅值的计算,液晶屏的控制和界面显示。

程序是在keil uVision的集成开发环境中用C语言写成的,编程具有模块化的特点,因此可读性比较高,维护成本较低。

最后,用Altium designer(DXP)设计了数据采集系统的原理图,并制作了PCB电路板。

在实验室里制作了数据采集系统并进行了系统调试,经过调试,达到了所应该实现的功能和技术指标。

关键词:多路数据采集,STM32F407,液晶显示MULTI-CHANNEL DATA ACQUISITION SYSTEMBASED ON SINGLE CHIP DESIGNABSTRACTData acquisition is the automatic acquisition of non electric or electric quantity signals from sensors and other devices, such as analog and digital.In recent years, data acquisition and its application has gradually become the focus of attention. Therefore, the data acquisition system has been rapid development, it is widely used in various fields.The software part includes: signal acquisition and the embedded operating system transplant, UC-GUI man-machine interface design. Mainly realizes the storage and analysis of the collected data, calculate the frequency and am plitude of the LCD screen display and control interface. The program is written by C language in the integrated development environment KEIL uVision and modular programming makes the program readable and easy maintenance features Finally, using designer Altium to design and manufacture the digital oscilloscope circuit board PCB. In the laboratory, the digital oscilloscope has been made and the system has been debugged. After debugging, it has achieved the function and technical index that should be realized.KEY WORDS: Multi-channel data acquisition,STM32F407,liquid-crystal display目录摘要 (I)ABSTRACT (II)1绪论 (1)1.1研究背景及其目的意义 (1)1.2国内外研究现状 (2)1.3研究的主要内容 (2)2系统总体方案设计 (4)2.1系统总体设计方案 (4)2.2系统总体框图 (4)2.3硬件系统方案设计 (4)2.3.1单片机的选择 (5)2.3.2信号衰减和放大电路 (5)2.3.3A/D模数转换器的选择 (6)2.3.4显示部分 (6)2.4软件系统方案设计 (6)2.5本章小结 (7)3硬件电路设计 (8)3.1电源部分 (8)3.2信号调理部分 (10)3.3信号采样 (12)3.4系统控制部分 (12)3.5本章小结 (14)1绪论1.1研究背景及其目的意义最近几年,众人时刻关注着数据采集及其应用的发展和市场形势。

《单片机原理与应用》ppt课件

《单片机原理与应用》ppt课件

条件转移指令
子程序调用与返回
根据某个条件判断的结果来决定 程序是否转移到指定的地址执行, 如JZ(零转移)、JNZ(非零转 移)等。
子程序是一段可以独立执行的程 序段,通过调用指令CALL实现子 程序的调用和返回。在调用子程 序时,需要将返回地址压入堆栈; 在子程序返回时,再从堆栈中弹 出返回地址并执行返回操作。
人机交互设备(键盘、显示器等)接口设计
键盘接口设计
通过扫描键盘矩阵或接收键盘中断的方式,读取按键信息并转 换为相应的数据或命令。
显示器接口设计
根据显示器的类型和通信协议,设计相应的接口电路和驱动程 序,实现单片机对显示器的控制和数据传输。
应用实例分析:智能家居控制系统设计
系统概述
介绍智能家居控制系统的功能、 组成和工作原理,包括中央控制 器、传感器、执行器等部分。
AVR系列
ARM系列
采用先进的RISC结构,具有高速度、低功耗、 丰富的外设接口等特点,适用于物联网等领 域。
采用高性能的32位RISC结构,具有强大的处 理能力和丰富的外设接口,适用于高端嵌入 式系统等领域。
02
单片机基本原理
微处理器结构与工作原理
微处理器内核结构 包括算术逻辑单元(ALU)、寄存器组、控制单元等。
04
C语言程序设计在单片机 中的应用
C语言与汇编语言比较
高级语言与低级语言
C语言属于高级语言,具有易于理解、编写和维护的特点;而汇编 语言是低级语言,更接近硬件,但编写复杂且可读性较差。
可移植性
C语言具有良好的可移植性,可以在不同平台上运行;而汇编语言 与特定硬件平台紧密相关,可移植性差。
执行效率
创建工程文件
在编译器中创建新的工程文件,并添 加源代码文件、头文件等。

基于单片机的数据采集和无线数据传输系统设计

基于单片机的数据采集和无线数据传输系统设计

基于单片机的数据采集和无线数据传输系统设计一、本文概述随着信息技术的快速发展和物联网的广泛应用,数据采集和无线数据传输在各个领域都发挥着越来越重要的作用。

基于单片机的数据采集和无线数据传输系统设计,以其低成本、高效率、易扩展等特点,受到了广泛关注和应用。

本文旨在探讨基于单片机的数据采集和无线数据传输系统的设计原理、实现方法以及在实际应用中的优势与挑战。

本文将首先介绍系统的整体架构,包括数据采集模块、单片机处理模块和无线数据传输模块的设计。

然后,详细阐述各个模块的工作原理和实现技术,包括传感器选型、数据采集电路设计、单片机选型与编程、无线传输协议选择以及数据传输的稳定性与可靠性保障等。

本文还将分析该系统设计在实际应用中的性能表现,如数据传输速度、传输距离、功耗等,并通过具体案例展示其在环境监测、智能家居、工业自动化等领域的应用效果。

文章将总结该系统设计的优点与不足,并对未来发展方向进行展望,以期为相关领域的研究和实践提供有益的参考和启示。

二、单片机基础知识单片机(Microcontroller Unit,MCU)是一种集成电路芯片,它采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能集成到一块硅片上,构成一个小而完善的微型计算机系统。

单片机具有体积小、功耗低、控制功能强、扩展灵活、抗干扰能力强、性价比高等一系列优点,因此在工业控制、智能仪表、汽车电子、通信设备、家用电器、航空航天等许多领域得到了广泛应用。

单片机按照其内部结构可以分为多种类型,例如8051系列、AVR 系列、PIC系列、ARM系列等。

每种类型的单片机都有其独特的指令集、架构和外设接口,因此在使用时需要了解其具体的特性和编程方法。

在数据采集和无线数据传输系统设计中,单片机通常作为核心控制器,负责数据的采集、处理、存储和传输。

通过编程,单片机可以控制外设进行数据采集,如使用ADC(模数转换器)将模拟信号转换为数字信号,或者使用传感器接口读取传感器的输出值。

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

单片机及模数综合系统设计课题名称:基于STC12系列单片机的串联型开关电源设计与实现--单片机控制部分学院专业班级学号姓名实验目的:通过编程显示开关电源的输入输出电压。

实验内容:程序功能主要包括如下几个部分:1、键盘输入数据部分;2、数码管数据显示部分;3、控制PWM输出部分;4、AD转换部分(完成万用表的功能,即测量开关电源输出电压);5、难点:闭环控制算法。

即通过AD采集数据控制PWM输出,PWM控制开关电源输出,以达到稳定。

即让开关电源输出电压稳定在用户键盘设定的电压设计思路:程序主要包括:A/D转换部分,PWM部分,键盘输入设置电压部分,数码管显示部分。

(1)主程序先进行数码管初始显示,然后通过比较获取电压与预设电压之间的误差,调节占空比,减小误差,得到更准确的数值。

#include "Include.h"void Main_System_Init(void){//相关资源初始化PWM_Drv_Init();}void main(void){unsigned int i = 0x00;extern unsigned int ADC_Result[8];uchar c=128;//char xdata DigitBit[8]={0x31,0x38,'.',0x35,0x35,0x00};//char xdata DispCharBuf[12] = {0x00};extern float setkey;extern float b;for(i = 0x00;i < 3000;i++); //开机延时Main_System_Init();//系统相关资源初始while(1){PWM0_Drv_SetDuty(c);//设置初始占空比keysetV();//调用键盘模块程序,if(b<setkey){for(;b<setkey;c--){PWM0_Drv_SetDuty(c);//设置占空比ADC_Drv_Service();//ADC中断函数调用,处理ADC结果b=ADC_Result[ADC_channel]*5.0/1024;ADC_Drv_Demo();//显示获取的电压值keysetV();}}else if(b>setkey){ for(;b>setkey;c++){ PWM0_Drv_SetDuty(c);ADC_Drv_Service();b=ADC_Result[ADC_channel]*5.0/1024;ADC_Drv_Demo();keysetV();}}else if(b==setkey){ PWM0_Drv_SetDuty(c);ADC_Drv_Service();b=ADC_Result[ADC_channel]*5.0/1024;ADC_Drv_Demo();keysetV();}}}头文件如下:#ifndef __INCLUDE_H__#define __INCLUDE_H__#define TRUE 1#define FALSE 0#include "stc12c5a60s2.h"#include "math.h"#include "stdio.h"#include "intrins.h"#include "KeyBoard_Drv.h"#include "PWM_Drv.h"#include "ADC_Drv.h"#include "SMG.h"#include "stdlib.h"#define uchar unsigned char#endif(2)键盘设置输入电压部分预置初始输入电压为3V。

K1按下之后电压减少0.1V;K2按下之后电压增加0.1V;程序当中引用了郭老师的按键消抖程序。

电压最大为4.1V最小为1.1V。

键盘部分程序如下:include "Include.h"/************************ 公有变量定义区 ****************************/ sbit k1 = P2^4;sbit k2 = P2^5;sbit k3 = P2^6;sbit k4 = P2^7;float setkey;/********************************************************************* *函数名: key*函数功能:k1控制电压加0.1; k2控制电压减0.1*函数参数:无*返回类型:无*********************************************************************/void keysetv(){static float a=3.0;if(k1==0){delay(200);if(k1==0)a=a+0.1;while(!k1);delay(200);while(!k1);}if(k2==0){delay(200);if(k2==0)a=a-0.1;while(!k2);delay(200);while(!k2);}if(a>4.1) a=1.1;if(a<1.1) a=4.1;setkey=a;show1(a*10);}键盘头文件如下:#ifndef __KEYBOARD_DRV_H__#define __KEYBOARD_DRV_H__extern void keysetv();#endif(3)数码管显示部分实验采用的是4个共阳级数码管。

前两位显示获取的电压,后两位显示的是设置的电压。

数码管部分给获取与预置的电压都预先放大了10倍,然后分别除以10进行取整取余运算,如何分别显示;由于小数点一直存在,所以我选择了小数点常亮语句。

程序如下:#include "include.h"sbit SMG_q = P3^0; //定义数码管阳级控制脚(千位)sbit SMG_b = P3^1; //定义数码管阳级控制脚(百位)sbit SMG_s = P3^2; //定义数码管阳级控制脚(十位)sbit SMG_g = P3^3; //定义数码管阳级控制脚(个位)unsigned char code Tab[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};unsigned int k;unsigned int j;unsigned int n;/********************************************************************* *函数名:delay*函数功能:快速动态扫描*函数参数:无*返回类型:无*说明:*********************************************************************/ void delay(unsigned int n){unsigned int a,b;unsigned int m;for(m=0;m<n;m++){{for(b=12;b>0;b--) // 一毫秒for(a=29;a>0;a--);}}}/********************************************************************* *函数名:show1*函数功能:后2位数的数码显示器显示设置电压*函数参数: k*返回类型:无*说明:*********************************************************************/ void show1(unsigned int k) // 后两位数码管显示数字k 即设定的电压值{SMG_s=0; //P1.2引脚输出低电平,数码管十位接通P0=Tab[k/10]; //显示k十位上的数delay(5);SMG_s=1;SMG_g=0; //P1.3引脚输出低电平,数码管个位接通P0=Tab[k%10];//显示k个位上的数delay(5);SMG_g=1;SMG_s=0;P0=0x7f;delay(5);SMG_s=1;}/********************************************************************* *函数名:show2*函数功能:前2位数的数码显示器显示获取电压(只用于ADC_Drv_Demo函数)*函数参数: j*返回类型:无*说明:*********************************************************************/ void show2(unsigned int j) // 前两位数码管显示数字j 即获取的电压值{ SMG_q=0; //P1.0引脚输出低电平,数码管千位接通P0=Tab[j/10]; //显示j十位上的数delay(5);SMG_q=1;SMG_b=0; //P1.1引脚输出低电平,数码管百位接通P0=Tab[j%10];//显示j个位上的数delay(5);SMG_b=1; //关闭所有显示器SMG_q=0;P0=0x7f;delay(5);SMG_q=1;}数码管头文件如下:#ifndef __SMG_H__#define __SMG_H__extern unsigned char i;extern unsigned int x;extern void delay(unsigned int n);extern void show1(unsigned int k);extern void show2(unsigned int j);#endif(4)A/D转换与A/D转换相关的寄存器* 1. P1ASF:P1口模拟功能控制寄存器(只能写,不能读;不可位寻址)* B7 B6 B5 B4 B3 B2 B1 B0* P17ASF P16ASF P15ASF P14ASF P13ASF P12ASF P11ASF P10ASF* P1nASF: =1时,P1.n作为模拟功能A/D使用;=0时,P1.n作为普通I/O口** 2. ADC_CONTR:ADC控制寄存器(不可位寻址)* !!建议使用MOV赋值语句,不要用‘与’和‘或’语句* B7 B6 B5 B4 B3 B2 B1 B0 * ADC_POWER SPEED1 SPEED0 ADC_FLAG ADC_START CHS2 CHS1 CHS0 * ADC_POWER:ADC电源控制位。

相关文档
最新文档