找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2753|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

51單片機(jī) 點(diǎn)陣 電機(jī) 數(shù)碼管 鍵盤(pán)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:262 發(fā)表于 2014-6-17 16:14 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
[size=13.333333969116211px]1)      單個(gè)按鍵與多個(gè)數(shù)碼管—點(diǎn)陣(位操作—輸入與字節(jié)操作—輸出)—動(dòng)態(tài)
[size=13.333333969116211px]1.  多個(gè)按鍵 → 鍵盤(pán)與多個(gè)LED燈—最小系統(tǒng)—輸出擴(kuò)展與掃描輸入口
[size=13.333333969116211px]a)       多個(gè)按鍵,單個(gè)LED燈—?jiǎng)討B(tài)輸入—掃描函數(shù)
[size=13.333333969116211px]b)       多個(gè)按鍵,多個(gè)LED燈—?jiǎng)討B(tài)—掃描函數(shù)—數(shù)組對(duì)照
[size=13.333333969116211px]c)         多個(gè)按鍵,多個(gè)LED燈—單數(shù)碼管—掃描函數(shù)—數(shù)組對(duì)照
[size=13.333333969116211px]d)       鍵盤(pán),多個(gè)LED燈—單數(shù)碼管
[size=13.333333969116211px]2. 多個(gè)按鍵 鍵盤(pán)與多個(gè)LED燈最小系統(tǒng)輸出擴(kuò)展與掃描輸入口
[size=13.333333969116211px]1)       多個(gè)按鍵,單個(gè)LED燈—動(dòng)態(tài)輸入—掃描函數(shù)
[size=13.333333969116211px]2)       多個(gè)按鍵,多個(gè)LED燈—動(dòng)態(tài)—掃描函數(shù)—數(shù)組對(duì)照
[size=13.333333969116211px]3)       多個(gè)按鍵,多個(gè)LED燈—單數(shù)碼管—掃描函數(shù)—數(shù)組對(duì)照
[size=13.333333969116211px]4)       鍵盤(pán),多個(gè)LED燈—單數(shù)碼管
[size=13.333333969116211px]3.              多個(gè)按鍵 → 鍵盤(pán)、數(shù)碼管與點(diǎn)陣—最小系統(tǒng)—輸入與輸出掃描
[size=13.333333969116211px]a)         多個(gè)按鍵,多個(gè)LED燈—多數(shù)碼管—掃描函數(shù)—數(shù)組對(duì)照
[size=13.333333969116211px]b)        鍵盤(pán),多個(gè)LED燈—單數(shù)碼管—掃描函數(shù)—數(shù)組對(duì)照
[size=13.333333969116211px]c)         多個(gè)按鍵,多個(gè)LED燈—單點(diǎn)陣—掃描函數(shù)—數(shù)組對(duì)照
[size=13.333333969116211px]d)        鍵盤(pán),多個(gè)LED燈—多點(diǎn)陣—掃描函數(shù)—數(shù)組對(duì)照
[size=13.333333969116211px]2. 多個(gè)按鍵 鍵盤(pán)、數(shù)碼管與點(diǎn)陣最小系統(tǒng)輸入與輸出掃描
[size=13.333333969116211px]1) 多個(gè)按鍵,多個(gè)LED燈多數(shù)碼管掃描函數(shù)數(shù)組對(duì)照
[size=13.333333969116211px]LED燈是由發(fā)光二極管制成的,它的工作原理與標(biāo)準(zhǔn)或說(shuō)普通二極管相同—單向?qū)щ娦。將多個(gè)發(fā)光二極管按照8字形安排,則構(gòu)成一個(gè)7段數(shù)碼管;按照米字形則構(gòu)成13段數(shù)碼管。后者在字節(jié)處理方面不是8的倍數(shù),則會(huì)帶來(lái)一些麻煩。前者雖缺一位,但加上小數(shù)點(diǎn)位則恰到好處。
[size=13.333333969116211px]
[size=13.333333969116211px]//源程序—4個(gè)一組的數(shù)碼管實(shí)現(xiàn):
[size=13.333333969116211px]#define LEDS 4
[size=13.333333969116211px]#include"reg51.h"
[size=13.333333969116211px]//led T選iffl1號(hào)
[size=13.333333969116211px]//unsigned char code Select[]={0x01,0x02,0x04,0x08,0x10,0x20};
[size=13.333333969116211px]unsigned char code Select[]={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,};
[size=13.333333969116211px]unsigned char code LED_CODES[]=
[size=13.333333969116211px]{ 0xc0,0xF9,0xA4,0xB0,0x99,//0-4
[size=13.333333969116211px]0x92,0x82,0xF8,0x80,0x90,//5-9
[size=13.333333969116211px]0x88,0x83,0xC6,0xA1 ,0x86,//A,b,C,d,E
[size=13.333333969116211px]0x8E,0xFF,0x0C,0x89,0x7F,0xBF//F,空格,P,H,.,-
[size=13.333333969116211px]};
[size=13.333333969116211px]void main()
[size=13.333333969116211px]{
[size=13.333333969116211px]char i=0;
[size=13.333333969116211px]long int j;
[size=13.333333969116211px]long int n;
[size=13.333333969116211px]while(1)
[size=13.333333969116211px]{
[size=13.333333969116211px]P2=0;
[size=13.333333969116211px]P2=LED_CODES[n];
[size=13.333333969116211px]//P1=1;
[size=13.333333969116211px]P1=Select;
[size=13.333333969116211px]for(j=3000;j>0;j--); //該LED 模型靠脈沖點(diǎn)亮,第 i 位靠脈沖點(diǎn)亮后,會(huì)自動(dòng)熄來(lái)頭。
[size=13.333333969116211px]//修改循環(huán)次數(shù),改變點(diǎn)亮下一位之前的延時(shí),可得到不同的顯示效果。
[size=13.333333969116211px]i++;
[size=13.333333969116211px]if(i>5) i=0;
[size=13.333333969116211px]n++;
[size=13.333333969116211px]if(n>16) n=0;
[size=13.333333969116211px]}
[size=13.333333969116211px]}
[size=13.333333969116211px]
[size=13.333333969116211px]l  多數(shù)碼管循環(huán)移動(dòng)
[size=13.333333969116211px]
[size=13.333333969116211px]#include
[size=13.333333969116211px]#include
[size=13.333333969116211px]#define uchar unsigned char
[size=13.333333969116211px]#define uint unsigned int
[size=13.333333969116211px]uchar code DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,
[size=13.333333969116211px]0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};//0—F字符陽(yáng)極管
[size=13.333333969116211px]uchar code DUA_CODE[]={0x08,0x04,0x02,0x01,0x08,0x04,0x02,0x01,
[size=13.333333969116211px]0x08,0x04,0x02,0x01,0x08,0x04,0x02,0x01};//右向左移動(dòng)
[size=13.333333969116211px]uchar code DUA_CODE[]={0x01,0x02,0x04,0x08 };//左向右移動(dòng)
[size=13.333333969116211px]
[size=13.333333969116211px]******關(guān)于移位函數(shù)的使用—P3=_crol_(P3,1);或P3=_cror_(P3,1);左右移位*******
[size=13.333333969116211px]//延時(shí)
[size=13.333333969116211px]void DelayMS(uint x)
[size=13.333333969116211px]{
[size=13.333333969116211px]uchar t;
[size=13.333333969116211px]while(x--) for(t=0;t<120;t++);
[size=13.333333969116211px]}
[size=13.333333969116211px]//主程序
[size=13.333333969116211px]void main()
[size=13.333333969116211px]{
[size=13.333333969116211px]uchar i;
[size=13.333333969116211px]while(1)
[size=13.333333969116211px]{
[size=13.333333969116211px]for(i=0;i<16;i++)
[size=13.333333969116211px]{
[size=13.333333969116211px]P2=0x00;
[size=13.333333969116211px]P2=DSY_CODE; //發(fā)送段碼
[size=13.333333969116211px]P3=DUA_CODE; //發(fā)送位碼  
[size=13.333333969116211px]DelayMS(10);
[size=13.333333969116211px]}
[size=13.333333969116211px]}
[size=13.333333969116211px]}
[size=13.333333969116211px]
[size=13.333333969116211px]2) 鍵盤(pán),多個(gè)LED燈單數(shù)碼管掃描函數(shù)數(shù)組對(duì)照
[size=13.333333969116211px]
[size=13.333333969116211px]3) 多個(gè)按鍵,多個(gè)LED燈單點(diǎn)陣掃描函數(shù)數(shù)組對(duì)照
[size=13.333333969116211px]
[size=13.333333969116211px]4) 鍵盤(pán)與點(diǎn)陣
[size=13.333333969116211px]字母輸入與實(shí)現(xiàn)技術(shù)
[size=13.333333969116211px]文本顯示技術(shù)
[size=13.333333969116211px]多個(gè)LED燈,多個(gè)按鍵 鍵盤(pán)
[size=13.333333969116211px]A) 單“位”P口1位--單個(gè)燈位輸出,單個(gè)按鍵控制硬控制與軟控制
[size=13.333333969116211px]一個(gè)按鍵,一盞照明燈,一個(gè)繼電器。硬件接口問(wèn)題—線路連接、硬件硬驅(qū)動(dòng)問(wèn)題(程序稱(chēng)為軟驅(qū)動(dòng))。
[size=13.333333969116211px]說(shuō)明:
[size=13.333333969116211px]硬件特性,驅(qū)動(dòng)與控制信號(hào),程序編寫(xiě)
[size=13.333333969116211px]由繼電器引出的強(qiáng)電驅(qū)動(dòng)電器的控制問(wèn)題,如電動(dòng)機(jī)交流電機(jī)、直流電機(jī)、步進(jìn)電機(jī)、伺服電機(jī);單項(xiàng)或多項(xiàng)
[size=13.333333969116211px]

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表