基于8255的LCD显示简易电压表设计说明

2013/2014学年第一学期课程设计II实验报告模块名称关于51单片机设计(proteus)专业通信工程学生班级学生学号学生姓名指导教师报告容第一部分实验目的和要求本课程设计是在理论课程的基础上,重点培养学生的动手能力,通过理论计算、实际编程、调试、测试、分析查找故障,解决在实际设计中的问题,使设计好的电路能正常工作,为下一部结合实际的硬件系统设计准备条件。

实验要求:数字电压表(AC/DC)设计基本要求:了解电压表的工作原理。

设计一个直流电压测量器,测量围0.01V-3V,用LED数码管/LCD屏显示测量值,显示精度0.001用键盘选择测量围(分档)发挥部分:交流电压测量,被测频率1KHz-10KHz (0.1-3V)考虑交流测量的附加电路。

显示格式:LED数码管/LCD屏显示参数基于8255口是指显示和键盘都由8255的IO口控制根据提供的参考工程,在proteus平台自己重新画出实验所需要的电气原理图,并在此基础上编写相对应的程序,实现其功能,学习proteus软件的使用,其中包括原理图器件的选取、原理图的电气连接、程序的编写编译以及运行,并能查出其错误等。

第二部分实验工具及实验器件1.Proteus软件Proteus是英国Labcenter公司开发的电路及单片机系统设计与仿真软件。

Proteus可以实现数字电路、模拟电路及微控制器系统与外设的混合电路系统的电路仿真、软件仿真、系统协同仿真和PCB设计等功能。

Proteus是目前唯一能对各种处理器进行实时仿真、调试与测试的EDA工具,真正实现了在没有目标原型时就可对系统进行调试、测试和验证。

Proteus软件大大提高了企业的产品开发效率,降低了开发风险。

由于Proteus软件逼真、真实的协同仿真功能,它也特别适合于作为配合单片机课堂教学和实验的学习工具。

Proteus软件提供了30多个元器件库、7000余种元器件。

元器件涉及电阻、电容、二极管、三极管、变压器、继电器、各种放大器、各种激励器、各种微控制器、各种门电路和各种终端等。

Proteus软件还提供有交直流电压表、逻辑分析仪、示波器、定时/计数器和信号发生器等测试信号工具用于电路测试。

Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。

Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。

运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。

如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。

应用Keil进行软件仿真开发的主要步骤为:编写源程序并保存—建立工程并添加源文件—设置工程—编译/汇编、连接,产生目标文件—程序调试。

Keil 使用“工程”(Project)的概念,对工程(而不能对单一的源程序)进行编译/汇编、连接等操作。

工程的建立、设置、编译/汇编及连接产生目标文件的方法非常易于掌握。

首先选择菜单File-New…,在源程序编辑器中输入汇编语言或C 语言源程序(或选择File-Open…,直接打开已用其它编辑器编辑好的源程序文档)并保存,注意保存时必须在文件名后加上扩展名.asm(.a51)或.c;然后选择菜单Project-New Project…,建立新工程并保存(保存时无需加扩展名,也可加上扩展名.uv2);工程保存后会立即弹出一个设备选择对话框,选择CPU 后点确定返回主界面。

这时工程管理窗口的文件页(Files)会出现“Target1”,将其前面+号展开,接着选择Source Group1,右击鼠标弹出快捷菜单,选择“Add File to Group ‘Source Group1’”,出现一个对话框,要求寻找并加入源文件(在加入一个源文件后,该对话框不会消失,而是等待继续加入其它文件)。

加入文件后点close返回主界面,展开“Source Group1”前面+号,就会看到所加入的文件,双击文件名,即可打开该源程序文件。

紧接着对工程进行设置,选择工程管理窗口的Target1,再选择Project-Option for Target‘Target1’(或点右键弹出快捷菜单再选择该选项),打开工程属性设置对话框,共有8个选项卡,主要设置工作包括在Target选项卡中设置晶振频率、在Debug选项卡中设置实验仿真板等,如要写片,还必须在Output选项卡中选中“Creat Hex Fi”;其它选项卡容一般可取默认值。

工程设置后按F7键(或点击编译工具栏上相应图标)进行编译/汇编、连接以及产生目标文件。

