基于8255的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的开关状态显示实验
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设计的键盘及显示接口图中用并行接口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;接口“微机原理及应用”是工科类专业的基础课,该课程比较抽象,因此实验教学起着至关重要的作用。
通过实验学生可以对比较抽象的命令、程序、输入输出接口电路加深理解。
现在仍有许多高校使用北京理工达盛科技有限公司的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显示实验(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端口已能满足该实验需要)。
实验名称基于8255的LED显示函数信号发生器设计课题内容和要求基本要求
实验名称:基于8255的LED显示函数信号发生器设计一、课题内容和要求基本要求:1.用存储器或算法得到信源。
2.用DA转换器输出一函数信号(正弦、方波、三角、锯齿等,频率1000Hz)3.用数码管或LCD上将输出参数显示4.用功能键切换各信号的输出。
发挥部分:1.通过键盘,可修改输出信号的频率。
每按一次键,频率值进给或后退100Hz,频率范围100Hz~1500Hz2.按键时,蜂鸣器发出提示音,表示按键有效3.数码管或LCD显示的内容可以用频率值和周期值切换表示,周期值精确到0.01ms 动态显示格式:自定二、总体设计利用AT89S52单片机采用查表或算法产生三角波、正弦波和方波三种波形,再通过D/A 转换器DAC0832将数字信号转换成模拟信号,最终由示波器显示出来,通过键盘来控制三种波形的类型选择、频率变化,最终输出显示各自的频率或者周期值。
三、单元设计1.键盘扫描部分矩阵键盘电路硬件图:实验中采用8255的PA口和PC口的低四位进行键盘扫描,行由8255的PA0~PA3端口控制,列由8255的PC0~PC3端口控制,其中PA口工作在输出方式,PB口工作在输入方式。
当PA0~PA3中一个口输出低电平时,对应的行线上的电平就为0,这是当有键按下时对应的列线上就变为低电平,这时PC口上对应位就可以检测到低电平从而判断是哪个键按下。
键盘扫描流程图:第二行判断键盘扫描程序如下:SCAN:MOV DPTR,#1FFCH;PA口地址MOV A,#00HMOVX @DPTR,A; PA0~PA3输出低电平 INC DPTR;DPTR指向PC口MOVX A,@DPTR;读PC口的值ANL A,#0FH;屏蔽无用位CJNE A,#0FH,DETAIL;判断是否有低电平ACALL DELAY1;延时ACALL DELAY1AJMP SCAN;无键按下则继续扫描DETAIL:ACALL DELAY1;消抖动ACALL DELAY1MOV DPTR,#1FFCH;再判断是否有键按下MOV A,#00HMOVX @DPTR,AINC DPTRINC DPTRMOVX A,@DPTRANL A,#0FHCJNE A,#0FH,CONTINUE;有键按下则做进一步的判断 AJMP SCAN;无键按下继续扫描CONTINUE:CLR EA;有键按下驱动蜂鸣器SETB P1.7ACALL DELAY2CLR P1.7SETB EAMOV R4,#02H;扫描行数送入R4中MOV A,#0FEHLINE:MOV DPTR,#1FFCHMOV R2,A;行号送R2MOVX @DPTR,A;置PA0为低电平INC DPTRMOVX A,@DPTRANL A,#0FHCJNE A,#0FH,FIND;判断第一行是否有键按下MOV A,R2RL ADJNZ R4,LINESJMP SCAN;无键按下继续扫描FIND:MOV R3,A列号存入R3中MOV A,R2CJNE A,#0FEH,LINE2;判断是否是第一行有键按下LINE1:MOV A,R3;第一行有键按下CJNE A,#0EH,L1R2;判断是哪个按键按下L1R1:MOV R0,#01H;有波形键按下键按下MOV R1,#01H;波形标志1MOV R7,#00HCLR TR1CLR TR0SETB TR0SJMP SCANL1R2:CJNE A,#0DH,L1R3MOV R0,#01H;有波形键按下键按下MOV R1,#02H;方波标志MOV R7,#00HCLR TR0CLR TR1SETB TR1SJMP SCANL1R3:MOV R0,#01H;有波形键按下键按下MOV R1,#03H;三角波标志MOV R7,#00HCLR TR1CLR TR0SETB TR0AJMP SCANLINE2:MOV A,R3;第二行有键按下CJNE A,#0EH,L2R2L2R1:CJNE R0,#01H,NONE1;有波形时才能进行频率增减操作CJNE R6,#00H,START1;没有减到最小频率值时继续减否则减频操作失败 AJMP NONE1START1:DEC R6;减频MOV A,R6MOV DPTR,#TABLE3MOVC A,@A+DPTRMOV TH0,A;重置计数初值NONE1:AJMP DISPLAYL2R2:CJNE A,#0DH,L2R3CJNE R0,#01H,NONE2;有波形时才能进行频率增减操作CJNE R6,#0EH,START2;没有增到最大频率值时继续增否则增频操作失败 AJMP NONE2START2:INC R6;增频MOV A,R6MOV DPTR,#TABLE3MOVC A,@A+DPTRMOV TH0,A;重置计数初值NONE2:AJMP DISPLAYL2R3:CJNE A,#0BH,L2R4;显示波形周期值MOV F,#01HAJMP DISPLAYL2R4:MOV F,#00H;显示波形频率值AJMP DISPLAY2.显示部分显示部分硬件图:开发板上设置了6位8段数码管,采用动态扫描方式连接,各位数码管的A~DP互联后经拨码开关S1后由P0口控制,数码管的COM分别经拨码开关S2后由P10~P15控制。
简易电压表设计方案
简易电压表设计方案
简易电压表设计方案
电压表是用来测量电路中的电压的一种仪器。
在设计简易电压表时,需要考虑到测量的范围、精度、显示方式等因素。
以下是一个简易电压表的设计方案。
1. 整体设计思路:
本设计方案采用模拟电路设计,通过简单的电路实现电压的测量和显示。
主要由测量电路和显示电路组成。
2. 测量电路设计:
测量电路是用来将输入电压转换为可测量的电信号。
测量电路主要由电阻和操作放大器组成。
首先选择一个合适的电阻,用来将输入电压经过分压,使之在测量范围内。
然后通过一个操作放大器来放大电压信号,以便能够驱动后续的显示电路。
操作放大器的放大倍数可以通过调整反馈电阻来实现。
3. 显示电路设计:
显示电路是用来将测量的电信号转换为人们可以直观看到的显示结果。
本设计方案采用数码管显示方式。
在显示电路中,电信号经过一个电压比较器,将其与参考电压进行比较,以确定数字管是否显示。
然后通过一个译码器,将数字信号转换为驱动数码管的控制信号,显示测量结果。
4. 电源电路设计:
电源电路是用来为整个电压表提供电源的。
本设计方案采用直流电源。
根据需要选择一个适当的电源电压。
然后通过一个稳压电路,将电源电压稳定在所需电压值,以确保整个电压表的正常工作。
5. 其他功能:
设计中还可以考虑一些其他功能,如测量电压极性的功能,过载保护功能等。
总结:
通过以上的设计方案,可以实现一个简易的电压表。
设计过程中需要注意选择合适的元器件,进行充分的测试和调试,以确保电压表的稳定性和准确性。
简易电压表设计
目录一、设计任务 (2)二、总体方案 (2)三、原理框图 (3)四、系统模块详细设计与调试 (4)五、设计总结 (8)六、参考文献 (9)七、附件材料 (9)简易电压表设计一、设计任务1、课程设计要求(1)、设计一硬件电路并编制相应的程序,使其能将输入的0-5V的电压模拟量转换成数字量并在液晶屏上显示。
2、设计内容(1)、ADC0809是逐次逼近型A/D转换器,具有较好的精度和速度,其采集结果为8位二进制数,每采集一次需100us。
设计程序可采用查询方式读入A/D转换结果,也可以采用中断方式读入结果,在中断方式下,A/D转换后会自动产生EOC信号,将其与8259的中断输入端相接即可。
电压模拟量可由实验箱上的电位器提供,电压范围0-5V,(2)、实验箱上提供了一个122*32的液晶屏,其内置控制器由两片SED1520组成,由两个片选信号分别选通,一控制屏的左右两半。
其控制方式为直接访问方式,也就是将液晶显示模块的接口作为I/O设备直接挂在计算机总线上,由CPU直接对其进行写操作。
二、设计思路应将采样得到的8位二进制数(0-FFH)转换成(0-1F4H,及十进制数0-500,用于显示电压0.00-5.00),再将扩展后的数据转换为三位BCD码。
根据每位BCD码计算出相应的图形字模地址,并取出字模列数据输出到显示屏。
为清晰显示采样结果,字模可采用16*16点阵字符。
参考主流程图如下三、原理框图四.系统模块详细设计与调试1.程序如下MODE EQU 082H ;8255工作方式PORTA EQU 09000H ;8255PA口输出地址PORTB EQU 09001HPORTC EQU 09002HCONTROL EQU 09003HCS0809 EQU 08000HICW1 EQU 00010011B ;单片8259,上升沿中断,要写ICW4 ICW2 EQU 40H ;中断号为40HICW4 EQU 00000001B ;工作在8086/88方式OCW1 EQU 11111110B ;只响应INT0中断CS8259A EQU 0A000H ;8259地址CS8259B EQU 0A001HDA TA SEGMENTNUM DB 3 DUP(?)LEDMAP: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB 7FH,6FH,77H,7CH,39H,5EH,79H,71HDA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATADELAY PROC NEAR ;延时PUSH BXPUSH CXMOV BX,0MOV CX,08FFHA1: INC BXLOOP A1POP CXPOP BXRETDELAY ENDPXS PROC NEARMOV DX,PORTAOUT DX,AL ; 给8255置高位数MOV DX,PORTCMOV AL,AHOUT DX,AL ; 选通数码管高位信号CALL DELAYMOV AX,0MOV DI,OFFSET LEDMAPRETXS ENDPIENTER PROC NEARPUSH AXPUSH DXMOV DX,CS0809IN AL,DXLED: MOV BL,0C4H ;5/256*10000=196=C4HMUL BL ;转换电压值(是实际值的10000倍)PUSH AX ;保存电压值MOV BX,0001HPOP AXMUL BX ;将电压值扩成32位MOV SI,OFFSET NUM ;指向第一个数字MOV BX,064HDIV BX ;将电压值扩成一百倍,存于AX中DIV BL ;除100后得整数位存于AL中MOV [SI],ALMOV AL,AHMOV AH,00HMOV BL,0AHDIV BL ;除10后,AL中得第一位小数,AH中得第二位小数MOV [SI+1],ALMOV [SI+2],AHMOV DI,OFFSET LEDMAP ;指向数码管代码0MOV AL,0MOV DX,PORTCOUT DX,AL ; 关闭所有数码管MOV AL,[SI]MOV AH,00HADD DI,AXMOV AL,[DI]ADD AL,80H ;整数位将首位置1,显示小数点MOV AH,00000001BCALL XSMOV AL,[SI+1]AND AL,0FHADD DI,AXMOV AL,[DI]MOV AH,00000010BCALL XS ;显示第二位MOV AL,[SI+2]AND AL,0FHADD DI,AXMOV AL,[DI]MOV AH,00000100BCALL XS ;显示第三位MOV DX,CS0809MOV AL,0OUT DX,ALMOV DX,CS8259AXOR AX,AXMOV AL,20H ;中断服务程序结束指令OUT DX,ALPOP DXPOP AXIRETIENTER ENDPIINIT PROC NEARMOV DX,CS8259AMOV AL,ICW1OUT DX,ALMOV DX,CS8259BMOV AL,ICW2OUT DX,ALMOV AL,ICW4OUT DX,ALMOV AL,OCW1OUT DX,ALRETIINIT ENDPSTART PROC NEARMOV DX,CONTROLMOV AL,MODEOUT DX,ALCLIMOV AX,0MOV DS,AXMOV BX,4*ICW2MOV AX,CODESHL AX,4ADD AX,OFFSET IENTER ;设置中断入口地址MOV [BX],AXMOV AX,0INC BXINC BXMOV [BX],AXCALL IINITMOV AX,DATAMOV DS,AXMOV AL,0MOV DX,CS0809OUT DX,AL ;启动模/数转换芯片STILP: NOPJMP LPSTART ENDPCODE ENDSEND START2.上机调试利用WAVE6000系统调试程序(1)程序输入在WAVE6000系统环境下将上述程序输入计算机(2)连接电路打开试验箱,在未通电源的情况下,按照设计的硬件电路原理图连接线路,并检查是否有误。
基于8255的LCD显示简易电压表设计
AU瑯唸上唆2013/2014学年第一学期课程设计II 实验报告模块名称关于51单片机设计(proteus)专业通信工程学生班级学生学号学生姓名指导教师报告内容第一部分实验目的与要求本课程设计就是在理论课程的基础上,重点培养学生的动手能力,通过理论计算、实际编程、调试、测试、分析查找故障,解决在实际设计中的问题,使设计好的电路能正常工作,为下一部结合实际的硬件系统设计准备条件。
实验要求:数字电压表(AC/DC)设计基本要求:了解电压表的工作原理。
设计一个直流电压测量器,测量范围0、01V-3V,用LED数码管/LCD屏显示测量值,显示精度0、001用键盘选择测量范围(分档)发挥部分:交流电压测量,被测频率1KHz-10KHz (0、1-3V)考虑交流测量的附加电路。
显示格式:LED 数码管/LCD屏显示参数基于8255 口就是指显示与键盘都由8255的10 口控制根据提供的参考工程,在proteus平台自己重新画出实验所需要的电气原理图,并在此基础上编写相对应的程序,实现其功能,学习proteus软件的使用,其中包括原理图器件的选取、原理图的电气连接、程序的编写编译以及运行,并能查出其错误等。
第二部分实验工具及实验器件1. Proteus 软件Proteus 就是英国Labcenter 公司开发的电路及单片机系统设计与仿真软件。
Proteus 可以实现数字电路、模拟电路及微控制器系统与外设的混合电路系统的电路仿真、软件仿真、系统协同仿真与PCB设计等功能。
Proteus就是目前唯一能对各种处理器进行实时仿真、调试与测试的EDA工具,真正实现了在没有目标原型时就可对系统进行调试、测试与验证。
Proteus 软件大大提高了企业的产品开发效率,降低了开发风险。
由于Proteus 软件逼真、真实的协同仿真功能,它也特别适合于作为配合单片机课堂教学与实验的学习工具。
Proteus 软件提供了30多个元器件库、7000余种元器件。
基于8255的8LED显示电子码表设计
通达学院实验报告(2010/2011学年第一学期)题目:基于8255的8LED显示电子码表设计专业通信工程学生姓名班级学号授课教师林建中授课单位南京邮电大学日期2011年11月目录第一部分实验目的及要求:...................................................... 错误!未定义书签。
1.实验目的 ......................................................................... 错误!未定义书签。
2. 实验要求 ........................................................................ 错误!未定义书签。
第二部分实验工具及实验器件.................................................. 错误!未定义书签。
1.Proteus7.4以及Keil 2软件的使用 ................................ 错误!未定义书签。
2.51单片机AT89c51。
..................................................... 错误!未定义书签。
3.SRAM芯片6264.............................................................. 错误!未定义书签。
4.6264的操作方式 ............................................................ 错误!未定义书签。
5.可编程并行I/O接口芯片8255 A .................................. 错误!未定义书签。
6.74HC373 锁存器............................................................. 错误!未定义书签。
51单片机软件设计基于8255的LCD存储示波器
目录第一部分实验目的及要求 (4)1. 实验目的 (4)2. 实验要求 (4)第二部分实验工具及实验器件 (5)1.Protues7.7以及Keil2软件的使用 (5)2.51单片机AT89c51 (5)3.模数转换芯片ADC0804 (7)4.数模转换芯片DAC0832 (10)5.SRAM芯片6264 (12)6.可编程并行I/O接口芯片8155H (14)7.74LS373锁存器 (15)8.LCDLM016L (16)第三部分实验原理及程序代码 (17)第四部分实验测试结果 (31)第五部分实验小结和体会 (34)第一部分实验目的和要求1、实验目的:本课程设计是在理论课程的基础上,重点培养学生的动手能力,通过理论计算、实际编程、调试、测试、分析查找故障,解决在实际设计中的问题,使设计好的电路能正常工作,为下一部结合实际的硬件系统设计准备条件。
2、实验要求:基本要求:1)用AD转换器采集输入信号,存入SRAM(例6264)芯片中,2)进行DA转换后回放SRAM中的数据,通过模拟示波器显示。
3)利用键盘控制单步和连续慢放信号波形。
4)波形参数可以用数值或图形在数码管或LCD上显示,或者可以结合示波器进行图形回放显示。
发挥部分:1)对采样数据平滑滤波处理,2)对波形回放(图形)的时间缩放调节。
3)对回放波形(图形)的幅度缩放调节。
第二部分实验工具及实验器件1.Proteus7.7以及Keil 2软件的使用Proteus软件是英国Labcenter electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。
它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。
它是目前最好的仿真单片机及外围器件的工具。
虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。
Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。
实验五 LCD显示实验
实验五LCD显示实验一、实验目的掌握点阵式LCD的工作原理、使用方法以及动态显示的编程方法。
二、实验内容编程在液晶屏上显示汉字“南昌理工学院机电工程学院”。
三、实验设备仪器8086微机原理实验箱清华同方电脑四、实验原理介绍LCD显示原理见硬件介绍部分。
用8255的A口作为数据口,C口的PC0、PC7作为握手信号。
五、实验步骤与分析1、实验接线:CS0↔CS8255,PA0~PA7↔DB0~DB7,PC0↔REQ,PC7↔BUSY2、编辑调试程序3、全速运行程序分析1、8255的端口地址偶地址有效2、8255的PC口可通过指令进行位操作。
六、实验程序框图(实验程序名:LCD.asm)程序代码:;=============================================== ;箱86液晶显示;CS0接CS8255,DB0-DB7接PA0-PA7,BUSY接PC7,REQ接PC0 assume cs:codecode segment publicorg 100h;=============================================== start: mov dx, 04a6hmov ax, 88hout dx, axmov ax, 70hout dx, axmov al, 0f4hcall comdcall delaystart1: mov si,offset[table]mov cx, 60wr1: mov dx, 04a4hin ax, dxand ax, 80hjnz wr1mov al, [si]call comdinc siloop wr1call delayok: jmp start1;=============================================== delay: mov cx,1000hdlyb: loop dlybret;=============================================== comd: mov dx, 04a0hout dx, almov dx, 04a6hmov ax, 71hout dx, axmon: mov dx, 04a4hin ax, dxand ax, 80hjz monmov dx, 04a6hmov ax, 70hout dx ,axret;===============================================table: DB 0F0H,01D,00D,36D,47D,0F0H,02D,00D,18D,93DDB 0F0H,03D,00D,32D,77D,0F0H,04D,00D,25D,04DDB 0F0H,05D,00D,49D,07D,0F0H,06D,00D,52D,26DDB 0F0H,01D,01D,27D,90D,0F0H,02D,01D,21D,71DDB 0F0H,03D,01D,25D,04D,0F0H,04D,01D,19D,44DDB 0F0H,05D,01D,49D,07D,0F0H,06D,01D,52D,26Dcode endsend start八、实验结果液晶屏上显示汉字“南昌理工学院机电工程学院”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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。