AT89C51串并转换驱动数码管实验指导

合集下载

数字式电压表-AT89C51单片机-AD转换-数据处理-毕业设计.doc

数字式电压表-AT89C51单片机-AD转换-数据处理-毕业设计.doc

摘要传统的模拟式(即指针式)电压表已有100多年的历史,虽然不断的改进与完善,仍无法满足现代电子测量的需求。

数字式电压表作为数字化仪表的基础和核心,已成为在电子和电工测量、工业自动化仪表、自动测试系统等领域中应用最广泛的一种仪表,并显示出其强大的生命力。

本设计在利用AT89C51单片机的基础上,结合TLC2543转换芯片及LCD显示器构建了测量范围在0~300V的数字式电压表。

电压表分为三个档位:6V、30V、300V。

该数字式电压表的设计主要由三个模块组成:模拟数据采集处理模块、A/D转换模块及LCD显示模块。

模拟数据的采集处理模块由输入电路部分完成。

A/D转换模块主要由芯片TLC2543来完成,它负责把采集到的模拟量数据转换成相应的数字量再传送到AT89C51单片机进行数据处理。

显示模块是将单片机处理好的数据传送到LCD显示器进行显示。

关键词:数字式电压表,AT89C51单片机,A/D转换,数据处理ABSTRACTTraditionally, the analog (i.e. pointer type) voltmeter has a history over 100 years. Although it has a continuous improvement and perfection, it still can not meet the demand for modern electronic measurement. As the basis and core of digital instrumentation, digital voltmeter has become an instrument that widely used in the area of electronic and electrical measurement, industrial automation instrument, automatic test system, etc. And show its strong vitality.The design is based on the use of AT89C51 single-chip microcomputer and combines with TLC2543 converter and LCD. All of these constructions formed a digital voltmeter which can measure voltage from 0 to 300V. The voltmeter is divided into three stages: 6V, 30V, 300V. The design of this digital voltmeter mainly consists of three modules: analog data acquisition and processing module, the A/D converter module and the LCD module. Analog data acquisition and processing module is composed of an input circuit part. A/D converter module is mainly composed of TLC2543 chip to complete, and it is responsible for the conversion of analog data into corresponding digital quantity and then it delivers data to the AT89C51 single-chip microcomputer for data processing. The display module transfers data that processed by single-chip microcomputer to a LCD for displaying.Key words: digital voltmeter, AT89C51 single-chip microcomputer, A/D converter, data processing目录1 绪论 (1)1.1 课题研究的相关背景 (1)1.2 设计的基本技术要求 (1)1.3 主要设计内容及设计思路 (2)1.4 预期成果及其意义 (2)2 数字式电压表设计的两种可行性方案研究 (3)2.1 由数字电路及芯片构建 (3)2.2 由单片机系统及A/D转换芯片构建 (3)3 系统设计中相关硬件简介 (4)3.1 AT89C51单片机简介 (4)3.2 模数(A/D)芯片TLC2543简介 (4)3.3 常用显示器简介及本设计显示器的选择 (6)3.4 1602液晶显示器介绍 (7)4 硬件系统设计 (9)4.1 设计要求 (10)4.2 设计方案 (10)4.3 硬件电路系统模块的设计 (10)5 软件系统设计 (15)5.1 主程序流程图 (15)5.2 TLC2543采集数据流程图 (16)5.3 LCD初始化流程图 (17)5.4 LCD显示流程图 (18)6 电路调试及实验结果 (19)6.1 Proteus仿真结果及其分析 (19)6.2 搭建实验电路及调试分析 (20)6.3 实验结果分析 (20)7 总结 (21)参考文献 (22)附录 (23)附录一:程序源代码 (23)附录二:原理图及实物图 (29)1 绪论数字式电压表(Digital V oltmeter)简称DVM,作为智能仪表的一种,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转化成不连续,离散的数字形式并加以显示的仪表。

Protues 中AT89C51驱动6个数码管电路

