娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2024年12月23日(星期一)

正在發生

2021年12月23日 | 51單片機實驗1——串行通信(TX/RX)

發布者:cwk2003 來源: eefocus關鍵字:51單片機  串行通信  數碼管顯示 手機看文章 掃描二維碼
隨時隨地手機看文章

仿真電路圖如下:
圖1

代碼如下:


#include "reg51.h"

#define uint unsigned int 

#define uchar unsigned char


uint code segcode[16]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D, 0x07, 0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71}; 

uchar code weicode[4]={0x0e,0x0d,0x0b,0x07};  

uchar disbuf[4]={0,0,0,0};  //定義并初始化數碼管數據緩沖區


void delayms(uint x)   //延時1ms函數

{

                          uchar i;

                          while(x--)

                          {

                            for(i=0;i<125;i++);

                           }

}


void usart_Init( ) //串行中斷初始化程序

{

                         TMOD=0x20;     

                         TH1=0xfa;

                         TL1=0xfa;     // 配置串口波特率為 9600

                         SCON=0x50;  //設置串口工作在方式1,8位數據位

                         PCON=0x80;    // 配置為波特率倍增

                         IE=0x90;      // 打開中斷

                         TR1=1;        // 啟動定時/計數器

}


void segdisplay() //數碼管顯示函數

{

                            uchar i;

                            for(i=0;i<4;i++)

                            {

                              P1=weicode[i];

                              P0=segcode[disbuf[i]];  

                              delayms(1);

                              P0=0x00;

                            }

}


void main( ) //主函數

{

                             usart_Init( );   //串口初始化

                             while(1) { segdisplay(); } //CPU循環執行顯示函數

}


void usart_Int( ) interrupt 4 //串行中斷服務程序

{

                             if(RI==1)  //判斷是否為接收中斷

                             {

                               uint temp;   //臨時開辟一段內存空間,用以存放接收到的數據

                               RI=0;         //將RI及時置0,防止數據丟失 

                           temp=SBUF;    //讀取接收數據緩沖器的內容到指定內存空間中

                           SBUF=temp; //將輸入的數據重新發送到上位機,回顯

                           while(TI==0);

                           TI=0;      //等待發送完成將TI復位

                           disbuf[3]=disbuf[1];

                           disbuf[2]=disbuf[0];

                           disbuf[1]=temp/0x10;

                           disbuf[0]=temp%0x10;   //修改顯示緩沖區

                            }

}

 

運行仿真后,輸入字符‘1’,數碼管顯示“31”,如圖下:

圖2

依次輸入其他字符會相應顯示他們的ASCII碼,輸入第二個字符‘2’,數碼管顯示“3132”;輸入第三個字符‘5’的話,數碼管顯示“3235”(將之前的31頂掉了),連續輸入字符后依次類推。


關鍵字:51單片機  串行通信  數碼管顯示 引用地址:51單片機實驗1——串行通信(TX/RX)

上一篇:基于51單片機的串口通信(PC發字符)
下一篇:串口收發實驗——鍵盤鍵入數字**.*,PC端循環接收顯示**.*

推薦閱讀

