国产久操视频-国产久草视频-国产久热精品-国产久热香蕉在线观看-青青青青娱乐-青青青青在线成人视99

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

基于51單片機(jī)的心形流水燈設(shè)計(jì)(二)

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

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

共1個(gè)文件

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

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

程序編譯:Keil5 C51

編程語言:C語言

設(shè)計(jì)編號:【Y04】

1.? 簡介

本文提出了一種基于51單片機(jī)的流水燈設(shè)計(jì)。本系統(tǒng)由AT89C51單片機(jī)為控制核心,通過按鍵實(shí)現(xiàn)不同花樣的基本功能。

2.? 主要功能

a.支持單片機(jī)輸出32個(gè)引腳,通過按鍵實(shí)現(xiàn)不同的心型流水燈花樣效果。

3.? 源程序(Keil5)

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

#include <REGX52.H>
#define	uint	unsigned int
#define	uchar	unsigned char
uchar code table0[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//LED從低位往高位移
uchar code table1[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//LED從高位往低位移
uchar code table2[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00};//LED從1個(gè)亮到8個(gè)都點(diǎn)亮(從低位往高位)
uchar code table3[]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00};//LED從1個(gè)亮到8個(gè)都點(diǎn)亮(從高位往低位)
uchar code table4[]={0x00,0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};//LED從8個(gè)全亮到一個(gè)都不亮(從低位往高位)
uchar code table5[]={0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff};//LED從8個(gè)全亮到一個(gè)都不亮(從高位往低位)
uchar code table6[]={0xfe,0xfc,0xfa,0xf6,0xee,0xde,0xbe,0x7e};//LED從低位往高位移(最低位始終為0)
uchar code table7[]={0x7f,0x3f,0x5f,0x6f,0x77,0x7b,0x7d,0x7e};//LED從高位往低位移(最高位始終為0)
uchar i,j;		//定義循環(huán)變量
uint tt=70;		//定義時(shí)間指數(shù)
sbit K1 = P1^0;
sbit K2 = P1^1;
sbit K3 = P1^2;
sbit K4 = P1^3;
sbit K5 = P1^4;
sbit K6 = P1^5;
sbit K7 = P1^6;
sbit K8 = P1^7;
void delay(uint time)	//延時(shí)函數(shù)
{
	uint x,y;
	for(x=time;x>0;x--)
	for(y=110;y>0;y--);
}


void disp0()			//狀態(tài)0 所有LED閃爍3次
{
	for(i=0;i<3;i++)
	{
		P0=0x00; P2=0x00; P3=0x00; 
		delay(300);
		P0=0xff; P2=0xff; P3=0xff; 
		delay(300);
	}
}

void disp1()			//狀態(tài)1 LED順時(shí)針轉(zhuǎn)一圈
{
	for(i=0;i<8;i++)
	{
		P2=table1[i];
		delay(100);
	}
	P2=0xff;
	for(i=0;i<8;i++)
	{
		P3=table1[i];
		delay(100);
	}
	P3=0xff;
	for(i=0;i<8;i++)
	{
		P0=table0[i];
		delay(100);
	}
	P0=0xff;
}

void disp2()			//狀態(tài)2 LED逆時(shí)針轉(zhuǎn)一圈
{
	for(i=0;i<8;i++)
	{
		P0=table1[i];
		delay(100);
	}
	P0=0xff;
	for(i=0;i<8;i++)
	{
		P3=table0[i];
		delay(100);
	}
	P3=0xff;
	for(i=0;i<8;i++)
	{
		P2=table0[i];
		delay(100);
	}
	P2=0xff;
}

void disp3()			//狀態(tài)3 4個(gè)LED同時(shí)順時(shí)、逆時(shí)針移動(dòng)1/4圈
{
	for(i=0;i<8;i++)
	{
		P0=table1[i];
		P2=table1[i];
		P3=table0[i];
		delay(100);
	}
	for(i=0;i<8;i++)
	{
		P0=table0[i];
		P2=table0[i];
		P3=table1[i];
		delay(100);
	}
	P3=0xff; P0=0xff; 
}

4.? 仿真proteus8.6

? 本設(shè)計(jì)采用proteus8.6軟件(內(nèi)附安裝包)實(shí)現(xiàn)仿真設(shè)計(jì),如下圖所示。proteus軟件一般存在高低版本兼容問題,該仿真是通過proteus8.6導(dǎo)出的,所以請盡量使用proteus8.6打開文件,低于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)告+使用說明+元件清單+操作視頻等。

7.? 資料獲取鏈接

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

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

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

相關(guān)推薦

珲春市| 庆阳市| 遂平县| 临沂市| 台前县| 原阳县| 叙永县| 巴南区| 阳泉市| 株洲市| 攀枝花市| 宁晋县| 柘荣县| 莱西市| 泌阳县| 克什克腾旗| 柳河县| 峨山| 鲜城| 武安市| 千阳县| 沅江市| 犍为县| 黄龙县| 新昌县| 西安市| 保定市| 成武县| 林周县| 孟津县| 明水县| 塘沽区| 民县| 阜新市| 景谷| 镇巴县| 河北省| 武平县| 威宁| 马公市| 梨树县|