亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

標(biāo)題: 深入理解單片機(jī)的串轉(zhuǎn)并IC-74HC595的工作時(shí)序及用法 [打印本頁]

作者: heheshan    時(shí)間: 2020-3-1 21:42
標(biāo)題: 深入理解單片機(jī)的串轉(zhuǎn)并IC-74HC595的工作時(shí)序及用法
本人新手一枚,正在學(xué)51單片機(jī),買了一塊開發(fā)板,配套的教程解釋有點(diǎn)錯(cuò)誤,摸索了一天,把程序改了一下,更能方便理解單片機(jī)的串轉(zhuǎn)并IC-74HC595的工作時(shí)序及用法
(74HC595的規(guī)格書及8*8LED點(diǎn)陣模塊電路這里省略)
程序功能:通過主程序調(diào)用發(fā)送數(shù)據(jù)的子函數(shù),發(fā)送了兩個(gè)數(shù)據(jù),分別點(diǎn)亮LED陣列的第一列的底下一個(gè)LED和頂上的七個(gè)LED,并交替閃爍
#include "reg51.h" //此文件中定義了單片機(jī)的一些特殊功能寄存器
#include "intrins.h"
typedef unsigned int u16; //對(duì)數(shù)據(jù)類型進(jìn)行聲明定義
typedef unsigned char u8;
//--定義使用的 IO 口--//
sbit SRCLK=P3^6;
sbit RCLK=P3^5;
sbit SER=P3^4;
sbit LED=P0^7;
//sbit LED1=P0^6;
/********************************************************************
***********
* 函 數(shù) 名 : Hc595SendByte(u8 dat1,u8 dat2)
* 函數(shù)功能 : 通過 595 發(fā)送 2 個(gè)字節(jié)的數(shù)據(jù)
* 輸 入 : dat1:第 2 個(gè) 595 輸出數(shù)值
* * dat2: 第 1 個(gè) 595 輸出數(shù)值
* 輸 出 : 無
*********************************************************************
**********/
void Hc595SendByte(u8 dat1,u8 dat2)
{
u8 a;
u16 b;
SRCLK = 1;
RCLK = 1;
for(a=0;a<8;a++) //發(fā)送 8 位數(shù)
{
SER = dat1 >> 7; //從最高位開始發(fā)送
dat1 <<= 1;
SRCLK = 0; //發(fā)送時(shí)序
_nop_();
_nop_();
SRCLK = 1;
}
RCLK = 0;
_nop_();
_nop_();
RCLK = 1;               
for(b=0;b<65535;b++){} //加入延時(shí),方便在開發(fā)板上看清HC595發(fā)送第一個(gè)數(shù)據(jù)時(shí),點(diǎn)亮的LED
SRCLK = 1;
RCLK = 1;
for(a=0;a<8;a++) //發(fā)送 8 位數(shù)
{
SER = dat2 >> 7; //從最高位開始發(fā)送
dat2 <<= 1;
SRCLK = 0; //發(fā)送時(shí)序
_nop_();
_nop_();
SRCLK = 1;
}
RCLK = 0;
_nop_();
_nop_();
RCLK = 1;
for(b=0;b<65535;b++){} // 加入延時(shí),方便在開發(fā)板上看清看清HC595發(fā)送第一個(gè)數(shù)據(jù)時(shí),點(diǎn)亮的LED
}
/********************************************************************
***********
* 函 數(shù) 名 : main
* 函數(shù)功能 : 主函數(shù)
* 輸 入 : 無
* 輸 出 : 無
*********************************************************************
**********/
void main()
{ LED=0; //使第一列為低電平。
while(1)
{
Hc595SendByte(0x01,0xfe);
}
}

作者: sun5304    時(shí)間: 2020-3-2 08:43
新手正在學(xué)習(xí),很有幫助。感謝樓主分享!




歡迎光臨 (http://www.denmoz.com/bbs/) Powered by Discuz! X3.1