仿真時需要注意:有4個按鍵控制4種不同樣式的流水燈,按下第一個按鍵后,需等第一的樣式結(jié)束后,才能進行其他的樣式仿真
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
212915ac92xlb1j29jsb66.png (36.91 KB)
下載附件
2020-2-1 17:09 上傳
單片機源程序如下:
#include<reg51.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar code led1[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
uchar code led2[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
uchar code led3[]={0x55,0xaa,0x00,0xff,0x55,0xaa,0x00,0xff};
uchar code led4[]={0x0f,0xf0,0xaa,0x55,0x0f,0xf0,0xaa,0x55};
uchar key_value,key_value_pre;
//sbit K1=P1^0;
//sbit K2=P1^1;
//sbit K3=P1^2;
//sbit K4=P1^3;
void delayms(uint xms)
{
uint x,y;
for(x=xms;x>0;x--)
for(y=110;y>0;y--);
}
uchar keyscan()
{
uchar key;
if(P1!=0xff)
{
delayms(10);
if(P1!=0xff)
{
switch(P1)
{
case 0xfe:key=1;break;
case 0xfd:key=2;break;
case 0xfb:key=3;break;
case 0xf7:key=4;break;
}
while(P1!=0xff); //按鍵松手檢測
}
return key;//如果有按鍵按下,返回具體鍵值
}return key=0;//如果沒有按鍵按下,返回鍵值為0
}
//利用數(shù)組查表的方法實現(xiàn)任意花樣燈的點亮控制子程序
void led(uchar *pt,uint time)
{
uchar i;
for(i=0;i<8;i++)
剩下程序請下載文件瀏覽:
花樣流水燈.zip
(21.58 KB, 售價: 1 E幣)
2020-2-1 17:10 上傳
點擊文件名下載附件
售價: 1 E幣 [記錄]
[ 購買]
【必讀】版權(quán)免責聲明
1、本主題所有言論和內(nèi)容純屬會員個人意見,與本論壇立場無關(guān)。2、本站對所發(fā)內(nèi)容真實性、客觀性、可用性不做任何保證也不負任何責任,網(wǎng)友之間僅出于學習目的進行交流。3、對提供的數(shù)字內(nèi)容不擁有任何權(quán)利,其版權(quán)歸原著者擁有。請勿將該數(shù)字內(nèi)容進行商業(yè)交易、轉(zhuǎn)載等行為,該內(nèi)容只為學習所提供,使用后發(fā)生的一切問題與本站無關(guān)。 4、本網(wǎng)站不保證本站提供的下載資源的準確性、安全性和完整性;同時本網(wǎng)站也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的損失或傷害。 5、本網(wǎng)站所有軟件和資料均為網(wǎng)友推薦收集整理而來,僅供學習用途使用,請務(wù)必下載后兩小時內(nèi)刪除,禁止商用。6、如有侵犯你版權(quán)的,請及時聯(lián)系我們(電子郵箱1370723259@qq.com)指出,本站將立即改正。
|