片机及LCD控制程序示例.ppt
1,单片微机控制技术 2010/12/27 课程总结(习题参考答案)【习题二】一、8051、8751、8031向我们提供了哪些资源?它们均具有8位CPU、4个并行I/O口、2个T/C、1个全双工的串行口、5个中断源、21个SFR、128个字节RAM。8051内部有4KROM程序存储器;8751内部有4KEPROM程序存储器;8031内部外接EPROM程序存储器。它们均可以构成一个完整的8位计算机。,2,二、单片机有哪几种辅助电路?上电复位电路和开关复位组合电路单片机的时钟电路内/外时钟电路,3,三、为什么要用地址锁存器?常用的地址锁存器有哪些?由于MCS-51单片机的P0口是分时复用的地址/数据总线,因此在进行程序存储存扩展时,又须利用地址锁存器将地址信号从地址/数据总线中分离出来。通常用作单片机地址锁存的芯片有两类,一类是8D触发器,如74LS272、74LS377等,另一类是8位锁存器,如741S373、8282等。,4,四、画出MCS-51单片机的片外总线结构电路,5,五、MCS-51的特殊地址有那几个?0000H 系统复位入口地址0003H 外部中断0入口地址000BH 定时器/计数器T0中断入口地址0013H 外部中断1入口地址001BH 定时器/计数器T0中断入口地址0023H 串行口中断地址,6,六、MCS-51的专用指针?DPTR 外部数据存储器地址指针 R0、R1 外/内部数据存储器地址低8位指针SP 堆栈地址指针PC 程序存储器地址指针,7,七、关于定时器我们应该掌握:MCS-51有几个定时器/计数器?MCS-51有2个定时器/计数器T0和T1在单片微机控制系统中为什么要使用它们?在单片微机控制系统中,常要求一些外部实时时钟,以实现定时或延时;也常要求有一些外部计数器,以实现对外部事件进行计数。T0/T1是几位的计数器/定时器?T0/T1是16位的计数器/定时器,通过编程的方式可以用来设定为定时器或者为计数器。,8,与计数器/定时器相关的特殊功能寄存器有哪几个?工作方式控制寄存器、定时器控制寄存器、计数器/定时器本质区别是什么?计数器/定时器的基本核心是一个加1计数器 加1计数器的脉冲有两个来源,一个是外部脉冲源,另一个是内部的时钟振荡器。*定时器 对内部的时钟振荡器标准脉冲计数*计数器 对外部脉冲计数,9,八、MCS-51单片机应用系统中的地址译码的规则是什么?1程序存储器与数据存储器地址重叠使用;2外围扩展芯片与数据存储器统一编址。它不仅占用数据存储器地址单元,而且使用数据存储器的读写控制信号与读写指令;3地址总线宽度为16位,片外程序存储器与数据存储器可直按寻址范围各为64k字节。P2口提供高8位地址(A8A15),P0口经外部锁存后提供低八位地址(A0A7)。,10,九、地址译码有哪几种?由于外围芯片与数据存储器统一编码,因此,单片机的硬件设计中,数据存储器与外围芯片的地址译码较为复杂。通常采用线选法和全地址译码方法。十、地址的书写原则是什么?地址选择译码中未用到的地址位均设成“1”状态(如6116、8255等),将它们推向高位,也可设成“0“状态如(2716)。只有一片程序存赌器,则将其片选端接地即可。但是,对于I/O接口芯片和数据存储器,在地址选择码中未用到的地址位均添“1”以免引起错误。,11,【习题三】一、计算机为什么需要I/O接口电路?(1)外部设备的工作速度快慢差异很大 慢速设备如开关、继电器、机械传感器等。每秒钟提供不了一个数据;而高速设备如磁盘、CRT显示器等,每秒可传送几千位数据。面对速度差异如此之大的各类外部设备,CPU无法按固定的时序与他们以同步方式协调工作。(2)外部设备种类繁多 既有机械式的,又有机电式的。不同种类的外部设备之间性能各异对数据传送的要求也各有不同,无法按统一格式进行。,12,(3)外部设备的数据信号多种多样 既有电压信号,也有电流信号,既有数字形式,还有模拟形式。(4)外设和数据传送距离有远近不同 因此有的使用并行数据传送,而有的则需要使用串行传送方式。正是由于上述原因,使数据的I/O操作变得十分复杂。无法实现外部设备与CPU进行直接的同步数据传送,而必须在CPU和外设之间设置一个接口电路,通过接口电路对CPU与外设之间的数据传送进行协调,因此接口电路就成了数据I/O操作的核心内容。,13,二、接口电路主要有几项功能?速度协调 数据锁存 三态缓冲 数据转换三、I/O扩展方法有哪几种?总线扩展方法串行口扩展方法通过单片机内I/O的扩展方法,14,四、为什么需要数据总线隔离技术?站在总线的角度上看,数据总线上连接着多个数据源设备(输入数据)和多个数据负载设备(输出数据)。但是在任一时刻、只能进行一个源和一个负载之间的数据传送,当一对源和负载的数据传送正在进行时,要求所有其它不参与的设备在电性能上必须同数据总线隔开。,15,五、I/O数据传送的控制方式有哪几种?无条件送方式程序查询方式程序中断方式六、MCS-51单片机的并行接口的功能?P0口数据/地址总线P2口地址总线P3口双功能口P1口用户I/O口用于计算机三总线扩展和少量I/O口应用场合。,16,七、试设计一交通灯控制系统设计要求:东西方向 南北方向 P1.0红灯 P1.3 红灯P1.1黄灯 P1.4 黄灯 P1.2绿灯 P1.5 绿灯编码 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 21H 1 0 0 0 0 1南北通行11H 0 1 0 0 0 1双向暂停0CH 0 0 1 1 0 0东西通行0AH 0 0 1 0 1 0双向暂停间隔时间 20S,17,【习题四】一、定时器工作方式的如何选择?定时器有4种工作方式,选择哪一种,首先要看这几种工作方式所允许的最大时间间隔。当时钟为6MHz时,一个机器周期为2s由于定时器是对机器周期计数的,所以:8位定时器最大定时间隔=282S=512s13位定时器最大定时间隔=2132S=16.384ms16位定时器最大定时间隔=2162S=131.07ms,18,二、怎样实现较长时间的定时?对于较长的定时间隔应采取复合的办法另一种方法解决:用T1作定时器,用软件对定时时间到计数,这样可节省一个定时器作其它用。,19,三、定时器/计数器的编程要点是什么?(查询方式)的计数,我们可以将定时器/计数器的编程要点概括如下:确定方式控制字 MOV TMOD,#DATA 予置时或计数初值 MOV THX,#DATAH MOV TLX,#DATAL 启动定时/计数器工作 SETB TRX 查询 WAIT:JBC TFX NEXT SJMP WAIT 重新装入定时/计数初值 NEXT:MOV THX,#DATAH MOV TLX,#DATAL,20,四、试设计一个占空比可调的脉冲发生器 设计要求:单片机最小系统周期为1S占空比可调1、2、3.9%提示:采用BCD码拨盘设定占空比,21,习题五一、显示器/键盘在单片机应用系统中的作用是什么?具有人机对话功能。实现人对应用系统的状态干预和数据输入以及应用系统向人报告运行和运行结果。二、在单片机系统中,常用的显示器有哪几种?发光二极管显示器,简称LED(Light Emitting Diode);液晶显示器,简称LCD(Liquid Crystal Display);荧光管显示器,简称CRT。三、LED显示器的显示字符条件是什么?要使LED显示器显示出字符,必须提供段选码和位选码。段造码(即字码)可以用硬件译码的方法获得,也可以用软件的方法获得。位选码 静态显示和动态显示。,22,四、LED动态显子程序设计要点是什么?建立显示数据缓冲区存放待显示数字、字符在字型编码表中的序号;软件译码利用查表方法获得字型编码(段选码);位扫描输出采用移位方法逐位点亮LED显示器;延时子程序控制点亮时间和时间间隔。五、试设计显示“HAPPY-99”的显示主程序(硬件电路/显示子程序DIR给定)六、行列式键盘的编成要点是什么?(1)判断键盘上有无键按下 列输出全,读行输入状态,若状态为全,则说明键盘无键按下;若不全为,则说明键盘有按下。(2)消除按键抖动的影响 在判断有键按下后,用软件延时的方法(延时1ms),再判断键盘状态,如果仍为有键按下状态,则认为有一个确定的键按下,否则当作按键抖动处理。(3)求按键位置用扫描的方法识别闭合键N所在的行号X和列号Y,并根据:以下公式计算闭合键的键号 N=X行首键号+列号Y。(4)键闭合一次仅进行一次按键处理方法是等待按键释放之后,再进行按键功能的处理操作。,23,七、试设计键盘/显示主程序通常显示HEL-99若按数字键,则由右三向左移显示相关数字。MAIN:MOV SP,#60H;设堆栈指针 MOV DPTR,#7F00H;初始化 MOV A,#03H;编程为PA口 MOVX DPTR,A;PB口输出,PC口输入 MOV R0,#39H;设显示缓冲区地 址指针 MOV R0,#10H;H INC R0 MOV R0,#0EH;E INC R0 MOV R0,#11H;L INC R0 MOV R0,#12H;INC R0 MOV R0,#09H;INC R0 MOV R0,#08H;,24,BML0:LCALL DIR;调用显示子程序 LCALL KEY;调用键盘子程序 JB ACC.4,BML0;判是否为数字键0f MOV 3EH,3DH;是数字键则移入显示缓冲器 MOV 3DH,3CH MOV 3CH,3BH MOV 3BH,39H MOV 39H,A SJMP IBML0 通常显示“HEL-99”若按数字键,则由右向左移显示相关数字,若是功能键,则转向功能程序。LCALL IDIR;调用显示子程序START:LCALL KEY;调用键盘子程序 JB ACC.4,BML2;判是否为数字键0f MOV 3EH,3DH;是数字键则移入显示缓冲器 MOV 3DH,3CH MOV 3CH,3BH MOV 3BH,39H MOV 39H,A SJMP START,25,BML2:CLR C SUBB A,#0FH MOV DPTR,#TABLE RL A JMP A+DPTRTABLE:AJMP PM0 AJMP PM1 AJMP PM2 AJMP PM3。AJMP PM15,26,PM0:。;功能0程序 AJMP STARTPM1:。;功能1程序 AJMP START PM2:。;功能2程序 AJMP STARTPM3:。;功能3程序 AJMP START。PM15:。;功能15程序 AJMP START,27,习题六一、简述DA的转换器的主要技术指标 1分辨率 这里指最小输出电压(对应的输入数字量只有最低有效位为“1”)与最大输出电压(对应的数字输出信号所有有效位全为“1”)之比,例如对于10 位DA转换器,其分辨率为:0.00012转换精度 转换精度以最大的静态转换误差的形式给出。这个转换误差应该是非线性误差、比例系数误差以及漂移误差等综合误差。但是有的产品说明中,只是分别给出各项误差,而不给出综合误差。应该注意,精度和分辨率是两个不同的概念。精度是指转换后所得的实际值对于理想值的接近程度,而分辨率是指能够对转换结果以后影响的最小输入量,对于分辨率很高的D/A转换器并不一定具有很高的精度,28,3建立时间 所谓建立时间,系指数模拟转换器中的输入代码有满度值的变化时,其输出模拟信号电压(或模拟信号电流)达到满刻度值士1/2LSB(或满刻度值差百分之多少)时所需的时间。二、说出DA转换器选择要点*在性能上必须满足DA转换的要求;*在结构和应用特性上应满足接口方便、外围电路简单、价格低廉等要求。三、指出DA转换芯片的主要结构特性(1)数字输入特性 数字输入特性包括接收数的码制、数据格式以及逻辑电平等。目前批量生产的DA转换芯片一般都只能接收自然二进制数字代码。,29,(2)数字输出特性 目前多数D/A转换器件均属电流输出器件,手册上通常给出的输入参考电压及参考电阻之下的满码(全l)输出电流I0。另外还给出最大输出短路电流以及输出电压允许范围。(3)锁存特性及转换控制 D/A转换器对数字量输出是否具有锁存功能将直接影响与CPU的接口设计。如果D/A转换器没有输入锁存器,通过CPU数据总线传送数字量时,必须外加锁存器,否则只能通过具有输出锁存功能的IO给D/A送入数字量(4)参考源 D/A转换中,参考电压源是唯一影响输出结果的模拟参量,是D/A转换接口中的重要电路,对接口电路的工作性能、电路的结构有很大影响,30,四、DA转换器模拟输出电压的极性 DA转换器件的输出模拟电压Vo,都可以表达成为输入数字量D(数字代码)和模拟参考电压VR的乘积。二进制代码D可以表示为:目前绝大多数DA输出的模拟量均为电流量,这个电流量要通过一个反相输入的运算放大器才能转换成模拟电压输出,如图 所示,31,五、DAC0832有哪些特点?由哪几种电路组成?这个系列的芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到了广泛的应用 这类DA转换器由8位输入锁存器、8位DAC寄存器、八位DA转换电路及转换控制电路构成。六、DAC0832主要特性参数有哪些?分辨率为8位;电流稳定时间1us;可单缓冲、双缓冲或直接数字输入;只需在满量程下调整其线性度;单一电源供电(十5V15V),低功耗,200mW。,32,七、DAC0830系列与8031单片机有哪两种接口方法?如何实现?1单缓冲器方式接口MOV DPTR,#ADDRES;MOV A,#DATA;MOVX DPTR,A,33,2双缓冲器方式接口DAC0830采用这种接法时,数字量的输入锁存和DA转换输出是分两步完成的:1)CPU数据总线分时地向各路DA转换器输入要转换的数字量并锁存在各自的输入寄存器中;2)然后CPU对所有的DA转换器发出控制信号,使各个DA转换器输入寄存器中的数据打入DAC寄存器,实现同步转换输出。,34,执行下面8条指令就能完成两路DA同步转换输出 MOV DPTR,0DFFFH;指向DAC0830(1)MOV A,data1;datal送入DAC0830(1)中锁存 MOVX DPTR,AMOV DPTR,#0BFFFH;指向DAC0830(2)MOV A,#data2;data2送入DAC0830(2)中锁存MOVX DPTR,AMOV DPTR,#7FFFH;给0830(1)、0830(2)提供MOVX DPTR,A;WR信号,同时完成D/A转换输出,35,八、在示波器上,同步输出梯形波的程序设计 提示:Y轴上输出梯形波,X轴上输出锯齿波,以求同步。R5 梯形波计数器(00H55H55H00H)R6锯齿波计数器(00HFFH),36,START:MOV R5,#00H MOV R6,#00H LOOP1:MOV DPTR,0DFFFH;Y 上升 MOV A,R5 MOVX DPTR,A INC R5 MOV DPTR,#0BFFFH MOV A,R6 MOVX DPTR,A INC R6 MOV DPTR,#7FFFH MOVX DPTR,A CJNE R5,#55H,LOOP1(56H),37,LOOP2:MOV DPTR,0DFFFH;Y 平坦 MOV A,R5 MOVX DPTR,A MOV DPTR,#0BFFFH INC R6 MOV A,R6 MOVX DPTR,A MOV DPTR,#7FFFH MOVX DPTR,A CJNE R6,#0AAH,LOOP2 LOOP3:MOV DPTR,0DFFFH;Y 下降 DEC R5 MOV A,R5 MOVX DPTR,A MOV DPTR,#0BFFFH INC R6 MOV A,R6 MOVX DPTR,A MOV DPTR,#7FFFH MOVX DPTR,A CJNE R6,#0FFH,LOOP3 SJMP START,38,习题七一、A/D转换器在单片机应用系统中的作用是什么?实现完成模拟量变换成数字量实现数据采集二、在单片机系统中,常用的A/D转换器有哪几种?逐次逼近型的A/D转换器DAC0809、DAC0816 双积分型A/D转换器 MC14433、ICL7035三、如何确定A/D转换器的位数?A/D转换器位数的确定与整个测量控制系统所要测量控制的范围和精度有关,但又不能唯一确定系统的精度。估算时比总精度要求的最低分辨率高一位 实际选取的A/D转换器的位数应与其它环节所能达到的精度相适应。只要不低于它们就行,选得太高既没有意义,而且价格还要高得多。,39,四、如何确定A/D转换器的转换速率?积分型、电荷平衡型和跟踪比较型A/D转换器转换速度较慢,转换时间从几毫秒到几十毫秒不等,只能构成低速A/D转换器,一般运用于对温度、压力、流量等缓变参量的检测和控制。逐次比较型的A/D转换器的转换时间可从几S到100S左右,属于中速A/D转换器,常用于工业多通道单片机控制系统和声频数字转换系统等。高速A/D转换器适用于雷达、数字通讯、实时光谱分析、实时瞬态记录、视频数字转换系统等。五、A/D转换器(DAC0809)编程要点是什么?在软件编写时,应给出被选择的模拟通道的地址;执行一条输出指令,启动A/D转换;执行一条输入指令,读取A/D转换结果。采用延时、查询和中断的方法,进行转换和数据交换。,40,七、试设计A/D转换程序利用DAC0809转换器,采用查询方式进行数据交换 START:MOV R1,50H;置数据区首地址 MOV DPTR,7FF8H;P27=0且指向通道0 MOV R7,08H;置通道数 NEXT:MOVX DPTR,A;启动A/D转换 MOV R6,0AH;软件延时 DLAY:JNB P3.3,DLAY MOVX A,DPTR;读取转换结果 MOV R1,A;存储数据 INC DPTR;指向下一个通道 INC R1;修改数据区指针 DJNZ R7,NEXT;8个通道全采样完了吗?.,41,八、试设计一数据采集系统 使用单位:山东省气象局在东营市孤岛气象观察站设计单位:山东大学物理与微电子学院99级设计方案:自行确定提 示:对于非模拟物理量,可以用下图示意即可,非电物理量,传感器,A/D转换器,单片微机测控系统,42,九、MC14433是 三位半、双积分型 A/D转换器?具有抗干扰性能好,转换精度高(相当于11位二进制数),自动校零,自动极性输出,自动量程控制信号输出,动态字位扫描BCD码输出,单基准电压,外接元件少,价格低廉等特点。主要用于不要求高速转换的场合,如温度控制系统中,被广泛采用。十、MC14433 A/D转换器辅助电路选择注意事项是什么?电源接法基准电压输入的连接外接元件参数DU端和ECO端短接,