成功编译/汇编、连接后,选择菜单Debug-Start/Stop Debug Session(或按Ctrl+F5键)进入程序调试状态,Keil提供对程序的模拟调试功能,建一个功能强大的仿真CPU以模拟执行程序。

Keil能以单步执行(按F11或选择Debug-Step)、过程单步执行(按F10或选择Debug-Step Over)、全速执行等多种运行方式进行程序调试。

如果发现程序有错,可采用在线汇编功能对程序进行在线修改(Debug-Inline Assambly…),不必执行先退出调试环境、修改源程序、对工程重新进行编译/汇编和连接、然后再次进入调试状态的步骤。

对于一些必须满足一定条件(如按键被按下等)才能被执行的、难以用单步执行方式进行调试的程序行,可采用断点设置的方法处理(Debug-Insert/Remove Breakpoint或Debug-Breakpoints…等)。

在模拟调试程序后,还须通过编程器将.hex目标文件烧写入单片机中才能观察目标样机真实的运行状况。

在PROTEUS 绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在PROTEUS的原理图中看到模拟的实物运行状态和过程。

2.51单片机AT89C5151单片机是对目前所有兼容Intel 8031指令系统的单片机的统称。

该系列单片机的始祖是Intel的8031单片机,后来随着Flash rom技术的发展,8031单片机取得了长足的进展,成为目前应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。

目前很多公司都有51系列的兼容机型推出,在目前乃至今后很长的一段时间将占有大量市场。

51单片机是基础入门的一个单片机,还是应用最广泛的一种。

需要注意的是52系列的单片机一般不具备自编程能力。

当前常用的51系列单片机主要产品有:*Intel的:80C31、80C51、87C51,80C32、80C52、87C52等;*ATMEL的:89C51、89C52、89C2051等;89C51单片机的部结构为:单一+5V电源供电;CPU:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器;RAM:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据;ROM:用以存放程序、一些原始数据和表格;I/O口:四个8位并行I/O口,既可用作输入,也可用作输出;T/C:两个定时/记数器,既可以工作在定时模式,也可以工作在记数模式;五个中断源的中断控制系统;一对全双工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之间或单片机与微机之间的串行通信;片振荡器和时钟产生电路,石英晶体和微调电容需要外接。

最高振荡频率为12M。

3.LCD液晶显示器件LM016LLM016L是一个2*16的点阵式字符液晶显示模块,每个字符由5*7个点组成的;部带有HD44780控制器;采用5V电源供电;建有192个字符,8个用户自建字符。

4.可编程并行I/O接口芯片8255A8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。

具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。

其各口功能可由软件选择,使用灵活,通用性强。

8255可作为单片机与多种外设连接时的中间接口电路。

8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。

同时必须具有与外设连接的接口A、B、C 口。

由于8255可编程,所以必须具有逻辑控制部分,因而8255部结构分为3个部分:与CPU连接部分、与外设连接部分、控制部分。

特点:(1)一个并行输入/输出的LSI芯片,多功能的I/O器件,可作为CPU 总线与外围的接口.(2)具有24个可编程设置的I/O口,即3组8位的I/O口为PA口,PB口和PC口.它们又可分为两组12位的I/O口,A组包括A口及C口(高4位,PC4~PC7),B组包括B口及C口(低4位,PC0~PC3).A组可设置为基本的I/O 口,闪控(STROBE)的I/O闪控式,双向I/O3种模式;B组只能设置为基本I/O 或闪控式I/O两种模式,而这些操作模式完全由控制寄存器的控制字决定.RESET:复位输入线,当该输入端处于高电平时,所有部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。

CS:芯片选择信号线,当这个输入引脚为低电平时,即/CS=0时,表示芯片被选中,允许8255与CPU进行通讯;/CS=1时,8255无法与CPU做数据传输.RD:读信号线,当这个输入引脚为低电平时,即/RD=0且/CS=0时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。

WR:写入信号,当这个输入引脚为低电平时,即/WR=0且/CS=0时,允许CPU 将数据或控制字写入8255。

D0~D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。

PA0~PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入锁存器。

PB0~PB7:端口B输入输出线,一个8位的I/O锁存器一个8位的输入输出缓冲器。

PC0~PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入缓冲器。

端口C可以通过工作方式设定而分成2个4位的端口,每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。

