⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 数码管随机模拟显示乘法口诀.c

📁 单片机C语言程序设计实训100例--基于AVR+PROTEUS仿真
💻 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 + -