久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標(biāo)題: [原創(chuàng)]51單片機(jī)與PC機(jī)串口通信 [打印本頁]

作者: fengjiangpx    時(shí)間: 2009-6-22 17:47
標(biāo)題: [原創(chuàng)]51單片機(jī)與PC機(jī)串口通信
單片機(jī)P2口接8只LED燈,P3.2~P3.3引腳連接有K1和K2共2個(gè)按鍵,使用單片機(jī)串行口與PC機(jī)通信。


1)由PC機(jī)控制單片機(jī)的P2口,將PC機(jī)送出的數(shù)以二進(jìn)制形式顯示在LED燈上;


2)按下按鍵K1向PC機(jī)發(fā)送數(shù)字0x55,按下K2向PC機(jī)發(fā)送數(shù)字0xAA。


源程序如下:


#define uchar unsigned char
#include "string.h"
#include "reg51.h"
unsigned char code table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,
0x08,0x03,0x46,0x21,0x06,0x0e}; //十六進(jìn)制-7段譯碼表
void mDelay(unsigned int DelayTime) //延時(shí)函數(shù)
{ unsigned char j=0;
for(;DelayTime>0;DelayTime--) //延時(shí)循環(huán)
{ for(j=0;j<125;j++)
{;}}}
void SendData(uchar Dat) //發(fā)送函數(shù)
{ uchar i=0;
SBUF=Dat; //發(fā)送Dat
while(1){
if(TI) //如果發(fā)送中斷標(biāo)志為1,則等待,
{ TI=0; break; } //否則清除發(fā)送中斷標(biāo)志
}}
uchar Key() //按鍵處理函數(shù)
{ uchar KValue; //聲明鍵值函數(shù)
P3|=0x3e; //中間4位置高電平 0011 1101
if((KValue=P3|0xe3)!=0xff) //如果按鍵按下
{ mDelay(10); //延遲時(shí)間函數(shù)
if((KValue=P3|0xe3)!=0xff) //如果按鍵還在按下狀態(tài)
{ for(;;) //等待
if((P3|0xe3)==0xff) //如果按鍵抬起,
return(KValue); //返回鍵值
}}
return(0); //如果按鍵沒有按下,返回0
}
void main() //主函數(shù)
{ uchar KeyValue; //定義鍵值變量KeyValue
unsigned char ns,ng,temp; //定義變量ns,ng,temp
P2=0xff; //熄滅P2口連接的所有發(fā)光管
TMOD=0x20; //確定定時(shí)器工作模式,模式2,常數(shù)自動(dòng)裝入
TH1=0xFD;
TL0=0xFD; //定時(shí)器1的初值 波特率為9600,晶體為11.0592MHz
//PCON&=0x80; 若是SMOD=1 可以使波特率加倍
TR1=1; //啟動(dòng)定時(shí)器1
SCON=0x40; //串口工作方式1 運(yùn)行在8位模式
REN=1; //允許接收
for(;;) //無限循環(huán)
{if(KeyValue=Key()) //調(diào)用按鍵函數(shù),獲取按鍵信息
{ if((KeyValue|0xfb)!=0xff) //如果按鍵k1按下
SendData(0x55); //調(diào)用發(fā)送函數(shù),送出0x55
if((KeyValue|0xf7)!=0xff) //如果k2按下
SendData(0xaa); //調(diào)用發(fā)送函數(shù),送出0xaa
}
if(RI) //如果接收中斷發(fā)生
{ P2=SBUF; //將接收數(shù)據(jù)寫到端口P2
RI=0; } //清除接收標(biāo)志位
temp=P2; //暫存接收到的數(shù)據(jù)
ng=temp & 0x0f; //取接收數(shù)據(jù)低4位
ns=temp>>4; //將高4位右移4位
ns &=0x0f; //取接收數(shù)據(jù)高4位
P0=table[ng]; //P0口連接的數(shù)碼管顯示低4位
P1=table[ns]; //P1口連接的數(shù)碼管顯示高4位
}}


作者: zhengtwinyz    時(shí)間: 2009-9-21 18:46





歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 日韩a视频 | 91五月天 | 在线观看中文字幕 | 国产一区二区在线观看视频 | 精品一区二区三区在线观看 | 国产91在线精品 | 午夜激情影院 | 91网在线观看| 国产黄视频在线播放 | 99视频入口| 国产日产欧产精品精品推荐蛮挑 | 久久久久一区二区三区四区 | 91午夜在线 | 国产精品久久av | 精品国产一区二区三区性色av | 超碰成人免费观看 | 色婷婷av99xx| 国产精品亚洲视频 | 91精品久久久久久久久久小网站 | 久久精品国产清自在天天线 | 久久久国产一区二区三区 | 精品视频在线免费观看 | 中国一级大黄大片 | 午夜精品视频 | 精品一区二区三区在线观看国产 | 欧美激情欧美激情在线五月 | 精品国产乱码久久久久久蜜臀 | 人人九九精 | 欧美一区二区三区在线观看 | 亚洲精品免费视频 | 精品亚洲国产成av人片传媒 | 欧美一级大片 | 玖玖国产精品视频 | 嫩草影院网址 | 欧美日韩在线一区二区 | 一区二区三区久久 | 亚洲日韩中文字幕 | 欧美激情国产精品 | 一区二区三区免费观看 | 99pao成人国产永久免费视频 | h在线免费观看 |