里面有關于 點亮燈 流水燈 數碼管 LCD1602 舵機 I2C 蜂鳴器 HC-SR04超聲波 的幾種程序
0.png (5.25 KB, 下載次數: 44)
下載附件
2019-4-18 23:03 上傳
單片機源程序如下:
- #include <intrins.h>
- void delay(uint z)
- {
- uint i,j;
- for(i=z;i>0;i--)
- for(j=0;j<921;j++);
- }
- //ms級的延時
- void delayms(uint t)
- {
- uint i,j;
- for(i=0;i<t;i++)
- for(j=0;j<120;j++) ;
- }
- //一. 500ms延時子程序程序:.(晶振12MHz,一個機器周期1us.)
- void delay500ms(void)
- {
- uint8 i,j,k;
- for(i=15;i>0;i--)
- for(j=202;j>0;j--)
- for(k=81;k>0;k--);
- }
-
- /* 計算分析:
- 程序共有三層循環
- 一層循環n:R5*2 = 81*2 = 162us DJNZ 2us
- 二層循環m:R6*(n+3) = 202*165 = 33330us DJNZ 2us + R5賦值 1us = 3us
- 三層循環: R7*(m+3) = 15*33333 = 499995us DJNZ 2us + R6賦值 1us = 3us
- 循環外: 5us 子程序調用 2us + 子程序返回 2us + R7賦值 1us = 5us
- 延時總時間 = 三層循環 + 循環外 = 499995+5 = 500000us =500ms
- 計算公式:延時時間=[(2*R5+3)*R6+3]*R7+5
- */
- //二. 200ms延時子程序 程序:
- void delay200ms(void)
- {
- unsigned char i,j,k;
- for(i=5;i>0;i--)
- for(j=132;j>0;j--)
- for(k=150;k>0;k--);
- }
- //三. 10ms延時子程序 程序:
- void delay10ms(void)
- {
- uint8 i,j,k;
- for(i=5;i>0;i--)
- for(j=4;j>0;j--)
- for(k=248;k>0;k--);
- }
- //四. 1s延時子程序 程序:
- void delay1s(void)//12M晶振,延時999999.00us
- {
- uint8 i,j,k;
- for(i=46;i>0;i--)
- for(j=152;j>0;j--)
- for(k=70;k>0;k--);
- }
- //1us延時
- void delayus(uint time)
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
xiangmu.rar
(440.65 KB, 下載次數: 13)
2019-4-18 19:01 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|