| 感谢分享,学习学习 |
| 用数码管显示,包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义 |
|
#include //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义 ***it LED0=P1^0;// 用***it 关键字 定义 LED到P1.0端口,LED是自己任意定义且容易记忆的符号% j {* }9 V; d% I' n void Delay(unsigned int t); //函数声明) m: I* t( v [7 o /*------------------------------------------------ 主函数! l4 C* j. b" o9 Z1 P: W! L6 F ------------------------------------------------*/7 C9 T; i4 H5 q7 p+ g void main (void) { unsigned int CYCLE=600,PWM_LOW=0;//定义周期并赋值; ?1 `+ P h3 p6 W while (1) //主循环' G4 v1 O* @( h b" |/ I {- b) O, T" q, e5 p# E+ v- _; d9 O6 U LED0=1;: o" ?& L4 u$ h' I* t Delay(60000); //特意加延时,可以看到熄灭的过程 for(PWM_LOW=1 WM_LOW //电平时间,这个循环中低电平时长从1累加到CYCLE(周期)的值,即600次# ~ h* R% Y" g5 S( y, V6 ]( [5 f/ y0 D LED0=0; //点亮LED Delay(PWM_LOW);//延时长度,600次循环中从1加至599 LED0=1; //熄灭LED Delay(CYCLE-PWM_LOW);//延时长度,600次循环中从599减至1% U. X0 w7 y {1 [+ R/ y ! Q4 U$ W& w- S$ y8 E; u }* t$ Y. f5 [7 e. e) i% k LED0=0; for(PWM_LOW=CYCLE-1 WM_LOW>0 WM_LOW--){ //与逐渐变亮相反的过程" L, l2 d1 u, T+ C$ |8 { LED0=0; Delay(PWM_LOW);2 B: Q. u" a6 e, r LED0=1;- G2 g3 k- y0 K7 p8 O Delay(CYCLE-PWM_LOW); } //主循环中添加其他需要一直工作的程序 }. h# J ]* o5 [8 ?* |: K }+ d5 ?) r* P$ B- C /*------------------------------------------------- b8 M5 ]1 a/ L7 D 延时函数,含有输入参数 unsigned int t,无返回值, k; x! R6 L2 h) N unsigned int 是定义无符号整形变量,其值的范围是' V4 H5 N* s4 x. |. C* J M 0~65535 ------------------------------------------------*/ void Delay(unsigned int t) {" S! x' B; a) p8 l& ~ while(--t);$ W( o3 ~( F2 e; G6 N } |
/1
关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )
GMT+8, 2025-11-22 02:15 , Processed in 0.156250 second(s), 28 queries , Gzip On.
地址:深圳市南山区科技生态园2栋A座805 电话:19926409050