?? zh1.c
字號(hào):
/*0832各種波型輸出演示,同時(shí)使用0809采樣W1電壓來調(diào)整波頻率,用74LS164來顯示W(wǎng)1電壓值(延時(shí)值).
接線方法為0832實(shí)驗(yàn)+0809實(shí)驗(yàn)(去掉273部分)+串并轉(zhuǎn)換實(shí)驗(yàn)
P1.1 = 0時(shí) P1.0 = 0 正弦波 = 1 鋸齒波
P1.1 = 1時(shí) P1.0 = 0 方波 = 1 三角波 */
#include <reg51.h>
#include <ABSACC.H>
#define daport XBYTE[0x8000]
#define adport XBYTE[0x9000]
unsigned char i,j,k,m;
bit updown; //三角波的上升/下降
unsigned char code sinn[64]={198,204,210,216,222,228,233,237,242,245,249,251,253,255,255,255,
255,254,252,250,247,243,239,235,230,224,219,213,207,201,194,188,
181,175,169,163,158,152,147,143,139,136,133,131,129,128,128,128,
129,130,132,135,138,142,146,151,156,162,168,174,180,186,193,199};
unsigned char code zxb[]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6,0xee,0x3e,0x9c,0x7a,0x9e,0x8e};
void main(void)
{
updown=0;
SCON=0;
for (i=0;i<20;i++);
i=128; j=0;
adport=0;
while(1)
{
if (P1_1==1)
{
if (P1_0==0) //方波
{
if (j<=30) i=255;
else i=128;
if (j==60) j=0;
}
else //三角波
{
if (updown==0) //上升
{
if (i==255) {updown=1;}
else i++;
}
else //下降
{
if (i==128) {updown=0;}
else i--;
}
}
}
else
{
if (P1_0==0) //正弦波
{
i=sinn[j];
if (j==63) j=0;
}
else //鋸齒波
{
if (i==255) i=128;
else i++;
}
}
daport=i;
m=adport;
adport=0;
for (k=0;k<(1+m/16);k++);
SBUF=zxb[m/16];
j++;
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -