📄 main._c
字号:
#include"main.h"
extern void keysy(void);
/*===============主函数部分===================*/
void main(void)
{
unsigned int i;
unsigned char x ;
/*===============初始化函数============*/
// init_1622();
/*
======================================
采用定时器管理
定时器0预分频系数为1024,定时时间为1.25MS
初值为=256-1.25*14.7456*1000000/1024/1000=238
首先要开启定时器0,
=========================================
*/
for(x=0;x<23;x++) LCD[x]=0XFF;
TCCR0=0X05; //预分频系数为1024 0000 0101
TCNT0=0XEE; //238
TIMSK|=0X01; //使能T/C0中断,允许中断
DDRD&=0XF3; //PIND2 PIND3设为输入
MCUCR=0X08; //00001000下降沿触发中断、GICR
//ISC11,ISC10 INT1下降沿
/*========PB2输出PWM信号WGM[3;0]=1011
========加一计数中比较匹配时清零OC1B
========减一计数中比较匹配时置位
========CS12,CS11,CS10=010,表示8预分频计时器
*/
DDRB|=0X3e;//PB2为输出端,(pb3,pb4,pb5为液晶驱动脚设为输出)
TCCR1A=0X63; //0110 0011
TCCR1B=0X12; //0001 0010
OCR1A=0x61A7; //设置TOP值为1249
OCR1B=2500; //比较匹配值
SREG =0X80; //使能总中断
MBZ=0;
while(1)
{
keysy();
DDRD|=BIT(PD7); //PD7设为输出
DDRD|=BIT(PD6);
if(MBZ==0)
{
LED_LIANG; //PD7为1,点亮LED指示灯
}
if(MBZ==1)
{
LED_MIE;
BIT_80|=0x80;//a.BEEP1=1;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -