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

標(biāo)題: [已解決]單片機(jī)串口程序調(diào)試問題 [打印本頁]

作者: wolfinn    時(shí)間: 2022-5-16 18:37
標(biāo)題: [已解決]單片機(jī)串口程序調(diào)試問題
最近調(diào)試51單片機(jī)程序,編譯下載后運(yùn)行得不到意料的回復(fù)A的結(jié)果,程序如下:

#include "reg52.h"

typedef unsigned int u16;        //對系統(tǒng)默認(rèn)數(shù)據(jù)類型進(jìn)行重定義
typedef unsigned char u8;


/*******************************************************************************
* 函 數(shù) 名       : uart_init
* 函數(shù)功能                 : 串口通信中斷配置函數(shù),通過設(shè)置TH和TL即可確定定時(shí)時(shí)間
* 輸    入       : baud:波特率對應(yīng)的TH、TL裝載值
* 輸    出             : 無
*******************************************************************************/
void uart_init(u8 baud)
{
        TMOD|=0X20;        //設(shè)置計(jì)數(shù)器工作方式2
        SCON=0X50;        //設(shè)置為工作方式1
        PCON=0X80;        //波特率加倍
        TH1=baud;        //計(jì)數(shù)器初始值設(shè)置
        TL1=baud;
        ES=1;                //打開接收中斷
        EA=1;                //打開總中斷
        TR1=1;                //打開計(jì)數(shù)器               
}

/*******************************************************************************
* 函 數(shù) 名       : main
* 函數(shù)功能                 : 主函數(shù)
* 輸    入       : 無
* 輸    出             : 無
*******************************************************************************/
void main()
{        
        uart_init(0XFA);//波特率為9600

        while(1)
        {                        
                                                        
        }               
}

void uart() interrupt 4 //串口通信中斷函數(shù)
{
        u8 rec_data;

        RI = 0;                        //清除接收中斷標(biāo)志位
        rec_data=SBUF;        //存儲(chǔ)接收到的數(shù)據(jù)
        SBUF=0x41;        //收到回復(fù)A
        while(!TI);                //等待發(fā)送數(shù)據(jù)完成
        TI=0;                        //清除發(fā)送完成標(biāo)志位                                
}

用串口助手,輸入一個(gè)字符,得到16進(jìn)制的A1。把原程序?qū)懗奢敵鯞,得到輸出結(jié)果是A2。把原程序?qū)懗奢敵鯟,得到輸出結(jié)果是A3。不知道為什么?

2022-05-16_183403.jpg (102.15 KB, 下載次數(shù): 60)

2022-05-16_183403.jpg

2022-05-16_182739.jpg (102.06 KB, 下載次數(shù): 69)

程序結(jié)果2

程序結(jié)果2

2022-05-16_182452.jpg (109.95 KB, 下載次數(shù): 61)

程序結(jié)果1

程序結(jié)果1

作者: yaoyao2022    時(shí)間: 2022-5-16 23:18
你的晶振是多少,估計(jì)是 波特率不對所以顯示的不對,建議你算下初值 百度上有 51單片機(jī)11.0592M晶振波特率初值表

作者: 人人學(xué)會(huì)單片機(jī)    時(shí)間: 2022-5-16 23:40
http://www.zg4o1577.cn/bbs/dpj-214747-1.html  單片機(jī)發(fā)送到串口助手,以及串口助手顯示到LCD1602
作者: wolfinn    時(shí)間: 2022-5-17 06:35
yaoyao2022 發(fā)表于 2022-5-16 23:18
你的晶振是多少,估計(jì)是 波特率不對所以顯示的不對,建議你算下初值 百度上有 51單片機(jī)11.0592M晶振波特率初 ...

12M,串口可以改波特率來適應(yīng)實(shí)驗(yàn)板的啊,改了作用不大。
作者: wolfinn    時(shí)間: 2022-5-17 06:42
本來程序是接收原樣返回的,返回的是亂碼,就改成固定返回一個(gè)值。試過在P3.1接一個(gè)外部的另一個(gè)串口信號發(fā)送,單針剛一接上電腦就正常顯示外部串口的值了,排除了P3.1到電腦線路問題,同時(shí)能正常下載程序運(yùn)行說明實(shí)驗(yàn)板能正常接收串口數(shù)據(jù)。
作者: lkc8210    時(shí)間: 2022-5-17 09:36
9600@12Mhz的誤差有點(diǎn)大啊~


作者: wolfinn    時(shí)間: 2022-5-17 10:34
lkc8210 發(fā)表于 2022-5-17 09:36
9600@12Mhz的誤差有點(diǎn)大啊~

謝謝你們,換了個(gè)11.0592的晶振果然好了,那以后要用的串口程序的必須得用11.0592的晶振啰!!!這樣好了我的GPS模塊程序也可以了。用GPS信號做時(shí)鐘來對時(shí),已通過,就是數(shù)組太大了,影響12864顯示,不知編譯時(shí)DATA,XDATA之類的選擇怎樣才最優(yōu)化,現(xiàn)在對時(shí)功能做到了,可能數(shù)組地址空間有沖突,顯示有干擾,現(xiàn)在只能對時(shí)結(jié)束后把串口關(guān)了,中斷1也關(guān)斷。完美顯示時(shí)間、溫度、日期等。




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 久草青青草 | 欧美久久久久久 | 1区2区3区视频 | 国产精品乱码一区二区三区 | 欧美乱淫视频 | 国产免费自拍 | 91久久国产综合久久91精品网站 | 欧美一级网站 | 婷婷成人在线 | 97国产一区二区精品久久呦 | 国产精品一区二区av | 91视频a| 久久久久久久久久久久久久久久久久久久 | 亚洲福利视频一区二区 | 亚洲丝袜天堂 | 亚洲一区二区精品视频 | 最新国产在线 | 欧洲色综合| 岛国在线免费观看 | 免费一区二区三区 | 久久99精品久久久久久国产越南 | 欧美手机在线 | 欧美一区二区久久 | 91在线精品视频 | 中文字幕精品一区二区三区精品 | 久久国产精品无码网站 | 欧美影院 | 国产黄色大片 | 成年人在线视频 | 国产乱码精品1区2区3区 | 美日韩精品 | 91av视频在线观看 | 一区二区小视频 | 国产精品99久久久久久人 | 日日天天 | 国产91在线 | 亚洲 | 国产 日韩 欧美 制服 另类 | 九九综合 | 久久久久国产 | 中午字幕在线观看 | 国产精品美女久久久久aⅴ国产馆 |