Protues 中AT89C51驱动6个数码管电路

软件说明p1:字型控制口;p2:字位控制口;要显示的内容分别存放在30H,31H,32H单元。

先将每个存储单元中要显示的内容(二进制数)转换成2位BCD码,再用查表程序查出2位BCD码分别对应的控制数码管的控制信号,分时送p1,同时分别将对应的位选信号送p2。

循环显示3个单元内容。

30H,31H,32H:分别存放欲显示的内容;40H:转换成BCD码时的暂存单元;41H:转换成数码管控制信号的暂存单元;50H:字位控制信号暂存单元;r0:间址显示内容单元;r6:6位数码管是否循环完控制单元;由于显示子程序中每次显示一个存储单元内容,即显示2个数码管内容,故6/2=3,r6中设置循环次数为03H。

r7:循环系数。

主程序流程图图1 主程序流程图图2 BCD码转换子程序流程图图3 显示子程序流程图;主程序ORG 0000HLJMP MAINORG 0030HMAIN:MOV SP,#60HMOV 30H,#24HMOV 31H,#30HMOV 32H,#0CHLOOP:MOV 50H,#01HMOV R0,#30HMOV R6,#03HMOV R7,#03HLOOP1:MOV A,@R0LCALL B_DLCALL DIPDJNZ R7,NEXT1LJMP LOOPNEXT1:INC R0LJMP LOOP1;BCD码转换子程序B_D:MOV B,#10DIV ABSWAP AADD A,BRET;显示子程序DIP:MOV 40H,AANL A,#0FH;显示第一位MOV DPTR,#TABMOVC A,@A+DPTRMOV 41H,AMOV A,#0FFH;一下两句是使显示的数据不相互串位MOV P1,AMOV A,50HMOV P2,AMOV A,41HMOV P1,ALCALL DEL1MSMOV A,50HRL AMOV 50H,AMOV A,40H;显示第二位ANL A,#0F0HSWAP AMOVC A,@A+DPTRMOV 41H,AMOV A,#0FFHMOV P1,AMOV A,50HMOV P2,AMOV A,41HMOV P1,ALCALL DEL1MSDJNZ R6,NEXT2MOV A,#01HSJMP DONENEXT2:MOV A,50HRL ADONE:MOV 50H,ARET;1ms延时子程序DEL1MS:MOV R1,#10L2:MOV R2,#50L1:DJNZ R2,L1DJNZ R1,L2RET;在ROM中建立数码管控制信号表格TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H DB 80H,90HEND。

AT89C51单片机实验开发板使用手册

AT89C51单片机实验开发板使用手册

AT89C51单片机实验开发板是电子制作实验室网站专为单片机初学者设计并开发的一种实验兼开发板,站长开发这个产品的目的就是为了帮助单片机初学者快速学会单片机技术。

站长本人在自学单片机的过程中,通过做了一系列的实验,从而比较容易地领会了单片机哪些枯燥、难懂的专业术语,而且这款实验开发板弥补了市场上常见的单片机实验板的一些不足,有针对性地面向最终的实用控制功能,增加了实用的继电器接口,可以使实验板能够直接用于控制各种负载,成为一个实用化的嵌入式控制系统。

目前想要学习单片机技术的网友可以分成两类,一类是业余的电子爱好者,想通过自学单片机来提高自己的电子技术水平,以后能够运用到自己熟悉的领域中有所作为,这类网友的动手能力比较好,但是理论知识一般欠缺一些。

另一类是在校的电子专业学生,为了完成一些科技项目或者是把学校学到的知识转化成实际的电子作品,为以后的工作求职创造更好的条件,这类网友需要的就是实践经验了。

站长也是从这两方面需求来开发这个产品的。

网站开设的单片机教程会以一个个独立的单元电路的形式,使单片机初学者在本网站专门网页的详细操作演示的指导下,一步一步通过自己安装元件、调试电路,将网站提供的多个实验按照从简单到复杂,从实现基本功能到完成扩展功能一步一步地完成,脚踏实地全面提高理论知识和动手能力。

