您的位置:首页单片机51单片机
内容搜索:
阅读内容
背景:#EDF0F5 #FAFBE6 #FFF2E2 #FDE6E0 #F3FFE1 #DAFAF3 #EAEAEF 默认  

常用接口电路及其编程

[日期:2008-01-27 ] [来源:网络 作者:] [字体: (投递新闻)
时,时钟脉冲才起作用。Q1Q8(第3-610-13引脚)并行输出端分别接LED显示器的hg---a各段对应的引脚上。关于74LS164还可以作如下的介绍:所谓时钟脉冲端,其实就是需要高、低、高、低的脉冲,不管这个脉冲是怎么来的,比如,我们用根电线,一端接T,一端用手拿着,分别接高电平、低电平,那也是给出时钟脉冲,在74LS164获得时钟脉冲的瞬间(再讲清楚点,是在脉冲的沿),如果数据输入端(第12引脚)是高电平,则就会有一个1进入到74LS164的内部,如果数据输入端是低电平,则就会有一个0进入其内部。在给出了8个脉冲后,最先进入74LS164的第一个数据到达了最高位,然后再来一个脉冲会有什么发生呢?再来一个脉冲,第一个脉冲就会从最高位移出,就象车站排队买票,栏杆就那么长,要从后面进去一个人,前面必须要从前面走出去一个人才行。

搞清了这一点,下面让我们来看电路,67LS164首尾相串,而时钟端则接在一起,这样,当输入8个脉冲时,从单片机RXD端输出的数据就进入到了第一片74LS164中了,而当第二个8个脉冲到来后,这个数据就进入了第二片74LS164,而新的数据则进入了第一片74LS164,这样,当第六个8个脉冲完成后,首次送出的数据被送到了最左面的164中,其他数据依次出现在第一、二、三、四、五片74LS164中。有个问题,在第一个脉冲到来时,除了第一片74LS164中接收数据外,其他各片在干吗呢?它们也在接收数据,因为它们的时钟端都是被接在一起的,可是数据还没有送到其他各片呢,它们在接收什么数据呢?。。。。。。其实所谓数据不过是一种说法而已,实际就是电平的高低,当第一个脉冲到来时,第一片164固然是从单片机接收数据了,而其它各片也接到前一片的Q8上,而Q8是一根电线,在数字电路中它只可能有两种状态:低电平或高电平,也就是“0”和“1”。所以它的下一片74LS164也相当于是在接收数据啊。只是接收的全部是01而已。这个问题放在这儿说明,可能有朋友不屑一顾,而有的朋友可能还是不清楚,这实际上涉及到数的本质的问题,如果不懂的,请仔细思考,并找一些数字电路的数,理解164的工作原理,再来看这个问题,或者去看看我的另一篇文章《初学单片机易掌握的概念》。务必搞懂,搞懂了这一点,你的级别就高过初学者,可谓入门者了。

入口:把要显示的数分别放在显示缓冲区60H-65H6个单元中,并且分别对应各个数码管LED0-LED5

出口:将预置在显示缓冲区中的6个数成相应的显示字形码,然后输出到显示器中显示。

显示程序如下:

DISP: MOV SCON,#00H

MOV R1,#06H ;显示6位数

MOV R0,#65H ;60H-65H为显示缓冲区

MOV DPTR,#SEGTAB ;字形表的入口地址

LOOP:MOV A,@R0 ;取最高位的待显示数据

MOVC A,@A+DPTR ;查表获取字形码

MOV SBUF,A ;送串口显示

DELAY: JNB TI,DELAY ;等待发送完毕

CLR TI ;清发送标志

DEC R0;指针下移一位,准备取下一个待显示数

DJNZ R1,LOOP ;直到6个数据全显示完。

RET

SETTAB: ;字形表,前面有介绍,以后我们再介绍字形表的制作。

DB 03H 9FH 27H 0DH 99H 49H 41H 1FH 01H 09H 0FFH

; #9; 0 1 2 3 4 5 6 7 8 9 消隐码

测试用主程序

ORG 0000H

AJMP START

ORG 30H

START: MOV SP,#6FH

MOV 65H,#0

MOV 64H,#1

MOV 63H,#2

MOV 62H,#3

MOV 61H,#4

MOV 60H,#5



上一页123下一页  GO
阅读:
录入:tina1981

推荐 】 【 打印
上一篇:键盘接口与编程
下一篇:串行接口
本文评论
      全部评论
发表评论


点评: 字数
姓名:
站长推荐