1 /************************************************************************************** 2 * DA-PWM输出实验 * 3 实现现象:下载程序后DA模块上的指示灯呈呼吸灯效果,由暗变亮再由亮变暗 4 注意事项:要将AD/DA模块上的短接片将OUT和LED短接,板子丝印上有。 5 如果不想让点阵模块显示,可以将74HC595模块上的JP595短接片拔掉。 6 ***************************************************************************************/ 7 8 #include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器 9 10 typedef unsigned int u16; //对数据类型进行声明定义 11 typedef unsigned char u8; 12 13 //--定义使用的IO口--// 14 sbit PWM=P2^1; 15 bit DIR; 16 17 //--定义一个全局变量--// 18 u16 count,value,timer1; 19 20 /******************************************************************************* 21 * 函 数 名 : Timer1Init 22 * 函数功能 : 定时器1初始化 23 * 输 入 : 无 24 * 输 出 : 无 25 *******************************************************************************/ 26 void Timer1Init() 27 { 28 TMOD|=0X10;//选择为定时器1模式,工作方式1,仅用TR1打开启动。 29 30 TH1 = 0xFF; 31 TL1 = 0xff; //1us 32 33 ET1=1;//打开定时器1中断允许 34 EA=1;//打开总中断 35 TR1=1;//打开定时器 36 } 37 38 39 /******************************************************************************* 40 * 函 数 名 : main 41 * 函数功能 : 主函数 42 * 输 入 : 无 43 * 输 出 : 无 44 *******************************************************************************/ 45 void main() 46 { 47 Timer1Init(); //定时器1初始化 48 while(1) 49 { 50 if(count>100) 51 { 52 count=0; 53 if(DIR==1) //DIR控制增加或减小 54 { 55 value++; 56 } 57 if(DIR==0) 58 { 59 value--; 60 } 61 62 } 63 64 if(value==1000) 65 { 66 DIR=0; 67 } 68 if(value==0) 69 { 70 DIR=1; 71 } 72 73 if(timer1>1000) //PWM周期为1000*1us 74 { 75 timer1=0; 76 } 77 if(timer1 <value) 78 { 79 PWM=1; 80 } 81 else 82 { 83 PWM=0; 84 } 85 } 86 } 87 88 /******************************************************************************* 89 * 函 数 名 : Time1 90 * 函数功能 : 定时器1的中断函数 91 * 输 入 : 无 92 * 输 出 : 无 93 *******************************************************************************/ 94 95 void Time1(void) interrupt 3 //3 为定时器1的中断号 1 定时器0的中断号 0 外部中断1 2 外部中断2 4 串口中断 96 { 97 TH1 = 0xFF; 98 TL1 = 0xff; //1us 99 timer1++; 100 count++; 101 102 }
51单片机DA
猜你喜欢
转载自www.cnblogs.com/clam-hao/p/10076622.html
今日推荐
周排行