|
51單片機(jī)驅(qū)動(dòng)模數(shù)轉(zhuǎn)換芯片DAC0832產(chǎn)生鋸齒波 三角波的proteus仿真原理圖:
0.png (31.08 KB, 下載次數(shù): 107)
下載附件
2016-10-10 16:13 上傳
單片機(jī)源程序:
- /********************************************************************
- 51黑電子論壇
- *********************************************************************/
- #include<reg52.h> //庫(kù)文件
- #define uchar unsigned char//宏定義無(wú)符號(hào)字符型
- #define uint unsigned int //宏定義無(wú)符號(hào)整型
- /********************************************************************
- 初始定義
- *********************************************************************/
- sbit P3_2=P3^2;
- sbit P3_3=P3^3;
- unsigned char keycnt=0;
- unsigned char tcnt=0; //鍵值判斷
- bit sjz=0; //產(chǎn)生三角波時(shí)用到的標(biāo)志
- void delayl() //延時(shí)子程序
- {
- unsigned char i,j;
- for(i=20;i>0;i--)
- for(j=248;j>0;j--);
- }
- void KEY() //按鍵掃描程序
- {
- if(P3_2==0)
- {
- delayl(); //延時(shí)跳過(guò)按下時(shí)的抖動(dòng)
- if(P3_2==0)
- {
- keycnt=0; //定時(shí)器產(chǎn)生鋸齒波標(biāo)志
- TR0=0; //暫時(shí)停止波形輸出
- TH0=0x256-40; //對(duì)TH0 TL0 賦值
- TL0=0x256-40;
- TR0=1; //開(kāi)始定時(shí),產(chǎn)生鋸齒波
- while(P3_2==0); //如果一直按著鍵,則等待松鍵開(kāi)
- delayl(); //延時(shí)跳過(guò)松開(kāi)后的抖動(dòng)
- }
- }
- if(P3_3==0)
- {
- delayl(); //延時(shí)跳過(guò)按下時(shí)的抖動(dòng)
- if(P3_3==0)
- {
- keycnt=1; //定時(shí)器產(chǎn)生三角波標(biāo)志
- TR0=0; //暫時(shí)停止波形輸出
- TH0=0x256-40; //對(duì)TH0 TL0 賦值
- TL0=0x256-40;
- TR0=1; //開(kāi)始定時(shí) 產(chǎn)生三角波
- }
- while(P3_2==0); //如果一直按著鍵,則等待松鍵開(kāi)
- delayl(); //延時(shí)跳過(guò)松開(kāi)后的抖動(dòng)
- }
- }
- void t0(void) interrupt 1 using 0 //定時(shí)中斷服務(wù)函數(shù)
- {
- if(keycnt==0) //產(chǎn)生鋸齒波
- {
- P0=tcnt;
- tcnt=+0x0a; //步進(jìn)0.2V/一次中斷
- if(tcnt==0xfb)
- tcnt=0;
- }
- if(keycnt==1) //產(chǎn)生三角波
- {
- if(sjz==0)
- {
- P0=tcnt;
- tcnt=+0x0a;//步進(jìn)0.2V/一次中斷
- if(tcnt==0xfa)
- sjz=1;
- }
- if(sjz==1)
- {
- P0=tcnt;
- tcnt=-0x0a;
- if(tcnt==0)
- sjz=0;
- }
- }
- }
- void main(void)
- {
- TMOD=0x02; //定時(shí)器工作在方式2
- ET0=1;
- EA=1;
- while(1)
- KEY();
- }
復(fù)制代碼
0.png (63.64 KB, 下載次數(shù): 97)
下載附件
2016-10-10 16:16 上傳
仿真工程文件及所有完整程序等資料下載地址(壓縮包一共有45個(gè)單片機(jī)仿真,全部下載后找到第013個(gè)項(xiàng)目即可):
http://www.torrancerestoration.com/bbs/dpj-56298-1.html
|
|