【Proteus仿真】【51单片机】自动抽奖器系统设计


一、功能简介

本项目使用Proteus8仿真51单片机控制器,使用数码管显示模块、74HC595 IO扩展模块、按键等。

主要功能:
系统运行后,数码管显示随机数,K1和K2控制随机数的启停;


二、软件设计

/*
作者:嗨小易(QQ技术交流群:570487280)

*/


//系统数据设置
void sys_data_set(void)
{
	u8 key=0;

	key=key_scan(0);
	//开始
	if(key==KEY1_PRESS)
	{
		TR0=1;
	}
	//停止
	else if(key==KEY2_PRESS)
	{
		TR0=0;	
	}
}

//应用控制系统
void appdemo_show(void)
{
	sys_parm_init();//系统参数初始化
	time0_init();//初始化定时器0
	hc595_write_data(0x00,0x00,0x00,0x00,0x00);

	while(1)
	{	
		sys_data_show();//系统数据显示
		sys_data_set();//系统数据设置
	}
}

//定时器0中断函数
void time0() interrupt 1
{
	static u8 i=0;
	u8 j=0;
	TH0=0XDC;	//给定时器赋初值,定时10ms
	TL0=0X00;

	i++;
	if(i>=20)
	{
		i=0;
		for(j=0;j<5;j++)
			sys_ctrl.num[j]=rand()%10;//产生0-9随机数
	}
}




三、实验现象

B站演示视频:https://space.bilibili.com/444388619
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

联系作者

视频地址:https://space.bilibili.com/444388619/video
专注于51单片机、STM32、国产32、DSP、Proteus、arduino、ESP32、物联网软件开发,PCB设计,视频分享,技术交流。