以套件的形式提供还有一个好处,就是给后续开发创造空间,比如以后需要设计完成一个独特的单片机控制系统时,可以直接利用实验开发板的一些硬件资源,只安装上需要的元件,把精力集中在编写软件,就能快速完成项目。

购买网站的单片机试验开发板时,会随产品寄出一张A4大小的黑白激光打印的原理图,供安装或试验时分析硬件结构。

网站教程构思:为了配合实验开发板的销售和使用,站长专门编写了一系列的实验教程,所有实验都按照从最简单到复杂原则,通过逐步的安装→实验→再安装→再实验的方式,最终完成所有实验。

网站提供所有实验的详细源程序,所有的程序都有详细的程序注释,而且都经过烧录验证的*.hex烧写文件。

at89c51实验报告

at89c51实验报告

at89c51实验报告AT89C51实验报告引言:AT89C51是一款经典的8位单片机,被广泛应用于各种嵌入式系统中。

本实验报告将介绍我对AT89C51的实验过程和结果,以及对该单片机的一些理解和应用。

实验目的:1. 熟悉AT89C51单片机的基本特性和功能;2. 掌握AT89C51单片机的编程方法和调试技巧;3. 实现简单的功能模块并验证其正确性。

实验过程:1. 硬件准备在实验开始前,我准备了一块AT89C51开发板、一台电脑、一根USB数据线以及一些连接线。

将开发板与电脑连接,确保能够正常通信和编程。

2. 软件设置我选择了Keil C51作为开发工具,打开软件后,新建一个工程,并选择AT89C51作为目标芯片。

接着,我编写了一个简单的程序,用于点亮开发板上的LED灯。

3. 编程调试将编写好的程序下载到AT89C51单片机中,然后通过调试工具进行程序的调试和运行。

在调试过程中,我发现程序中存在一处错误,经过仔细排查后,成功修复了问题。

4. 功能实现在程序调试通过后,我开始尝试实现一些功能模块。

首先,我实现了一个简单的计数器,通过按下开发板上的按钮,可以实现数字的加减操作。

接着,我尝试了一些其他的功能,如LED灯的闪烁、蜂鸣器的发声等。

实验结果:经过一系列的实验和调试,我成功地实现了以上功能模块,并验证了其正确性。

AT89C51单片机表现出了良好的稳定性和可靠性,在进行各种操作时没有出现明显的延迟或错误。

对AT89C51的理解和应用:通过这次实验,我对AT89C51单片机有了更深入的了解。

AT89C51作为一款经典的8位单片机,具有较强的处理能力和丰富的外设接口,可以广泛应用于各种嵌入式系统中。

在实际应用中,AT89C51可以用来控制各种外设,如LED灯、LCD显示屏、温度传感器等。

通过编写相应的程序,可以实现各种功能,如数据采集、数据处理、控制操作等。

此外,AT89C51还支持多种通信协议,如UART、SPI、I2C等,可以与其他设备进行数据交互。

89C51单片机实验指导书

89C51单片机实验指导书

目录实验一系统认识实验 (2)实验二多字节加、减运算实验 (3)实验三多字节乘、除法运算实验 (4)实验四代码转换实验 (5)实验五布尔操作实验 (6)实验六中断系统实验 (7)实验七定时器/计数器实验 (9)实验八串行通讯接口实验 (12)实验九串并转换实验 (16)实验十存储器扩展实验 (18)实验十一8155键盘及显示接口实验 (20)实验十二ADC0809(模/数转换) (24)实验十三 DAC0832(数/模转换) (26)实验十四步进电机实验 (29)实验十五直流电机调速控制实验 (32)附录Windows版Wmd51 3.0使用说明 (34)实验一系统认识实验一.实验目的和要求1.学习和掌握本实验系统的基本操作;2.总结汇编程序的形成和调试过程;3.掌握循环程序的设计;4.画出程序流程图,编制程序并上机调试通过。

