仿真電路圖如下:
代碼如下:
#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”,如圖下:
依次輸入其他字符會相應顯示他們的ASCII碼,輸入第二個字符‘2’,數碼管顯示“3132”;輸入第三個字符‘5’的話,數碼管顯示“3235”(將之前的31頂掉了),連續輸入字符后依次類推。
上一篇:基于51單片機的串口通信(PC發字符)
下一篇:串口收發實驗——鍵盤鍵入數字**.*,PC端循環接收顯示**.*
推薦閱讀
史海拾趣
ECM Electronics Limited.自創立之初,就注重技術創新。公司投入大量研發資金,專注于開發高效、節能的電子產品。通過不斷的技術迭代和產品創新,ECM成功推出了一系列具有競爭力的產品,逐漸在市場上建立了良好的口碑。同時,公司還積極與高校和科研機構合作,引進先進技術,為公司的持續發展提供了強大的技術支撐。
1952年,理查德·帕克與合作伙伴埃德蒙·斯坦威克和杰克·韋伯在紐約的Wallkill共同創立了Fair Rite產品公司。當時,電子行業正處于起步階段,對新型電子元器件的需求日益增長。Fair Rite憑借對市場敏銳的洞察力,開始專注于鐵氧體元件的研發和生產。公司初期面臨資金短缺和技術挑戰,但通過不斷努力和創新,逐漸在市場中樹立了良好的口碑。
隨著全球化進程的加速,Datakey Electronics意識到單靠國內市場已經無法滿足公司的長遠發展需求。于是,公司積極尋求國際合作機會,與國際知名企業建立戰略合作伙伴關系,共同開發新產品、開拓新市場。通過國際合作,Datakey Electronics不僅提高了自身的技術水平和產品競爭力,還成功將產品推向了國際市場。
隨著新能源汽車市場的快速發展,世紀金光敏銳地捕捉到了這一領域的巨大潛力。公司迅速組建專項研發團隊,基于碳化硅技術開展新能源汽車電機驅動系統的研發工作。經過不懈努力,世紀金光成功開發出基于碳化硅技術的新能源汽車電機驅動系統,并在技術上取得了重要進展。這一成果不僅提升了新能源汽車的性能和效率,也為公司打開了新的市場空間。
世紀金光(CENGOL)公司自創立之初,就立志要在半導體領域實現自主創新。經過無數次的實驗與嘗試,公司的研發團隊成功攻克了高純碳化硅粉料提純技術。這一突破不僅使世紀金光在碳化硅材料領域取得了領先地位,更為后續產品的研發奠定了堅實基礎。隨著技術的不斷完善,世紀金光成功推出了6英寸碳化硅單晶,并實現了量產,這一成就標志著公司在碳化硅材料領域取得了重要進展。
隨著中國電子行業的快速發展,EFINIX公司看到了巨大的市場潛力。公司積極拓展中國市場,與中國本土企業展開合作,推動Quantum?可編程加速器技術和Trion FPGA產品在中國市場的應用。EFINIX公司的產品和服務得到了中國客戶的廣泛認可,為中國電子行業的發展做出了積極貢獻。
近日,世界第12大IC設計公司——凌陽科技SUNPLUS宣布:將向市場重點推廣它的16位工業單片機SPMC75系列芯片。SPMC75系列芯片是由凌陽科技自主設計開發的16位微控制器芯片,其內核采用凌陽科技自主知識產權的μ’nSP微處理器。SPMC75系列芯片集成了變 ...… 查看全部問答∨ |
汽車工業內的兩大領先半導體供應商飛思卡爾和意法半導體推出首批四款車用Power Architecture?微控制器(MCU)產品,這是兩家公司兩年前啟動的合作設計項目的初期成果。 位于德州奧斯汀和米蘭Agrate Brianza兩家公司各自的晶圓廠,成功地推出以 ...… 查看全部問答∨ |
本人還是在校學生,剛開始學習FPGA設計。學習Verilog一段時間了,對Modelsim基本的用法也有一定的了解。但在整個FPGA宏觀的設計過程上還缺乏一定的了解。現在想要學習Quartus2對自己編寫的一些小程序進行綜合。想要對這些流程有一定的認識。但我對Q ...… 查看全部問答∨ |
|
單片機控制電機轉速,正轉,反轉,快轉,慢轉,還要顯示轉速。我主要就是控制電機速度這塊布太懂,晚上查說用PID計算,可是沒有學過,希望高手提示下。小弟萬分感謝!… 查看全部問答∨ |
各位大師,本人有一8255A問題,急需解決,具體如下: 我的8255A與單片機等聯接后運行,三口均為輸出方式,可上電后A、B、C三口電壓都為0,檢查軟硬件,都沒有問題,單片機正常工作,不知為什么,請指教。 謝謝!… 查看全部問答∨ |