Ⅰ STM32是什么啊,是32位的单片机吗
stm32是一种32位的单片机。
单片机是嵌入式系统中最常用的核心部件,stm32本质上也是一种单片机。
从事嵌入式方面工作,如果有一定的基础,可以从STM32单片机入手,如果没有基础,可以从51单片机入手。51单片机是基础入门的一个单片机,还是应用最广泛的一种。
拓展资料:
STM32单片机是ST(意法半导体)公司使用arm公司的cortex-M3为核心生产的32bit系列的单片机,他的内部资源(寄存器和外设功能)较8051、AVR和PIC都要多的多,基本上接近于计算机的CPU了,适用于手机、路由器等等。
STM32单片机主要参数
12V-36V供电
兼容5V的I/O管脚
优异的安全时钟模式
带唤醒功能的低功耗模式
内部RC振荡器
内嵌复位电路
工作温度范围:
-40°C至+85°C或105°C
特点
内核:ARM32位Cortex-M3 CPU,最高工作频率72MHz,1.25DMIPS/MHz。单周期乘法和硬件除法。
存储器:片上集成32-512KB的Flash存储器。6-64KB的 SRAM存储器。
时钟、复位和电源管理:2.0-3.6V的电源供电和I/O接口的驱动电压。上电复位( POR)、掉电复位( PDR)和可编程的电压探测器(PVD)。4-16MHz的晶振。内嵌出厂前调校的8MHz RC振荡电路。内部40 kHz的RC振荡电路。用于CPU时钟的 PLL。带校准用于 RTC的32kHz的晶振。
低功耗:3种低功耗模式:休眠,停止,待机模式。为RTC和备份寄存器供电的VBAT。
调试模式:串行调试(SWD)和JTAG接口。
DMA:12通道DMA控制器。支持的外设:定时器,ADC,DAC,SPI,IIC和UART。
3个12位的us级的A/D转换器(16通道):A/D测量范围:0-3.6V。双采样和保持能力。片上集成一个温度传感器。
2通道12位D/A转换器:STM32F103xC,STM32F103xD,STM32F103xE独有。
最多高达112个的快速I/O端口:根据型号的不同,有26,37,51,80,和112的I/O端口,所有的端口都可以映射到16个外部中断向量。除了模拟输入,所有的都可以接受5V以内的输入。
最多多达11个定时器:4个16位定时器,每个定时器有4个IC/OC/PWM或者脉冲计数器。2个16位的6通道高级控制定时器:最多6个通道可用于PWM输出。2个看门狗定时器(独立看门狗和窗口看门狗)。Systick定时器:24位倒计数器。2个16位基本定时器用于驱动DAC。
最多多达13个通信接口:2个IIC接口(SMBus/PMBus)。5个USART接口(ISO7816接口,LIN,IrDA兼容,调试控制)。3个SPI接口(18 Mbit/s),两个和IIS复用。CAN接口(2.0B)。USB 2.0全速接口。SDIO接口。
ECOPACK封装:STM32F103xx系列微控制器采用ECOPACK封装形式。
Ⅱ 高手来看 要求基于单片机的rlc测量仪
基于PIC单片机控制的RLC智能测量仪设计
现代电子技术
使用电子元器件时,首先需要了解其参数,这就要求能够对元器件的参数进行精确测量。采用传统的仪表进行测量时,首先要从电路板上焊开器件,再根据元件的类型,手动选择量程档位进行测量,这样不仅麻烦而且破坏了电路板的美观。经过理论分析和实验研究,采用正交采样算法,并由单片机控制实现在线测量、智能识别、量程自动转换等多种功能,可大大提高测量仪的测量速度和精度,扩大测量范围。因此这种RLC测量仪既可改善系统测量的性能,又保持了印刷电路的美观,较传统的测量仪还具有高度的智能化和功能的集成化,在未来的应用中将具有广阔的前景。
1 硬件电路设计
此测量仪硬件设计思路如图1所示。
由于PIC单片机只能正确采集0~5 V之间的电压,而输入的信号是正弦波信号,因此在将此正弦信号送入单片机之前需对其进行电位提升,使整个正弦信号任意时刻的电位均大于或等于0。另外本测量仪具有量程自动转换和增益自动可控的特点,实现电路如图2所示。
图2中U1(CD4051)是一个单刀八掷的模拟开关,用以完成量程电阻挡位的转换;U2(CD4052)是一个双刀四掷的模拟开关,用来选择待测元件或基准电阻信号;U3,U4,U5,U6共同组成一个增益可以控制的仪用差分式放大电路,其中U5(CD4052)是用来切换增益倍数的;U8(74LS273)是一个锁存器,用于将由单片机发出的控制信号锁存并传输给U1,U2,U5实现程控;由于U1,U2,U5开关切换的驱动电压要求达到5 V以上,而单片机的高电平仅为3~5 V,达不到驱动电压,所以要采用一个集电极开路的驱动器(74LS07)才能实现由单片机控制的开关切换(R13,R14,R15,R16,R17为74LS07输出端的上拉电阻)。
这样通过程序控制单片机与74LS273相接端口的高低电位,就可以控制模拟开关选择不同的通道,从而实现自动的量程档位转换和增益控制。
2 软件程序设计
本测量仪的测量原理是以正交采样为基础。首先选用频率恒定的正弦信号作为标准测量信号,然后用待测元件和基准电阻串联对测量信号进行分压,最后由单片机分别对待测元件和基准电阻分压后所得的信号进行正交采样处理。
由于流过电容或电感的电流与其两端的电压存在90°的相位差,因此只需在任一时刻采样得到交流信号瞬时值V1,然后相移90°,再采样得到瞬时值V2,就可用V1和V2表示完整的交流信号:V2=V1+jV2。
软件程序的设计思路如图3所示。
3 实验结果
表1给出了该测量仪在测量频率为100 Hz,1 kHz,10 kHz±0.02%三种情况下的测量范围与测量精度。其中L,C,R,Q,D分别表示电感量、电容量、电阻值、品质因数、损耗角正切值。
4 结 语
本文设计了一种基于PIC单片机的RLC智能测量仪,其主要功能如下:
(1) 能够智能地识别出待测元件是电容、电感、还是电阻。
(2) 能精确测量出电容、电感、电阻的参数值。
(3) 可以实现量程电阻的自动转换,无须人工选择档位。
(4) 当测量正弦信号的幅度过小时,可以自动实现增益放大,从而不影响精度。
(5) 对测量仪进行扩充后还实现了二极管、三极管的测量。
由此可见,此测量仪具有高度的智能化和集成化,可精确地对元器件参数进行测量,这正符合当今测量仪器的发展趋势,他将具有广阔的应用前景。
Ⅲ 单片机开发板怎么用
问题一:单片机开发板上的硬件怎么使用 首先,你需要仔细看开发板的原理图。你需要把单片机插到开发板的芯片座上,芯片座的引脚会和PCB板连接,PCB板上的走线会将芯片座的引脚连接到具体硬件上。开发板上的硬件设备都是通过开发板的PCB走线连接好的,你只需要在原理图上寻找具体硬件连接到单片机的管脚关系。
目测你的开发板是51开发板,可能用的是STC单片机。你需要准备类似Keil这样的开发工具,C和汇编都可以编程的。具体怎么编程,建议你去图书馆借阅书籍:新概念51单片机C语言教程(教你怎么用C编程)、单片机原理与实践指导(教你怎么用汇编编程)、C Programming Language(经典,教你C语言的)
另外你的这个开发板完全配套郭天祥的视频,建议你买本郭天祥的书《新概念51单片机C语言教程》,参照郭天祥的视频来学习这个开发板会快一些。
你的开发板看起来和下图这个开发板布线一致,
你把图放大来看,上图PCB的丝印层都有每个模块的简单说明的。
如果看不清,请参阅下面的描述:
1. 单片机最小系统:可以使用51单片机如STC89C52,AT89S52,也可以使用AVR单片机如AT mega 16,AT mega 128等系列。
2. 流水灯模块:我们使用了8个红色led,可以进行闪关灯实验,流水灯实验。
3. 独立键盘模块:4个小按键组成,可以做外中断INT0、INT1 ,外定时器T0、T1 实验。
4. 矩阵键盘模块:16个小按键组成可以做外中断INT0、INT1 ,外定时器T0、T1 实验。
5. 数码管模块:由6个历链一位一体数码管组成,可以显示0,1,2,3,4,5,6,7,8,9,0,a,b,c,销亏d,e,f等简单信息,构成信息交流的人机界面。
6. 蜂鸣器模块:可以用来做报警实验,也可以对歌曲进行编码,用来唱歌。
7. AD模块:主芯片为ADC0804,采集模拟信号(1路输入),并转化为数字信号,内置8位转换器(分辨率为8位)。
8. DA模块:主芯片为DAC0832, 把数字信号转化为模拟信号,分辨率为8位。
9. 串口通信模块:主芯片我们使用了MAX232的升级版MAX3232,通信性能更好。MAX3232把TTL电平转换为RS232电平。
10. 1602液晶显示模块:每行显示16个字符,可以显示两行。这款单片机使用并行接口。
11. 12864液晶显示模块:并行操作方式,可以在液晶的任意位置显示数字,符号,汉字,图像。
12. E2PROM模块:使用I2C总线通信协议(51单片机模拟),主芯片为ATMEL公司的AT24C02N,可以进行数据存储实验。
13. 定时器/计数器模块。
14. DS18B20温度采集模块:采用单总线协议。
15. 红外遥控器DS18B20模块:包括红外接收头,可以进行短程遥控。
16. 直流电机驱动模块:本款开发板含有直流电机驱动模块,可以直接驱动直流电机(本款开发板赠送直流电机)。
17. 步进电机驱动模块:本款开发板含有步进电机驱动模块,可以直接驱动步进电机。
18. 继电器驱动模块:本款开发板含有继电器驱动模块,可以做继电器相关实验。
19. LED点阵显示模块:本款开发板赠送亏烂神8*8点阵。
20. LM7805 5V稳压模块,可以使用外接电源,方便单片机在无电脑供电时正常使用可以输入5-18V外电源。
21. USB转TTL电平模块:使用CH340T主芯片,可以保证一根USB线就可以下载。
22. RTC实时时钟DS1302模块:可以进行实时时钟......>>
问题二:单片机开发板有哪些功能 我学的是吴鉴鹰单片机开发板,是51的,功能是很全面的,我把这个板子的功能列举下
资源介绍
1、一个CH340的USB转UART芯片,实现USB下载程序,为无串口的笔记本电脑提供下载方便。
2、板子上电源入口有一个自恢复保险丝,可以有效的保护您的电脑主板和开发板。加上这个保险,作为初学的你,即使不小心短路了,也不会烧主板和单片机。
3、板子自带单片机,一个STC89C52RC,有8K的程序空间和512字节的数据空间.
4、板子上共有18个LED小灯,其中一个是USB电源指示灯,插上电源就亮。还有一个是单片机电源指示灯。
5、板子上共有8个数码管,可以用来做数码管的简单秒表实验,计算器功能,显示温度时间等等。
6、板子上配有一个数字旋转编码器,可以通过旋转完成数据的加、减以及作为确认按键使用。
7、板子上配套一个DS1302实时时钟芯片,可以用来做实时时钟实验,弄懂电子表的工作原理。
8、板子上配一个24C02的EEPROM芯片,用来保存掉电后不准丢失的重要数据,用来学习IIC通信实验。
9、板子上配有一个PCF8591,这个芯片集成了AD和DA,可以用来通过AD来进行电压采集实验,通过DA来产生方波、三角波、正弦波信号。
10、板子上集成1602液晶屏,可以用来学习液晶显示,做温度显示实验,秒表显示实验等。
11、板子上共集成有21个按键,其中1个单片机复位按键,16个矩阵按键。分为0到F共16按键,还有四个独立式按键,通过与门74HC08将按下信息送给单片机中断口。
12、板子上有一个无源蜂鸣器,可以用来做音乐输出实验让你充分了解生日贺卡的工作原理。
13、板子上集成一个DS18B20温度传感器,用来学习实现数字温度计。
14、板子上集成一个红外接收管,用来学习红外通信的原理。
15、板子上共4个74HC595芯片,用来驱动16个LED,8个数码管,74HC595在工控领域的显示很常用,可以节约大量的IO口资源,为实现一个复杂系统化工作打下基础。
问题三:初学者怎样使用单片机开发板 我也是在用这本书在学,因为你是高三毕业个人建议是买一块配套的板子,虽然确实是贵了一点,但确可以节省不少麻烦。而且那板子还行,最少工能够齐。
就比如 郭天祥要教你做第14章的时钟那你有可能也想来个掉电保护,那么你须要一块AT24C02这一类型的芯片;别的板子不一定有,你又没有实验室。那要么不用,要么在淘宝上买,先不说价格,你也没工具焊接啊!!
像上图,你能用到红外等别的东西时,你也差不多可以换板子了!!
问题四:51单片机开发板的使用! 单片机开发板要正常工作,一般需要这几个基本条件:
1.供电电源;
一般开发板上提供两种供电方式,USB供电梗专用电源供电。使用USB供电你只要用一根USB线将开发板USB电源接口与电脑的USB接口相连即可;使用专用电源(一般开发板配带)供电只要将专用电源一头接220V市电一头接开发板专用电源供电接口即可;
2.系统时钟;
检查你的开发板上晶振是否正确连接,晶振频率是否正确;
3.复位电路;
检查你的开发板上复位电路是否正常;
4.程序下载;
要将编写好的C源程序下载到单片机内执行,你需要:
(1)硬件连接:一般使用出串口下载方式,用串口线一头接开发板上程序下载串口一头接电脑上任一串口;
(2)软件准备:编辑好的C源文件,利用集成开发环境(keil C使用较广)调试无误后,编译连接生成相应的hex文件,程序下载软件(如stc isp v4.88)做相应设置,如选择要下载的hex文件,设置下载速度,选择单片机型号等等),保证前3个条件具备,点击下载,出现提示后给开发板上电,等待程序下载成功。复位开发板运行程序。
注:以上回答仅针对一般情况(如采用USB下载,不同集成开发环境,非STC51系列单片机等这些情况会略有差异,可留言咨询)
问题五:单片机开发板怎么使用? 这个我就不具体回答你了。
可以参考经验:jingyan./...c
问题六:自己做单片机开发板需要什么东西 51还是算了吧,直接做一个avr的学就可以了
电路从几个简单部分入手:
1.电源,用个7805神马的,网上多的是电路,LM7805三端稳压电源,几个电容二极管神马的搞定了
2.复位电路,加个按键手动复位,按键按下拉低reset引脚,要加个电阻上拉的,1k就可
3.仿真和下载程序接口,有仿真器建议将jtag口引出到5x2端子,avr的jtag引脚说明网上可以网络到,单片机手册也有。没有仿真器用isp方式下载程序,要将isp用到的引脚引出到端子,ourdev可查到,有很多做开发板的例子,甚至有pcb
4.将所有io口引出,用插针把芯片围上,方便试验,再搞8个发光二极管,几个按键引到IO口
5.其他的就看你的需要了,有很大的发挥空间,比如加个232芯片和DB9端子,到时让单片机和电脑通信,要准备串口线。想玩液晶神马的,用杜邦线就搞定了,不用做到板子上。
大体上就这么多东西,想加上神马再看相应资料。我手上有一块淘宝买的atega128的开发板,有原理图和例程,资料挺全,有不明白留言啊,希望能帮到你。
问题七:单片机开发板如何焊接?什么工具? 用刀口的电烙铁,然后弄0.5mm左右粗细的锡线,开始不熟悉的时候拿废板子练手,熟悉了就能自己焊接了,一般烙铁温度开到400,焊MCU的时候可以调低点郸350左右,不要太高。还需要的工具有,尖嘴的镊子,吸锡器,万用表(测电压和开路短路),松香(用来清除多余的锡)等。
问题八:拿到单片机开发板后,该如何开始学习? 编一些小程序,最简单的像流水灯、加法运算器、抢答器什么的,电脑编译一下,传到开发板上,演示一下就可以了,程序暂时还不会编,可以网上搜一些,要想认真学习单片机,推荐你一本书 《单片机应用技术》中国劳动社会保障出版社出版 劳动和社会保障部教材办公室组织编写,我自己感叮这本书特别容易理解接受,而且里边详细讲了好多实用性很强的小例子,在开发板上都可以实现,试试吧,祝你早日学好单片机,加油I(^ω^)J!
问题九:51单片机开发板的功能介绍 1、8个LED灯,可以练习基本单片机IO操作,在其他程序中可以做指示灯使用。2、2个四联8段数码管,显示温度数据,HELLO欢迎词、时钟等。3、高亮8*8点阵,如练习数字,字母,图片显示,或者小游戏的开发如贪吃蛇等。4、4个独立按键,可以配置为中断键盘,为程序的按键扫描节省更多的时间。5、8个AD按键,主要设计为游戏开发如推箱子等,去掉了矩阵键盘,AD键盘在实际中的应用相当广泛,如电视机加减搜台等都是采用AD键盘,一根AD线可以扩展几百个按键,更接近工程。6、PCF8591具有AD/DA功能,其采用IIC总线协议,可练习IIC总线的操作。7、DS18B20:单线多点检测支持。8、光敏电阻测试光线强度,感受白天黑夜的区别。9、FM收音机:能接收80M到110MHz之间的FM频段。可实现自动搜台和手动搜台。10、DS1302时钟芯片提供实时时钟,带3V电池,在掉电的情况下,时钟仍然可以继续运行。11、可读写SD卡文件系统,保存数据显示到TFT液晶屏等。12、继电器可以控制高电压的设备,高压危险,请小心使用。13、直流电机接口,控制直流电机。14、步进电机接口,控制步进电机运行。15、蜂鸣器,可以做电子琴、音乐发声等。16、74HC595芯片练习串行转并行数据扩展。17、74HC573锁存扩展芯片,可以扩展接口。18、ULN2003电机驱动芯片。(这里用它来驱动步进电机,直流电机,继电器和蜂鸣器)19、MAX232串口数据传输延长发送距离。(可与计算机通信,同时也可做为STC单片机下载程序的接口)20、PL2303下载单片机,一线下载,直接的USB下载方式,高速下载。21、TFT液晶屏,单片机也可以控制彩屏了,让你的学习充满乐趣22、nRF24L01无线数据传输芯片接口,可以插nRF24L01芯片,做高速无线数据传输。23、LCD1602液晶接口,字符液晶两行,每行可以显示16个字符。24、LCD12864带字库液晶接口。25、LCD12864图形液晶接口。26、DS18B20单线多点温度采集接口。一根线上便可拓展多个DS18B20温度传感器,先提供两个。27、提供ISP下载接口,可下载AVR、AT的单片机。支持AVR单片机。28、40针扩展接口,可以无限扩展。以后的DZR-01A开发板配件将从此端口扩展出去。29、PS2鼠标键盘接口。配合红外遥控器甚至可以遥控我们的电脑!(配例程)30、AVR/51复位按键。可以复位51 STC AVR单片机,全部支持31、TEA5767的IIC总线控制。学习IIC控制32、SD卡的SPI总线控制。扩展大容量存储器33、红外遥控接收器,可采集红外遥控发出的信号,可使用遥控信号控制其他设备。34、外接5V供电电源座。35、RXD、TXD、POWER电源指示灯36、40PIN紧锁座(非常方便单片机芯片的取放)37、带LM1117-3.3稳压芯片(为彩屏液晶,SD卡和无线模块供电)38、USB供电(USB可以提供500MA的电流,完全能满足开发板的需求了)39、预留电源+5V,GND接口各四个(方便用户扩展其他外围电路时取电和共地)
问题十:如何在51单片机开发板上烧写程序 淘宝搜索ISP烧录线。
烧录线一头连接单片机上的某几只脚,一头连接电脑。
用软件把你的程序转换成hex格式的,然后用烧录软件通过下载线烧录到单片机里面。
买isp线的时候记得要看看支不支持你的单片机型号。
Ⅳ 鐢12V杞鎴5V缁椤崟鐗囨満渚涚数锛岀敤7805濡备綍瀹炵幇
浣跨敤7805铡嬮檷澶澶э纴鍙戠儹闂棰樼浉褰扑弗閲嶃
濡傛灉鍗旷墖链哄栬惧姛钥楀皬锛屽姞涓鏁g儹鐗囧氨濂戒简锛5姣涢挶銆傦纸鎴戝氨鏄锛
链夋浔浠剁殑璇濆厛浣跨敤7809闄嶅埌9V锛屽啀浣跨敤7805闄嶅埌5V銆
鐢佃矾锲句腑镄勭数瑙g数瀹瑰拰鐡风墖鐢靛瑰纺鐢ㄦ潵鍌ㄨ兘鍜屾护娉㈢殑銆
寤鸿鐪嬬湅鎴戠殑杩欎釜鎻愰梾锛
http://..com/question/404325842.html?quesup2&oldq=1
Ⅳ 单片机的各个引脚都有什么功能及作用
40条引脚说明如下:
⑴.主电源引脚Vss和Vcc
·Vss 接地。
·Vcc 正常操作时为十5伏电源。
⑵.外接晶体引脚XTAl1和XTAL2
·XTAL1 内部振荡电路反相放大器的输入端,是外接晶体的一个引脚。当采用外部振荡器时,此引脚接地(见图2-3(B))。
·XTAL2 内部振荡器的反相放大器的输出端,是外接晶体的另一端。当采用外部振荡器时,此引脚接外部振荡源。
⑶.控制或与其它电源复用引脚
RST/Vpd,ALE/PROG,PSEN 和EA/Vpp。
·RST/Vpd 当振荡器运行时。在此引脚上出现两个机器同期的高电平(由低到高跳变),将使单片机复位。
在 Vcc掉电期间,此引脚可接上备用电源,由 Vpd向内部 RAM提供备用电源,以保持内部RAM中的数据。
·ALE/PROG 正常操作时为ALE功能(允许地址钱存),提供把地址的低字节锁存到外部锁存器。ALE引脚以不变的频率(振荡周期的1/6)周期性地发出正脉冲信号。因此,它可用作对外输出的时钟,或用于定时目的。但要注意,每当访问外部数据存储器时,将跳过一个 ALE脉冲。 ALE端可以驱动(吸收或输出电流)八个 LSTTL电路。
对于 EPROM型单片机,在 EPROM编程期间,此引脚接收编程脉冲(PROG功能)。
·PSEN 外部程序存储器读选通信号输出端。在从外部程序存储器取指令(或数据)期间;PSEN 在每个机器周期内两次有效。 PSEN 同样可以驱动八个LSTTL输入。
·EA/Vpp EA为内部程序存储器和外部程序存储器选择端。当EA为高电平时,访问内部程序存储器(PC值小于4K)。当EA为低电平时,则访问外部程序存储器。对于EPROM型单片机,在EPROM编程期间,此引脚上加21VEPROM编程电源(Vpp)。
⑷.输入/输出引脚
P0.0~P0.7,P1.0~P1.7,P2.0~P2.7,P3.0~P3.7
·P0.0~P0.7: P0是一个 8位漏极开路型双向 I/O口。在访问外部存储器时,它是分时传送的低字节地址和数据总线。PO口能以吸收电流的方式驱动八个LSTTL负载。
·P1.0~P1.7: P1是一个带有内部提升电阻的 8位准双向 I/O口。它能驱动(吸收或输出电流)四个LSTTL负载。
·P2.0~P2.7: P2是一个带有内部提升电阻的8位准双向I/O口。在访问外部存储器时,它输出高8位地址。P2口可以驱动(吸收或输出电流)四个LSTTL负载。
· P3.0~P3.7:P3是一个带有内部提升电阻的 8位准双向 I/O口。能驱动(吸收或输出电流)四个LSTTL负载。P3口还用于第二功能请参看表2-1。
Ⅵ 简单的单片机数字电压表
摘 要:
本文介绍了用ADC0808集成电压转换芯片和AT89C51单片机设计制作的数字直流电压表。在测量仪器中,电压表是必须的,而且电压表的好坏直接影响到测量精度。具有一个精度高、转换速度快、性能稳定的电压表才能符合测量的要求。为此,我们设计了数字电压表,此作品主要由A/D0808转换器和单片机AT89C51构成,A/D转换器在单片机的控制下完成对模拟信号的采集和转换功能,最后由数码管显示采集的电压值。此设计通过调试完全满足设计的指标要求。电路设计简单,设计制作方便有较强的实用性。
关键词:
ADC0808;单片机AT89C51;数字电压表
Abstract:
In this paper, with ADC0808 voltage converter integrated chips and microcontroller designed AT89C51 the number of DC voltage table. In measuring instruments, voltage meter is necessary, and voltage meter will have a direct impact on measurement accuracy. With a high precision, the conversion speed and stable performance of the voltage meter to conform to the requirements of measurement. To this end, we design a digital voltage meter, this works mainly by A/D0808 converter and a microcontroller AT89C51, A / D converter under the control of the MCU to complete the acquisition and analog signal conversion functions, from the final Acquisition of the digital display voltage value. This design through debugging to fully meet the design requirements of the target. Circuit design simple, designed to facilitate a more practical.
Key words:
ADC0808; SCM AT89C51; Digital Voltmeter
目 录
1.设计方案……………………………………………………………………………………1
2. 系统硬件设计……………………………………………………………………………2
2.1单片机芯片……………………………………………………………………………2
2.1.1.单片机芯片选择……………………………………………………………2
2.1.2.单片机管脚说明……………………………………………………………3
2.2.A/D转换器……………………………………………………………………………5
2.2.1.A/D转换器芯片选择………………………………………………………5
2.2.2.A/D转换器管脚说明………………………………………………………6
2.3.电压显示电路…………………………………………………………………………7
3.系统程序设计……………………………………………………………………………………8
3.1.软件总体框架设计……………………………………………………………………8
4.系统总图及程序…………………………………………………………………………………9
5.参考文献………………………………………………………………………………………………12
6.结束语……………………………………………………………………………………………………13
1.设计方案
在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。数字电压表(Digital Voltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流或交流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。由于数字式仪器具有读数准确方便、精度高、误差小、灵敏度高和分辨率高、测量速度快等特点而倍受青睐。本设计从各个角度分析了由单片机组成的数字电压表的设计过程及各部分电路的组成及其原理,并且分析了程序如何驱动单片机进而使系统运行起来的原理及方法。框图如下:
本设计主要分为两部分:硬件电路及软件程序。而硬件电路又大体可分为A/D转换电路、LED显示电路,各部分电路的设计及原理将会在硬件电路设计部分详细介绍;程序的设计使用汇编语言编程,利用WAVE和PROTEUS 软件对其编译和仿真,详细的设计算法将会在程序设计部分详细介绍。
2.系统硬件电路设计
2.1 单片机芯片
2.1.1.单片机芯片选择
AT89C51简介
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图所示
图2.1_1 AT89C51引脚图
2.1.2.单片机管脚说明
主要特性:
•与MCS-51 兼容
•4K字节可编程闪烁存储器
•寿命:1000写/擦循环
•数据保留时间:10年
•全静态工作:0Hz-24Hz
•三级程序存储器锁定
•128×8位内部RAM
•32可编程I/O线
•两个16位定时器/计数器
•5个中断源
•可编程串行通道
•低功耗的闲置和掉电模式
•片内振荡器和时钟电路
管脚接法说明:
VCC:供电电压我们接+5V。
GND:接地。
P0口:在这个设计中我们将AT89C51做为BCD码的输出口与LED显示器相连。由于P0口输出驱动电路中没有上拉电阻,所以我们在外接电路上接上拉电阻。
P1口:把AT89C51中的P1口与ADC0808的输出端相连,做为数字信号的接收端。
P2口:我们把P2口做为位码输出口,以P2.0—2.3输出位控线与LED显示器相连.
P3口:利用P3.0,P3.1,P3.2,P3.4,P3.5,P3.6分别与ADC0808的OE,EOC,START/ALE,A,B,C端相连。
XTAL1 ,XTAL2:外接一振荡电路。
图2.1.2 振荡电路
RST:在此端接一复位电路。
图2.1.3 复位电路
2.2 A/D转换器与单片机接口电路
2.2.1.A/D转换器芯片选择
A/D转换器是模拟量输入通道中的一个环节,单片机通过A/D转换器把输入模拟量变成数字量再处理。
随着大规模集成电路的发展,目前不同厂家已经生产出了多种型号的A/D转换器,以满足不同应用场合的需要。如果按照转换原理划分,主要有3种类型,即双积分式A/D转换器、逐次逼近式A/D转换器和并行式A/D转换器。目前最常用的是双积分和逐次逼近式。
双积分式A/D转换器具有抗干扰能力强、转换精度高、价格便宜等优点,比如ICL71XX系列等,它们通常带有自动较零、七段码输出等功能。与双积分相比,逐次逼近式A/D转换的转换速度更快,而且精度更高,比如ADC0808、ADC0809等,它们通常具有8路模拟选通开关及地址译码、锁存电路等,它们可以与单片机系统连接,将数字量送入单片机进行分析和显示。
本设计中,由于对精度没做很大要求,我们采用逐次逼近式A/D转换ADC0808,精度为0.02,所以四位LED显示中的最后一位我们设置为V。
图2.2.1 ADC0808引脚图
2.2.2.A/D转换器ADC0808的管脚说明:
IN0~IN7:为模拟量的输入口,我们选取IN3口为入口,外接可变电阻,通过改变阻值来控制模拟量的输入。
A、B、C:3位地址输入,2个地址输入端的不同组合选择八路模拟量输入。这里我们将A,B接高电平,C为低电平。
ALE:地址锁存启动信号,在ALE的上升沿,将A、B、C上的通道地址锁存到内部的地址锁存器。
D0~D7:八位数据输出线,A/D转换结果由这8根线传送给单片机。
OE:允许输出信号。当OE=1时,即为高电平,允许输出锁存器输出数据。
START:启动信号输入端,START为正脉冲,其上升沿清除ADC0808的内部的各寄存器,其下降沿启动A/D开始转换。
EOC:转换完成信号,当EOC上升为高电平时,表明内部A/D转换已完成。
CLK:时钟输入信号,选用频率500KHZ。
图2.2.2 时钟信号
2.3 电压显示电路:
设计中采用的是4段LED数码管来显示电压值。LED具有耗电低、亮度高、视角大、线路简单、耐震及寿命长等优点,它由4个发光二极管组成,其中3个按‘8’字型排列,另一个发光二极管为圆点形状,位于右下角,常用于显示小数点。把4个发光二极管连在一起,公共端接高电平,叫共阳极接法,相反,公共端接低电平的叫共阴极接法,我们采用共阴极接法。当发光二极管导通时,相应的一段笔画或点就发亮,从而形成不同的发光字符。其8段分别命名为dp g f e d c b a。例如,要显示“0”,则dp g f e d c b a分别为:00111111B;若要显示多个数字,只要让若干个数码管的位码循环为高电平就可以了。
根据设计要求,显示电路需要至少4位LED数码管来显示电压值,我们再多加一位用来显示电压单位“V”,则有7位LED循环显示。利用单片机的I/O口驱动LED数码管的亮灭,设计中由P0口驱动LED的段码显示,即显示字符,由P2口选择LED位码,即选择点
亮哪位LED来显示。
图2.3 LED管
另外,一般I/O接口芯片的驱动能力是很有限的,在LED显示器接口电路中,输出口所能提供的驱动电流一般是不够的尤其是设计中需要用到多位LED,此时就需要增加LED驱动电路。驱动电路有多种,常用的是TTL或MOS集成电路驱动器,在本设计中采用了ADC0808芯片驱动电路。
3.系统程序设计
3.1软件总体框架设计
在编写汇编语言时,先存放数码管的段码,再存放转换后的数据,选取通道并设值.再将AD转换结果转换成BCD码,通过换算LED上显示.
再换算中,利用关系得到LED上个位,十位,百位的显示,然后设置小数点:
开始
预设初值
选取通道3
启动A/D转换
否
是
数码显示子程序
延时显示结果
结束
在系统上电开始测量前,要用万用表的电压档对被测电压进行估测,然后再测。
4.系统总图及程序
LED_0 EQU 30H;
LED_1 EQU 31H;
LED_2 EQU 32H;
LED_3 EQU 33H;
ADC EQU 35H;
ST BIT P3.2;
OE BIT P3.0;
EOC BIT P3.1;
ORG 00H;
START: MOV LED_0,#00H;
MOV LED_1,#00H;
MOV LED_2,#00H;
MOV LED_3,#00H;
MOV DPTR,#TABLE;
SETB P3.4;
SETB P3.5;
CLR P3.6;
WAIT: CLR ST;
SETB ST;
CLR ST;
JNB EOC,$;
SETB OE;
MOV ADC,P1;
CLR OE;
MOV A,ADC;
MOV B,#51;
DIV AB;
MOV LED_3,A;
MOV A,B;
MOV B,#5;
DIV AB;
MOV LED_2,A;
MOV LED_1,B;
LCALL DISP;
SJMP WAIT;
DISP: MOV A,#3EH;
CLR P2.3;
MOV P0,A;
LCALL DELAY;
SETB P2.3;
MOV A,LED_1;
MOVC A,@A+DPTR;
CLR P2.2;
MOV P0,A;
LCALL DELAY;
SETB P2.2;
MOV A,LED_2;
MOVC A,@A+DPTR;
CLR P2.1;
MOV P0,A;
LCALL DELAY;
SETB P2.1;
MOV A,LED_3;
MOVC A,@A+DPTR;
ORL A,#80H;
CLR P2.0;
MOV P0,A;
LCALL DELAY;
SETB P2.0;
RET;
DELAY: MOV R6,#10;
D1: MOV R7,#250;
DJNZ R7,$;
DJNZ R6,D1;
RET
TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,
END
数字直流电压表的总图