二.实验内容1.软件延时若系统时钟为6MHZ,要求实现每隔250毫秒将P1.0口取反。

2.无符号数加法计算N个数据的和,即Y=∑Xi (i=1--6)。

若六个数据放在片内RAM的50H——55H地址单元中,求和的结果Y放在内部RAM的03H(高位)、04H (低位)地址单元中。

1).32H+41H+01H+56H+11H+03H2).95H+01H+02H+44H+48H+12H3).54H+0F6H+1BH+20H+04H+0C1H3.数据排序将内部RAM地址单元30H—3FH中的16个数据按小到大的顺序重新排序。

实验二多字节加、减运算实验一.实验目的和要求1.掌握多字节数的加、减法运算;2.进一步熟悉实验系统的使用方法;3.进一步熟悉汇编程序的调试过程;4.画出程序流程图,编制程序并上机调试通过。

二.实验内容1.多字节无符号数的加法2.多字节无符号数减法入口:被减数低字节地址在R0,减数低字节数地址在R1,字节数在R2;出口:差的低字节地址在R0。

字节数在R3。

3.多字节十进制BCD码减法入口:被减数低字节地址在R1,减数低字节地址在R0,字节数在R2。

实验九 串、并转换实验

实验九 串、并转换实验

实验九串/并转换实验一、实验目的1. 熟悉并掌握串转并的I/O 口扩展方法2.在单片机的串行口外接一个串入并出8位移位寄存器74LS164,实现串口到并口的转换,数据从RXD端输出,移位脉冲从TXD端输出,波特率固定为单片机工作频率的1/12。

3. 写程序,通过单片机的串行口控制74HC164 的串行输入端口,实现串并转换,LED指示灯轮流点亮。

验证串并转换数据的正确性。

二、电路设计1.从PROTEUS库中选取元件①AT89C51:单片机;②RES:电阻;③74164:8位移位寄存器;④CAP、CAP-ELEC:电容、电解电容;⑤CRYSTAL:晶振;⑥NOT:非门。

2.放置元器件3.放置电源和地4.连线5.元器件属性设置6.电气检测三、源程序设计、生成目标代码文件1.流程图2.源程序设计通过菜单“sourc e→Add/Remove Source Files…”新建源程序文件:DZC9.ASM。

通过菜单“sourc e→DZC9.ASM”,打开PROTEUS提供的文本编辑器SRCEDIT,在其中编辑源程序。

程序编辑好后,单击按钮存入文件DZC9.ASM。

3.源程序编译汇编、生成目标代码文件通过菜单“sourc e→Build All”编译汇编源程序,生成目标代码文件。

若编译失败,可对程序进行修改调试直至汇编成功。

四、PROTEUS仿真1.加载目标代码文件2.仿真单击按钮,启动仿真。

五、思考题:1.什么叫波特率?它反映的是什么?它与时钟频率是相同的吗?当串行口以每分钟传送3600个字符时,计算其传送波特率。

2.8051单片机的串口有哪几种工作方式?各有什么功能和特点?。

实验四(一) 串并转换实验(2学时)

