freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設(shè)計----一種數(shù)字頻率計的設(shè)計-資料下載頁

2025-01-16 21:26本頁面
  

【正文】 83。ALE/PROG: 當(dāng)訪問外部程序存儲器或數(shù)據(jù)存儲器時, ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低 8 位字節(jié)。一般情況下, ALE 仍以時鐘振蕩頻率的 1/6 輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲器時將跳過一個 ALE 脈沖。 PSEN: 程序儲存允許( PSEN)輸出是外部程序存儲器的讀選通信號,當(dāng) AT89C52 由外部程序存儲器取指令(或數(shù)據(jù))時,每個機器周期兩次 PSEN 有效,即 輸出兩個脈沖。在此期間,當(dāng)訪問外部數(shù)據(jù)存儲器,將跳過兩次 PSEN 信號 。 EA/VPP:外部訪問允許。欲使 CPU 僅訪問外部程序存儲器(地址為 0000H—FFFFH),EA 端必須保持低電平(接地) 。 需注意的是:如果加密位 LB1 被編程 , 復(fù)位時內(nèi)部會鎖存 EA 端狀態(tài)。 XTAL1:振蕩器反相放大器的及內(nèi)部時鐘發(fā)生器的輸入端。 XTAL2:振蕩器反相放大器的輸出端。 附錄 2 源程序: include include define uchar unsigned char define uint unsigned int define ulong unsigned long unsigned int data tt,flag,n。 ////////////////////// //LCD12864 程序 //////////////////////// sbit cs=P2^0 。//對應(yīng) RS sbit sid=P2^1 。//對應(yīng) R/W sbit clk=P2^2。//對應(yīng) E sbit ret=P2^3。//對應(yīng) ret sbit xz=P2^4。//對應(yīng)按鍵選擇:選擇測量方波與正弦波 sbit P25=P2^5。//對應(yīng) 74LS151 最低位 sbit P26=P2^6。//對應(yīng) 74LS151 次高位 sbit P27=P2^7 。//對應(yīng) 74LS151 最高位 sbit CL=P3^2。//對應(yīng)是外部中斷口 INTO void delayms(unsigned char ms) // 延時子程序 { unsigned char i。 while(ms) { for(i = 0。 i 120。 i++)。 } } //串口發(fā)送一個字節(jié) void SendByte(unsigned char Dbyte) { unsigned char i 。 for(i=0。i8 。i++) { clk = 0 。 Dbyte=Dbyte1 。 //左移一位 sid = CY。 //移出的位給 sid clk = 1。 clk = 0。 } } //串口接收一個字節(jié) //僅在讀取數(shù)據(jù)的時候用到 //而讀出的數(shù)據(jù)是一次只能讀出 4bit 的 unsigned char ReceiveByte(void) { unsigned char i,temp1,temp2。 temp1=temp2=0 。 for(i=0。i8。i++) { temp1=temp11。 clk = 0 。 clk = 1 。 clk = 0 。 if(sid) temp1++ 。 } for(i=0。i8。i++) { temp2=temp21 。 clk = 0 。 clk = 1 。 clk = 0 。 if(sid) temp2++ 。 } return ((0xf0amp。temp1)+(0x0famp。temp2)) 。 } void CheckBusy( void ) { do SendByte(0xfc) 。 //11111,RW(1),RS(0),0 while(0x80amp。ReceiveByte()) 。 //BF(.7)=1 Busy } void WriteCommand( unsigned char Cbyte ) { cs = 1。 CheckBusy() 。 SendByte(0xf8) 。 //11111,RW(0),RS(0),0 SendByte(0xf0amp。Cbyte) 。 //高四位 SendByte(0xf0amp。Cbyte4) 。 //低四位 (先執(zhí)行 4) cs = 0 。 } void WriteData( unsigned char Dbyte ) { cs = 1 。 CheckBusy() 。 SendByte(0xfa) 。 //11111,RW(0),RS(1),0 SendByte(0xf0amp。Dbyte) 。 //高四位 SendByte(0xf0amp。Dbyte4) 。 //低四位 (先執(zhí)行 。) cs = 0 。 } unsigned char ReadData() { unsigned char tmp。 cs = 1 。 CheckBusy() 。 // SendByte(0xfe) 。 //11111,RW(1),RS(0),0 // return ReceiveByte()。 do SendByte(0xfe) 。 //11111,RW(1),RS(0),0 while((tmp=ReceiveByte())!=0x00) 。 return tmp。 cs = 0 。 } //////////// //清除顯示 // //////////// void lcd_cls() { WriteCommand(0x01)。//除 D0 置 1 外,其它均為 0 } //////////// //地址歸位 // //////////// void address_reset() { WriteCommand(0x02)。//設(shè)定 DDRAM 的地址計數(shù)器( AC)到 “00H” //并且將游標(biāo)移到開頭原點位置, DDRAM 內(nèi)容不變 } //////////////////////////// // 顯 示 狀 態(tài) 開 關(guān) // // D=1: 整體顯示 ON // // C=1: 游標(biāo) ON // // B=1:游標(biāo)位置反白允許 // //////////////////////////// void display_state(bit d,bit c,bit b) { unsigned char cmd=0x08。//只顯示狀態(tài)開關(guān) if (d) cmd|=0x04。 if (c) cmd|=0x02。 if (b) cmd|=0x01。 WriteCommand(cmd)。 } //////////////////////////// // 進(jìn)入點設(shè)定 // // S I/D description // // 0 0 光標(biāo)左移 // // 0 1 光標(biāo)右移 // // 1 0 書面整體向右 // // 1 1 書面整體向左 // //////////////////////////// void enter_mode_set(bit i_d,bit s) { unsigned char cmd=0x04。 if (i_d) cmd|=0x02。 if (s) cmd|=0x01。 WriteCommand(cmd)。 } //////////////////////////////// // 光標(biāo)或顯示控制 // // S/C R/L description // // 0 0 光標(biāo)向左移動 // // 0 1 光標(biāo)向右移動 // // 1 0 顯示向左移動 // // 1 1 顯示向右移動 // //////////////////////////////// void cursor_display(bit s_c,bit r_l) { unsigned char cmd =0x10。 if (s_c) cmd|=0x08。 if (r_l) cmd|=0x04。 WriteCommand(cmd)。 } //////////////////////////////// // (擴(kuò)充 )功能設(shè)置 // // DL=39。139。,為 8 BIT MPU 控制界面 // // DL=39。039。,為 4 BIT MPU 控制界面 // // RE=39。139。,為擴(kuò)充指令集 // // RE=39。039。,為基本指令集 // // G=39。139。,繪圖顯示 ON // // G=39。039。,繪圖顯示 OFF // //////////////////////////////// void lcd_mode(bit dl,bit re,bit g) { unsigned char cmd =0x20。 if (dl) cmd|=0x10。 if (g) cmd|=0x02。 WriteCommand(cmd)。 if (re) cmd|=0x04。 WriteCommand(cmd)。 } //////////////////// // 設(shè)定 DDRAM 地址 // // AC6 固定為 0 // //////////////////// void DDRAM_address(unsigned char x,unsigned char y) { unsigned char temp=y1。 if (y==2) temp=2。 if (y==3) temp=1。 WriteCommand(0x80+temp*8+x1)。 } //////////////// // 待命模式 // // // //////////////// void await_orders() { lcd_cls()。 //WriteCommand(0x01)。 } //輸入要顯示的字 void coding_display(const char *s) { while(*s) { WriteData(*s++)。 } } void show_num(float num) { unsigned char d[5],dd[3],a。 ulong ss,tt。 tt=num。 num=num*(float)1000。 ss=num。 ss=ss%1000。 d[0]=tt/10000+0x30。 d[1]=tt%10000/1000+0x30。 d[2]=tt%1000/100+0x30。 d[3]=tt%100/10+0x30。 d[4]=tt%10+0x30。 dd[0]=ss/100+0x30。 a=dd[0]。 dd[1]=ss%100/10+0x30。 dd[2]=ss%10+0x30。 if (d[0]!=0x30) { WriteData(d[0])。 WriteData(d[1])。 WriteData(d[2])。
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1