标题: 关于单片机时钟触发的一些问题 [打印本页]

作者: 蓝野    时间: 2017-11-21 11:11
标题: 关于单片机时钟触发的一些问题
对于单片机的一些时钟电平,有的是高电平有效,有的是低电平有效,在这种前提下,接着写有效的程序语句,尤其像使能端作为一个“开关”,只有在恒定的电平下,其他部分才能工作;
那么我的问题是:对于一个时钟上升沿有效的语句才开始运行,该怎么写?
例如我在做595串转并的实验,一个时钟上升沿就往595发送一位数据,595没有内部时钟,所以需要人为的书写,
以下三部分哪一种正确或者都不正确,正确的又是什么样的?诚邀各位解答。
第一部分:
      ,,,       clk=0;
     _nop_();
      clk=1;
       输送一位数据(语句);
     ,,,,,


第二部分:

     ,,,
     输送一位数据(语句);
     clk=0;
    _nop_();
    clk=1;
    ,,,,,



第三部分:
     ,,,
      clk=0;    _nop_();
    输送一位数据(语句);
    clk=1;
    ,,,,,





作者: ahshmj    时间: 2017-11-22 16:16
从头学起,扎扎实实的学。语句语法。
作者: zl2168    时间: 2017-11-22 21:17
文字叙述也没过关,讲不清问题。
作者: 蓝野    时间: 2017-11-24 20:59
zl2168 发表于 2017-11-22 21:17
文字叙述也没过关,讲不清问题。

例如,我要写一个时钟上升沿(1),在这个上升沿的作用下,P0.0接受一个位的数据(2);
在程序的语句中,如何书写(1)和(2)?
作者: a229227512    时间: 2017-11-25 12:06

文字叙述也没过关,讲不清问题。
作者: 蓝野    时间: 2017-11-28 21:31
a229227512 发表于 2017-11-25 12:06
文字叙述也没过关,讲不清问题。


zl2168 发表于 2017-11-22 21:17
文字叙述也没过关,讲不清问题。

例如,我要写一个时钟上升沿(1),在这个上升沿的作用下,P0.0接受一个位的数据(2);
在程序的语句中,如何书写(1)和(2)?
作者: zl2168    时间: 2017-11-29 09:32
本帖最后由 zl2168 于 2017-11-29 09:43 编辑

你上述3个部分,有什么区别?都已经达到一个上升沿的作用。
给你介绍几个595正确有效的案例.先Proteus仿真一下,确认有效。

实例44  74HC595串入并出控制8/16循环灯 实例44 74HC595串行输出控制8-16循环灯.rar (72.58 KB, 下载次数: 4)

实例56 74LS595串行扩展3LED数码管静态显示 实例56 74LS595串行扩展3位LED静态显示.rar (39.7 KB, 下载次数: 3)

实例59  74LS595串行选通8LED数码管动态显示 实例59 74LS595×2选通8位LED动态显示.rar (45.12 KB, 下载次数: 2)
实例77  74HC595+165扩展8×8键盘 实例77 74LS595 165扩展8×8键盘.rar (65.99 KB, 下载次数: 2)

以上摘自张志良编著《80C51单片机仿真设计实例教程——基于Keil CProteus》清华大学出版社ISBN 978-7-302-41682-1内有常用的单片机应用100案例,用于仿真实验操作,电路与程序真实可靠可信可行。书中电路和程序设计有详细说明,程序语句条条有注解。仿真电路和Hex文件能在清华出版社网站免费下载,程序源代码只能到书上看了。到图书馆借,或到新华书店翻阅,或到网上书店打折购买。

作者: 蓝野    时间: 2017-11-29 17:29
zl2168 发表于 2017-11-29 09:32
你上述3个部分,有什么区别?都已经达到一个上升沿的作用。
给你介绍几个595正确有效的案例.先Proteus仿真 ...

“你上述3个部分,有什么区别?都已经达到一个上升沿的作用。”
按你的意思我书写的上升沿出发的语句三种位置方式都可以?
作者: zl2168    时间: 2017-11-30 09:49
本帖最后由 zl2168 于 2017-11-30 14:45 编辑
蓝野 发表于 2017-11-29 17:29
“你上述3个部分,有什么区别?都已经达到一个上升沿的作用。”
按你的意思我书写的上升沿出发的语句三 ...

第二、三种都可以,第一种不行。

以上摘自张志良编著
80C51单片机仿真设计实例教程——基于Keil CProteus》清华大学出版社ISBN 978-7-302-41682-1内有常用的单片机应用100案例,用于仿真实验操作,电路与程序真实可靠可信可行,可演示,可观测,程序语句条条有注解。

作者: HelloPan111    时间: 2017-12-6 16:27
voidHC595SendData(unsignedcharSendVal)
{
unsignedchari;
for(i=0;i<8;i++)
{
if((SendVal<<i)&0x80)MOSIO=1;
elseMOSIO=0;
S_CLK=0;
NOP();
NOP();
S_CLK=1;
}
R_CLK=0;
NOP();
NOP();
R_CLK=1;
}
参考这个




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1