📄 数码管随机模拟显示乘法口诀.c
字号:
//-----------------------------------------------------------------
// 名称: 数码管随机模拟显示乘法口诀
//-----------------------------------------------------------------
// 说明: 每按下一次K1时会模拟显示一道乘法口诀
// 第1,3位数码管显示被乘数与乘数
// 第4位数码管显示等号
// 第5,6位数码管显示乘积(第二次按下K1时才显示乘积)
//
//-----------------------------------------------------------------
#define F_CPU 4000000UL
#include <avr/io.h>
#include <avr/interrupt.h>
#include <stdlib.h>
#define INT8U unsigned char
#define INT16U unsigned int
//K1按键判断
#define K1_DOWN() ((PIND & _BV(PD4)) == 0x00)
//0-9的共阴数码管段码,最后3位0x00,0x48,0x08分别是黑屏,等号,下划线
//其索引分别为10,11,12
const INT8U SEG_CODE[] =
{ 0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x00,0x48,0x08};
//存放被乘数,乘数,乘积(乘积前面的11表示显示的是等号)初始显示"0 0= 0"
INT8U M_ABC[] = {0,10,0,11,10,0};
INT8U Result; //两数乘积
INT8U i = 0; //数码管待显示数字索引
//-----------------------------------------------------------------
// 随机生成被乘数与乘数,计算结果但不显示
//-----------------------------------------------------------------
void Get_Random_Num_A_B()
{
}
//------------------------------------------------------------------
// 主程序
//------------------------------------------------------------------
int main()
{
}
//-----------------------------------------------------------------
// T0定时器溢出中断程序(控制数码管扫描显示)
//-----------------------------------------------------------------
ISR (TIMER0_OVF_vect )
{
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -