- 打卡等级:初来乍到
- 打卡总天数:5
- 最近打卡:2025-05-06 10:35:34
注册会员
- 积分
- 193
|
发表于 2025-1-24 09:08:57
|
显示全部楼层
第九集 数码管
任务一:数码管静态的显示一个数字
任务二:显示“12345678”
任务三:显示时分秒
#include "config.h"
#include "task.h"
#include "io.h"
u8 State[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
u8 i;
//State[0]
u8 Run_State = 0; //运行状态
u8 num = 0;
//u16 Count_300 = 0; //计数300ms变量
//u16 Count_600 = 0;
//u16 Count_900 = 0;
u16 Count_ms[3] = {0,0,0};
char *USER_DEVICEDESC = NULL;
char *USER_PRODUCTDESC = NULL;
char *USER_STCISPCMD = "@STCISP#"; //3个计时变量
void Delay10ms(void) //@24.000MHz
{
unsigned long edata i;
_nop_();
_nop_();
_nop_();
i = 59998UL;
while (i) i--;
}
void main(void)
{
// int count;
Sys_init(); //系统初始化
usb_init(); //USB CDC 接口配置
IE2 |= 0x80; //使能USB中断
Timer0_Init(); //定时器初始化
Init_595(); //595端口初始化
EA = 1;
P40=0;
while (DeviceState != DEVSTATE_CONFIGURED); //等待USB完成配置
while(1)
{
if (bUsbOutReady) //如果接收到数据
{
//USB_SendData(UsbOutBuffer,OutNumber); //发送数据缓冲区,长度(接收数据原样返回, 用于测试)
usb_OUT_done();
}
Task_Pro_Handler_Callback(); //执行函数
}
}
void Timer0_Isr(void) interrupt 1 //1毫秒执行一次
{
Task_Marks_Handler_Callback();
}
// Count_300++;
// Count_600++;
// Count_900++;
// state = !state; //变量取反0 1 0 1 0 1
// P00 = state;
// P01 = !state;
|
|