'A1,A0:地址选择线,用来选择8255的PA口,PB口,PC口和控制寄存器.当A1=0,A0=0时,PA口被选择;当A1=0,A0=1时,PB口被选择;当A1=1,A0=0时,PC口被选择;当A1=1.A0=1时,控制寄存器被选择.5.8位 A/D转换器TLC549TLC549是 TI公司生产的一种低价位、高性能的8位 A/D转换器,它以8位开关电容逐次逼近的方法实现 A/D转换,其转换速度小于 17us,最大转换速率为 40000HZ,4MHZ典型部系统时钟,电源为 3V至 6V。

合集下载

单片机毕业论文基于LCD显示技术的数字电压表设计

单片机毕业论文基于LCD显示技术的数字电压表设计

单片机毕业论文基于LCD显示技术的数字电压表设计基于LCD显示技术的数字电压表设计基于LCD显示技术的数字电压表设计摘要:本报告介绍了基于AT89S52单片机为核心的、以AD0809数模转换芯片采样、以1602液晶屏显示的具有电压测量功能的具有一定精度的数字电压表。

在实现基础功能要求之上扩展了串口通讯、时钟功能、高压报警、短路测试、电阻测量、交流电压峰峰值和周期测试等功能,使系统达到了良好的设计效果和要求。