2018 年,整個汽車行業所有人都在談論智能化、網聯化......卻沒有多少人談論汽車變得智能后會衍生出的一個大問題:信息安全問題。今天的兩位主角,是全球知名的白帽黑客、頂級安全專家 Charlie Miller 和 Chris Valasek,兩人如今的 Title 都是通用 Cruise 自動駕駛汽車首席安全架構師。 這兩位的履歷有多強悍呢?2012 年,Miller 和 Chris...
隨著ARM芯片的出貨量越來越多,自信滿滿的ARM公司統一軟硬件平臺的戰略和雄心壯志越來越凸顯。最初ARM公司僅是出售自己的知識產權(IP核)給各大芯片公司,由于最初ARM公司處于劣勢,所以給芯片廠商很大的自主權,在ARM7、ARM9和ARM11芯片時代,我們知道每家芯片的地址空間,寄存器操作各異,大不相同,也只能在代碼編譯的時候才能發現ARM公司的存在。隨后...
  摘 要: MSP430微處理器具有功耗低和功能模塊豐富的特點。采用MSP430F149為主控制器和以太網控制芯片CS8900A設計串口服務器,并且嵌入精簡后的TCP/IP協議。以過程控制設備為目標進行調試,實現RS-232串口和網絡接口RJ45的轉換。使串口設備聯入以太網,實現遠程網絡控制。  本文采用了TI公司生產的16位超低功耗的混合信號處理器(mixed signal pro...
文件說明bsp_led.c負責LED的初始化配置bsp_led.h負責外設LED函數的聲明,以及宏定義,提高移植性main.c實現功能點亮LED代碼1.mai.c#include "stm32f4xx.h"#include "bsp_led.h"int main(void){ while(1) { LED_GPIO_Config(); }}2.bsp_led.c#include "bsp_led.h"void LED_GPIO_Config(void){ //定義一個結構體指針對象 GPIO_InitStruct來調用成...

史海拾趣

問答坊 | AI 解惑

凌陽科技力推16位工控單片機

近日,世界第12大IC設計公司——凌陽科技SUNPLUS宣布:將向市場重點推廣它的16位工業單片機SPMC75系列芯片。SPMC75系列芯片是由凌陽科技自主設計開發的16位微控制器芯片,其內核采用凌陽科技自主知識產權的μ’nSP微處理器。SPMC75系列芯片集成了變 ...…

查看全部問答∨

業內首批90納米車用微控制器芯片

汽車工業內的兩大領先半導體供應商飛思卡爾和意法半導體推出首批四款車用Power Architecture?微控制器(MCU)產品,這是兩家公司兩年前啟動的合作設計項目的初期成果。 位于德州奧斯汀和米蘭Agrate Brianza兩家公司各自的晶圓廠,成功地推出以 ...…

查看全部問答∨

存儲器選擇的問題?

我想用單片機做一個小型的數據采集器,存儲容量不需要太大.因為要保存采集到的數據,所以肯定需要一個掉電而數據不會丟失的存儲器,所以想問一下各位老師應該選用什么存儲器(具體型號?)謝謝! [ 本帖最后由 sunjun530 于 2009-1-15 09:24 編輯 ]…

查看全部問答∨

單片機經典講義

經典51單片機講義下載 幫助文件格式,可任意打開,閱讀非常方便 學單片機不可多得的教程 上部:單片機硬件基礎講解 中部:指令系統分析 下部:實驗講解…

查看全部問答∨

提問的智慧(完整版+PDF格式)

提問的智慧(完整版+PDF格式)下載。…

查看全部問答∨

跪求Quartus2傻瓜式教程

本人還是在校學生,剛開始學習FPGA設計。學習Verilog一段時間了,對Modelsim基本的用法也有一定的了解。但在整個FPGA宏觀的設計過程上還缺乏一定的了解。現在想要學習Quartus2對自己編寫的一些小程序進行綜合。想要對這些流程有一定的認識。但我對Q ...…

查看全部問答∨

關于單片機控制電機(提升機)設計

  單片機控制電機轉速,正轉,反轉,快轉,慢轉,還要顯示轉速。我主要就是控制電機速度這塊布太懂,晚上查說用PID計算,可是沒有學過,希望高手提示下。小弟萬分感謝!…

查看全部問答∨

8255A的一個問題,請教

各位大師,本人有一8255A問題,急需解決,具體如下: 我的8255A與單片機等聯接后運行,三口均為輸出方式,可上電后A、B、C三口電壓都為0,檢查軟硬件,都沒有問題,單片機正常工作,不知為什么,請指教。 謝謝!…

查看全部問答∨

為什么FAT16硬盤分區格式有2GB分區容量限制?

為什么FAT16硬盤分區格式有2GB分區容量限制?…

查看全部問答∨

求助

_delay_cycles(100); 這個函數是如何實現的?延時100是具體是什么意思?看到網上說默認為mclk,8M時鐘。 求解答 …

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 中江县| 蛟河市| 临安市| 崇礼县| 桂阳县| 大丰市| 驻马店市| 福州市| 绥江县| 博野县| 泸水县| 阿荣旗| 肥城市| 临高县| 礼泉县| 台东市| 龙岩市| 四会市| 开江县| 江口县| 元谋县| 任丘市| 曲沃县| 泽州县| 大同县| 清水河县| 松溪县| 濮阳市| 白水县| 永寿县| 东港市| 车险| 怀柔区| 苗栗县| 汉阴县| 聂拉木县| 聂荣县| 岳阳市| 青阳县| 珲春市| 绥化市|