?? pwm.c
字號:
//模塊:PWM.C
//功能:PWM解碼模塊
//晶振:24.000MHz
//芯片: STC12C5412AD
//版本:V1.0.0
//設計:魏廣寅
//日期:2007.4.10
#include "stc12c5412ad.h"
#define uchar unsigned char
#define uint unsigned int
#define CNT 32
//--------------------------------------------------------------------
extern uchar keyfuncindex;
extern void d2(void);
extern void lcd_init(void);
extern void dis_one_char(uchar x,uchar y,uchar asc_num,bit b_flag);
extern void dis_one_zi(uchar x_add,uchar y_add,uchar code *po,bit back_flag,bit char_moudle);
extern void delay(uint time);
extern void delay_1(uchar time);
extern void dis_cls(void);
extern uchar code tab[16];
uchar data value_h[CNT];
uchar count=0;
sbit key0=P3^0;
sbit key1=P3^1;
//--------------------------------------------------------------------
void pwm_init()
{
TMOD=0x01;
TH0=0;
TL0=30;
IT0=1;
EX0=1;
EA=1;
//TR0=1;
}
//--------------------------------------------------------------------
void clk() interrupt 0
{
if(TH0==0 & TL0==0)
TR0=1;
else
{
TR0=0;
value_h[count]=TH0;
TH0=0;
TL0=30;
count++;
if(count==CNT)
{
EX0=0;
count=0;
TH0=0;
TL0=0;
TR0=0;
}
TR0=1;
}
}
//--------------------------------------------------------------------
void bin_to_hex(uchar x,uchar y,uchar bin)
{
uchar b_h,b_l;
b_h=bin & 0xf0;
b_h>>=4;
b_h=tab[b_h];
b_l=bin & 0x0f;
b_l=tab[b_l];
y*=2;
dis_one_char(x,y,b_h,1);
dis_one_char(x,y+1,b_l,1);
}
//--------------------------------------------------------------------
void pwm()
{
uchar i=0,x=0,y=0,ii;
g: pwm_init();
dis_cls();
while(1)
{
for(x=0;x<4;x++)
{
for(y=0;y<8;y++)
{
ii=value_h[i];
bin_to_hex(x,y,ii);
i++;
}
}
i=0;
key0=1;
key1=1;
delay_1(5);
if(key0==0)
{
for(i=0;i<32;i++)
{
value_h[i]=0;
}
goto exit;
}
if(key1==0)
{
for(i=0;i<32;i++)
{
value_h[i]=0;
}
dis_cls();
TMOD=0x00;
TH0=0;
TL0=0;
count=0;
EX0=0;
EA=0;
TR0=0;
TR1=0;
goto g;
}
}
exit:for(i=0;i<32;i++)
{
value_h[i]=0;
}
TMOD=0x00;
TH0=0;
TL0=0;
count=0;
EX0=0;
EA=0;
TR0=0;
TR1=0;
keyfuncindex=2;
d2();
}
//--------------------------------------------------------------------
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -