作為一個初學者,很能明白初學者對程序解析不透的苦惱,所以盡量用白話文解釋一下。也希望朋友們多給我傳授一些語句的用法,算法一起努力。
仿真.png (34.36 KB, 下載次數: 62)
下載附件
2019-1-13 15:10 上傳
程序.png (174.83 KB, 下載次數: 56)
下載附件
2019-1-13 15:10 上傳
單片機源程序如下:
- #include<ALL.H>
- u8 wei[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; //定義小燈的數組
- u8 wei_duan[3]; //定義三個595
- void HC595_QUDONG() //向dat
- {
- static unsigned char i=0;
- for(i=0;i<8;i++) //選擇第一個595,循環傳輸數據
- {
- shizhong=0; //時鐘拉低
- shuju=wei_duan[2]&0x80; //為什么要&0X80因為寫進595數據要從最高位開始,所以只取它的最高位
- wei_duan[2]<<=1; //取完后往左移一位,就寫進去一個數據了,這樣循環8次 一個字節就完成了
- shizhong=1; //數據要寫進去要靠時鐘的上升沿,它就像一條船要把你(數據)載過去,不然你只能在水里吹泡泡
- }
- for(i=0;i<8;i++) //選擇第二個595,循環傳輸數據
- {
- shizhong=0;
- shuju=wei_duan[1]&0x80;
- wei_duan[1]<<=1;
- shizhong=1; //以上全部都一樣
- }
- for(i=0;i<8;i++) //選擇第三個595,循環傳輸數據
- {
- shizhong=0;
- shuju=wei_duan[0]&0x80;
- wei_duan[0]<<=1;
- shizhong=1; //以上全部都一樣
- }
- suocun=1; //當數據塞滿一個字節后,鎖存就像門,打開放出一次八只二哈,向你奔去
- shuju=0;
- suocun=0;
- }
復制代碼
所有資料51hei提供下載:
HC595流水燈仿真文件.rar
(39.65 KB, 下載次數: 111)
2019-1-13 15:16 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
訓練2.rar
(23.75 KB, 下載次數: 104)
2019-1-13 15:16 上傳
點擊文件名下載附件
程序 下載積分: 黑幣 -5
|