在用4位共阳极数码管管显示的电路中,如果直接...

三极管共阳极数码管_EEWorld电子工程世界搜索中心
搜索范围:
一周以内&&&&
搜索到约<span style="color:#项结果
实验板上4个数码管分别接4个三级管,三极管基极高电平时位选通,低电平时关闭,三极管分别接P2.0---P2.3,能否实现数码管同时4个不同的数字? zhenglei 352121 三极管共阳极数码管 #include
#define ui unsigned int
#define uc unsigned char
void delay(ui);
void inti...
.cn/thread--1.html 发布时间:
静态数码管显示的控制,数码管为共阳极数码管,静态时选中位选送高电平,相应的段选送1点亮其中的段...
.cn/detail/nkyqsl/386701 发布时间:
、电压、电流。也就是说,总共要显示6组数据,需要13个数码管。本设计是通过74ls138作为显示芯片,由于一片74ls138能驱动8个数码管,所以根据设计需求,笔者采用了级连的方法用了两片74ls138 ,就可以达到设计要求。[img]C:\Documents and Settings\Administrator\桌面[/img] 魅影穿眸 ls138驱动13个共阳极数码管显示c...
.cn/thread--1.html 发布时间:
STC89C51 单片机P0口输出段选信号,P2口是位选。三极管用的是8050,共阴数码管。P0口输出接200欧电阻,然后接到数码管7个段,数码管COM口接8050 C极,8050 B 极接1K电阻后连接到P2口,8050 E 级接地,数码管扫描时间是2ms。现在数码管显示非常暗,什么原因?应该怎么接? eeleader-mcu 269030 关于三极管驱动数码管动态显示问题 按照你的阐述...
.cn/thread--1.html 发布时间:
各位朋友好,以下分别是51单片机连接共阳极和共阴极数码管的电路图,可以跑通,我是新手,我想问的是,这种画法实用吗?考虑功耗啦稳定性啦等等因素,有无更好或者典型的方法?谢谢大家。
[attach]195971[/attach]
[attach]195972[/attach]
月黑 51单片机连接共阳极和共阴极数码管的问题 可以的,现在的单片机都可以置io...
.cn/thread--1.html 发布时间:
经过两天的不断搜寻和实验,终于有所突破。Proteus仿真数码管动态扫描时三极管不起作用的问题解决!
只是我们选择的三极管连接问题共阳型数码管要用NPN的管子,C极接电源。另外在数码管属性中有一项minimum Trigger Time选择要小一些,比如:1Us! 恭梧溪 120616 【解决】Proteus仿真时数码管动态扫描时三极管不起作用 谢谢楼主的经验分享 :) soso 63 回复...
.cn/thread--1.html 发布时间:
的极性相互连在一起,
对于共阳极一般接上拉电阻接电源,对于共阴极一般接上三极管等等
至于你说的HC573用于数码管的位的驱动 玲珑宝贝 54435
hc573用于位驱动?不是只要有相应点平就可以驱动的吗?为什么还要hc573芯片呢??
micjevons 54538
加上一个hc573.以后会不会使输出电平产生变化呢~
比如说在p1口上面的p1。。。7连接在hc573的d1...
.cn/thread--1.html 发布时间:
&& 首先是我在另一个论坛看到的一个帖子,我把帖子一些问题贴在下面:
&& 提问:刚学单片机,看到有的原理图用NPN驱动数码管时,在三极管基极加了一个限流电阻。三极管发射级是接地的,集电极接数码管。51高电平的输出电流好像只有几十&uA。 为什么要加限流电阻呢?而且。这几十uA能使三极管饱和吗?
.cn/thread--1.html 发布时间:
要求是后两位的所组成的数比前两位大5
新寻zai 544795 怎么用pnp三极管驱动四位共阴极数码管 求C语言程序 新寻zai 544795
不知道楼主要问什么 dj狂人 525697
[quote][size=2][url=forum.php?mod=redirect&goto=findpost&pid=1755218&ptid=447236][color=#999999]dj狂人...
.cn/thread--1.html 发布时间:
阳极面积阳极面积阳极面积...
.cn/detail//555631 发布时间:
买了三块大数码管,一块"8"就有成人手掌大小,一共有十支管脚,自己测了一下,找到了阳极、a,b,c,d,e,f,g,dp,共九支,还有一支管脚不知道是干什么的。用5V直流点不亮,换9V直流才点亮。我把几块数码管的a.....dp串接起来用PNP三极管接51的P0-P7,用PNP三极管接各块数码管的阳极来做位选,动态显示,但是显示时一直有问题,具体是各块管显示的数字都相同。求一个可行的解决方案...
.cn/thread-.html 发布时间:
89C51的P1口接一个共阳极的数码管,利用消抖开关产生中断请求信号,每来回拨动一次开关,产生一次中断,用数码管显示中断次数(不超过15次)
(这句老是提示有错?) 清高手指点这句
MAIN: SETB IT1
SETB EX1...
.cn/thread--1.html 发布时间:
我想请教大家,共阴数码管可以用74LS系列的与非或与门驱动吗?
在i/o输出口接个小电阻,然后接非门,然后接到阳极,共阴极接到另一端io。
这样可以吗? shcpz 64865 共阴极七段数码管接法? 呵呵 一般使用三极管 就可以了 automation 24001
.cn/thread-.html 发布时间:
是我的原理图和C语言程序,请好心人帮我看看,到底问题出在哪里?图中三极管的驱动接法对吗?还有ADC0809的采样频率怎样从程序中算出?&&&在Proteus软件中,单片机芯片为AT89C51,模数转换芯片为ADC0809,三极管为NPN管,数码管为共阳极。&& 原理图和C语言程序均已附件形式插入,请工程师们帮我看一下,问题究竟出在什么地方?谢谢你们...
.cn/thread--1.html 发布时间:
如图 &数码管是共阳极的,其中P9接低电平,请问三极管是怎么工作的,是在截止状态吗? abbccc308 378761 向大家请教几个有关数码管显示的问题 怎么上不了图啊 abbccc308 378761
abbccc308 378761
pnp三极管,低电平导通。p8也是接低电平的段亮。
在这类数字电路中,三极管工作于开关状态。 ahshmj 431896
三极管处于...
.cn/thread--1.html 发布时间:
某三极管工作在放大区,如果当IB从11μA增大到21μA时,IC从2mA变为3mA,那么它的β约为
为什么??? hawkliu83 55158 三极管 (Delta_IC=3mA-2mA=1mA)/(Delta_IB=21uA-11uA...
.cn/thread--1.html 发布时间:
时,驱动相应的三极管会导通,+5V通过IN4148二极管和驱动三极管给数码管相应的位供电,这时只要P0口送出数字的显示代码,数码管就能正常显示数字。
因为要显示两位不同的数字,所以必须用动态扫描的方法来实现,就是先个位显示1毫秒,再十位显示1毫秒,不断循环,这样只要扫描时间小于1/50秒,就会因为人眼的视觉残留效应,看到两位不同的数字稳定显示。
下面我们再介绍一种共阴数码管的单片机驱动方法,电路...
.cn/my/space-uid-180108-blogid-31861.html 发布时间:
共阴极数码管   LED显示器是由发光二极管作为为显示字段的数码显示器件,图1为一位LED显示器的外形和引脚图,其中七只发光二极管(a~g七段)构成字型“8”,另外还有一只发光二极管dp作为小数点。  当显示器的某一段发光二极管通电时,该段发光,例如,使b、c、f、g这4段发光二极管通电,则显示字符“4”。  数码管外形和引脚:见图2。    共阴极结构:  LED显示器有共阴极和共阳极两种...
.cn/my/space-uid-123962-blogid-24597.html 发布时间:
要么是共阳极,用蜂鸣档可以测出来的,并且可以测出来各个数码段,可以用译码器接到单片机,如果你的单片机IO口够用的话也可以直接接单片机,这两种接法数码管不是很亮,可以加上拉电阻或者用三极管也可以 rabbit-cricket 89072 Re: [求助] 关于静态数码管的问题? ...
.cn/thread-.html 发布时间:
下载 (163.66 KB)
.cn/my/space-uid-170760-blogid-35915.html 发布时间:
相关结果约18,267个热门版块:
数码管共阳和共阴的识别电路
本帖最后由 gk320830 于
12:50 编辑
我知道,数码管分共阳和共阴类型。请问一下,设计一个怎样的电路能自动识别共阴和共阳,保证其正常工作?
另外,我听说使用模拟开关能够实现上面的功能,但我想做仿真,而multisim中模拟开关很少,请问能用其他代替吗?
助理工程师
想设计自动识别共阴还是共阳那是单片机事情,但是你想手动识别我就有办法
本帖最后由 gk320830 于
12:51 编辑
能用单片机还好点,关键是老师不上用啊!
助理工程师
momingxianjian 发表于
能用单片机还好点,关键是老师不上用啊!
用LED显示行不》
我要完成的就是数码管的测试,只能用模电和数电(不用单片机)
你看看这个方法:
首先是看型号了,在没有型号明晰的情况下,可以用两节1.5V电池来供3V电压加个100欧左右的电阻做限流,如果电源的负极和其他的任何管脚都可以使发光二极管点亮那就是共阴的,相反就是共阳的,不过他们的公共端一般是中间的两个或左下脚以及他的对角的那两个,所以主要找这2个和其他的测就是了~但这两个公共端是通的,所以用数字表的二极管档可以直接听到蜂鸣器响,然后找到公共端后在分别加电压就可以了
至于设计电路我到没见过,,,可以和楼主一起讨论讨论!!!!!!!!!!!!!!!!!!!!!!
共阴或者共阳数码管在单片机上应用不一样吧,,,
共阴和共阳显示器在使用时的不同之处在于前者用高电平驱动,后者用低电平驱动,根据这个特性,你可以更改单片机程序也可以实现吧!
& && & TM16XX 系列产品是一种用于 LED数码屏、数码管显示的驱动IC,性价比高,可替代 164、595、 等传统繁琐的数码管驱动电路,TM16XX无需加三极管而直接驱动数码管/数码屏,且驱动电流大(8级辉度可调)。单片机程序只要刷新一次寄存器数据不用扫描,而且带有键盘接口,3线或2线串行单片机接口,非常省单片机硬件和软件资源。轻轻松松2 个或 3 个 I/O 就可驱动几十段到高达 120 多段如有意,欢迎咨询、订购或索取样品,134-或技术QQ邓工,24h提供服务和技术支持。
应用:电子衡器,台称,电磁炉、电热水器、空调、微波炉、洗衣机、机顶盒等LED面板显示屏驱动
产品型号& & 段输出& & & & 位输出& & & & 按键& & & & 封装& & & & 应用
低段位数,适合2-6个‘8’================
TM1616& &&&7& & & & 4& & & & /& & & & SOP/DIP16& & & &
TM1617& &&&8~7& & & & 2~3& & & & 7*1& & & & SOP/DIP16
TM1618& &&&8~5& & & & 4~7& & & & 5*1& & & & SOP/DIP18
TM1618A& &7~8& & & & 5~4& & & & 7*1& & & & SOP/DIP18
TM1620& &&&8& & & & 6& & & & /& & & & SOP20
TM1620B& &6~9& & & & 7~4& & & & 6*1& & & & SOP20
特色功能===========================
TM1626A& &13~10& & & & 4~7& & & & 10*1& & & & SOP32&&多路PWM驱动输出
TM1626B& &14~11& & & & 4~7& & & & 10*3& & & & QFP44&&多路PWM驱动输出
TM1622& &&&11& & & & 7& & & & 10*3& & & & SOP32&&带按键中断输出
TM1627& &&&10& & & & 7& & & & 10*2& & & & SOP28&&带按键中断输出
数码屏==========================
TM1623& &&&14~11& & & & 4~7& & & & 10*3& & & & SOP32
TM1628& &&&10& & & & 7& & & & 10*2& & & & SOP28& & & &
高段位数=========================
TM1629& &&&16& & & & 8& & & & 8*4& & & & QFP44& & & &
TM1629A& &16& & & & 8& & & & /& & & & SOP32& & & &
TM1629B& &14& & & & 8& & & & 8*2& & & & SOP32& & & &
TM1629C& &15& & & & 8& & & & 8*1& & & & SOP32& & & &
TM1629D& &12& & & & 8& & & & 8*4& & & & SOP32& & & &
TM1638& &&&10& & & & 8& & & & 8*2& & & & SOP28& & & &
TM1639& &&&8& & & & 8& & & & 8*2& & & & DIP24
3-5V,I2C接口,4-6个‘8’=================& & & &
TM1635& &&&7& & & & 4& & & & 7*1& & & & SOP/DIP16& & & &
TM1636& &&&8& & & & 4& & & & 2*8& & & & DIP/SOP18& & & &
TM1637& &&&8& & & & 6& & & & 2*8& & & & DIP/SOP20
16个“8”,共阴,大量应用于电子称=========& & & &
TM1640& &&&8& & & & 16& & & & /& & & & SOP28& & & &
TA6932& &&&8& & & & 16& & & & /& & & & SOP28
恒流驱动,适用于对干扰敏感的产品,如音响功放& & & &
TM1641& & 14~11& & & & 4~7& & & & 10*3& & & & SOP32& & & &
TM1642& & 13~10& & & & 4~7& & & & 10*2& & & & SOP28
SSOP超薄产品=====================& & & &
TM1668& & 10& & & & 7& & & & 10*2& & & & SOP/SSOP/DIP24
(172.59 KB, 下载次数: 12)
15:37 上传
点击文件名下载附件
产品选型指南下载积分: 积分 -1 分
(113.67 KB, 下载次数: 29)
15:36 上传
点击文件名下载附件
164方案与LED驱动IC方案比较下载积分: 积分 -1 分
助理工程师
站长推荐 /5
Powered by并行接口数码管显示电路_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
并行接口数码管显示电路
阅读已结束,如果下载本文需要使用
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩2页未读,继续阅读
你可能喜欢第10章_清华大学:单片机原理与应用技术_ppt_大学课件预览_高等教育资讯网
清华大学:单片机原理与应用技术:第10章
分类: 格式: 日期:日
.cn/webnew/第 10章 应用系统设计及接口技术(课时,12学时).cn/webnew/教学目的了解单片机应用系统设计方法及开发工具。掌握独立式键盘和矩阵式键盘的原理与应用。掌握 LED显示器的原理与静态显示和动态显示的特点。掌握 LCD显示器的原理与笔段型 LCD的应用。掌握 D/A转换常用芯片特性及应用。掌握 A/D转换常用芯片特性及应用。通过设计二个实例,了解项目设计中的一些方法和技巧。学习重点和难点四个模块技术 (键盘、显示,D/A转换,A/D转换 )的掌握和综合应用。应用系统的程序设计和调试。.cn/webnew/第 10章 应用系统设计及接口技术10.1 单片机应用系统概述10.2 键盘接口10.3 显示器接口10.4 数 /模转换接口10.5 模 /数转换接口10.6 单片机应用系统实例本章小结习题.cn/webnew/10.1 单片机应用系统概述10.1.1 单片机应用系统的结构10.1.2 单片机应用系统的设计方法10.1.3 单片机应用系统的开发工具.cn/webnew/10.1.1 单片机应用系统的结构单片机应用系统 是为完成某项任务而研制开发的用户系统,是以单片机为核心,配以外围电路和软件,能实现设定任务、功能的实际应用系统。根据不同的用途和要求,单片机应用系统的系统配置及软件也就有所不同,但它们的开发过程和方法大致相同。一般的 通用计算机系统 大概包括以下一些主要设备:主机(有主板,CPU、内存条 )、人机交流设备 (键盘、鼠标、显示器 )、存储器 (光驱、软驱,U盘等 )、网卡、打印机等。.cn/webnew/10.1.1 单片机应用系统的结构单片机应用系统所需要的一般配置:单片机 。人机交流设备 。输入设备有键盘和按键,输出设备有数码管、液晶显示模块和指示灯等。信号采集的输入通道 。如出租车的测距、测速装置,温控系统,温度计的温度传感器、洗衣机的水位测量设备。向操作对象发出各种 控制信号的输出通道 。如空调启动压缩机的开关电路,控制彩电的频道切换、颜色、音量等的接口电路。如果需与其他计算机系统或智能设备实现信息交换,还需配置 通信接口电路 。有时还需扩展外部 RAM,EEPROM用于存放数据。如彩电遥控系统中存放系统数据的存储器。.cn/webnew/10.1.1 单片机应用系统的结构测控对象其他计算机系统或智能设备单片机MC UEEP R O M人机通道R A M输出通道输入通道通信接口输入 / 输出设备传感器等执行机构单片机典型应用系统的结构.cn/webnew/10.1.2 单片机应用系统的设计方法单片机应用系统的技术要求各不相同,针对具体的任务,设计方法和步骤也不完全相同。这里我们只能讨论 单片机应用系统的一般设计方法 。为完成某一任务的单片机应用系统需要包含硬件和软件系统。硬件和软件必须紧密结合,协调一致才能正常工作。在系统研制过程中,硬件设计和软件设计不能截然分开。硬件设计时应考虑软件设计方法,而软件也一定是基于硬件基础上进行设计的。这就是所谓的,软硬结合,。单片机应用系统的研制过程包括 确定任务,总体设计,硬件设计,软件设计,系统调试,产品化 等几个阶段。它们不是绝对分开的,有时是交叉进行的。.cn/webnew/10.1.3 单片机应用系统的开发工具单片机应用系统开发必须经过调试阶段,只有经过调试才能发现问题,改正错误,最终完成开发任务。实际上,对于较复杂的程序,大多数情况下都不可能一次性就调试成功,即使是资深程序员也是如此。单片机只是一块芯片而已,本身并无开发能力,要借助开发工具才能实现系统设计。开发工具主要包括 电脑,编程器 (又称写入器 ),仿真机 。如果使用 EPROM作为存储器还要配备 紫外线擦除器 。其中必不可少的工具是电脑和编程器(当然对于在线可编程的单片机,如 89S51,也可以不用编程器,而通过下载电缆下载 )。.cn/webnew/10.1.3 单片机应用系统的开发工具1,仿真机及其使用(1) 开发环境单片机程序的编写、编译、调试等都是在一定的集成开发环境下进行的。集成开发环境仿真软件 (ICE)将文件的编辑,汇编语言的汇编、连接,高级语言的编译、连接高度集成于一体,能对汇编程序和高级程序进行仿真调试。单片机程序如果是汇编编写的,文件名后必须加后缀名,.ASM”。如果是 C51编写的,必须加后缀名,,C”。.cn/webnew/10.1.3 单片机应用系统的开发工具(2) 仿真机的使用为了实现目标系统的一次性完全开发,必须用到仿真机 (也称在线仿真机 )。 在线仿真机 的主要作用是能完全,逼真,地扮演用户单片机的角色,且能在集成开发环境中对运行程序进行各种调试操作,即时发现问题,即时修改程序,从而提高工作效率,缩短开发周期。仿真机的种类很多,如 南京伟福 系列仿真机,南京万利MPE5103仿真机等,价格通常在千元以上。每个仿真机都配有使用说明书详细介绍其使用方法,故在这里将不对仿真机进行详细介绍。.cn/webnew/10.1.3 单片机应用系统的开发工具(2) 仿真机的使用使用时,在线仿真机通过 RS-232插件与电脑的 COM1或 COM2端口相连。在断电情况下,拨下用户系统的单片机和 EPROM,代之以 仿真头,如下图所示。运行仿真调试程序,通过 跟踪执行,能即时发现软硬件方面的问题并进行修正。当设计达到满足系统要求后,将调试好的程序编译时形成的二进制文件用编程器烧写到芯片中,一个应用系统就调试成功了。用户系统仿真头PC仿真器单片机的在线仿真.cn/webnew/10.1.3 单片机应用系统的开发工具2,编程器当我们编写好的程序在集成开发环境编译通过后,会形成一个二进制文件 (文件名与源程序文件名相同,后缀名为,.BIN”)或十六进制文件 (后缀名为,,HEX”),即形成所谓的目标程序。这个目标程序必须利用编程器才能将目标文件烧写到单片机的程序存储器中,从而让单片机系统的硬件和软件真正结合起来,组成一个完整的单片机系统。编程器 的主要功能是将目标程序烧写到芯片中,其与电脑的连接如下图所示。编程器的使用比较简单,读者只要有机会使用,在非常短的时间内就能学会。PC编程器芯片座编程器与计算机的连接.cn/webnew/10.1.3 单片机应用系统的开发工具2,编程器编程器的种类也很多,不同档次的编程器价格相差很大,从 150元到 7000多元不等;档次的差别在于烧写可编程芯片的类型的多少。目前面上常见的有 台湾河洛 生产的 ALLXX系列,南京西尔特公司的 SP系列、北京润飞的 RF系列,广州升洪的 TOP系列等。如果仅仅是用于学习或是仅针对常用单片机的开发,一般买较低档的编程器就可以,价格大概在 200元左右。仿真器和编程器是单片机开发的重要工具,熟练使用这些工具是每个单片机开发人员必备的基本技能,而这些工具的使用只有通过实践才能掌握。.cn/webnew/10.2 键盘接口10.2.1 键盘的结构与原理10.2.2 独立式键盘应用实例10.2.3 矩阵式键盘应用实例.cn/webnew/10.2.1 键盘的结构与原理键盘是单片机应用系统中人机交流不可缺少的输入设备。键盘由一组规则排列的按键组成,一个按键实际上是一个开关元件。键盘通常使用 机械触点式按键开关,其主要功能是把机械上的通断转换为电气上的逻辑关系 (1和 0)。常见的种类有,独立式按键 和 矩阵式键盘 。.cn/webnew/10.2.1 键盘的结构与原理1,独立式按键结构如下图所示,其特点是每个按键单独占用一根 I/O口线,每个按键工作不会影响其他 I/O口线的状态。多用于所需按键不多的场合。可采用 JNB(或 JB)来查询哪一个按键按下,并转向相应的功能处理程序。JNB P1.0,A0 ;如 P1.0键按下,就跳到 A0JNB P1.1,A1 ;如 P1.1键按下,就跳到 A1JNB P1.2,A2 ;如 P1.2键按下,就跳到 A2JNB P1.3,A3 ;如 P1.3键按下,就跳到 A3JNB P1.4,A4 ;如 P1.4键按下,就跳到 A4JNB P1.5,A5 ;如 P1.5键按下,就跳到 A5JNB P1.6,A6 ;如 P1.6键按下,就跳到 A6JNB P1.7,A7 ;如 P1.7键按下,就跳到 A7.cn/webnew/10.2.1 键盘的结构与原理2,矩阵式键盘单片机系统中,若使用按键较多时,通常采用矩阵式键盘,其结构如下图所示。由图可知,一个 4&#215; 4的行、列结构,可以构成一个含有 16个按键的键盘,节省了很多 I/O口。控制方式,先判断是否有键按下。如有,再判断哪一键按下,并得到键码值,然后根据键码值转向不同的功能程序。矩阵式结构键盘比独立式按键要复杂,识别也要复杂一些。最常用的识别方法是键盘扫描法,将在10.2.3小节进行具体说明。.cn/webnew/10.2.1 键盘的结构与原理3,键盘设计应注意的问题机械式按键在按下或释放时,由于机械弹性作用的影响,通常伴随有一定时间的触点机械抖动,然后其触点才稳定下来。其抖动过程如右图所示,抖动时间的长短与开关的机械特性有关,一般为5?10ms。闭合稳定键按下前沿抖动 后沿抖动按键触点的机械抖动.cn/webnew/10.2.1 键盘的结构与原理3,键盘设计应注意的问题在触点抖动期间检测按键的通与断状态,可能导致判断出错,即按键一次按下或释放被错误地认为是多次操作。系统设计中如果开关脉冲是作为外部中断触发信号或要对开关脉冲进行计数时,这种情况是不允许出现的。为了克服按键触点机械抖动所致的检测误判,必须采取去抖动措施,可从硬件、软件两方面予以考虑。在键数较少时,可采用 硬件去抖 ;而当键数较多时,采用 软件去抖 。.cn/webnew/10.2.1 键盘的结构与原理3,键盘设计应注意的问题在硬件上可采用在键输出端加 R-S触发器 (双稳态触发器 )或单稳态触发器构成 去抖动电路,如下图所示是一种由 R-S触发器构成的去抖动电路,当触发器翻转时,触点抖动不会对其产生任何影响。键盘输出经双稳态电路之后变为规范的矩形方波。123 UA456 UBSGND+ 5 V Qab1k?1k?双稳态去抖动电路.cn/webnew/10.2.1 键盘的结构与原理3,键盘设计应注意的问题软件上采取的措施 是在检测到有按键按下时,执行一个 10ms左右 (具体时间应视所使用的按键进行调整 )的延时程序,再确认该键电平是否仍保持闭合状态电平,若仍保持闭合状态电平,则确认该键处于闭合状态;同理,在检测到该键释放后,也应采用相同的步骤进行确认,从而消除抖动的影响。.cn/webnew/10.2.2 独立式键盘应用实例【 例 1】 监视某开关 S,用发光二极管 LED显示开关状态,如果开关闭合,LED亮;如果开关断开,LED灭。解:设计电路图如下图所示。开关接 P1.1,当开关断开时,P1.1为 +5V,对应数字量为,1”;开关闭合时,P1.1为 0V,对应数字量为,0”,这样就可以用 JB指令对开关状态进行检测。 P1.0输出,1”,LED亮。当 P1.0输出,0”,LED两端电压相等,熄灭。参考程序如下,ORG 0000HCLR P1.0 ; 使发光二极管灭NEXT,SETB P1.1 ; 先对 P1.1写 &1&JB P1.1,L1 ; 开关断开,跳至 L1SETB P1.0 ; 开关合上,发光二极管亮SJMP NEXTL1,CLR P1.0 ; 开关断开,发光二极管灭SJMP NEXTEND.cn/webnew/10.2.2 独立式键盘应用实例开关监视控制电路图.cn/webnew/10.2.2 独立式键盘应用实例【 例 2】 信号灯控制电路如下图所示,其功能是当按下不同的键时发光二极管有不同的亮灭规律。按 1号键 LED从左到右依次亮,按 2号键从右到左依次亮,按 3号键闪烁,按 4号键呈流水追逐效果。解:电路图中 P1口分别接了 4个开关,每个开关都有相对应的功能,当某一开关闭合时,相应的口线变为低电平,而其他口线依然为高电平,因此,可以用 4条 JNB指令对开关状态进行检测。如果某一按键按下,则跳转执行其所对应的控制功能。八个发光二极管经 74LS04接 P2口,主要因单片机的驱动能力较差,故用 74LS04来加大驱动能力。 P2口输出控制信号控制发光规律。程序设计流程图如下图所示。.cn/webnew/信号灯控制电路.cn/webnew/10.2.2 独立式键盘应用实例信号灯控制程序设计流程图.cn/webnew/ORG 0000HMOV SP,#60HMOV P2,#00HMOV P1,#0FHSTART,JNB P1.0,A0 ; 如 P1.0键按下,就跳至 A0JNB P1.1,A1 ; 如 P1.1键按下,就跳至 A1JNB P1.2,A2 ; 如 P1.2键按下,就跳至 A2JNB P1.3,A3 ; 如 P1.3键按下,就跳至 A3SJMP START********** 左移 *******************************A0,MOV DPTR,#TAB ; 左移常数表首地址送 DPTRACALL DISPSJMP START********* 右移 ********************************A1,MOV DPTR,#TAB1 ; 右移常数表首地址送 DPTRACALL DISPSJMP START********* 闪烁 ********************************A2,MOV DPTR,#TAB2 ; 闪烁常数表首地址送 DPTRACALL DISPSJMP START信号灯控制参考程序.cn/webnew/******** 流水追逐 *****************************A3,MOV DPTR,#TAB3 ; 流水追逐常数表首地址送 DPTRACALL DISPSJMP START********* LED显示控制子程序 *****************功能,根据常数表控制 P2口的 LED发光入口,常数表的地址送到 DPTR出口,无********************************************DISP,CLR AMOVC A,@A+DPTRCJNE A,#0AH,LOOP1RETLOOP1,MOV P2,AMOV R3,#20ACALL DELAYINC DPTRJMP DISP信号灯控制参考程序.cn/webnew/DELAY,MOV R4,#20D1,MOV R5,#248DJNZ R5,$DJNZ R4,D1DJNZ R3,DELAYRETTAB,DB 01H,03H,07H,0FH,1FH,3FH,7FH,0FFH,0AH ; 左移TAB1,DB 80H,0C0H,0E0H,0F0H,0F8H,0FCH,0FEH,0FFH,0AH ; 右移TAB2,DB 0FFH,00H,0FFH,00H,0FFH,00H,0FFH,00H,0AH ; 闪烁TAB3,DB 01H,02H,06H,08H,10H,20H,60H,80H,0AH ; 流水追逐END信号灯控制参考程序说明:本例中,根据所按下的键输入不同的常数表地址到 DPTR,然后再调用显示子程序 (DPTR为 DISP程序的入口条件 ),从而根据不同的参数控制发光二极管的变化规律。显然通过改变常数表可任意设定发光规律,读者可以试一下。调用子程序,可使程序设计实现模块化,但必须明确子程序的功能、入口和出口参数。通过以上两个实例可以看出独立式键盘应用的特点:识别键盘比较容易,编程也比较简单,很适合于功能键较少的单片机应用系统。但每一个按键上用一根口线,当按键较多时 (超过 8个 )应采用矩阵式键盘。.cn/webnew/10.2.3 矩阵式键盘应用实例【 例 3】 4&#215; 4键盘硬件电路如下图所示。设计采用键盘扫描法得到键码值的程序。解:键盘输入程序设计有以下几个方面。(1) 判别键盘上有无键闭合其方法为,P1.0~ P1.3输出 0,然后读 P1口,若高 4位P1.4~ P1.7全为 1,则键盘上没有闭合键,若 P1.4~ P1.7不全为 1,则有键处于闭合状态。(2) 去除键的机械抖动其方法为:当判别到键盘上有键闭合后,延时一段时间再判别键盘的状态,若仍有键闭合,则认为键盘上有一个键处于稳定的闭合状态,否则认为键抖动。.cn/webnew/10.2.3 矩阵式键盘应用实例4&#215;4键盘硬件电路图.cn/webnew/10.2.3 矩阵式键盘应用实例(3) 判别闭合键的键号其方法为:对键盘的行线进行扫描,P1.3~ P1.0依次循环输出 11和 0111,相应地读 P1口,若高 4位P1.7~ P1.4全为,1”,则说明该行上没有键闭合;否则,这一行上有键闭合,而且就是行线为 0,列线为 0的交叉键。高4位和低四位合并即得到键码值。例如,P1.3~ P1.0输出,1110”时,读入 P1.7~ P1.4为,1101”时,即不全为,1”,说明有键按下,那一个键呢?显然是 P1.0与 P1.5交叉的键。将高四位和低四位合并后的值为,”;也就是该键的键码值。依此类推可得各键的健码值。各键和对应的键码值如下图所示。(4) 使 CPU对键的一次闭合仅作一次处理采用的方法是等待闭合键释放以后再作处理。.cn/webnew/各键和对应的键码值4&#215; 4键盘参考程序如下。该程序可作为子程序来调用,入口参数无,出口参数为键码值,存于 A。本例的另一种实现方法:以上程序所得到的键码值,离散性较大,不利于用指令对按键进行处理。可采用按键编码为依次排列键号的程序设计方法。详见教材,这里不再赘述。.cn/webnew/4&#215; 4键盘参考程序KEY,MOV P1,#0F0H ; P1.0~ P1.3输出 0,P1.4~ P1.7输出 1MOV A,P1 ; 读键盘,检测有无键按下ANL A,#0F0H ; 屏蔽 P1.0~ P1.3,检测 P1.4~ P1.7是否全为 1CJNE A,#0F0H,HAVE ; P1.4~ P1.7不全为 1,有键按下SJMP KEY ; P1.4~ P1.7全为 1,无键按下,重新检测键盘HAVE,MOV A,#0FEH ; 有键按下,逐行扫描键盘,置扫描初值NEXT,MOV B,A ; 扫描码暂存于 BMOV P1,A ; 输出扫描码READ,MOV A,P1 ; 读键盘ANL A,#0F0H ; 屏蔽 P1.0~ P1.3,检测 P1.4~ P1.7是否全为 1CJNE A,#0F0H,YES ; P1.4~ P1.7不全为 1,该行有键按下MOV A,B ; 被扫描行无键按下,准备查下一行RL A ; 置下一行扫描码CJNE A,#0EFH,NEXT ; 未扫描到最后一行,则循环YES,ACALL DELAY ; 延时,去抖动.cn/webnew/ARED,MOV A,P1 ; 再读键盘ANL A,#0F0H ; 屏蔽 P1.0~ P1.3,保留 P1.4~ P1.7(列码 )MOV R2,A ; 暂存列码MOV A,BANL A,#0FH ; 取行扫描码ORL A,R2 ; 行码、列码合并为键码PUSH A ; 键码入堆栈KS,ACALL DELAY ; 延时MOV P1,#0F0H ; P1.0~ P1.4为 0,检测键是否放开MOV A,P1 ; 读 P1CPL A ; 键如果已松开,取反后 P1高四位全为 0ANL A,#0F0H ; 保留高四位JNZ KS ; 判断,键松开则返回,否则继续等待POP A ; 弹出键码RET ; 返回DELAY,MOV R7,#60 ; 延时子程序D2,MOV R6,#248DJNZ R6,$DJNZ R7,D2RETEND4&#215; 4键盘参考程序.cn/webnew/10.2.3 矩阵式键盘应用实例编程说明:在单片机应用系统中,键盘扫描 只是系统的部分程序。进行软件系统编程时,一般作为 子程序 调用或 中断服务程序 使用。该子程序入口参数为无,出口参数为键码值,存于 A。因此,其调用十分简单,但一定要注意返回的键码值所对应的键在键盘的哪个位置,即要掌握键码分配表。矩阵式键盘尽管比独立式键盘复杂。但有了上述子程序后,只要学会调用,你甚至不需要知道键盘扫描程序是如何编写的,COPY即可,编程也就变得十分简单了。从这可以看出平时注意查阅资料,收集实用子程序,掌握子程序的调用,对提高编程效率是多么重要。.cn/webnew/10.3 显示器接口10.3.1 LED显示器的结构与原理10.3.2 LED显示器静态显示及应用实例10.3.3 LED显示器动态显示及应用实例10.3.4 LCD显示器的结构与原理及应用.cn/webnew/10.3.1 LED显示器的结构与原理1,结构种类七段 LED显示器 (数码管 )系发光器件的一种。常用的 LED发光器件有两类,数码管 和 点阵 。数码管内部由七个条形发光二极管和一个小圆点发光二极管组成,根据各管的亮暗组合成字符。常见数码管有 10根管脚。管脚排列如下图所示。其中 COM为公共端,根据内部发光二极管的接线形式可分为 共阴极 和 共阳极 两种。使用时,共阴极数码管公共端接地,共阳极数码管公共端接电源。每段发光二极管需 5~ 10mA的驱动电流才能正常发光,一般需加限流电阻控制电流的大小。.cn/webnew/10.3.1 LED显示器的结构与原理管脚排列 共阴极数码管 共阳极数码管abcdefgdpGNDabcdefgdp+ 5 Vab fcgde3CO Me1d2c4dp5b6a7 8f9g10CO M(a) ( b ) (c).cn/webnew/10.3.1 LED显示器的结构与原理2,显示原理LED数码管的 a~ g七个发光二极管。加正电压的发光,加零电压的不能发光,不同亮暗的组合就能形成不同的字型,这种组合称为 字型码 。共阳极和共阴极的字型码是不同的,如下表所示。可采用 硬件译码输出字型码 控制显示内容,如采用 74LS48、CD4511(共阴极 )或 74LS46(74LS47),CD4513(共阳极 )。也可用单片机 I/O口直接输出字型码 控制数码管的显示内容。用单片机驱动 LED数码管显示有很多方法,按显示方式分有静态显示 和 动态显示 。.cn/webnew/LED字型显示代码表2,显示原理显示 段 符 号 十六进制代码dp g f e d c b a 共阴极 共阳极0123456789AbCdEFHP0000000000000000000011111011110111111000111011111011111010001010111111111011011011011110001101111111110100101111100111100100111011011111101011013FH06H5BH4FH66H6DH7DH07H7FH6FH77H7CH39H5EH79H71H76HF3HC0HF9HA4HB0H99H92H82HF8H80H90H88H83HC6HA1H86H8EH89H8CH.cn/webnew/10.3.2 LED显示器静态显示及应用实例1,静态显示的特点静态显示 就是显示驱动电路具有输出锁存功能,单片机将所要显示的数据送出去后,数码管始终显示该数据 (不变 ),CPU不再控制 LED。到下一次显示时,再传送一次新的显示数据。静态显示的接口电路采用 一个并行口接一个数码管,数码管的公共端按共阴极或共阳极分别接地或接 VCC。这种接法,每个数码管都要单独占用一个并行 I/O口,以便单片机传送字形码到数码管控制数码管的显示。显然其缺点就是当显示位数多时,占用 I/O口过多。为了解决静态显示 I/O口占用过多的问题,可采用 串行接口扩展 LED数码管 的技术。静态显示方式的 优点 是显示的数据稳定,无闪烁,占用 CPU时间少。其缺点 是由于数码管始终发光,功耗比较大。.cn/webnew/10.3.2 LED显示器静态显示及应用实例2,应用实例【 例 5】 用一位数码管显示开关来回拨动的次数。解:电路如下图所示,89S51的 P1口经 74LS373接一个共阴极数码管,数码管的公共端接地。 P1口输出字型码送至数码管,就能控制数码管的显示内容。 74LS373为 8D锁存器,在电路中起驱动作用。两个与非门组成的 RS触发器主要起消抖作用,用来消除开关按下及弹起过程中的抖动所引起的判断错误。开关信号经消抖动电路后接单片机的 INT1引脚。每来回拨动一次将产生一个下降沿信号,通过 INT1向 CPU申请中断。软件设计时,可用 R0作为记录中断次数的指针 (每中断一次R0加 1),然后根据 R0用查表程序查出对应的字形码,再由 P1口送出,控制数码管显示中断次数值。.cn/webnew/一位数码管显示电路图30pF30pF12M H zGNDE A /V P31X119X218RE SE T9RD17WR16INT012INT113T014T115P101P1 12P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29A L E /P30TXD11RXD10U189S5110μ FVCCVCCX1 X2X1X2123U 1A456U 1B74A L S00S1k Ω1kΩVCCD03Q02D14Q15D27Q26D38Q39D413Q412D514Q515D617Q616D718Q719OE1LE11U2 74L S373GNDGNDVCC300Ω &#215; 7ab fcgdeDPYdpa7b6c4d2e1f9g103LEDGND.cn/webnew/ORG 000HAJMP MAINORG 0013HAJMP INT1 ; 外部中断 1入口地址************ 主程序 ***************************MAIN,SETB EA ; 开通中断开关SETB EX1 ; 开外部中断SETB IT1 ; 下降沿触发MOV R0,#0 ; 计数指针清 0MOV P1,#3FH ; 开始显示 0MOV DPTR,#TAB ; 字形码地址送 DPTRSJMP $ ; 等待中断 (开关来回拨动一次产生一次中断 )*********** 外部中断处理程序 **************************INT1,INC R0 ; 开关每来回拨动一次计数指针加 1MOV A,R0MOVC A,@A+DPTR ; 查字形码MOV P1,A ; 字形码送 P1显示CJNE R0,#0FH,RE ; 是否等于 15次MOV R0,#00H ; 计数指计清 0RE,RETITAB,DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ; 字形码DB 7FH,6FH,77H,7CH,39H,5EH,79H,71HEND一位数码管显示参考程序.cn/webnew/10.3.3 LED显示器动态显示及应用实例1,动态显示的特点动态扫描方法是用其接口电路把 所有数码管的 8个笔划段 a~g和 dp同名端连在一起,而 每一个数码管的公共极 COM各自独立地受 I/O线控制 。 CPU向字段输出口送出字形码时,所有数码管接收到相同的字形码。但究竟是哪个数码管亮,则取决于 COM端,COM端与单片机的 I/O口相连接,由单片机输出位码到 I/O控制何时哪一位数码管亮。动态扫描 用分时的方法轮流控制各个数码管的 COM端,使各个数码管轮流点亮。在轮流点亮数码管的扫描过程中,每位数码管的点亮时间极为短暂。但由于人的视觉暂留现象及发光二极管的余辉,给人的印象就是一组稳定的显示数据。.cn/webnew/10.3.3 LED显示器动态显示及应用实例1,动态显示的特点优点,当显示位数较多时,采用动态显示方式比较节省 I/O口,硬件电路也较静态显示简单。缺点,其稳定度不如静态显示方式。而且在显示位数较多时CPU要轮番扫描,占用 CPU较多的时间。.cn/webnew/10.3.3 LED显示器动态显示及应用实例2,应用实例【 例 8】 采用两位数码管动态扫描显示按键来回拨动次数。解:硬件电路设计如下图所示。 7407的两个输出引脚分别接至两位数码管 (共阴 )的公共端,控制每位数码管的分时显示,实现动态扫描显示。软件设计以单片机内部 RAM的 30H,31H作为显示数据缓存,两位段码的获取及每位数码管的显示控制由显示子程序完成。参考程序如下。.cn/webnew/两位数码管动态扫描显示电路.cn/webnew/AD0 EQU 30H ; 个位显存AD1 EQU 31H ; 十位显存ORG 0000HAJMP MAINORG 0013H ; 外部中断入口地址AJMP INT1**************主程序 *********************MAIN,MOV SP,#60HMOV AD0,#0 ; 显存清 0MOV AD1,#0SETB EA ; 开通中断开关SETB EX1 ; 开外部中断SETB IT1 ; 下降沿触发LOOP,MOV R2,#0FDH ; 显示位码 (十位 )初值送 R2ACALL DISP ; 调两位显示子程序SJMP LOOP两位数码管动态扫描显示参考程序.cn/webnew/**************外部中断处理程序 ******************完成计算开关来回拨动的次数,并进行 BCD码调整***********************************************INT1,INC AD0 ; 每中断一次 (开关来回拨动一次 )计数加 1MOV A,AD0CJNE A,#10,LOOP1 ; 个位小于 10?MOV AD0,#0 ; 等于 10,个位调整为 0十位加 1INC AD1MOV A,AD1CJNE A,#10,LOOP1 ; 计数是否等于 100?MOV AD1,#0 ; 等于 100,个位十位调整为 0LOOP1,RETI ; 返回两位数码管动态扫描显示参考程序.cn/webnew/***************两位动态显示子程序 ***************功能,两位数码动态显示 (P1口送字形码,P2口送位码 )入口,显存地址 AD1,AD0,位显码初值 R2(0FDH)************************************************DISP,MOV DPTR,#TAB ; 字形码首地址MOV R0,#AD1 ; 十位显存地址送 R0NEXT,MOV A,@R0MOVC A,@A+DPTR ; 查字形码MOV P1,A ; 字形码送 P1MOV P2,R2 ; 位显码送 P2ACALL DELAY ; 延时DEC R0 ; 指向下一地址MOV A,R2RR A ; 指向下一位显MOV R2,ACJNE R2,#07FH,NEXT ; 2位数码显示完?RET ; 显示完返回DELAY,…… ; 延时子程序 (略 )TAB,DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ; 字形码两位数码管动态扫描显示参考程序.cn/webnew/10.3.4 LCD显示器的结构与原理及应用1,LCD显示器简介(1) LCD显示器的结构和原理液晶显示器的结构图如下图所示。不同类型的液晶显示器件其组成可能会有所不同,但是所有液晶显示器件都可以认为是由两片光刻有透明导电电极的基板,夹持一个液晶层,封接成一个扁平盒,有时在外表面还可能贴装上偏光片等构成。玻璃基板 是一种表面极其平整的浮法生产薄玻璃片。表面蒸镀有一层 In2O3或 SnO2透明导电层,即 ITO膜层 。经光刻加工制成 透明导电图形 。这些图形由像素图形和外引线图形组成。因此,外引线不能进行传统的锡焊,只能通过 导电橡胶条 或导电胶带 等进行连接。如果划伤、割断或腐蚀,则会造成器件报废。.cn/webnew/10.3.4 LCD显示器的结构与原理及应用1,LCD显示器简介(1) LCD显示器的结构和原理液晶显示器的结构图.cn/webnew/10.3.4 LCD显示器的结构与原理及应用1,LCD显示器简介(1) LCD显示器的结构和原理液晶材料 是液晶显示器件的主体。不同器件所用液晶材料不同,液晶材料大都是由几种乃至十几种单体液晶材料混合而成。每种液晶材料都有自己固定的清亮点 TL和结晶点 TS。因此也要求每种液晶显示器件必须使用和保存在 TS~ TL之间的一定温度范围内,如果使用或保存温度过低,结晶会破坏液晶显示器件的定向层;而温度过高,液晶会失去液晶态,也就失去了液晶显示器件的功能。液晶显示的原理 是液晶在电场的作用下,液晶分子的排列方式发生了改变,从而使其光学性质发生了变化。.cn/webnew/10.3.4 LCD显示器的结构与原理及应用1,LCD显示器简介(2) LCD显示器分类从显示的形式上通常可分笔段型、字符型和点阵图形型。笔段型 。笔段型 LCD是以长条状显示像素组成一位显示。 在形状上总是围绕数字,8”的结构变化,广泛用于电子表、数字仪表中。字符型 。字符型液晶显示模块是专门用来显示字母、数字、符号等的点阵型液晶显示模块。在电极图形设计上它是由若干个 5 &#215; 8或 5&#215; 11点阵组成,每一个点阵显示一个字符。这类模块广泛应用于寻呼机、手机、电子记事本等类电子设备中。点阵图形型 。点阵图形型是在一平板上排列多行和多列,形成矩阵形式的晶格点,点的大小可根据显示的清晰度来设计。这类液晶显示器可广泛用于图形显示如游戏机、笔记本电脑和彩色电视等设备中。.cn/webnew/10.3.4 LCD显示器的结构与原理及应用1,LCD显示器简介(2) LCD显示器分类液晶显示器件在使用时必须选配相应的 控制器 和 驱动器 才能工作。将液晶显示器件、控制器,PCB线路板、背光源、结构件装配在一起的组件称之为 液晶显示模块 。只需通过控制器接口外接数字信号或模拟信号即可驱动 LCD显示。因液晶显示模块使用方便、简洁,在字符型 LCD和点阵图形型 LCD中得到广泛应用。.cn/webnew/10.3.4 LCD显示器的结构与原理及应用2,8051与笔段型 LCD的接口及应用(1) 液晶显示控制器 ICM7211简介ICM7211是 MAXIM公司推出的 四位七段码 LCD液晶显示驱动器 。该器件内部含有输入数据锁存器,BCD码到七段码的译码器、基准时钟信号发生器和位选电路。采用 40脚双列直插式封装。ICM7211中的 RC振荡器的工作方式:将 36脚悬空可产生19kHz方波信号;如果希望用较低的频率来驱动大显示器,可在 36脚与 1脚或 35脚之间接一个电容,外接电容越大,频率越小;也可以在 36脚接一个外部时钟源来激励振荡器。如果将 36脚接地,那么 BP脚将作输入用,此时可用另一片ICM7211的背极输出来驱动,这种情况一般适用于两片ICM7211级联的情况。.cn/webnew/10.3.4 LCD显示器的结构与原理及应用ICM7211各引脚的功能具体说明如下:V+(1脚 ):接 +5V电源。GND(35脚 ):接地端。OSC(36脚 ):内部振荡控制。悬空时振荡器工作,接地时振荡器不工作。BP(5脚 ),LCD公共驱动极 (背光极 )。当 OSC引脚悬空时输出 125Hz脉冲,当 OSC引脚接地时是系统的工作脉冲输入极。B3~ B0(30~ 27脚 ),BCD码输入。DS1,DS2和 CS1,CS2(不带,M,后缀的器件为 D1~ D4,为位选信号,31~ 34脚 ):这四个端口中的前、后两脚分别为位选和片选信号端。A1~ G1(37~ 40,2~ 4脚 ):第一位 (个位 ) LCD七段码输出。A2~ G2(6~ 12脚 ):第二位 (十位 ) LCD七段码输出。A3~ G3(13~ 19脚 ):第三位 (百位 ) LCD七段码输出。A4~ G4(20~ 26脚 ):第四位 (千位 ) LCD七段码输出。.cn/webnew/10.3.4 LCD显示器的结构与原理及应用2,8051与笔段型 LCD的接口及应用(1) 液晶显示控制器 ICM7211简介ICM7211(A)M接口使用的位选信号是两条地址线和两条片选信号线,其真值表如下表所示。DS2 DS1 CS2 CS1 功 能0 0 0 0 数据存储在 D40 1 0 0 数据存储在 D31 0 0 0 数据存储在 D21 1 0 0 数据存储在 D2X X 其他 未选中ICM7211(A)M真值表.cn/webnew/10.3.4 LCD显示器的结构与原理及应用2,8051与笔段型 LCD的接口及应用(2) 应用实例【 例 10】 用 LCD显示器显示开关来回拨动的次数 (4位 )。解:硬件电路设计如下图所示,采用 ICM7211(A)M驱动 4位半液晶显示器 YXY4501。ICM7211(A)M的 OSC悬空,产生方波。 P0.0~ P0.3接ICM7211(A)M的 BCD码输入端送显示数据。 P2.0,P2.1接位选引脚 DS1,DS2作为 4位 LCD的位选择。 P2.7接片选端 CS1,P2.7为 0选中 ICM7211(A)M。 WR接片选端 CS2,当执行指令,MOVX @DPTR,A”时,WR送出一负脉冲使 CS2有效,从而选中 ICM7211(A)M。.cn/webnew/软件设计时,先把相应的位选择码作为高八位地址送到 DPH,再把显存存放的 BCD码数据作为低八位地址送入到 DPL。然后执行,MOVX @DPTR,A”控制 LCD的显示。这种程序设计方法巧妙地将 BCD码值作为低位地址,而将ICM7211作为,只写,外部 RAM使用,这一设计大大地简化了显示子程序设计。LCD显示器接口电路.cn/webnew/D0 EQU 30H ; 个位计数及显存地址D1 EQU 31H ; 十位计数及显存地址D2 EQU 32H ; 百位计数及显存地址D3 EQU 33H ; 千位计数及显存地址AD0 EQU 40H ; 存放个位显示选通码地址AD1 EQU 41H ; 存放十位显示选通码地址AD2 EQU 42H ; 存放百位显示选通码地址AD3 EQU 43H ; 存放千位显示选通码地址ORG 0000HAJMP MAINORG 0013HLJMP INT1ORG 0030HMAIN,MOV SP,#60HMOV AD0,#03H ; 个位显示选通码MOV AD1,#02H ; 十位显示选通码MOV AD2,#01H ; 百位显示选通码MOV AD3,#00H ; 千位显示选通码SETB EA ; 开通中断SETB IT1 ; 下跳沿触发SETB EX1 ; 开通外部中断 1参考程序.cn/webnew/*******************************************显示程序*******************************************DISPLAY,MOV R2,#4 ; 显示 4位MOV R0,#D0 ; 显存首地址送 R0MOV R1,#AD0 ; 选通码首地址送 R0LOOP,MOV A,@R1MOV DPH,A ; 显示位码送高八位MOV A,@R0MOV DPL,A ; 要显示的数据送低八位MOVX @DPTR,A ; 靠地址码控制显示INC R0INC R1DJNZ R2,LOOPSJMP DISPLAY*******************************************外部中断处理程序,完成计数指针加 1并进行各位计数指针的调整 (最大只能到 9)******************************************……(略,可参考例 9)END参考程序.cn/webnew/10.4 数 /模转换接口10.4.1 数 /模转换器概述10.4.2 数 /模转换芯片应用实例.cn/webnew/10.4.1 数 /模转换器概述测控系统是单片机应用的重要领域。在测控系统中,除数字量之外还会遇到另一种物理量,即 模拟量 。例如:温度、速度、电压、电流、压力等,它们都是 连续变化的物理量 。单片机系统中凡是遇到有模拟量的地方,就要进行模拟量向数字量、数字量向模拟量的转换,也就要涉及到单片机的数 /模 (D/A)和模 /数 (A/D)转换的接口技术。数 /模转换 主要用于将单片机的数字量输出转化为实际的模拟量控制外接设备。.cn/webnew/10.4.1 数 /模转换器概述D/A转换器输入的是数字量,经转换后输出的是模拟量。数/模转换器集成电路芯片种类很多。按输入的二进制数的位数分类,有 八位,十位,十二位 和十六位 等。按输出是电流还是电压分类,分为 电压输出器件 和 电流输出器件 。.cn/webnew/10.4.1 数 /模转换器概述1,D/A转换器的技术指标有关 D/A转换器的技术性能指标很多,例如 绝对精度,相对精度,线性度,输出电压范围,温度系数,输入数字代码种类 (二进制或 BCD码 )等。D/A转换器与接口有关的技术性能指标:分辩率 。数 /模转换的分辩率是指最小输出电压 (对应的输入二进制数为 1)与最大输出电压 (对应的输入二进制数的所有位全为 1)之比。例如 8位数的分辨率为 1/256≈0.004,10位数分辨率为 1/1024,约等于 0.001。由此可见数字量位数越多,分辨率也就越高。分辨率通常用数字输入信号的位数表示,有 8位,10位,12位等。.cn/webnew/10.4.1 数 /模转换器概述1,D/A转换器的技术指标建立时间 。也称稳定时间,它是指从数字量输入到建立稳定的输出电流的时间,是描述 D/A转换速率的一个重要参数。转换精度 。由于转换器内部的误差等原因,当送一个确定的数字量给 DAC后,它的实际输出值与该数值应产生的理想输出值之间会有一定的误差,它就是 D/A转换器的精度。.cn/webnew/10.4.1 数 /模转换器概述2,D/A转换芯片 DAC0832DAC0832是一个 8位 D/A转换器 。单电源供电,从 +5V~+15V均可正常工作。基准电压的范围为 -10V~ +10V;电流建立时间为 1μs ;采用CMOS工艺,低功耗 20mW。DAC0832转换器芯片为 20引脚,双列直插式封装。其引脚排列如右图所示。1234567891020191817161514131211D A C0 8 3 2VCCIL E2WRX F E RD I4D I5D I6D I7IO U T 2IO U T 1CS1WRA G N DD I3D I2D I1D I0VR E FRFBD G N DDAC0832引脚图.cn/webnew/10.4.1 数 /模转换器概述DAC0832引脚的功能定义如下:DI7~ DI0,8位的数据输入端,DI7为最高位。IOUT1,模拟电流输出端 1,当 DAC寄存器中数据全为 1时,输出电流最大,当 DAC寄存器中数据全为 0时,输出电流为 0。IOUT2,模拟电流输出端 2,IOUT2与 IOUT1的和为一个常数,即 IOUT1+IOUT2=常数。RFB:反馈电阻引出端,DAC0832是电流输出,为了取得电压输出,需在电压输出端接运算放大器。 DAC0832内部已经有反馈电阻,所以 RFB端可以直接接到外部运算放大器的输出端,这样相当于将一个反馈电阻接在运算放大器的输出端和输入端之间。VREF,参考电压输入端,此端可接一个正电压,也可接一个负电压,它决定 0至 255的数字量转化出来的模拟量电压值的幅度,VREF范围为(+10~ -10)V。 VREF端与 D/A内部 T形电阻网络相连。VCC:芯片供电电压,范围为 (+5~ 15)V。AGND:模拟量地,即模拟电路接地端。DGND:数字量地。.cn/webnew/10.4.1 数 /模转换器概述8 位输入寄存器8 位DAC寄存器8 位D/A转换器10203911128191182174 ~ 713 ~ 16图 10 - 23 DAC0832 内部结构图ILECSW R 1W R 2X F E RV R E FI OUT2I OUT1R FBAGNDV CCDGNDDI3 ~ DI0DI7 ~ DI4DAC0832内部结构框图如下图所示。从图中可见,在DAC0832中有两个数据缓冲器,输入寄存器和 DAC寄存器。其控制端分别受 ILE,CS,WR1和 WR2,XFER的控制。DAC0832内部结构框图.cn/webnew/10.4.2 数 /模转换芯片应用实例DAC0832有三种不同的工作方式,直通方式,单缓冲方式,双缓冲方式 。1,直通方式的接口与应用当 ILE接高电平,CS,WR1,WR2和 XFER都接数字地时,DAC处于直通方式,8位数字量一旦到达 DI7~ DI0输入端,就立即加到 8位 D/A转换器,被转换成模拟量。DAC0832直通方式输出连接图如下图所示。运放 U3输出电压为 UOUT=-(D/256)*VREF,图中如果向DAC0832传送的 8位数据量为 40H(B),则输出电压UOUT=-(64/256)*5V=-1.25V(反相 ),其输出过程可用,MOVP0,#40H”一条指令完成。.cn/webnew/10.4.2 数 /模转换芯片应用实例【 例 11】 直通方式产生锯齿波电压信号 (波形如下图所示 )。解:电路如下图所示。集成运放在电路中的作用是把 DAC0832输出电流转换为电压。即实现电流电压转换。锯齿波电压信号随时间变化而上升,达到最大值后,又从 0开始上升,再到最大值如此循环下去。因此,只要让DAC0832输入的数字量也如此变化就可使输出端输出锯齿波。.cn/webnew/10.4.2 数 /模转换芯片应用实例EA/ VP31X119X218R ESET9RD17WR16INT012INT113T014T115P101P1 12P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/ P30TXD11R XD10U18051V CC3261 574U3741- 12V+ 12 VAGND3261 574U4741+ 12 V- 12VR310k ΩR410kΩAGND+ 5VV CC R1 10kΩAGNDGND GNDV CCUo5VV CC20Iou t 111DI07Iou t 212DI16DI25R fb9DI34DI416V re f8DI515DI614DI713ILE19WR218CS1WR12Xfe r17AGND3U2DAC 08 32单片机和 DAC0832直通方式输出连接图.cn/webnew/10.4.2 数 /模转换芯片应用实例对锯齿波的产生作如下说明:① 程序每循环一次,(R0)加 1,因此实际上锯齿波的上升沿是由 256个小阶梯构成的。但由于阶梯很小,所以看上去就如上图所表示的线性增长锯齿波。② 延迟时间不同,波形周期不同,锯齿波的斜率就不同。参考程序如下:ORG 0000HMOV R0,#0 ;置转换初值DAC,MOV P0,R0 ;送数据到 P0口,DAC0832同时进行转换INC R0 ;转换数字量加 1,当加到最大值 0FFH时,再加 1,R0变为 0ACALL DELAY ;延时量决定锯齿波周期AJMP DACDELAY,……(略 )END.cn/webnew/10.4.2 数 /模转换芯片应用实例2,单缓冲方式的接口与应用单缓冲方式就是使 DAC0832的两个输入寄存器中有一个处于直通方式,而另一个处于受控的锁存方式,或者说两个输入寄存器同时受控的方式。在实际应用中,如果只有一路模拟量输出,或虽有几路模拟量但并不要求同步输出的情况,就可采用单缓冲方式。接口电路如下图所示。.cn/webnew/10.4.2 数 /模转换芯片应用实例E A / VP31X119X218R E S ET9RD17WR16IN T012I N T 113T014T115P 101P 1 12P 123P 134P 145P 156P 167P 178P 0039P 0138P 0237P 0336P 0435P 0534P 0633P 0732P 2021P 2122P 2223P 2324P 2425P 2526P 2627P 2728P S E N29A L E / P30T X D11RXD10U18051V CC3261 574U3741- 12V+1 2VA G NDR210k Ω3261 574U4741R1 50 k Ω+ 12V- 12VR310kΩR410kΩA G N DA G ND+ 5VV CCUoUoV c cV CC20I o ut111D I 07I o ut212D I 16D I 25R f b9D I 34D I 416V r ef8D I 515D I 614D I 713I L E19W R 218CS1WR 12X f er17A G N D3U2D A C 08 32单缓冲方式接口电路.cn/webnew/10.4.2 数 /模转换芯片应用实例2,单缓冲方式的接口与应用【 例 12】 单缓冲方式产生锯齿波。解,电路连接如上图所示。WR2=0和 XFER=0,因此 DAC寄存器处于直通方式。而输入寄存器处于受控锁存方式,WR1接 8051的 WR,ILE接高电平,CS接 P2.7故输入寄存器地址为 07FFFH。软件设计思路与例 11相同,只是改为用,MOVX @DPTR,A”来发送数据和启动转换。.cn/webnew/10.4.2 数 /模转换芯片应用实例单缓冲方式产生锯齿波的源程序如下:MOV DPTR,#7FFFH ; 指向 0832地址MOV R0,#00H ; 置转换数字初值DA1,MOV A,R0MOVX @DPTR,A ; 启动转换INC R0 ; 转换数字量加 1ACALL DELAY ; 延时AJMP DA1DELAY,MOV R7,#7DH ; 延时子程序DL1,NOPNOPDJNZ R7,DL1RET.cn/webnew/10.4.2 数 /模转换芯片应用实例2,单缓冲方式的接口与应用【 例 13】 利用 0832输出一个从 -5V开始逐渐上升到 0V再升至 5V,再从 5V逐渐降至 0V,再降至 -5V的锯齿波电压。解,硬件电路如下图所示。同图中集成运放 U4接成一加法电路。输出电压 UO=-(5+2Ui)。当 0832输出 -5V时 (最大值 ),UO=-(5-10)=+5V;输出 -2.5V时,UO=0V;输出 0V时,UO=-5V。软件设计时,与例 10.14有点不同的是,当数字量达到最大(0FFH)时要进行减 1运算。而不是变为 0。当数字量减至 0时,又开始加 1运算。.cn/webnew/10.4.2 数 /模转换芯片应用实例锯齿波形成电路EA /VP31X119X218R ES ET9RD17WR16IN T012IN T113T014T115P101P 1 12P123P134P145P156P167P178P003 9P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728P S EN29A LE /P30TX D11R X D10U18051V CC3261 574U3741- 12V+12VAGND3261 574U4741+12V- 12VR35,1 k ΩR410kΩAGND+5VV CC+5VR110kΩV CCUoUo+5V- 5VV CC20Io u t111D I07Io ut212D I16D I25R fb9D I34D I416V ref8D I515D I614DI713ILE19W R 218CS1W R 12X fer17AGND3U2D A C 0 8 3 2.cn/webnew/ORG 0000HHA6S,MOV SP,#53H ;设置堆栈HA6S1,MOV R6,#00H ;数字量初值HA6S2,MOV DPTR,#7FFFH ;地址MOV A,R6 ;数字量送 AMOVX @DPTR,A ;进行 D/A转换MOV R2,#0BHLCALL DELAY ;延时INC R6 ;数字量加 1CJNE R6,#0FFH,HA6S2 ;数字量增加到 0FFH?不是,则继续,是则开始减 1HA6S3,MOV DPTR,#7FFFH ;0832地址DEC R6 ;数字量减 1MOV A,R6MOVX @DPTR,A ;数字量送 0832启动 D/A转换MOV R2,#0BHLCALL DELAY ;延时CJNE R6,#00H,HA6S3 ;数字量是否减到 0,不是则继续减 1,是则开始加 1SJMP HA6S1锯齿波形成参考程序.cn/webnew/*********** 延时子程序 *************DELAY,PUSH 02H ;入栈DELAY1,PUSH 02HDELAY2,PUSH 02HDELAY3,DJNZ R2,DELAY3POP 02HDJNZ R2,DELAY2POP 02HDJNZ R2,DELAY1POP 02HDJNZ R2,DELAYRETEND锯齿波形成参考程序.cn/webnew/10.4.2 数 /模转换芯片应用实例3,双缓冲方式的接口与应用双缓冲方式就是把 DAC0832的两个锁存器都接成受控锁存方式。双缓冲方式用于多路数 /模转换系统,以实现多路模拟信号同步输出的目的。DAC0832与单片机的接口电路如下图所示,.cn/webnew/10.4.2 数 /模转换芯片应用实例双缓冲方式的接口电路E A / V P31X119X218R E S ET9RD17WR16I N T 012I N T 113T014T115P 101P 1 12P 123P 134P 145P 156P 167P 178P 0039P 0138P 0237P 0336P 0435P 0534P 0633P 0732P 2021P 2122P 2223P 2324P 2425P 2526P 2627P 2728PSEN29A L E / P30T X D11RXD10U18051V CC3261 574U3741- 12V+ 12VA G N D3261 574U5741+ 12V- 12VR15,1kΩR310kΩA G N D+ 5VV CC+ 5VR510kΩV CC3261 574U4741- 12V+ 12VA G N D3261 574U6741+ 12V- 12VR25,1kΩR410kΩA G N D+ 5V+ 5VR610kΩX F E RX F E RXFERP 2,5P 2,5V CCV CCWRWRWRP 2,6P2,6V CC20I o ut 111D I 07Io u t 212D I 16D I 25R f b9D I 34D I 416V r ef8D I 515D I 614D I 713I L E19W R 218CSW R 12X f er17A G N D3U2D A C 0832( 1)20I o ut 111D I 07I o ut 212D I 16D I 25R f b9D I 34D I 416V r ef8D I 515D I 614D I 713ILE19W R 218CS1W R 12X f er17A G N D3U7D A C 0832( 2).cn/webnew/10.4.2 数 /模转换芯片应用实例3,双缓冲方式的接口与应用【 例 14】 DAC0832同步波形输出正弦波、锯齿波。解,DAC0832与单片机的接口电路如上图所示。电路图中DAC0832(1)输入寄存器地址为 0BFFFH,DAC0832(2)输入寄存器地址为 0DFFFH,0832(1)和 0832(2)的 DAC寄存器地址均为 7FFFH。正弦波的产生由各采样点数据依次进行 D/A转换得到。.cn/webnew/ORG 00HSTART,MOV R1,#255 ; 256个取样点MOV R2,#0 ; 锯齿波初值LOOP,MOV DPTR,#0DFFFH ; DAC0832(2)输入寄存器地址MOV A,R2MOVX @DPTR,A ; 锯齿波送 DAC0832(2)MOV DPTR,#DTAB ; 取信号数据表首地址MOVC A,@A+DPTR ; 查表取正弦波信号数据MOV DPTR,#0BFFFH ; DAC0832(2)输入寄存器地址MOVX @DPTR,A ; 输出正弦波信号到 DAC0832(1)MOV DPTR,#7FFFH ; DAC0832(1) DAC0832(2)DAC寄存器地址MOVX @DPTR,A ; 同时启动两个 0832转换INC R2DJNZ R1,LOOPSJMP START双缓冲方式同步波形输出正弦波参考程序.cn/webnew/10.4.2 数 /模转换芯片应用实例DTAB,DB 80H,83H,86H,8DH,90H,96H,99H,9CH ;正弦数据表DB 9FH,0A2H,0A5H,0A8H,0ABH,0AEHDB 0B1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H,0C5HDB 0C7H,0CAH,0CFH,0D1H,0D4H,0D6H,0D8HDB 0DAH,0DDH,0DFH,0E1H,0E3H,0E5H,0E7H,0E9HDB 0EAH,0ECH,0EEH,0EFH,0F1H,0F2H,0F4H,0F5HDB 0F6H,0F7H,0F8H,0F9H,0FAH,0FBH,0FCH,0FDHDB 0FDH,0FEH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FEH,0FDHDB 0FDH,0FCH,0FBH,0FAH,0F9H,0F8H,0F7H,0F6HDB 0F5H,0F4H,0F2H,0F1H,0EFH,0EEH,0ECH,0EBHDB 0EAH,0E9H,0E7H,0E5H,0E3H,0E1H,0DFH,0DDHDB 0DAH,0D8H,0D6H,0D4H,0D1H,0CFH,0CCH,0CAHDB 0C7H,0C5H,0C2H,0BFH,0BCH,0BAH,0B7H,0B4HDB 0B1H,0AEH,0ABH,0A8H,0A5H,0A2H,9FH,9CHDB 99H,96H,93H,90H,8DH,89H,86H,83HDB 80H,80H,7CH,79H,76H,72H,6FH,6CHDB 69H,66H,63H,60H,5DH,5AH,57H,55HDB 51H,4EH,4CH,48H,45H,43H,40H,3DHDB 3AH,38H,35H,33H,30H,2EH,2BH,29HDB 27H,25H,22H,20H,1EH,1CH,1AH,18HDB 16H,15H,13H,11H,10H,0EH,0DH,0BHDB 0AH,09H,08H,07H,06H,04H,03H,02HDB 02H,01H,00,00,00,00,00,00DB 00,00,00,00,00,00,01H,02HDB 02H,03H,04H,05H,06H,07H,08H,09HDB 0AH,0BH,0DH,0EH,10H,11H,13H,15HDB 16H,18H,1AH,1CH,1EH,20H,22H,25HDB 27H,29H,2BH,2EH,30H,33H,35H,38HDB 3AH,3DH,40H,43H,45H,48H,4CH,4EHDB 51H,55H,57H,5AH,5DH,60H,63H,66HDB 69H,6CH,6FH,72H,76H,79H,7CH,80HEND双缓冲方式同步波形输出正弦波参考程序.cn/webnew/10.5 模 /数转换接口10.5.1 模 /数转换器概述10.5.2 逐次逼近型模 /数转换芯片应用实例.cn/webnew/10.5.1 模 /数转换器概述A/D转换器用于实现模拟量到数字量的转换,按转换原理可分为四种,计数式 A/D转换器,双积分式 A/D转换器,逐次逼近式 A/D转换器和 并行式 A/D转换器。目前最常用的是双积分式 A/D转换器和逐次逼近式 A/D转换器。双积分式 A/D转换器 的主要优点是转换精度高,抗干扰性能好,价格便宜,但转换速度较慢。因此这种转换器主要用于转换速度要求不高的场合。逐次逼近式 A/D转换器 是一种转换速度较快、精度较高的转换器。其转换时间大约在几微秒到几百微秒之间。.cn/webnew/10.5.1 模 /数转换器概述通常使用的逐次逼近式典型 A/D转换器芯片有:ADC0801~ ADC0805型 8位 MOS型 A/D转换器,美国国家半导体公司产品。它是目前最流行的中速廉价型产品。片内有三态数据输出锁存器,单通道输入,转换时间约 100μs左右。ADC型 8位 MOS型 A/D转换器。可实现 8路模拟信号的分时采集,片内有 8路模拟选通开关,以及相应的通道地址锁存用译码电路,其转换时间为 100μs左右。ADC。这类产品除输入通道数增加至 16个以外,其他性能与 ADC型基本相同。.cn/webnew/10.5.1 模 /数转换器概述A/D转换器的主要技术指标有:分辨率 。以输出二进制的位数表示分辨率,位数越多,误差越小,转换精度越高。相对精度 。相对精度是指实际的各个转换点偏理想特性的误差。在理想的情况下,所有的转换点应当在一条直线上。转换速度 。它是指完成一次转换所需的时间。转换时间是指由启动转换命令到转换结束信号开始有效的时间间隔。电源抑制 。在输入电压不变的前提下,当转换电路的供电电源电压发生变化时,对输出也会产生影响。这种影响可用输出数字量的绝对变化量来表示。此外,尚有 功率损耗,温度系数,输入模拟电压范围 以及输出数字信号的逻辑电平 等指标。.cn/webnew/10.5.2 逐次逼近型模 /数转换芯片应用实例1,ADC0809ADC0809是典型的 8位 8通道逐次逼近式 A/D转换器,CMOS工艺;片内有 8路模拟开关,可对 8路模拟电压量实现分时转换。 ADC0809的引脚如下图所示,逻辑结构图如下图所示。12345678910111213142827262524232221201918171615A DC 0 8 0 9IN2IN1IN0ABCA L ED7D6D5D4D0VR E F( - )D2IN3IN4IN5IN6IN7S T A R TE OCD3OECL KVCCVR E F( + )G NDD1ADC0809的引脚如下图.cn/webnew/10.5.2 逐次逼近型模 /数转换芯片应用实例ADC0809逻辑结构图.cn/webnew/ADC0809其引脚定义如下:IN7-IN0,8条模拟量输入通道。D7-D0,输出数据端。其中 D7是最高位 M SB,D0为最高位 LSB。START:启动转换命令输入端。高电平有效。EOC:转换结束指示脚。平时它为高电平,在转换开始后及转换过程中为低电平,转换结束,它又变回高电平。OE:输出使能端。此脚为高电平,即打开输出缓冲器三态门,读出数据。C,B和 A:通道号选择输入端。其中 A是 LSB位,这三个引脚上所加电平的编码为 000~ 111时,分别对应于选通通道 IN7~ IN0。ALE:通道号锁存控制端。当它为高电平时,将 C,B和 A三个输入引脚上的通道号选择码锁存,也就是使相应通道的模拟开关处于闭合状态。实际使用时,常把 ALE和 START连在一起,在 START端加上高电平启动信号的同时,将通道号锁存起来。CLK:外部时钟输入。 ADC809典型的时钟频率为 640KHz,转换时间为100μs。时钟信号一般由单片机 ALE经分频得到;VREF(+),VREF(-):两个参考电压输入端。.cn/webnew/10.5.2 逐次逼近型模 /数转换芯片应用实例2,ADC0809接口及应用ADC0809与单片机有 3种接口方式:查询方式中断方式等待延时方式ADC0809与 8051单片机的一种接口如下图所示。电路连接及编程主要涉及两个问题,一是 8路模拟信号通道选择及启动 A/D转换,二是确认 A/D转换完成及转换数据的传送。.cn/webnew/10.5.2 逐次逼近型模 /数转换芯片应用实例ADC0809与 8051单片机的连接EA /V P31X119X218R ES ET9RD17WR16IN T012IN T113T014T115P101P 1 12P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728P S EN29A LE /P30TX D11RXD10U3805 1D03Q02D14Q15D27Q26D38Q39D413Q412D514Q515D617Q616D718Q719OE1LE11U47 4 LS 3 7 3CLK3D2SD4CD1Q5Q6U2A7 4 LS 7 4 8910U1C7 4 LS 0 2456U1B7 4 LS 0 2123U1A7 4 LS 0 2+5 VV CCP 2,7WRRDRDWRIN TIN T1A LEA LEA LEV ccV ccGNDP 2,7IN 026D721D620IN 127D519D418IN 228D38D215IN 31D114D017IN 42EO C7IN 53A25IN 64B24C23IN 75A LE22V ref( - )16OE9S T A R T6V ref( + )12CLK10U5ADC0809.cn/webnew/10.5.2 逐次逼近型模 /数转换芯片应用实例2,ADC0809接口及应用(1) 八路模拟通道选择及启动 A/D转换A,B,C分别接地址锁存器提供的低三位地址,只要把三位地址写入 ADC0809中的地址锁存器,就实现了模拟通道选择。图中使用的是线选法,口地址由 P2.7确定,同时和相或取反后作为开始转换的选通信号。因此该 ADC0809的通道地址确定如下:若无关位都取 1,则 8路通道 IN0~ IN7的地址为 7FF8H~7FFFH。.cn/webnew/10.5.2 逐次逼近型模 /数转换芯片应用实例2,ADC0809接口及应用(1) 八路模拟通道选择及启动 A/D转换从上图中可以看到,把 ADC0809的 ALE信号与 START信号连接在一起了。这样使得在 ALE信号的前沿写入地址信号,紧接着在其后沿就启动转换。启动图中的 ADC0809进行转换只需要下面的指令 (以通道 0为例 ):MOV DPTR,#7FF8H ; 选中通道 0MOVX @DPTR,A ; WR信号有效,启动转换.cn/webnew/10.5.2 逐次逼近型模 /数转换芯片应用实例2,ADC0809接口及应用(2) 转换完成的确认和数据的传送A/D转换后得到的是数字量的数据,这些数据应传送给单片机进行处理。数据传送的关键问题是如何确认 A/D转换完成,因为只有确认数据转换完成后,才能进行传送。为此可采用下述三种方式。① 定时传送方式对于一种 A/D转换器来说,转换时间作为一项技术指标是已知的和固定的。例如,若 ADC0809转换时间为 128μs,相当于 6MHz的 MCS-51单片机的 64个机器周期。可据此设计一个延时子程序,A/D转换启动后即调用这个延时子程序,延迟时间一到,转换肯定已经完成了,接着就可进行数据传送。.cn/webnew/10.5.2 逐次逼近型模 /数转换芯片应用实例2,ADC0809接口及应用(2) 转换完成的确认和数据的传送② 查询方式A/D转换芯片有表明转换完成的状态信号,ADC0809的 EOC端就是转换结束指示脚。因此可以用查询方式,软件测试 EOC的状态,即可确知转换是否完成,然后进行数据传送。③ 中断方式把表明转换完成的状态信号 (EOC)作为中断请求信号,以中断方式进行数据传送。在图中,EOC信号经过反相器后送到单片机的 INT1,因此可以采用查询该引脚或中断的方式进行转换后数据的传送。.cn/webnew/10.5.2 逐次逼近型模 /数转换芯片应用实例2,ADC0809接口及应用(2) 转换完成的确认和数据的传送不管使用上述哪种方式,只要一旦确认转换完成,即可通过指令进行数据传送。首先送出口地址并以 RD作选通信号,当 RD信号有效时,OE信号即有效,把转换数据送上数据总线,供单片机接收,即:MOV DPTR,#7FF8H ; 选中通道 0MOVX A,@DPTR,; RD信号有效,输出转换后的数据到 A累加器.cn/webnew/10.5.2 逐次逼近型模 /数转换芯片应用实例【 例 15】 对上图所示的接口电路巡回检测从 IN0~ IN7输入的 8路模拟电压信号,检测数据依次存放在 60H开始的内存单元中。解:电路中 ADC0809的时钟由单片机 ALE引脚的信号经分频提供。ADC 0809 IN0~ IN7的地址为 7FF8H~ 7FFFH,启动 A/D转换的关键指令为,MOV DPTR,#地址,和,MOVX @DPTR,A”。读入数据的关键指令为,MOV DPTR,#地址,和,MOVX A,@DPTR”。用中断方式来完成转换后数据的传送的源程序如下,也可以用查询的方式实现,源程序如下。.cn/webnew/ORG 0000H ; 主程序入口地址AJMP MAIN ; 跳转主程序ORG 0013H ; INT1中断入口地址AJMP INT1 ; 跳转中断服务程序ORG 0030HMAIN,MOV R0,#60H ; 数据暂存区首址MOV R2,#08H ; 8路计数初值SETB IT1 ; INT1边沿触发SETB EA ; 开中断SETB EX1 ; 允许 INT1中断MOV DPTR,#7FF8H ; 指向 0809 IN0通道地址MOV A,#00H ; 此指令可省,A可为任意值LOOP,MOVX @DPTR,A ; 启动 A/D转换HERE,SJMP HERE ; 等待中断DJNZ R2,LOOP ; 巡回未完继续ORG 0060HINT1,MOVX A,@DPTR ; 读 A/D转换结果MOV @R0,A ; 存数INC DPTR ; 更新通道INC R0 ; 更新暂存单元RETI ;返回中断方式来完成转换后数据的传送的源程序.cn/webnew/ORG 0000H ; 主程序入口地址AJMP MAIN ; 跳转主程序ORG 1000HMAIN,MOV R0,#60HMOV R2,#08HMOV DPTR,#7FF8HMOV A,#00HL0,MOVX @DPTR,AL1,JB P3.3,L1 ; 查询 INT1是否为 0MOVX A,@DPTR ; INT1为 0,则转换结束,读出数据MOV @R0,AINC R0INC DPTRDJNZ R2,L0SJMP $查询方式来完成转换后数据的传送的源程序.cn/webnew/10.6 单片机应用系统实例10.6.1 空调机温度控制系统10.6.2 步进电机控制器.cn/webnew/10.6.1 空调机温度控制系统1,设计要求用 MCS-51单片机设计一个空调机的温控系统。具体要求如下:实时测量环境温度,并显示当前温度值。当室温度高于设定温度,压缩机运转,使室温降低。当室温低于设定温度,压缩机停止运转。温度设定功能,通过按键输入压缩机启停的温度设定值。设定温度过程中显示设定温度值,以便于操作。设定完毕后,改为显示当前测定温度值。.cn/webnew/10.6.1 空调机温度控制系统2,总体方案(1) 系统设计根据设计要求,设计出温度控制系统的基本结构框图如下图所示。系统由四个主要功能模块组成:温度测量、按键输入,数码显示以及控制压缩机启停模块。温度测量模块 的主要功能是将环境温度转化为电参数 (电压 ),并通过A/D转换得到数字量送入单片机。按键输入模块 主要功能是实现设定温度值的输入。LED显示模块 主要功能是显示当前环境温度值。因空调对温度精度要求不高,本例只要求显示两位整数的温度值。压缩机控制模块 主要功能是单片机根据环境温度与设定温度的比较结果送出开关信号、控制压缩机的启停。.cn/webnew/10.6.1 空调机温度控制系统2,总体方案(1) 系统设计压缩机控制执行L E D 显示 单片机 按键输入温度测量温度控制系统的基本结构框图.cn/webnew/10.6.1 空调机温度控制系统2,总体方案(2) 关键技术本系统中的关键技术是如何 实时测量室内温度 。在对外界物理量如温度、湿度、压力等进行测量时,首先要解决的问题是如何将这些非电量转换为电参数 (电阻、电压、电流 ),其次,是如何将模拟量 (电压 )转换为数字量。显然对温度的测量,温度传感器是必不可少的。温度传感器的种类、型号很多。在本例中选用的是 AD590温度传感器。.cn/webnew/10.6.1 空调机温度控制系统3,硬件设计系统的硬件电路包括主机、温度控制、压缩机的控制、按键及显示 5个部分,系统硬件电路原理图如下图所示。ab fcgdeD P Y76421910abcdefg3D S 1 D P Y _ 7 - SEGab fcgdeD P Y76421910abcdefg3D S 2 D P Y _ 7 - SEGS1 SW - PBR51k ΩC31 0 μ FC130pFC230pF12MHzQ1P N PD14004A- +K1GNDGNDVCCGND+1_2NC3U7 AD59 0VCC3261 574U97413261 574U87413261 574U10741A7B1C2D6LT3B I /RB O4RB I5a13b12c11d10e9f15g14U17 4 L S 4 7A7B1C2D6LT3 B I /RB O4RB I5a13b12c11d10e9f15g14U47 4 L S 4 7S2 SW - PBR2 020kΩR2 51kΩR1 710kΩR1 610kΩR1 8 10kΩR2 15kΩR2 61kΩR1 910kΩR1R2R3R4R6R7R9R1 0R1 1R1 2R1 3R1 4R1 5VCCVccVCCVCCEA /V P31X119X218RES ET9RD17WR16I N T012I N T113T014T115P101P 1 12P123P134P145P156P167P1 78P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29A L E/P30TX D11RX D10U38051CL K3D2SD4CD1Q5Q6U2A7 4 L S 7 4+ 5 VV CCWRRDRDWRI N T1 I N T1A L EA L EVCCVCC1 2U6A7 4 L S 0 45 6U6C7 4 L S 0 434U6B7 4 L S 0 4GNDVCCR2 32k ΩGND+ 1 2 VR2 450kΩR2 2 100kΩ+ 1 2 V+ 1 2 V- 12V- 12VGNDGND- 12VRES ETRES ETX1X2X1X2GNDVCCP 3,0P 3,0220V零位调整放大 10 倍O P A 1O P A 2O P A 3压缩机200Ω- 12VR8I N 026D721D620I N 127D519D418I N 228D38D215I N 31D114D017I N 42EO C7I N 53A25I N 64B24C23I N 75A L E22V r e f ( - )16OE9S T A R T6V r e f ( + )12CL K10U5A D C0 8 0 9温度控制系统电路原理图.cn/webnew/10.6.1 空调机温度控制系统4,软件设计(1) 系统资源分配内部 RAM分配情况。(2) 软件设计流程主要包括 5个模块:主程序按键设定温度模块十进制调整和数据转换模块控制模块显示模块NYY初始化显示读 A D0 8 0 9设定温度值有键按下?数据转换N开始室温 & 设定值?启动压缩机恢复现场关压缩机返回启动 A /D 转换开始主程序流程图.cn/webnew/10.6.1 空调机温度控制系统5,系统调试与脱机运行完成了硬件设计、制作和软件编程之后,要使系统能够按设计意图正常运行,必须进行系统调试。系统调试包括 硬件调试 和 软件调试 两个部分,软硬件的调试是不可能绝对分开的,硬件的调试常常需要利用调试软件,软件的调试也可能需要通过对硬件的测试和控制来进行。.cn/webnew/10.6.1 空调机温度控制系统5,系统调试与脱机运行(1) 硬件调试硬件的调试主要是把电路各种参数调整到符合设计要求,排除硬件故障,其中包括设计错误和工艺性故障。(2) 软件调试软件调试的任务是利用开发工具进行在线仿真调试,发现和纠正程序错误,同时也能发现硬件故障。(3) 脱机运行软件调试成功之后,可以用编程器将程序固化到 89S51的FLASH ROM中,插入 89S51芯片,接上电源脱机运行。既然硬件都已调试成功,脱机运行一般也能成功。为了保证软件运行的稳定可靠,在软件中可采取加软件陷井和看门狗的办法,避免程序跑飞。.cn/webnew/10.6.2 步进电机控制器1,设计要求设计一个步进电机控制器。要求能从键盘上输入步进电机转数,控制步进电机的正、反转及启停,并显示转数。具体要求如下:(1) 键盘设计 如下图所示。0~ 9:数字键。*:正逆转转数设定完成后,按,*” 启动步进电机。#:清除设定为正转及转数为 00。A:设定正逆转。按,A”键则 LED指示灯亮,表示逆转,再按则 LED指示灯灭,表示正转。.cn/webnew/10.6.2 步进电机控制器(2) 控制过程① 送电时,设定为正转,显示器显示,00”。② 输入转数,显示器将显示输入的转数,按,A”设定正逆转,LED指示灯亮表示逆转,LED指示灯灭表示正转,然后按,*”,步进电机开始运转。③ 步进电机每转一转,显示器减 1,直至 00,步进电机停止运转。键 盘 键 盘 内 码1 2 3 A 01 02 03 0C4 5 6 B 04 05 06 0D7 8 9 C 07 08 09 0E* 0 # D 0A 00 0B 0F控制步进电机键盘的设计.cn/webnew/10.6.2 步进电机控制器2,总体方案(1) 系统设计根据功能要求设计本控制系统的结构框图如下图所示。(2) 关键技术本系统中键盘模块及显示模块是我们比较熟悉的,因此本系统设计中的关键是解决步进电机的控制技术。显示 单片机步进电机控制键盘 步进电机控制器结构框图.cn/webnew/10.6.2 步进电机控制器3,硬件设计根据系统要求,设计的硬件电路如下图所示。系统由键盘输入转数,设定正反转后,按确认键。单片机则根据设定由 P1口送出控制码经 74LS04和达林顿管驱动步进电机转动。同时,LED数码管显示设定的转数,步进电机每转动一圈,数码显示的数字减 1,当减至零时,步进电机停止转动。.cn/webnew/步进电机控制器电路.cn/webnew/10.6.2 步进电机控制器4,软件设计程序设计流程图如下图所示,主要含四大模块:数字输入模块、键盘扫描模块、电机控制模块、电机转向设定模块。,#,键,*,键,A,键 数字键初始化根据设定控制电机转动并显示键扫描程序改控制码取码指针P 3,0 取反 数据处理存 30H,31H显 示开 始程序设计流程图.cn/webnew/本章小结主要 围绕单片机应用系统开发为核心 展开。首先,对单片机应用系统开发作一简要介绍。让读者对开发过程、开发环境、工具有初步的了解。然后,分别介绍组成单片机应用系统的四大模块技术:键盘、显示、数模转换、模数转换。最后介绍两个实用性较强的单片机应用系统实例。一个按键实际上就是一个开关。多个按键组合在一起就构成键盘,键盘可分为 独立式键盘 和 矩阵式 (也叫行列式 )键盘 两种,MCS-51可方便地与这两种键盘接口。独立式键盘配置灵活,软件识别简单,但占用 I/O口线多,不适合较多按键的键盘。矩阵式键盘占用 I/O口线少,节省资源。矩阵式键盘一般采用扫描方式识别按键,软件设计相对复杂,但只要学会调用本章实例所提供的子程序,用起来就很简单。使用机械式按键时,应注意去抖。.cn/webnew/本章小结与单片机接口的 常用显示器件 分为 LED和 LCD两大类。 LED显示器 可分为 LED状态显示器 (发光二极管 ),LED七段显示器 (数码管 ),LED十六段显示器和 LED点阵显示器 (大屏幕显示 )。重点介绍了 MCS-51单片机与 LED七段显示器的接口技术,所列实例介绍了常用的显示技术。包括一位 LED静态显示、多位 LED静态显示、多位 LED动态显示等的原理与编程。LCD显示 可分为笔段型、字符型和点阵图形型。不含控制器的 LCD还需另外选配相应的控制器和驱动器才能工作。本章介绍了最常用的笔段型 LCD数码显示技术。液晶显示模块是把显示控制器、驱动器用厚膜电路做在显示模块印刷底板上,只需通过控制器接口外接数字信号即可;用起来比较容易方便。电子市场上有品种众多的液晶显示模块。使用时读者可到网上查阅相关资料。.cn/webnew/本章小结A/D和 D/A转换器 是计算机与外界联系的重要途径。本章介绍了 D/A转换芯片 DAC0832的工作原理,并详细介绍了DAC0832直通方式、单缓冲方式和双缓冲方式的接口及应用。A/D转换技术主要介绍 ADC0809与 MCS-8051的接口电路,叙述了 A/D转换后二者间的数据传送方式,即定时传送方式、查询方式和中断方式。还通过 8路模拟量输入巡回检测系统实例,详细介绍了二者间数据传送的编程方法。各模块技术的学习最终是为了设计有实际用途的单片机应用系统。本章设计了两个实用性很强的单片机应用系统实例。由此可以使读者将所学知识加以系统化并用于实践。.cn/webnew/本章小结单片机应用系统的设计 采取软件和硬件相结合的方法。通过对系统的目标、任务、指标要求等的分析,确定功能技术指标的软硬件分工方案是设计的第一步;分别进行软硬件设计、制作、编程是系统设计中最重要的内容;软件与硬件相结合对系统进行仿真调试、修改、完善是系统设计的关键,也是提高单片机应用水平的重要途径。.cn/webnew/习 题1,机械式按键组成的键盘,应如何消除按键抖动?独立式按键和矩阵式按键分别具有什么特点?适用于什么场合?2,分析比较 LED静态显示与动态扫描显示的特点以及适用场合。3,在用共阳极数码管显示的电路中,如果直接将共阳极数码管换成共阴极数码管,能否正常显示?为什么?应采取什么措施?4,七段 LED显示静态显示和动态显示分别具有什么特点,实际设计时应如何选择使用?5,要实现 LED动态显示需不断调用动态显示程序,除采用子程序调用法外,还可采用其他什么方法?试比较其与子程序调用法的优劣。6,DAC0832与 8051单片机接口时有哪些控制信号?作用分别是什么?ADC0809与 8051单片机接口时有哪些控制信号?作用分别是什么?7,使用 DAC0832时,单缓冲方式如何工作?双缓冲方式如何工作?软件编程有什么区别?.cn/webnew/习 题8,设计交通信号灯控制系统,能够完成正常情况下的轮流放行以及特殊情况和紧急情况下的红绿灯控制。具体要求如下。(1) 正常情况下 A,B道 (A,B道交叉组成十字路口,A是主道,B是支道 )轮流放行,A道放行 1分钟 (其中 5s用于警告 ),B道放行 30s(其中 5s用于警告 )。(2) 一道有车而另一道无车时,使有车车道放行 5s,无车车道然后放行。(3) 有紧急车辆通过时,A,B道均为红灯。9,设计并制作出具有如下功能的电脑钟。(1) 自动计时,由 6位 LED显示时、分、秒。(2) 具备校准功能,可以直接由 0~ 9数字键设置当前时间。(3) 具备定时闹钟功能。(4) 一天时差不超过 1秒钟。.cn/webnew/Q & A?Thanks!
课件名称:课件分类:信息系统课件类型:教学课件文件大小:3.42MB下载次数:38评论次数:11用户评分:7.2
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.

我要回帖

更多关于 4位共阳极数码管 的文章

 

随机推荐