eda课程设计报告-简易逻辑分析仪的设计(编辑修改稿)内容摘要:

0)NoTrigger int Trigger_Position_Temp=0,j=0。 uchar key。 //keyValue uchar i,temp。 uchar idata PageFull。 //Page being displayed. (_NO) bit enter=0。 bit sent=0。 //send done bit send_ok=0。 //send_ok bit flag0=0,flag1=0,flag2=0,flag3=0,flag4=0,flag5=0。 bit start_flag=0。 //single trigger is triggerred. uchar setmode=0。 //setmode:0 no_set。 1:Trigger_Level=1(set Trigger_Word)。 //2:Multiple_Level_Set。 3:Set Gate_Voltage sbit WDI=P3^7。 extern uchar readkey()。 // NOKEY FF。 set 00。 0/1 01。 updown 02。 read 03。 store 04。 left 05。 right 06。 ENTER 07. //extern void delay250us(void)。 //extern void delay500us(void)。 //extern void delay1ms(void)。 //extern void delay5ms(void)。 //extern void delay10ms(void)。 extern void delay50ms(void)。 //extern void delay20ms(void)。 extern void Disp_Init()。 extern void Disp_LocateCursor(const uchar )。 extern void Disp_HideCursor(void)。 extern void Disp_ClearInfoLine(void)。 extern void Disp_ClearFuncLine(void)。 extern void Disp_InfoLinePos(uchar, const char *)。 extern void Disp_InfoLine(const char *)。 extern void Disp_FuncLine(const char * )。 extern void Disp_InfoLineSlideFromRight(const char *)。 extern void Disp_FuncPos(uchar, const char *)。 extern void Disp_Notice(const char *)。 extern void Transfer(void)。 //Disp Function void sys_init(void)。 void intt0P(void)。 void SeriesDisp(char)。 //Series to DispArray。 void TriggerWordTempDisp(void)。 void TriggerWordDisp(void)。 void start_hello(void)。 void DispTrigger_Position_Temp(void)。 //Trans Function void DispArraytoTriggerWord(void)。 void DispArraytoSeries(void)。 //DispArray to Series。 void DispPosition(char)。 void GateVoltageDisp(char)。 void Read_data(void)。 extern void Send_Data(void)。 void StoreWaves(void)。 void frequency_count(void)。 void exit(void)。 void delay1s(void)。 //LOGICAL ANALIST void main (void) { /*INITIALIZE 89C52 */ sys_init()。 //lcd wele information start_hello()。 delay1s()。 delay1s()。 delay50ms()。 delay50ms()。 WDI=0。 WDI=1。 for(i=0。 i8。 i++) DispArrayTemp[i]=DispArray[i]。 Trigger_Word_Temp=Trigger_Word。 //Disp_InfoLineSlideFromRight(SET:TRG CUR TIM)。 //Disp_FuncLine( SET SET)。 while(1){ if(j==30000) {j=0。 Disp_InfoLineSlideFromRight(SET: TRG CUR TIM)。 Disp_FuncLine(KEY: SET SET)。 } j++。 flag1=0。 //key operation key=readkey()。 switch(key) {case 0x00: while(flag1==0) { setmode=1。 //set Disp_InfoLine(TRL TRW TRP GVO)。 Disp_FuncLine( 0 1 RD ST)。 flag0=0。 key=readkey()。 switch(key) //0/1/read {//trigger level case 0x01: while(flag0==0) {Disp_InfoLine( TRIGGER LEVEL )。 Disp_FuncLine( 0L || 1L)。 key=readkey()。 if(key==0x05) Trigger_Level_Temp=0。 if(key==0x06) Trigger_Level_Temp=1。 if(key==0x07) flag0=1。 } if(Trigger_Level_Temp==0) Disp_FuncLine( ZERO LEVEL )。 if(Trigger_Level_Temp==1) Disp_FuncLine( ONE LEVEL )。 delay1s()。 break。 //Trigger_position case 0x03: flag2=0。 Trigger_Position_Temp=。 DispPosition(Trigger_Position_Temp)。 while(flag2==0) {Disp_InfoLine(TRIGGER POSITION)。 DispPosition(Trigger_Position_Temp)。 key=readkey()。 if((key==0x05)amp。 amp。 (Trigger_Position_Temp3)) Trigger_Position_Temp。 if((key==0x06)amp。 amp。 (Trigger_Position_Temp19)) Trigger_Position_Temp++。 if(key==0x07) {flag2=1。 =Trigger_Position_Temp+3。 Trigger_Position_Temp=0。 } //DispPosition()。 } break。 //trigger_word case 0x02:j=0。 flag3=0。 //flag Disp_InfoLine(TRIGGER WORD)。 TriggerWordDisp()。 while(flag3==0) {TriggerWordDisp()。 delay1s()。 for(j=0。 j8。 j++) DispArray[j]=39。 39。 flag4=0。 j=0。 while(flag4==0) { key=readkey()。 if((key==0x01)amp。 amp。 (j=0)amp。 amp。 (j=7)) {DispArray[j]=39。 039。 j++。 } if((key==0x02)amp。 amp。 (j=0)amp。 amp。 (j=7)) {DispArray[j]=39。 139。 j++。 } if((key==0x05)amp。 amp。 (j=0)amp。 amp。 (j=8)) {DispArray[j1]=39。 39。 j=1。 } if(key==0x07) {flag3=1。 flag4=1。 DispArraytoTriggerWord()。 } Disp_FuncLine(WORD:)。 Disp_FuncPos(6,DispArray)。 Disp_Fun。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。