国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

51單片機(jī)LED彩燈串行控制器制作

2014-07-07 05:46:54祝斌
科教導(dǎo)刊 2014年16期
關(guān)鍵詞:單片機(jī)

祝斌

摘 要 本文通過LED彩燈控制器實(shí)例,詳細(xì)介紹了51單片機(jī)與PC機(jī)的串行通信方法。

關(guān)鍵詞 單片機(jī) LED 串行通信

中圖分類號:TP342 文獻(xiàn)標(biāo)識碼:A

51 Single LED Lantern Serial Communications Controller Making

ZHU Bin

(Huanggang Electric Power Design Institute, Huanggang, Hubei 438000)

Abstract This paper by LED lights controller instance described in detail 51 and PC serial communication method.

Key words single; LED; serial communications

MCS-51單片機(jī)內(nèi)部的串行接口是全雙工的,能同時發(fā)送和接收數(shù)據(jù)。單片機(jī)與PC機(jī)通信時,因?yàn)镻C機(jī)是采用232通信方式,因而單片機(jī)要外加232芯片才能通信成功。

1 PC機(jī)與單片機(jī)串行接口通信模塊制作

串行口通訊調(diào)試是比較困難的工作,因?yàn)橹挥挟?dāng)通訊雙方的硬件和軟件都正確無誤時才能實(shí)現(xiàn)成功的通訊??梢圆捎梅謩e調(diào)試的方法,即按通訊規(guī)約雙方各自調(diào)試好,然后再聯(lián)調(diào)。

1.1 硬件電路設(shè)計(jì)

原理圖如圖1所示,用MAX232芯片,外加9芯串口插座,組成與PC機(jī)通信接口電路。先用PC終端來進(jìn)行單片機(jī)通訊口的調(diào)試。只要方式設(shè)置正確,一般通信會成功。因?yàn)镻C終端已具有正常的通訊功能,如果通訊不正常便是單片機(jī)部分引起的,這樣便于查出存在的故障。

圖1 串行口通訊口調(diào)試電路

1.2 程序設(shè)計(jì)及調(diào)試

下面給出的串行口調(diào)試程序,其功能是對串行口的工作方式編程,然后在串行口上輸出字符串:‘MCS-51 Microcomputer,接著從串行口上輸入字符,又將輸入的字符從串行口上輸出,將PC終端鍵盤上輸入的字符在屏幕上顯示出來。這個功能實(shí)現(xiàn)以后,串行口的硬件和串行口的編程部分就調(diào)試成功,接著便可以按通訊規(guī)約,實(shí)現(xiàn)單片機(jī)和終端之間串行通訊,完成通訊軟件的調(diào)試工作。

編寫程序如下:

#include

#define uchar unsigned char

#define uint unsigned int

uchar code asab[]={'M','S','C','-', 'M','i','c','r','o','c','o','m','p','u','t','e','r',0x0a,0x0d,0};

void main()

{

uchar i,temp;

TMOD=0x20;//定時器1方式2

TL1=0xe8;

TH1=0xe8;

SCON=0xda;

TR1=1;

i=0;

next:

temp=asab[i];

if(temp==0)

{

loop:

while(RI==0);

RI=0;

temp=SBUF;

while(TI==0);

TI=0;

SBUF=temp;

goto loop;

}

else

{

while(TI==0);

TI=0;

SBUF=temp;

i++;

}

goto next;

}

在Keil C中輸入以上程序匯編通過后,全速運(yùn)行該程序,仿真時,打開(Peripherale/Serial)串行口通道(Serial Channel)如圖2所示。

圖2 串行口調(diào)試圖

由圖2可見串行口通道窗口中有各種標(biāo)志位,程序每次運(yùn)行到TSO3時,要在TI前的復(fù)選框選中“√”,程序才繼續(xù)運(yùn)行。將A中數(shù)送到串口緩沖器(SBUF)中,可在SBUF文本框中看到傳入的數(shù)據(jù)。每選中一次“√”傳送一個數(shù)。

1.3 Proteus軟件仿真

在圖1基礎(chǔ)上添加虛擬終端,如圖3所示。VSM虛擬終端允許用戶通過PC的鍵盤和屏幕與仿真微處理器系統(tǒng)收發(fā)RS232異步串行數(shù)據(jù)。在顯示用戶編寫程序產(chǎn)生的調(diào)試/跟蹤信息時非常有用。

圖3 Proteus軟件串口仿真

導(dǎo)入前面所生成的HEX文件,全速運(yùn)行后,出現(xiàn)如圖3所示結(jié)果,在虛擬終端顯示轉(zhuǎn)輸?shù)臄?shù)據(jù)。

2 LED彩燈串口控制器制作

2.1 電路原理圖設(shè)計(jì)

LED彩燈串口控制器的原理圖如圖4所示,在串行口上擴(kuò)展了兩個移位寄存器74LS164,作為16路狀態(tài)指示燈接口。

圖4 LED彩燈串口控制器仿真原理圖

2.2 硬件制作

自己購買器件,用萬能板焊接電路。

2.3 程序編寫

利用表格的方式,建立一組數(shù)據(jù),利用UART發(fā)送至8BIT串入并出的IC74164。這組數(shù)據(jù)將使74164的8個LED 左移2次,右移2次,閃爍2次。

程序如下:

#include

#define uchar unsigned char

#define uint unsigned int

uchar code table[]={0x01, 0x02, 0x04, 0x08, 0x10,0x20 ,0x40, 0x80,

0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,

0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,

0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,

0x00,0xff,0x00,0xff,0x03};

void delay()

{

uint j;

for(j=0;j<20000;j++);

}

void main()

{

uchar i,temp;

SCON=0x00;

i=0;

loop:

temp=table[i];

if(temp!=0x03)

{

temp=~temp;

SBUF=temp;

while(TI==0);

TI=0;

delay();

i++;

}

else i=0;

goto loop;

}

參考文獻(xiàn)

[1] 龔運(yùn)新.單片機(jī)C語言項(xiàng)目式教程[M].北京郵電大學(xué)出版社,2012.

[2] 胡鳳燕.萬能板在電子技能教學(xué)中的使用[J].中等職業(yè)教育,2012(35).

[3] 陳東等嵌入式系統(tǒng)中MCS-51復(fù)雜通訊模式研究.[J].武漢職業(yè)技術(shù)學(xué)院學(xué)報(bào),2005(5).

猜你喜歡
單片機(jī)
基于單片機(jī)的SPWM控制逆變器的設(shè)計(jì)與實(shí)現(xiàn)
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機(jī)的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機(jī)的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
小議PLC與單片機(jī)之間的串行通信及應(yīng)用
電子制作(2018年12期)2018-08-01 00:48:04
基于單片機(jī)的平衡控制系統(tǒng)設(shè)計(jì)
電子制作(2017年19期)2017-02-02 07:08:27
Microchip推出兩個全新PIC單片機(jī)系列
永顺县| 五寨县| 福建省| 梓潼县| 田东县| 崇阳县| 昔阳县| 青河县| 揭西县| 喀喇沁旗| 湾仔区| 佛山市| 郓城县| 凭祥市| 沿河| 建瓯市| 云霄县| 田阳县| 翁源县| 秦安县| 莱阳市| 五指山市| 邹城市| 永城市| 德保县| 丽水市| 墨江| 百色市| 郎溪县| 中超| 南阳市| 门头沟区| 宕昌县| 宜城市| 尖扎县| 饶平县| 耿马| 方正县| 西林县| 云南省| 武汉市|