欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
中穎單片機UART1串口實現自動硬件地址識別和通訊SH88F516源程序
[打印本頁]
作者:
weihu
時間:
2017-11-18 05:16
標題:
中穎單片機UART1串口實現自動硬件地址識別和通訊SH88F516源程序
SH88F516代碼工程與串口調試工具:
0.png
(9.46 KB, 下載次數: 115)
下載附件
2017-11-18 05:11 上傳
中穎單片機UART1控制源碼如下:
/***************************
說明: 串口1擁有獨立的波特率發生器,不需要占用定時器資源,在多機通訊時還具有自動硬件地址識別和幀出錯檢測
功能。本程序代碼可以很好的實現自動硬件地址識別和通訊功能,利用串口調試助手發送地址和數據命令,單片機接
收有效命令后,將數據再發送到串口調試助手。操作注意點如下:發送十六進制數據55(55在程序中定義為硬件地址),
選擇偶校驗(偶校驗保證了輸出第8位為1),發送后會返回十六進制數據55,說明地址匹配,下面可以任意發送數據
(除了FF和AA)進行通訊,發送的數據都可以返回到串口調試助手,十六進制FF(偶校驗為1)為系統默認的廣播命令,
十六進制AA為程序中定義的通訊結束命令,因而可以發送AA結束此次通訊。串口調試助手(serial V2.2.exe)在UART1文
件夾中。
要求:打開撥碼開關J4,使串口1有效。
*************************/
#include <sh88f516.h>
unsigned char data RCV_num;
bit flag1;
void init();
void SendChar(unsigned char value);
main()
{
init();
while(1)
{
if(flag1)
{
flag1 = 0;
SendChar(RCV_num);
}
}
}
void init()
{
CLKCON = 0x00; //時鐘設置 系統時鐘=晶振頻率 Fsys=16MHz
SADDR1 = 0x55; //多機通訊時的從機地址設置=0x55
SADEN1 = 0xFF; //從機地址屏蔽設置
SCON1 = 0xF0; //工作在方式3 ,多機通訊模式
SBRT1 = 0xFF; //工作在方式3時,BAUDRATE=(1/16)*Fsys/(32768-SBRT[1:0]) Fsys=16MHz
SBRT0 = 0x98; //BAUDRATE=9600時, SBRT[1:0]=0x7F98, SBRT1.7=1 --> SBRT1=0xFF, SBRT0 = 0x98;
IEN1 = 0x04; //ES1=1,不可位尋址
EA = 1; //開啟總中斷
}
void UART1_RCV_INT() interrupt 9 using 3 //串口接收中斷的中斷號為9.
{
IEN1 &= 0xFB; //關閉串口1中斷
SCON1 &= 0xDF; //SM12_TXCOL = 0;
RCV_num = SBUF1;
if(RCV_num==0xAA) //收到0xAA就結束此次通訊
{
SCON1 |= 0x20; //SM12_TXCOL = 1;
}
flag1 = 1;
RI1 = 0; //清除串口1中斷標志位
IEN1 |= 0x04; //打開串口1中斷
}
void SendChar(unsigned char value)
{
IEN1 &= 0xFB; //ES1=0;
SBUF1=value; //寫SBUF1,激活發送
while(TI1==0); //等待轉換結束
TI1=0; //清除發送標志位
…………
…………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
壓縮包里面包含有中穎單片機sh88f516常用功能的源碼,中文注釋都很詳細
下載地址:
http://www.raoushi.com/bbs/dpj-98300-1.html
作者:
yeahfeng
時間:
2019-9-18 08:16
樓主,我現在用這個程序測試時:為什么發送0x55,要沒有帶奇偶校驗才能中斷收到,加了奇偶校驗收不到0x55,而發送數據如果不加檢驗位,多個字節會出現亂碼?用的是SH88F516,外部晶振12MHZ,波特率:9600,請問這個是什么問題?是不是哪里沒有設置好,還有SH88F516用成專用接口怎么設置,規格書沒有寫?比如SPI接口,幫忙回復一下謝謝。
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1