• 方案介紹
    • 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:07
257
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

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

共1個(gè)文件

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

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

程序編譯:Keil5 C51

編程語言:C語言

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

1.? 簡介

? 本文提出了一種基于51單片機(jī)的呼吸燈設(shè)計(jì)。本系統(tǒng)由AT89C51單片機(jī)為控制核心,用C語言編程實(shí)現(xiàn)PWM(脈寬調(diào)制)輸出驅(qū)動(dòng)LED,逐漸增加PWM的占空比從而實(shí)現(xiàn)LED模擬呼吸的過程,即漸亮再漸暗再漸亮再漸暗……如此往復(fù),再利用LED的余輝和人眼的暫留效應(yīng),看上去就和人的呼吸一樣。

2.? 主要功能

a.支持PWM輸出實(shí)現(xiàn)呼吸燈效果。

b. 支持按鍵控制呼吸模式。

3.? 源程序(Keil5)

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

#include <reg51.h>
#define MAX 0x40   //定時(shí)上限定義
#define MIN 0x00   //定時(shí)下限定義
#define TIMELINE 10         //時(shí)間分頻常數(shù)
#define TRUE  1
#define FALSE 0             //標(biāo)志位常數(shù)
sbit s1 = P2^0;
sbit s2 = P2^1;
sbit s3 = P2^2;
unsigned int TimeCounter;
bit ArrowFlg = 0;         //方向標(biāo)志位
unsigned char upCounter,downCounter;    //增加計(jì)數(shù)器和減少計(jì)數(shù)器
unsigned char table1[] = {0x00,0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff} ;
unsigned char table2[] = {0xff,0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00} ;
unsigned char k=0,j=-1;
char key1,key=3;
 char keyscan()
{
	if(s1==0){while(!s1);key=1;}
	if(s2==0){while(!s2);key=2;}
	if(s3==0){while(!s3);key=3;}
	return key;
}
//T0的中斷服務(wù)子函數(shù)
void T0Deal() interrupt 1
{
	TH0=0xf1;
	TL0=0xf1;
	TR0=1;
	TimeCounter++;  //定時(shí)計(jì)數(shù)器增加
	if(TimeCounter == TIMELINE)
	{
		if(key1==1)
		{
		  upCounter++;
	    downCounter--;
		  if((upCounter == MAX)&&(downCounter == MIN))
		  {
		   	upCounter = MIN;
				downCounter = MAX;     //計(jì)數(shù)器初始化
				k++;if(k>=9)k=0;
		  }
		}

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)盤下載鏈接:【Y02】百度網(wǎng)盤下載鏈接

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

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

相關(guān)推薦