一、实习目的《单片机原理与接口技术》课程实习安排在该课程理论教学结束后进行。其目的是通过实习,使学生进一步弄懂所学到的课本知识,巩固和深化对单片机的结构、指令系统、中断系统、键盘/显示系统、接口技术、系统扩展、定时/计数控制、程序设计、应用开发等基本理论知识的理解,提高单片机应用技术的实践操作技能,掌握单片机应用系统设计、研制方面的一般方法,培养利用单片机进行科技革新、开发和创新的基本能力、为毕业后从事和单片机相关的工作打下一定的基础。二、实习内容利用TDN86/51二合一微机实验教学系统设计一个用8051单片机控制的循环彩灯控制系统。三、设计过程:1、能输出4种花型,并能由人工进行花型的切换。(按键)*利用单片机8031的P1.7做总开关,P1.0、P1.1做花型控制开关,P1.5、P1.6做调速开关。实习花型:(1)使彩灯从右到左逐一循环点亮。(2)使彩灯交替闪烁。(3)使彩灯从右到左逐一点亮,当全部点亮后同时闪烁一次。(4)使彩灯从中间到两边顺序点亮,直至全部点亮;再将彩灯从两边到中间熄灭,直至全部熄灭。2、循环彩灯的循环速度可调。*P1.5做加速控制开关,P1.6做减速控制开关。3、按键要求:(1)启动/暂停。按动一次启动,再按一次暂停。是一个双态转换键*“1”---启动,“0”---停止。(2)花型变化。按一次,立即停止当前花型的显示,转换为下一种花型。4种花型可以循环切换。表1.1拨动开关与对应的花型P1.0P1.1花型00花型110花型201花型311花型4(3)速度+。按键一次,速度略加快一点。速度-。按键一次,速度略减慢一点。表1.2拨动开关功能表P1.5功能P1.6功能P1.7功能0无加速0无减速0停止1加速1减速1启动4在LED显示器上显示相应的花型号。5、显像管显示相应数据花型显像管花型1A花型2B花型3C花型4D6、利用软件子程序或单片机内部的定时/计数器实现定时功能,以模拟循环速度的基准值。四、实习器材TDN86/51二合一微机实验教学系统1台,配套计算机一台,连接导线若干五、实验原理图:如上图所示,8031的P0口接8155的AD0-7口,P2.7和P2.6分别接了8155的片选线和I0口,而8031的P1口做开关接口,8155的PA和PC接显像管的字位和字形,PB接LED。六、程序及程序流程图:调速开始初始化总开关花型控制开关花型结束显示字形字型码赋值给R6字位码初始值给人R0字位码C口显示显示数据查表字形码C口P1.6=1?P1.7=0?否否是否是是是否是否ORG0000HLJMPMAINORG1000HMAIN:SETBP2.6;8155初始化CLRP2.7;片选线工作MOVR0,#00H;指向命令/状态口MOVA,#07H;命令字送AMOVX@R0,A;装入8155MOVDPTR,#DTAB;控制花型的亮灭数据MOVR4,#0FEH;右量MOVR2,#0FFH;全灭CHECK:JNBP1.7,MAIN;总开关JBP1.0,NEXT控制花型开关JBP1.1,TWOONE:MOVR6,#77H;字形码“A”(花型1)LCALLSHOW;调用显示程序MOVA,R4RLA;左移MOVR4,AP1.5=1?P1.0=0?P1.1=0?P1.0=0?花型1花型2花型3花型4MOVR0,#02H;PB输出MOVX@R0,ALCALLDELAY;调用延时程序LJMPCHECKTWO:MOVR6,#7CH;字型码“B”(花型2)LCALLSHOWMOVR3,#0AAH;10101010(0亮)MOVA,R3MOVR0,#02HMOVX@R0,ALCALLDELAYMOVR3,#55H;01010101MOVA,R3MOVX@R0,ALCALLDELAYLJMPCHECKNEXT:JBP1.1,FOURTHREE:MOVR6,#39H;字型码“C”(花型3)LCALLSHOWMOVR0,#02HMOVA,R2MOVX@R0,ALCALLDELAYCLRCRLCA;带位左移MOVR2,ACJNEA,#00H,NEXT3MOVX@R0,ALCALLDELAYMOVA,#0FFH;全灭MOVX@R0,ALCALLDELAYMOVA,#00H;全亮MOVX@R0,ALCALLDELAYLJMPMAINNEXT3:LJMPCHECKFOUR:MOVR6,#5EH;字型码“D”(花型4)LCALLSHOWMOVR0,#02HCLRAMOVCA,@A+DPTR;查表MOVX@R0,ALCALLDELAYINCDPTRCJNEA,#0FFH,NEXT4MOVX@R0,ALCALLDELAYLJMPMAINNEXT4:LJMPCHECKDTAB:DB0E7H,0C3H,81H,00HDB81H,0C3H,0E7H,0FFHSHOW:MOVR0,#03H;字位码送PC口MOVA,#00H显示程序MOVX@R0,AMOVR0,#01H;字位码送PA口MOVA,R6MOVX@R0,ALCALLDELAYRETDELAY:JBP1.6,DELAY1;延时程序JBP1.5,DELAY2MOVR7,#5L0:MOVR6,#100L1:MOVR5,#100L2:DJNZR5,L2DJNZR6,L1DJNZR7,L0SJMPLASTDELAY1:MOVR7,#15;减速SJMPL0DELAY2:MOVR7,#01;加速SJMPL0LAST:RETEND七、实习总结:学了一年的单片机,对这门功课一直抱着最...