chirituzi:
你可以按键用中断来实现,每一个功能模块里加几条条件转移指令例如主程序起始(f0是51单片机里面的psw中用户可以用程序自己定义的标志位)setbf0;软件标志位置1,功能1里面在适当的位置加几条(jnbf0,功能2)判转移语句,f0为0则跳转至功能2,为1则顺序执行下一条,功能2里面在适当的位置加几条(jbf0,功能3)语句,功能3里的判转移语句和功能1里的相同,功能4里的和功能2里的判转移语句相同,依次类推,修改一下出口参数就可以了例如按键定义为中断0则按键按下后去执行中断0的程序中断0的程序为:wint0:cplf0 ;(取反f0) nop reti大概程序可以设计成这样:org0000hajmp:mainorg0003h ;外中断0入口地址ljmpwint0 . . . .org 0030hmain:定义中断0,开中断,开中断0gongneng1:这里是功能1程序区适当的位置加几条条件判转移指令可以自己随意安排 jnbf0,gongneng2 ;自己愿意加几条就加几条 . . .ajmpgongneng1gongneng2:这里是功能2程序区适当的位置加几条条件判转移指令可以自己随意安排 . .jbf0,gongneng3 .ajmpgongneng2gongneng3:这里是功能3程序区适当的位置加几条条件判转移指令可以自己随意安排 . .jnbf0,gongneng4 . ajmpgongneng3gongneng4:这里是功能4程序区适当的位置加几条条件判转移指令可以自己随意安排 .jbf0,gongneng5 .ajmpgongneng4wint0: cplf0 nop retiend朋友这样应该可以了,不行的话加我qq:63892347邮箱:chirituzi@126.com