- 打卡等级:常住居民II
- 打卡总天数:87
- 最近打卡:2025-04-30 10:02:32
已绑定手机
高级会员
- 积分
- 878
|
#include "main.h"
#include <intrins.h>
typedef unsigned char u8;
typedef unsigned int u16;
typedef unsigned long u32;
#define MAIN_Fosc 11059200 //定义主时钟
#define Timer0_Reload (65536UL -(MAIN_Fosc / 1105)) //定时10ms
u16 B_ms=0;
code u8 SMG[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
u16 count;
void setinoutport()//
{
P0M1=0X00;P0M0=0X00;
P2M1=0X00;P2M0=0XFF;
P1M1=0X00;P1M0=0X00;
P3M1|=0XFC;P3M0|=0XFC;
}
void main()
{
setinoutport();
AUXR &= 0x7F; //定时器时钟12T模式
TMOD &= 0xF0; //设置定时器模式
TL0 = (u8)Timer0_Reload%256; //设置定时初始值
TH0 = (u8)Timer0_Reload/256; //设置定时初始值
ET0 = 1; //Timer0 interrupt enable
EA = 1; //打开总中断
TR0 = 1; //定时器0开始计时
for(;;)
{
OutputPort0=SMG[count];
}
}
/********************** Timer0 10ms中断函数 ************************/
void timer0 (void) interrupt 1
{
B_ms ++; //10ms++
if(B_ms>100)//满1S
{
B_ms=0;
count++;
if(count>10)
count=0;
}
}
|
|