关键词:AT89S52单片机模数转换液晶显示扩展功能Based on the LCD display technologyof digital voltmeter designAbstract: The report describes the AT89S52 based on the microcontroller as the core, AD0809 digital-to-analog converter chip sampling, to 1602 LCD display with voltage measurement function with a certain precision of digital voltage meter. In achieving functional requirements based upon the expansion of serial communications, high-pressure alarm, short circuit, electrical resistivity measurement, AC voltage and the peak of cycle testing and other functions, allowing the system to achieve good results and the design requirements.Keywords: AT89S52 SCM analog-to-digital conversion functions LCD expansion1基于LCD显示技术的数字电压表设计目录绪论.......................................................................................3 1数字电压表简介........................................................................4 1.1数字电压表的介绍 (4)1.2数字电压表的基本结构及工作原理…………………………………………4 1.3数字电压表的发展趋势……………………………………………………5 2单片机的概述………………………………………………………………62.1单片机简介………………………………………………………………6 2.2单片机的特点……………………………………………………………7 2.3单片机的应用……………………………………………………………7 3 方案论证..............................................................................8 3.1 CPU的选择...........................................................................8 3(2 液晶显示器的选择 (11)3.2.1液晶显示原理………………………………………………………………11 3.2.2液晶显示器各种图形的显示原理………………………………………11 4系统硬件设计……………………………………………………………………184.1硬件电路系统框图.....................................................................18 4.2软件设计流程图........................................................................18 4.3电源电路设计 (20)4.4 CPU系统设计………………………………………………………………20 4.5 CPU与显示器接口电路设计…………………………………………………21 4.6数字电压表硬件电路………………………………………………………23 总结体会....................................................................................24 致谢.......................................................................................25 参考文献 (26)附录 (27)附录1: 部分系统源程序附录2:运行图片及部分数据2基于LCD显示技术的数字电压表设计0绪论单片微型计算机简称单片机,又称微控制器,特别适用于控制领域。

基于8255的开关状态显示实验

基于8255的开关状态显示实验

1. 实验要求编写程序,设定8255的PA口为开关量输入,PC口为开关量输出,要求能随时将PA口的开关状态通过PC口的发光二极管显示出来。

2. 实验目的学习使用8255各个口的不同工作方式。

3.实验程序框图开始设置8255工作方式从PA读取开关状态将开关状态数据置反从PC输出数据4.实验电路及连线上图中,8255及其接线孔位于实验台的第(29)模块。

八位开关和单色LED位于实验台的第(19)模块。

将K0~K7用连接至8255的PA0~PA7,将L0~L7用连线连至8255的PC0~PC7,8255CS 用连线连至第(7)模块译码处的210H孔。

5.实验说明本实验要求8255工作于方式0,PA口设置为输入,PC口设置为输出,输入量为开关量,输出量为LED。

当K0开关接地时,相应的LED0灭,当K0开关接高电平时,相应的LED0亮。

K1~k7对应于LED1~LED7,功能同K0和LED0。

4. 实验程序CODE SEGMENTASSUME CS:CODESTART:MOV DX, 213HMOV AL, 10010000BOUT DX, ALONE: MOV DX, 210HIN AL, DXMOV DX, 212HOUT DX, ALJMP ONECODE ENDSEND START5. 实验结果最终我们试验箱上显示结果是由8个按键分别控制各个LED等亮灭的效果6. 实验总结通过实验,使我进一步熟悉汇编语言的运用,学习使用8255各个口的不同工作方式。

综合实验评定,较为满意。

运用8255设计的键盘及显示接口-实验报告(含接线图+源程序)

运用8255设计的键盘及显示接口-实验报告(含接线图+源程序)

运用8255设计的键盘及显示接口图中用并行接口8255A作为微机与键盘间的接口,采用逐行扫描法识别键。

将键盘中的列与PA0—PA3相连,A口为输出;将行与C口的PC0—PC1相连,C 口为输入口; PB0—PB7与七段代码显示器连接B口为输出。

程序执行过程如下:识别是否有键按下,方法是使PA0一PA3输出全0,读C 口(行值) 中只要有一位为0,就说明有键按下,在检测到有键按下后,延迟一段时间,根据找到的键号,转去执行显示七段代码显示器的程序,这时七段代码显示器就显示与该键相同的数值。

实验步骤8255接口的应用键盘及显示接线图注:圆圈处是要求接的连线。

(1)按图4接线。

(2)输入源程序,汇编、连接后装入系统。

(3)执行程序后,按一下键盘,7段代码就会显示相应的数字。

程序STACK SEGMENT STACKDW 64 DUP(?)STACK ENDSDATA SEGMENTTABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07HDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV SI,3000HMOV AL,00HMOV [SI],AL ;清空存放数据的缓冲区MOV [SI+1],ALMOV [SI+2],ALMOV [SI+3],ALMOV DI,3003HMOV AL,81H ;8255方式字定义选择0方式,A口为输出;OUT 63H,AL;B口为输出;C口为输入BEGIN: CALL DIS ;显示七段代码管数据的子程序CALL CLEAR ;七段代码管清0子程序CALL CCSCAN ;检测是否有键按下子程序JNZ INK1 ;JMP BEGININK1: CALL DISCALL DALLY ;子程序为延时,消抖动CALL DALLYCALL CLEARCALL CCSCANJNZ INK2JMP BEGININK2: MOV CH,0FEHMOV CL,00HCOLUM: MOV AL,CHOUT 60H,ALIN AL,62HTEST AL,01HJNZ LONEMOV AL,00HJMP KCODELONE: TEST AL,02HJNZ NEXTMOV AL,04HKCODE: ADD AL,CLCALL PUTBUFPUSH AXKON: CALL DISCALL CLEARCALL CCSCANJNZ KONPOP AX NEXT: INC CLMOV AL,CHTEST AL,08HJZ KERRROL AL,1MOV CH,ALJMP COLUM KERR: JMP BEGIN CCSCAN: MOV AL,00HOUT 60H,ALIN AL,62HNOT ALAND AL,03HRET CLEAR: MOV AL,00HOUT 61H,ALRETDIS: PUSH AXMOV SI,3000HMOV DL,0F7HMOV AL,DLAGAIN: OUT 60H,ALMOV AL,[SI]MOV BX,OFFSET TABLE ;取七段代码首址AND AX,00FFHADD BX,AXMOV AL,[BX]OUT 61H,ALCALL DALLYINC SIMOV AL,DLTEST AL,01HJZ OUTROR AL,1MOV DL,ALJMP AGAINOUT: POP AXRETDALLY: PUSH CXMOV CX,0010HT1: MOV AX,0010HT2: DEC AXJNZ T2LOOP T1POP CXRETPUTBUF: MOV SI,DIMOV [SI],ALDEC DICMP DI,2FFFHJNZ GOBACKMOV DI,3003H GOBACK: RETCODE ENDSEND START。

简易数字电压表课程设计

简易数字电压表课程设计

电子测量结课作业简易数字电压表指导教师:学院:专业班级:姓名:学号:摘要本文介绍了一种基于单片机的简易数字电压表的设计。

该设计主要由三个模块组成:A/D转换模块,数据处理模块及显示模块。

A/D转换主要由芯片ADC0832来完成,它负责把采集到的模拟量转换为相应的数字量在传送到数据处理模块。

数据处理则由芯片AT89C52来完成,其负责把ADC0832传送来的数字量经过一定的数据处理,产生相应的显示码送到显示模块进行显示;此外,它还控制着ADC0832芯片工作。

该系统的数字电压表电路简单,所用的元件较少,成本低,且测量精度和可靠性较高。

此数字电压表可以测量0-5V的1路模拟直流输入电压值,并通过一个LCD1602液晶屏显示出来。

关键词: 单片机;数字电压表;A/D转换;AT89C52;ADC0832目录1 数字电压表的简介 01.1数字电压表简介 01.2数字电压表的的背景与意义 02 设计总体方案 (2)2.1 设计要求 (2)2.2 设计思路 (2)2.3 设计方案 (2)3 硬件电路设计 (4)3.1 A/D转换模块 (4)3.2 单片机系统 (6)3.3 复位电路和时钟电路 (9)3.4 LCD显示系统设计 (10)3.5 总体电路设计 (12)4 程序设计 (13)4.1 程序设计总方案 (13)4.2 系统子程序设计 (13)5 仿真 (15)5.1软件调试 (15)5.2显示结果及误差分析 (15)5.2.1 显示结果 (15)5.2.2 误差分析 (17)结论 (19)参考文献 (20)附录............................................................................................... 错误!未定义书签。

1 数字电压表的简介1.1数字电压表简介在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。

用8255设计LED显示器接口实验

用8255设计LED显示器接口实验

用8255设计LED显示器接口实验本文结合实验教学需要,介绍了用8255设计LED显示器接口实验的过程。

关键词:微机原理及应用;8255;LED;接口“微机原理及应用”是工科类专业的基础课,该课程比较抽象,因此实验教学起着至关重要的作用。

通过实验学生可以对比较抽象的命令、程序、输入输出接口电路加深理解。

现在仍有许多高校使用北京理工达盛科技有限公司的8086实验箱,但由于受到实验条件的限制,往常的做法是在有限的课堂时间内安排一些旨在验证理论知识的实验内容,较少涉及运用理论知识去解决实际问题。

这样的实验教学不利于发挥学生的学习主动性,不利于培养学生解决实际问题的能力。

如何改革传统的实验教学,如何培养学生的实际应用能力,本文举一个实例,需要教师利用现有的条件设计一些综合实验,让学生独立地去解决这些问题,从中培养能力。

希望本文能起到穿针引线的作用。

1设计LED显示器接口实验8086实验指导书显示器接口实验使用的是8279的显示输出功能,实验内容是在6位LED上循环显示8。

8086实验指导书8255并行口实验使用的是8255芯片,读开关量、输出、LED灯显示,实验讲义上都给出了电路原理图以及参考程序,学生往往是照着实验指导书上连接好线路,输入参考程序,进行程序调试。

大部分时间花在了实验的验证上,这样缺乏主动性和创新性,什么都是现成的。

能否在此基础上拓展一下,用8255芯片来实现显示器接口实验,这样既可取代8279,又可加深对8255的理解和使用。

实验任务:使用8255芯片的PA口作为段寄存器,PB口做为位寄存器,使用6位数码管从右向左逐位显示0~G,即显示0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F、G。

连线编程:由学生自己独立连接并独立编程实现,在编程过程中加深对硬件的理解、命令以及涉及的技巧。

2LED 显示器接口实验程序代码code segmentorg 100haa1: mov dx,04a6h ‘8255控制端口地址,大于255用dx做桥梁,小于255直接由端口地址传值mov al,80h ‘8255工作方式控制字out dx,allea bx,data ‘取偏移地址与bx相加aa3: mov ch,0‘显示数字0-------9 ,其中ch内容在变aa4: mov ah,0feh‘即1111 1110 为0时亮,须注意PB0与led接法,灯旋转方向mov si,6‘6个ledaa2: mov al,chxlat ‘查表地址转换指令:=MOV AL,[BX+AL]mov dx,04a0h ‘A口送字形,注意其端口地址out dx,almov al,ahmov dx,04a2h‘B口控制哪一位亮out dx,alrol ah,1 ‘1111 1110 循环左移mov di,0ffffhaa5: dec dijnz aa5 ‘延时,不为0,则decdi ,为0,则dec sidec sijnz aa2 ‘si不为0,则aa2——decsi ,为0,则inc chinc chcmp c h,12‘ch的值从0-18jnz aa4 ‘循环jmp aa3‘又从0开始到Fdata db 3fh,06h,5bh,4fh,66h,6dhdb 7dh,07h,7fh,6fh,77h,7ch,39h,5eh,79h,71h,73h,88h,00hcode endsend aa1说明:在实验教学中如何培养能力?首先设计出较好的题目。

LCD显示实验

LCD显示实验

单片机实验报告班级:姓名:学号:指导教师:实验三 LCD显示实验(2学时)一、实验目的:学习液晶显示的编程方法,了解液晶显示模块的工作原理。

掌握液晶显示模块与单片机的接口方法。

学习和掌握8255扩展通用I/O的方法。

基于扩展I/O口,实现LCD显示器的控制。

二、实验设备:CPU挂箱、8031CPU模块三、实验内容:在掌握8255扩展I/O口的基础上,实现LCD的显示,并显示“中北大学1105064102 姓名”。

四、实验原理说明LCD显示电路点阵式LCD显示电路是在系统板上外挂电正式液晶显示模块,模块的数据线、状态、控制线都通过插孔引出。

可直接与系统相连。

1、OCMJ2×8液晶模块介绍及使用说明OCMJ中文模块系列液晶显示器内含 GB 2312 16*16点阵国标一级简体汉字和ASCII8*8(半高)及8*16(全高)点阵英文字库,用户输入区位码或 ASCII 码即可实现文本显示。

也可用作一般的点阵图形显示器之用。

提供位点阵和字节点阵两种图形显示功能,用户可在指定的屏幕位置上以点为单位或以字节为单位进行图形显示。

完全兼容一般的点阵模块。

OCMJ中文模块系列液晶显示器可以实现汉字、ASCII 码、点阵图形和变化曲线的同屏显示,并可通过字节点阵图形方式造字。

本系列模块具有上/下/左/右移动当前显示屏幕及清除屏幕的命令。

一改传统的使用大量的设置命令进行初始化的方法,OCMJ 中文模块所有的设置初始化工作都是在上电时自动完成的,实现了“即插即用”。

同时保留了一条专用的复位线供用户选择使用,可对工作中的模块进行软件或硬件强制复位。

规划整齐的10个用户接口命令代码,非常容易记忆。

标准用户硬件接口采用REQ/BUSY 握手协议,简单可靠。

硬件接口接口协议为请求/应答(REQ/BUSY)握手方式。

应答BUSY 高电平(BUSY =1)表示 OCMJ 忙于内部处理,不能接收用户命令;BUSY 低电平(BUSY =0)表示 OCMJ 空闲,等待接收用户命令。

数字式电压表的设计(LCD)

数字式电压表的设计(LCD)电子信息工程系1 引言课题的选择的传统的指针式刻度电压表功能单一,精度低,容易引起视差和视觉疲劳,因而不能满足数字化时代的需求。

采用单片机的数字电压表,将连续的模拟量如直流电压转化成不连续的离散的数字形式并加以显示,从而精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC 实时通信。

数字电压表是诸多数字化仪表的核心与基础。

以数字电压表为核心,可以扩展成各种通用数字仪表、专用数字仪表及各种非电量的数字化仪表。

目前,由各种单片机和 A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域。

显示出强大的生命力。

与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新的水平。

因此对数字电压表作全面深入的了解是很有必要的。

2 设计任务及可行性分析2.1 系统设计要求1、可以测量0-5V的8路输入电压值;2、测量结果可在四位LED数码管上轮流显示后单路选择显示;3、测量最小分辨率为0.019V;4、测量误差约为+0.02V;2.2 系统设计思路1、根据设计要求,选择AT89S51单片机作为核心控制器件。

2、 A/D 转换采用ADC0809 实现。

与单片机的接口为 P0 口和 P2 端口的高四位引脚。

3、电压显示采用4 位一体的LED 数码管。

4、 LED 数码管的段码输入,由并行端口 P1 产生;位码输入,由并行端口 P3 低三位产生。

显示模块主控模块A/D转换模块图2.1设计思路框图3 元器件介绍3.1 单片机的选择20世纪80年代以来,单片机的发展非常迅速,就通用单片机而言,世界上一些著名的计算机厂家已投放市场的产品就有50多个系列,数百个品种尽管单片机的品种很多,但是在我国使用最多的还是Intel公司的MCS—51系列单片机和美国Atmel公司的89C52单片机MCS—51系列单片机包括三个基本型8031、8051、87518031内部包括一个8位CPU、128个字节RAM,21个特殊功能寄存器(SFR)、4个8位并行I/O口、1个全双工串行口、2个16位定时器/计数器,但片内无程序存储器,需外扩EPROM芯片。

简易电压表设计方案

简易电压表设计方案设计简介:本设计方案旨在制作一个简易的电压表,能够准确测量直流电压,并且具备整洁美观的外观。

此外,我们还将为电压表添加一个提示灯,用于指示电源是否正常开启。

材料清单:1. 直流电压表模块2. 透明塑料外壳3. 灯泡模块4. 电线5. 开关6. 电源适配器7. 线缆连接器搭建步骤:1. 将直流电压表模块安装在透明塑料外壳的正中央位置。

2. 使用线缆连接器将电源适配器与直流电压表模块连接。

确保连接稳固无松动。

3. 在透明塑料外壳的一侧选取一个合适的位置,用电钻钻一个适配灯泡模块尺寸的孔。

4. 将灯泡模块插入孔内,并使用固定螺丝固定灯泡模块。

5. 连接灯泡模块与电源适配器,确保连接正常。

6. 使用开关连接电源适配器与灯泡模块,确保开关能正常控制灯泡的开关状态。

7. 将透明塑料外壳的上下侧打开合适大小的孔,以方便线缆连接器的使用。

8. 将所有电线组织整齐,并将开关和电源适配器的线缆连接器通过打孔处拉出外壳,接近电压表模块。

9. 确保所有组件稳固连接,开关能正常控制电压表以及灯泡的开关状态。

10. 完成搭建后,仔细检查所有连接,确保电压表和灯泡正常工作,并且外壳整洁美观。

操作方法:1. 将电源适配器插入电源插座,并通过开关控制电源的开启和关闭。

2. 开启电源后,电压表显示器将显示当前的直流电压数值。

3. 如果提示灯亮起,表示电源正常开启,否则表示电源未正常开启或存在故障。

4. 关闭电源时,确保电压表和灯泡都处于关闭状态,以节省能源和延长使用寿命。

维护与注意事项:1. 确保电压表和灯泡处于稳定的工作环境,避免受到剧烈震动或高温等影响。

2. 定期检查电线和连接器的连接状态,如果发现松动或损坏,应及时修复或更换。

3. 避免将液体或金属物品接触到电压表或灯泡模块,以防止短路或损坏。

4. 当不使用电压表时,建议关闭电源以节省能源和确保安全。

5. 如遇到电压表显示不准确或异常情况,应停止使用并寻求专业技术支持或维修。

用AT89S52设计的简易数字电压表的设计

内蒙古大学本科毕业论文(设计)简易数字电压表的设计摘要直流电压表在常生活中经常要用到,不管是家用电器的维修还是在电池电压的检测中的都是重要电压测量工具。

目前市面上的电压表按原理分为两类,一类是机械电压表,另一类则是数字电压表。

本文针对市面上数字电压表测量的精度不高,测量时间久,反应慢等问题,提出了一种设计高精度电压表的方案。

本设计主要采用AT89S52单片机为主要控制芯片,电压测量则采用目前市场上成本低并容易购买到的模拟数字转换芯片ADC0809。

本设计电压测量精度为19mv,并且有测量速度快、显示稳定等特点,每100MS测量一次,并对测量数据做平均处理。

本设计显示器方面采用了低功耗的液晶显示器lcd1602显示测量电压,此外设计还具有元器件数目较少,成本低等特点。

本设计重要对直流数字电压表的设计原理、制作方法进行讲解,并提出数字直流电压表的今天的改进思路。

关键词:AT89S52,数字电压表,ADC0809,液晶显示The Design Of Simple Digital VoltmeterAuthr : Hong yanTutor:Wang JunlinAbstractVoltage is an important tool in the detection of maintenance and circuit. Currently on the market according to the principle of the voltage meter is divided into two categories, one is mechanical voltage meter, the other is a digital voltage meter. In this paper, aiming at the digital voltage meter measuring accuracy is not high, the measurement time is long, slow response and so on,this paper puts forward a design scheme of high precision voltage meter.This design is the use of AT89S52 MCU with ADC0809 analog digital converter to design a high precision, digital voltage meter measuring speed. The voltage meter can measure DC voltage between 0 - 5V value, accuracy to three digits after the decimal point, measure the voltage time up to 100MS. The design of display using liquid crystal display LCD1602 low power consumption display measuring voltage, in addition to the design also has fewer components, low cost. This paper focused on the digital voltage meter design principle and ideas for its improvement.Keywords: AT89S52, digital voltage meter, ADC0809, liquid crystal display1 引言 (5)2 设计总体方案 (6)2.1设计要求 (6)2.2 设计思路 (6)2.3 设计方案 (6)3 硬件电路设计 (8)3.1 A/D转换模块 (8)3.1.1 逐次逼近转换原理 (8)3.1.2 ADC0809 主要特性 (9)3.1.3 ADC0809的外部引脚特征 (9)3.1.4 ADC0809的内部结构及工作流程 (11)3.2 单片机系统 (12)3.2.1 AT89S52性能 (12)3.2.2 AT89S52各引脚功能 (13)3.3 复位电路和时钟电路 (14)3.3.1 复位电路设计 (14)3.3.2 时钟电路设计 (15)3.4 液晶显示系统设计 (16)3.4.1 LCD1602液晶基本概述 (16)3.4.2 LCD1602显示器的参数说明 (16)3.4.3 LCD1602控制指令及时序 (18)3.4.4 单片机最小系统与液晶显示器 (20)3.5 电压表电路设计 (21)3.5.1 总体电路仿真设计 (21)3.5.2总体电路的原理图与PCB设计 (22)4 程序设计 (24)4.1 程序设计总方案 (24)4.2 系统子程序设计 (24)4.2.1 初始化程序 (24)4.2.2 A/D转换子程序 (24)4.2.3 LCD1602显示子程序 (26)5.1 软件调试 (28)5.2 显示结果及误差分析 (28)5.2.1 显示结果 (28)5.2.2 误差分析 (29)结论 (31)致谢 (32)参考文献 (33)附录1程序代码 (34)附录2实物图 (35)1 引言频率、电流和电压是在日常电量测量中经常要用到的基本电量,这三个量当中电压的测量在电路检测等方面最常使用。

[转载]基于8255的LCD动态显示器设计

基于8255的LCD动态显示器设计一、设计要求能够学会利用Proteus软件的MCS51单片机仿真学习,根据提供的参考工程,在proteus平台自己重新设计实验电路所需要的电气原理图,并在此基础上编写相对应的程序,实现其功能,学习proteus软件的使用,其中包括原理图器件的选取、原理图的电气连接、程序的编写编译以及运行,并能查出其错误等。

二、实验内容设计一基于8255的LCD动态显示器三、实验要求1.用数码管或LCD正常显示数字“12345678”。

2.通过按键可改变显示方式。

3.设计显示屏的动态效果,用10个按键,每键对应一种滚动技术。

另注,实验发挥部分:1.设计所有动作的联合效果。

2.设计二个变速按键,可多级改变滚动速度。

3.设计一台魔术电子种,采用自动变换,随机组合,数据每10秒变换一次。

动态显示格式:1.静止2.整体闪烁3.单字闪烁4.整体向前、向后滚动5.单字移动6.两边向中间压缩7.中间向两边扩张8.上下压缩9.文字上下滚动10.组合动作(每一字符执行上述一个动作,并同时运动)四、实验过程本次课程设计是在理论课程的基础上,目的在于培养我们的动手能力,通过电路设计、理论计算、实际编程、调试、测试、分析查找故障,解决在实际设计中的问题,使设计好的电路能正常工作,并可能结合实际的实验板进行下载测试。

在此基础上根据实验大纲的要求,我们以两人一组的形式在“51单片机课程设计选题表”中任选一空(各组间不能重题),实现其功能。

鉴于我们组对于8255通用可编程器件的了解,我们选择基于8255的LCD显示的动态显示器设计这一课题。

在考虑本次设计过程中,依据设计基本要求,并且基于8255通用可编程器件等条件,我们把8255器件用来扩展I/O口,以备外接一4X4键盘,以满足通过10个按键来控制10种动态显示,以及通过该I/O口外接一LCD显示器(当然,实验中我们发现不用8255扩展I/O口,单片机AT89C51的四个I/O端口已能满足该实验需要)。

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