您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 基于8051单片机的数字电压表的
基于8051单片机的数字电压表的设计与仿真(一)一.设计目的:1.掌握A/D、D/A转换与单片机接口连接的方法;2.了解A/D芯片ADC0809、D/A芯片DAC0832的转换性能及编程方法;3.通过实验了解单片机扩展A/D、D/A转换芯片的方法,学会和掌握用单片机进行数据采集;二.设计要求:将实验箱DJ598上的ADC0809作为A/D转换器,用实验箱上的电位器提供模拟量输入,编制程序,将模拟量转换成数字量,在利用DAC0832D/A数模转换器输出,通过数码管显示出结果,构成一个简易数字电压表。三.设计内容:使用ADC0809的0通道(IN0),进行0~5V直流电压的A/D转换,并通过DAC0832输出相似的电压值。0通道的电压输入由实验箱模拟量产生模块的电位器调整,电压测试点为AOUT1。顺时针旋转,电压增大,最大5V;逆时针旋转电压减小,最小为0V。将DAC0832得AOUT的输出接数字电压表,使DAC0832的输出电压为0~5V。实验中采用延时方式或查询方式等待A/D转换结果。A/D、D/A介绍四.实验电路:1.单片机与ADC0809实验接线图•2.单片机与DAC0832实验接线图五.程序对ADC0809的0通道(IN0)进行A/D转换,并把转换结果通过DAC0832输出。采用延时方式等待A/D转换结束,电压输入值由电位器调整。ORG0000HDAC0832EQU0FF90HADC0809_0EQU0FF80HLJMPSTRATORG0100HSTART:MOVSP,#60HMOVA,#81HMOVDPTR,#0FF23HMOVX@DPTR,A初始化显示缓冲区MOV7EH,#00HMOV7DH,#08HMOV7CH,#00HMOV7BH,#09HMOV7AH,#10HMOV79H,#10HLO18:LCALLSSEE;显示A/D转换的结果MOVDPTR,#ADC0809_0MOVA,#00HMOVX@DPTR,A;启动A/D转换MOVR7,#0AHDELAY:NOP;延时100µS,等待A/D转换结束NOPNOPDJNZR7,DELAYNOP读取A/D转换的结果MOVXA,@DPTRNOP;可在此处设置断点,观察累加器A中MOVDPTR,#DAC0832MOVX@DPTR,ANOP;将结果写入DAC0832转换成电压输出,可测量输出点AOUT;可在此设置断点,比较AOUT1和AOUT得值是否相同MOVR0,#79HCALLPTDS;送累加器A中A/D转换的值到显示缓冲区SJMPLO18ORG05D0HPTDS:MOVR1,A;拆送累加器A中A/D转换的值显示缓冲区ACALLPTDS1MOVA,R1SWAPAPTDS1:ANLA,#0FHMOV@R0,AINCR0RETORG0D50H;显示A/D转换的值子程序SSEE:SETBRS1;切换工作区MOVR5,#05HSSE2:MOV30H,#20HMOV31H,#7EHMOVR7,#06HSSE1:MOVR1,#20HMOVA,30HCPLAMOVX@R1,A;字位送入MOVR0,31HMOVA,@R0MOVDPTR,#DDFFMOVCA,@A+DPTR;取字形代码MOVR1,#21HMOVX@R1,A;字形送入MOVA,30HRRA;右移MOV30H,ADEC31HMOVA,#0FFHMOVX@R1,A;关显示DJNZR7,SSE1;六位显示完了吗?DJNZR5,SSE2;5次显示完了吗?CLRRS1RET’0’~’F’字符字型代码表:DDFF:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90HDB88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,89H,0DEHEND设计小结通过本次的实习让我对单片机有了更加深刻的认识,特别是电子领域中不可替代的作用如如:工业控制、仪器仪表、电讯技术、办公自动化和计算机外部设备、汽车与节能、商用产品、家用电器等。目前,单片机正朝着大容量片上存储器、多功能i/o接口、宽范围工作电源和低功耗方向发展。要开发单片机的应用,不但要掌握单片机硬件和软件方面的知识,而且还要深入了解各应用系统的专业知识,只有将这两方面的知识融会贯通和有机结合,才能设计出优良的应用系统。一个好的工程设计师不仅要掌握单片机的工作原理,而且还要不断了解各公司最新芯片的结构和应用,在实际应用中找到最好的性能价格比。所以还要注意培养我们接受新知识的能力,掌握芯片发展动态。单片机实训&课程设计项目(二)——七段LED数码显示接口与控制一.实训目的:(1).熟悉和掌握MCS-51单片机与七段LED显示器接口的方法。(2).掌握七段LED显示器显示字符的控制方法及可编程I/O芯片8255/815的功能和初始化编程的方法。二.实训内容:(1).设计并画出单片机连接六位LED七段显示器的硬件连接电路图;(2).设计一字符表演程序,使字符‘0’~‘F’在6位LED显示器上实现自动顺序逐位循环显示和全显示。(3).编程将片内30H单元的两位16进制数转换成三位十进制数,并用DJ-598KC实验箱上的左边两位LED显示两位16进制数,用右边三位LED上显示转换的三位十进制值。三.七段LED显示器接口介绍:(1)七段LED结构及外形图(2)七段LED字型码字型码D7D0dqgfedcba(3)89C51与LED显示器接口连接(DJ-598KC实验系统)4)LED显示器接口连接(DJ-598KC实验系统)(5)可编程并行I/O接口8255介绍1.8255A的逻辑结构和信号引脚8255A是一个40引脚的双列直插式集成电路芯片,其逻辑结构如下图所示。按功能可把8255A分为三个逻辑电路部分,即:口电路、总线接口电路和控制逻辑电路。2.8255A工作方式8255A共有三种工作方式:①方式0基本输入/输出方式②方式1选通输入/输出方式③方式2双向数据传送方式(6)8255A控制字及初始化编程8255A是可编程接口芯片,共有两种控制字,即8255A工作方式控制字和C口位置位/复位控制字。1.工作方式控制字工作方式控制字用于确定各口的工作方式及数据传送方向。其格式如右图所示。2.C口位置位/复位控制字C口的每一位都可以进行置位或复位。对C口各位的置位或复位是由位置位/复位控制字进行的。8255A的位置位/复位控制字格式如右图所示。D7是该控制字的特征位,其状态固定为0。在使用中,控制字每次只能对C口中的一位进行置位或复位。工作方式控制字(下图)DJ-5198KC实验箱8255的I/O口地址分配四.编制程序:ORG0100HMOVSP,#50HSTART:MOVR7,#0FFHMEMS:INCR7MOVA,R7MOVDPTR,#TABLEMOVCA,@A+DPTRMOV20H,AACALLSOX0CJNER7,#0FH,MEMSMOVR7,#0MEMS2:MOVA,R7MOVDPTR,#TABLEMOVCA,@A+DPTRMOV20H,AACALLSOX1INCR7CJNER7,#10H,MEMS2SJMPSTARTORG01A0HSOX0:MOVP2,#0FFHMOVDPTR,#0FF23H;8255初始化MOVA,#88HMOVX@DPTR,AMOVA,20HMOVR0,#21H;字型段码口地址MOVR1,#20H;字型位码口地址MOVX@R0,AMOVA,#0C0HMOVX@R1,AMOVR2,#20HLCALLDELYRET五.设计小结在这次难得的课程设计过程中我锻炼了自己的思考能力和动手能力。通过题目选择和设计电路的过程中,加强了我思考问题的完整性和实际生活联系的可行性。在方案设计选择和芯片的选择上,培养了我们综合应用单片机的能力,对单片机的各个管脚的功能也有了进一步的认识。还锻炼我们个人的查阅技术资料的能力,动手能力,发现问题,解决问题的能力。并且我们熟练掌握了有关器件的性能及测试方法。在实训过程中,使我得到了一次用专业知识、专业技能分析和解决问题、全面系统的锻炼。使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧的掌握方面都能向前迈了一大步。同时在赵学智老师的悉心指导和严格要求下,获得了丰富的理论知识,极大地提高了实践能力,单片机领域对我今后进一步学习计算机方面的知识有极大的帮助。使我们熟悉到课程的重要性,同时也感受到理论与实践之间的差距,使我们对单片机系统的应用有了更加深刻的认识。简易数字秒表的设计和仿真(三)一.设计目的(1)熟悉单片机定时/计数器电路和中断的功能与编程。(2)熟悉8051与8255与LED的接口技术、LED动态显示的控制过程。(3)通过调试简易秒表整体程序,学会如何编制含LED动态显示、键盘扫描和定时器中断等多种功能的综合程序,体会大型程序的编制和调试技巧。二.设计内容与要求:(1)内容与要求:利用DJ—598KC单片机仿真实验系统进行模拟,用六位LED数码管显示实时计时值,其中时、分、秒、十分秒值从左到右各用1至两位LED数码显示,显示值为分、秒值0~59,时和十分秒值为0~9,使用KEY0、KEY1、KEY2等3键分别实现启动、停止、清零等功能。(2)方法:用单片机定时器0中断方式,实现100ms定时作为实时时基信号,编程实现十分秒、秒、分计数。用动态显示方式实现秒表计时显示,采用中断或查询方式取得KEY0、KEY1、KEY2的按键输入,实现秒表的启动、停止、清零等功能。四.实验线路原理及连接:将KEY0、KEY1、KEY2按键用实验系统上的K1~K3键代起,分别和P1.0~P1.2连接,实现秒表的启动、停止、清零等功能。DJ-598KC实验箱的LED显示电路结构五.控制程序框图:100ms定时中断程序框图:六.程序:控制程序清单:主程序(系统初始化程序)ORG0000HSTART:AJMPMAINORG000BHAJMPCTC0ORG0100HMAIN:MOVSP,#60HMOVDPTR,#0FF23HMOVA,#88HMOVX@DPTR,AMAIN1:MOVR0,#79HMOVR7,#06HML1:MOV@R0,#00HINCR0DJNZR7,ML1MOVTMOD,#01HMOVTL0,#0B0HMOVTH0,#3CH;定时/计数器0定时中断程序ORG0200HCTC0:PUSHPSWPUSHACCSETBPSW.3MOVTL0,#0B0HMOVTH0,#3CHMOVR0,#79HMOVA,@R0INCAMOV@R0,AXRLA,#20JNZRETOCLRAMOV@R0,AMOVR0,#7BHACALLDAAD1MOVA,R2XRLA,#60H;十进制秒、分值加1子程序DAAD1:MOVA,@R0DECR0SWAPAORLA,@R0ADDA,#01HDAAMOVR2,AANLA,#0FHMOV@R0,AMOVA,R2INCR0ANLA,#0F0HSWAPAMOV@R0,ARETCLR0:CLRAMOV@R0,ADECR0MOV@R0,ARET;延时子程序DL:MOVR6,#01FHDELAY2:MOVR7,#018HDELAY1:DJNZR7,DELAY1DJNZR6,DELAY2RET;字符’0’~’9‘的七段LED代码表SEG:DB0C0H,0F9H,0A4H,0B0HDB99H,92H,82H,0F8H,80H,90HDB0C0H,0F9H,0A4H,0B0HDB99H,92H,82H,0F8H,80H,90HEND设计小结通过一星期的单片机让我对单片机有了新的认识,尤其是在现实生活与科学生产实践的利用上起着非常重要的作用。例如:如:工业控制、仪器仪表、电讯技术、办公自动化和计算机外部设备、汽车与节能、商用产品、家用电器等。目前,单片机正朝着大容量片上存储器、多功能i/o接口、宽范围工作电源和低功耗方向发展。因此掌握单片机的知识与应用是特别重要,在本次实习中就遇到了很多的难点,主要是在平时的学习中对单片机知识中掌握的不够,这次的实习解决了很多的知识
本文标题:基于8051单片机的数字电压表的
链接地址:https://www.777doc.com/doc-3603072 .html