实验四(一)  串并转换实验(2学时)
ZW=table2[0]; //再送字位
delay(10); //延时一小段时间
ZX=0xff; //
数码管消影
ZX=table[buffer[1]]; //显示ASCII的十位
ZW=table2[1];
delay(10);
ZX=0xff;
ZX=table[buffer[2]]; //显示ASCII值的个位
num++;
if(num==10) //定时1S时间到
{Hale Waihona Puke num=0;i++;
if(i==10) i=0; //数码管反复扫描
SBUF=~Table[i]; //取反,送数码管显示数字
}
}
实验四(二) 单片机与PC机串行通信实验(2学时)
一、实验目的
⑴掌握串行口工作方式的程序设计,掌握单片机通信程序编制方法。
0x49,0x41,0x1F,0x01,0x09}; //共阳数码管字段
void main()
{ TMOD=0x01; //定时器T0方式1
TH0=(65536-50000)/256;//定时器赋初值,定时100ms,(12MHz晶振)
TL0=(65536-50000)%256;
EA=1; //总中断打开
湖北民族学院科技学院
信息工程学院
单片机原理实验报告
实验名称:单片机串口应用
专业班级
学号
姓名
指导教师
实验四(一) 串并转换实验(2学时)
一、实验目的
⑴掌握8031串行口方式0工作方式及编程方法。
⑵掌握利用串行口扩展并行I/O通道的方法。
二、实验内容
(1)在实验箱上完成:

AT89C51单片机AD转换器接口实验

AT89C51单片机AD转换器接口实验

班级电科 081 班姓名龚浪学号 ************ 实验名称电脑时钟程序实验指导教师马光喜理学院时间:2011年月日实验十一 A/D转换器接口实验一.实验目的⑴熟悉单片机与A/D转换芯片的接口方法。

⑵了解A/D转换芯片的转换性能及编程方法。

⑶通过实验了解单片机如何进行数据采集。

二.实验内容利用电位器提供模拟量输入,输入到0809的IN3输入端,编制程序,将模拟量转换成数字量,并在数码管显示出来。

三.实验步骤1.在Proteus中画出实验电路ADC0808转换原理电路3.进入Keil C51组合软件的操作环境,编辑源程序并进行编译;4.设置Proteus 与Keil C51之间的连接;5.程序设计(1)进行A/D转换时,采用查询EOC的标志信号来检测A/D转换是否完毕,若完毕则把数据通过P1端口读入,经过数据处理之后经P0口从数码管上显示。

(2)进行A/D转换之前,要启动转换的方法:CBA=011选择第三通道Start的正脉冲(start从0→1→0)起动AD转换,本程序中用P2^0控制。

(3)本程序用C语言编写,代码如下://EXP11#include <reg51.h>sbit start=P2^0;//控制起动转换信号sbit finish=P2^1;//转换结束标志sbit ale=P2^2; //地址锁存信号#define address P3 //地址口#define date P1 //数据口#define disp P0 //显示口void transform(); //AD转换函数void main(){start=0;while(1)transform();//循环调用AD转换函数}//**********************//AD转换函数//**********************void transform (){start=1; //正脉冲起动AD转换start=0;address=0x3f;//送地址给AD转换ale=1; //锁存地址while(1)//等待转换结束{if(finish==1)//转换完成{disp=date;// 取走数据ale=0; //撤消地址锁存信号break;//跳出循环进行下一次AD转换}}}6.运行、调试程序和结果检查⑴采用单步,设置断点等方法,态观察程序走向是否正确。

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

AT89C51串并转换驱动数码管实验指导
器件:74hc595.
引脚说明:
SDA:数据输入口。

SH_CP:数据输入控制端,在每个
SH_CP 的上升沿, SDA 口上的数据移入寄存器, 在SH_CP 的第9 个上升沿, 数据开始从QS
移出。

ST_CP:数据置入锁存器控制端。

Q0~Q7:数据并行输出端。

数据从SDA 口送入74HC595 , 在每个SH_CP 的上升沿, SDA 口上的数据移入寄存器, 在SH_CP 的第
9 个上升沿, 数据开始从QS 移出。

如果把第一个74HC595 的QS 和第二个74HC595 的SDA 相接, 数据即移入第二个74HC595 中,
照此一个一个接下去, 可接任意多个。

数据全部送完后, 给ST_CP 一个上升沿, 寄存器中的数据即置入锁存器。

此时如果EN 为低电平, 数据即从并口
Q0~Q7
输出, 把Q0~Q7 与LED 的8 段相接, LED 就可以实现显示了。

要想软件改变LED 的亮度, 只需改变EN 的占空比就行了。

实验原理及内部结构:
如图所示:。

相关文档
最新文档