資源描述:
《實(shí)驗(yàn)8 用串行口并行輸出口》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、CHANGZHOUINSTITUTEOFTECHNOLOGY題目8:用串行口并行輸出口二級(jí)學(xué)院(直屬學(xué)部):延陵學(xué)院專(zhuān)業(yè):電氣工程及其自動(dòng)化班級(jí):10電Y3學(xué)生姓名:學(xué)號(hào):一、實(shí)驗(yàn)?zāi)康?、掌握AT89C52串行口方式0的工作方式和編程2、掌握利用串行口和移位寄存器擴(kuò)展并行接口的方法二、實(shí)驗(yàn)電路、元器件編號(hào)元器件名稱(chēng)說(shuō)明U1AT89C52AT89C52單片機(jī)U274HC164.IEC并行輸出串行移位寄存器7EG-BCD7段BCD數(shù)碼管顯示器三、實(shí)驗(yàn)流程開(kāi)始初始化串口I<8?循環(huán)移位100次?置零檢查狀態(tài)i++結(jié)束NYYN四、
2、實(shí)驗(yàn)運(yùn)行和調(diào)試用查詢(xún)T1方式,在7段BCD數(shù)碼管顯示器上循環(huán)顯示0~99這100個(gè)數(shù)字。五、實(shí)驗(yàn)程序#include#include#include#include#include#include#definebyteunsignedchar#defineucharunsignedchar#definewordunsignedint#defineuintunsignedint#defineulongunsig
3、nedlong#defineBYTEunsignedchar#defineWORDunsignedint#defineTRUE1#defineFALSE0voidinitUart(void);//初始化串行口voidtime(unsignedintucMs);//延時(shí)單位:mssbitCTRL_OUT=P3^4;//=0,清零;=1,并行輸出/******HEXtoBCD*****/unsignedcharHEXtoBCD(unsignedcharhex){return((hex/10)*16+(hex%10));}/**
4、******mainc*********/voidmain(void){uchari,wByte=0;initUart();//初始化串行口方式0CTRL_OUT=1;//=1,允許并行輸出for(;;){for(i=0;i<8;i++){SBUF=HEXtoBCD(wByte);//循環(huán)右移i位,串行輸出wByte++;if(wByte==100)//0-99循環(huán)wByte=0;while(!TI){}//狀態(tài)查詢(xún)TI=0;//清發(fā)送中斷標(biāo)志time(88);//狀態(tài)維持}}}voiddelay_5us(void)//延
5、時(shí)5us,晶振改變時(shí)只改變這一個(gè)函數(shù){_nop_();_nop_();//_nop_();//_nop_();}/*delay_50us*/voiddelay_50us(void)//延時(shí)50us{unsignedchari;for(i=0;i<4;i++){delay_5us();}}/******************延時(shí)100us********************/voiddelay_100us(void)//延時(shí)100us{delay_50us();delay_50us();}/*延時(shí)單位:ms*/void
6、time(unsignedintucMs){unsignedcharj;while(ucMs>0){for(j=0;j<10;j++)delay_100us();ucMs--;}}/**********初始化串行口波特率********/voidinitUart(void)//初始化串行口方式0{SCON=0x00;//串行口方式0工作ES=0;//禁止串行中斷}六、實(shí)驗(yàn)效果圖