• 方案介紹
    • 1.? 簡(jiǎn)介
    • 2.? 主要功能
    • 3.? 源程序(Keil5)
    • 4.? 仿真proteus8.6
    • 5.? 設(shè)計(jì)報(bào)告
    • 6.? 資料清單
    • 7.? 資料獲取鏈接
  • 附件下載
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

基于51單片機(jī)的16路搶答器設(shè)計(jì)(一)

04/18 08:34
574
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

單片機(jī)仿真設(shè)計(jì)合集資料獲取.pdf

共1個(gè)文件

資料清單:C程序+仿真+設(shè)計(jì)報(bào)告+使用說(shuō)明+元件清單+操作視頻

仿真版本:Proteus8.6及以上版本

程序編譯:Keil5 C51

編程語(yǔ)言:C語(yǔ)言

設(shè)計(jì)編號(hào):【O05】

1.? 簡(jiǎn)介

? 本文提出了一種基于51單片機(jī)的16路搶答器設(shè)計(jì)。該設(shè)計(jì)在硬件方面主要采用AT89C51單片機(jī)作為主控核心,結(jié)合獨(dú)立按鍵和矩陣鍵盤、數(shù)碼管、蜂鳴器。搶答限定時(shí)間為30S,在按下開(kāi)始搶答后開(kāi)始倒計(jì)時(shí),當(dāng)選手搶答后顯示對(duì)應(yīng)的搶答選手編碼和倒計(jì)時(shí)時(shí)間,在開(kāi)始搶答之前可以通過(guò)按鍵修改搶答倒計(jì)時(shí)。

2.? 主要功能

a.主持人按下?lián)尨痖_(kāi)始按鍵,搶答者才可以開(kāi)始搶答,搶答倒計(jì)時(shí)30S。

b.搶答者按下按鍵,數(shù)碼管顯示搶答者的編號(hào)倒計(jì)時(shí)時(shí)間。

c.在開(kāi)始搶答之前可以通過(guò)按鍵修改搶答倒計(jì)時(shí)。

3.? 源程序(Keil5)

本設(shè)計(jì)采用keil5 C51軟件(內(nèi)附安裝包)實(shí)現(xiàn)程序設(shè)計(jì)。如需用keil4打開(kāi)程序,可自行通過(guò).c和.h文件新建工程即可。

#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x84};
uchar code table0[]={0xf7,0xfe,0xfd,0xfb}; 
unsigned char code table2[]={0xef,0xdf,0xbf,0x7f}; 
uchar display[]={0,0,0,0};
void sw1();
void sw2();
void sw3();
void sw4();
void xianshi();
void init();
uchar temp,num2,x,x1,x2,a,count; 
int num,num1;
uchar key;
uchar i,j;
sbit k1=P1^0;//時(shí)間加
sbit k2=P1^1;//時(shí)間減
sbit k3=P1^2;//開(kāi)始
sbit k4=P1^3;//暫停
sbit sp=P1^4;
sbit l1=P1^5;
sbit l2=P1^6;
sbit P3_4=P3^4;
sbit P3_5=P3^5;
sbit P3_6=P3^6;
sbit P3_7=P3^7;
void delay(uchar z)
{
uchar x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void init() 
{
		a=0;
		TMOD=0x01;
		TH0=(65536-10000)/256;
		TL0=(65536-10000)%256;
		EA=1;
		ET0=1;
		if(k1==0)//加
		{
			delay(5);
			if(k1==0)
			{
				TR0=1;
					num++;
					if(num==99)
					{
					num=0;
					}
					num2=num;
					while(k1==0);
					}
			}
			if(k2==0)  //減
			{
					delay(5);
					if(k2==0)
					{
						TR0=1;
					num--;
					if(num==-1)
					{
					num=99;
					}
					num2=num;
					while(k2==0);
					}
			}
			if(k3==0)//開(kāi)始
			{
					delay(5);
					if(k3==0)
					{
					x++;
					if(x==2)
					{
					x=1;
					}
					while(k3==0);
					}
			}
}

4.? 仿真proteus8.6

? 本設(shè)計(jì)采用proteus8.6軟件(內(nèi)附安裝包)實(shí)現(xiàn)仿真設(shè)計(jì),如下圖所示。proteus軟件一般存在高低版本兼容問(wèn)題,該仿真是通過(guò)proteus8.6導(dǎo)出的,所以請(qǐng)盡量使用proteus8.6打開(kāi)文件,低于proteus8.6的版本不能夠正常使用,高于proteus8.6的版本除了proteus8.8/8.9理論上可以正常使用。

初始界面:

選手搶答:

5.? 設(shè)計(jì)報(bào)告

設(shè)計(jì)報(bào)告主要包括硬件電路、軟件設(shè)計(jì)、仿真調(diào)試等等,僅供參考。

6.? 資料清單

設(shè)計(jì)資料主要包括C程序+仿真+設(shè)計(jì)報(bào)告+使用說(shuō)明+元件清單+操作視頻等。

7.? 資料獲取鏈接

百度網(wǎng)盤下載鏈接:【O05】百度網(wǎng)盤下載鏈接

更多單片機(jī)仿真設(shè)計(jì)合集:單片機(jī)仿真設(shè)計(jì)合集

  • 單片機(jī)仿真設(shè)計(jì)合集資料獲取.pdf
    下載

相關(guān)推薦