*********************************************************************/
#include "hedder\STC12C5A60S2.h"
#include"hedder\DODI.h"
#define uchar unsigned char
#define uint unsigned int
uchar dat;
/********************************************************************
串口初始化
*********************************************************************/
void init ()
{
//串口2波特率
TMOD = 0x20; //定時器1產(chǎn)生波特率
SCON = 0x50; //方式1,8位數(shù)據(jù),波特率可變
TH1=0xfd;
TL1 = 0xfd; //波特率 9600
//串口1波特率
S2CON = 0x50; //方式1,八位數(shù)據(jù),可變波特率
BRT=0XFD; //設(shè)置波特率9600
TR1=1; //啟動定時器產(chǎn)生串口2波特率
AUXR=0x10; //啟動串口1波特率發(fā)生器
IP=0x00; //優(yōu)先級默認
EA=1; //開總中斷
ES=1; //開串口1中斷
IE2=0x01; //開串口2中斷
}
/*
// 串口一 發(fā)送一個字符
void uart1_txd(uchar x)
{
SBUF = x;
}
// 串口二 發(fā)送一個字符
void uart2_txd(uchar x)
{
S2BUF = x;
}
*/
/********************************************************************
延時函數(shù)
*********************************************************************/
void delay ( uint t )
{
uint i,j;
for( i=0; i
}
/********************************************************************
主函數(shù)
*********************************************************************/
void main()
{
uchar k=10;
//配置P4.4為IO口
P4SW|=0x70;
P4M0&=0x80;
P4M1&=0x80;
init(); //串口初始化
fxctl=0; //485接收
while(1)
{
/********************************************************************
接收數(shù)據(jù)判斷函數(shù)
*********************************************************************/
switch(dat) //接收數(shù)據(jù)判斷
{
case 'I':
P1&=0x0c;
P3&=0x03;
P4&=0x81;
P5=0;
delay(200);
init();
break; // 全開
case 'i':
P3|=0XFF;
P1|=0XFF;
P4|=0xff;
P5=0xff;
delay(k);
break; // 全關(guān)
case 'A': OUT1=0;delay(k);break; // 第一路開
case 'B': OUT2=0;delay(k);break; // 第二路開
case 'C': OUT3=0;delay(k);break; // 第三路開
case 'D': OUT4=0;delay(k);break; // 第四路開
case 'E': OUT5=0;delay(k);break; // 第五路開
case 'F': OUT6=0;delay(k);break; // 第六路開
case 'G': OUT7=0;delay(k);break; // 第七路開
case 'H': OUT8=0;delay(k);break; // 第八路開
case 'J': OUT9=0;delay(k);break; // 第九路開
case 'K': OUT10=0;delay(k);break; // 第十路開
case 'L': OUT11=0;delay(k);break; // 第十一路開
case 'M': OUT12=0;delay(k);break; // 第十二路開
case 'N': OUT13=0;delay(k);break; // 第十三路開
case 'O': OUT14=0;delay(k);break; // 第十四路開
case 'P': OUT15=0;delay(k);break; // 第十五路開
case 'Q': OUT16=0;delay(k);break; // 第十六路開
case 'a': OUT1=1;delay(k);break; // 第一路關(guān)
case 'b': OUT2=1;delay(k);break; // 第二路關(guān)
case 'c': OUT3=1;delay(k);break; // 第三路關(guān)
case 'd': OUT4=1;delay(k);break; // 第四路關(guān)
case 'e': OUT5=1;delay(k);break; // 第五路關(guān)
case 'f': OUT6=1;delay(k);break; // 第六路關(guān)
case 'g': OUT7=1;delay(k);break; // 第七路關(guān)
case 'h': OUT8=1;delay(k);break; // 第八路關(guān)
case 'j': OUT9=1;delay(k);break; // ...
case 'k': OUT10=1;delay(k);break; // ...
case 'l': OUT11=1;delay(k);break; // ...
case 'm': OUT12=1;delay(k);break; // ...
case 'n': OUT13=1;delay(k);break; // ...
case 'o': OUT14=1;delay(k);break; // ...
case 'p': OUT15=1;delay(k);break; // ...
case 'q': OUT16=1;delay(k);break; // ...
default:break; // 跳出
}
}
}
/********************************************************************
串口一 發(fā)送接收中斷函數(shù)
*********************************************************************/
void uart_isr() interrupt 4
{
if( RI ) RI = 0;
dat = SBUF;
if( TI ) TI = 0;
}
/********************************************************************
串口二 發(fā)送接收中斷函數(shù)
*********************************************************************/
void uart2_isr() interrupt 8
{
if( S2CON & 0x01 )
{
S2CON &= ~0x01;
dat= S2BUF;
}
if( S2CON & 0x02 )
{
S2CON &= ~0x02;
}
}
/********************************************************************
結(jié)束
*********************************************************************/
上一篇:基于STC15F101W單片機調(diào)光燈/按鍵狀態(tài)機源程序
下一篇:200米433或者315M無線遙控器檢測單片機源程序
推薦閱讀
史海拾趣
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦
- Microchip 升級數(shù)字信號控制器(DSC)產(chǎn)品線 推出PWM 分辨率和 ADC 速度業(yè)界領(lǐng)先的新器件
- 意法半導(dǎo)體STM32MP23x:突破成本限制的工業(yè)AI應(yīng)用核心
- 意法半導(dǎo)體推出用于匹配遠距離無線微控制器STM32WL33的集成的匹配濾波芯片
- ESP32開發(fā)板連接TFT顯示屏ST7789跳坑記
- 如何讓ESP32支持analogWrite函數(shù)
- LGVL配合FreeType為可變字體設(shè)置字重-ESP32篇
- 使用樹莓派進行 ESP32 Jtag 調(diào)試
- ESP32怎么在SPIFFS里面存儲html,css,js文件,以及網(wǎng)頁和arduino的通訊
- ESP32 freeRTOS使用測試
- 上汽大眾:汽車網(wǎng)絡(luò)安全漏洞防護
- 恩智浦推出全新電池控制IC系列 助力新能源解決方案發(fā)展
- 全球首條GWh級新型固態(tài)電池生產(chǎn)線樣件下線
- 總投資455億元!三大動力電池項目齊刷進度條
- 現(xiàn)代汽車韓國建氫燃料電池廠,2028年投產(chǎn)
- 6月融資一覽:智能汽車芯片、第三代半導(dǎo)體、機器人成資本焦點
- 艙駕一體“點燃”新戰(zhàn)事
- 汽車智能化2.0引爆「萬億蛋糕」,誰在改寫游戲規(guī)則?
- 2025研華智能系統(tǒng)產(chǎn)業(yè)伙伴峰會成功舉辦
- 意法半導(dǎo)體公布2025年第二季度財報和電話會議時間安排
- 安全在任何時候都是第一要素,你的嵌入式設(shè)計也是!誠邀參加英飛凌 OPTIGA™ Trust M 安全防御大揭秘!
- Microchip有獎問答 | 新品 MCU 獨立于內(nèi)核的外設(shè)(CIP)技術(shù)解密
- 上演你的“ADI實驗室電路”DIY!
- DEYISUPPORT TI 大咖級工程師在這里,等你來約!
- 邀請好友體驗WEBENCH,禮品豐厚你有他也有!
- 【EEWORLD中秋國慶專輯】你身邊的電子牛人秀
- 中秋“國宴“ :拍攝板卡上的國產(chǎn)元器件,抽開心小禮品
- 沁恒CH579M-R1開發(fā)板免費測評,豐富外設(shè)等你體驗
- 【DIY數(shù)控電源】入圍方案及后續(xù)活動安排!
- 盧偉冰:紅米5G手機已經(jīng)在安排了
- 余承東:NSA組網(wǎng)很快淘汰 期待友商都能提供真5G手機
- iQOO Neo將登場:驍龍845+4500mAh-對標(biāo)驍龍730
- 三星Galaxy A80標(biāo)價:4400元
- 王騰回應(yīng)網(wǎng)友對小米CC9e用HD+屏的吐槽:看不足更要看優(yōu)點
- 解讀無人駕駛汽車的三大核心力:四輪、電池和AI
- 高考大戲再度上演,這些“黑科技”你都了解嗎?
- 機器人會成為未來餐廳的標(biāo)配嗎?
- 世界機器人大賽中國賽區(qū)西北選拔賽在寧夏舉辦
- 組件級逆變,定義光伏“芯”未來!SNEC展禾邁發(fā)布多款新品及重磅政策