1、单片机结构及开发设计流程模块一 单片机结构及开发设计流程课题一 单片机结构1、 画出89C51单片机的引脚排列图。2、 画出89C51单片机的引脚功能图。3、 画出89C51单片机的基本组成框图。4、 叙述89C51单片机各部分的具体组成情况。课题二 单片机工作条件1、 画出51系列单片机内部时钟和外部时钟电路接线图。2、 画出51系列单片机上电复位和按键复位电路接线图。3、 画出51系列单片机工作条件接线图。课题三 单片机输入/输出端口结构1、 画出51系列单片机P0、P1、P2、P3口位结构图。2、 叙述51系列单片机P0P3口使用注意事项。课题四 单片机开发设计流程1、 用Protel软
2、件画出按键左移亮灯电路原理图。2、 用Protel软件设计出按键左移亮灯电路印制电路板图。3、 制作按键左移亮灯电路板。4、 连接仿真器。5、 运行仿真软件,输入按键左移亮灯程序,编译、调试及仿真运行程序。6、 连接编程器。7、 运行编程器软件,将调试通过的按键左移亮灯程序目标代码写入89C51单片机。8、 将经过编程的89C51单片机插入电路板上的单片机IC插座中,脱机运行,观察电路运行情况。模块二 单片机指令系统及汇编语言程序设计课题一 程序设计基础1、 简述单片机存储器总体分配情况。2、 简述单片机片内数据存储器结构。3、 简述单片机七种寻址方式。4、 简述单片机不同存储器空间的寻址方式
3、。5、 回答下列指令的寻址方式:(1) MOV A, #6AH(2) MOV A, #0E#H(3) MOV A, 3FH(4) MOV A, 7BH(5) MOV A, R1(6) MOV A, R3(7) MOV A, R0(8) MOV A, R1(9) MOVX A, DPTR(10) MOVC A, A+DPTR(11) MOV A, A+PC(12) JZ 50H(13) SETB 01H课题二 延时程序1、 将本课题任务二中的R3的值改为01H、02H和08H,观察亮灯的间隔时间有何变化?2、 将本课题任务二中的RL A指令改为RR A指令,观察亮灯的顺序有何变化?3、 将本课题
4、任务二中的亮灯数据初值改为03H、07H和55H,观察亮灯规律有何变化?4、 设计一延时5S的延时程序,并替代任务二中的延时程序,观察亮灯间隔时间。5、设单片机振荡频率为6MHz,试精确计算下列延时子程序的延时时间。 DEL: MOV R7, #0FAH DEL1: MOV R6, #0F8H NOP DEL2: DJNZ R6, DEL2DJNZ R7, DEL16、设单片机振荡频率为12MHz,试估算下列延时子程序的延时时间。MOV R5, #20 K1: MOV R6, #250 K2: DJNZ R6, K2 DJNZ R5, K1 课题三 算术运算程序1、 若R0=20H、R1=30
5、H、R2=40H、R3=50H,运行任务一中的程序,观察R4、R5和R6的值。2、 若R2=80H、R3=60H、R4=40H、R5=20H,运行任务二中的程序,观察R6和R7的值。3、 若CY=1,R0、R1、R2和R3的值如第1题,将任务一中的ADD A,R3指令改为ADDC A,R3指令,运行程序,观察结果与第1题有何不同,为什么?4、 若CY=1,R2、R3、R42和R5的值同第2题,将任务二中的CLR C指令去掉,运行程序,观察结果与第2题有何不同,为什么?5、 若两个3字节数分别存放在50H、51H、52H单元和60H、61H和62H单元,高位在前,低位在后。编写程序实现两个3字节
6、数相加运算,结果存放在70H、71H、72H、73H单元,高位在前,低位在后。自行设置数据,观察运行结果。6、 若两个3字节数分别存放在60H、61H、62H单元和70H、71H和72H单元,高位在前,低位在后。编写程序实现两个3字节数相减运算,结果存放在50H、51H、52H单元,高位在前,低位在后。自行设置数据,观察运行结果。课题四 代码转换程序1、 设内部RAM 30H单元的值为7FH,在计算机上运行本课题任务一的程序,检查运行结果31H和32H单元的值。2、 在本课题任务一的程序中,如转换得到的BCD码分别存储在独立的单元中,如BCD码百位、十位和个位分别存于40H、41H和42H单元
7、中,程序应如何修改?修改后上机运行。3、 在本课题任务一的程序中,在十和个位BCD码合并时,如不用“ORL A,B”指令进行合并,而用“ADD A,B”指令是否可以,程序修改后上机试运行。4、 在本课题任务二的程序中,设有两个压缩BCD码20H、35H存于50H单元和51H单元,上机运行程序,检查60H、61H、62H和63H单元的值。5、 在本课题任务二中,如50H单元开始的存储块中存放的是非压缩BCD(即一个单元存放一个BCD码),程序应如何修改?上机调试程序并检查运行结果。6、 在本课题任务二中,如只进行一个BCD码转换,即一个非压缩BCD码存于50H单元,转换结果存于60H单元,那么程
8、序又该如何修改?上机调试程序并检查运行结果。课题五 输入输出程序1、 将本课题任务一中的LED亮灯电路制作成印制电路板,然后用仿真器对任务二中的LED亮灯程序进行仿真调试,再用编程器将调试通过的程序下载到单片机中并运行,观察电路运行情况。2、 将本课题任务二中的K1子程序中A的初始值FEH改为FCH,即将该子程序的第一条指令MOV A,#0FEH改为MOV A,#0FCH,运行程序,观察并分析运行情况。还可将该初始值改为其他数据,修改后运行程序,观察并分析运行情况。3、 在本课题任务一设计的电路中,当按下S1键时,要实现如下图所示的亮灯方式,则K1子程序应如何修改?提示:对K1子程序中的MOV
9、 A,#0FEH指令、JNB ACC.7,M1指令和RL A指令加以修改即可。序号P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.010 1 1 1 1 1 1 121 0 1 1 1 1 1 131 1 0 1 1 1 1 141 1 1 0 1 1 1 151 1 1 1 0 1 1 161 1 1 1 1 0 1 171 1 1 1 1 1 0 181 1 1 1 1 1 1 04、 将本课题任务二K2子程序中A的初始值FEH改为FAH,即将该子程序的第一条指令MOV A,#0FEH改为MOV A,#0FAH,运行程序,观察并分析运行情况。还可将该初始值改为其
10、他数据,修改后运行程序,观察并分析运行情况。5、在本课题任务一设计的电路中,当按下S2键时,要实现如下图所示的亮灯方式,则K2子程序应如何修改?提示:对K2子程序中的MOV A,#0FEH指令、JNB ACC.7,M2指令和RLC A指令加以修改即可。序号P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.010 1 1 1 1 1 1 120 0 1 1 1 1 1 130 0 0 1 1 1 1 140 0 0 0 1 1 1 150 0 0 0 0 1 1 160 0 0 0 0 0 1 170 0 0 0 0 0 0 180 0 0 0 0 0 0 06、若在本
11、课题任务一设计的电路中增加一个按键K3,实现上面题3的亮灯功能,则原理图和程序应如何修改?模块三 单片机简单应用电路设计实例课题一 彩灯控制器设计1、 用Protel软件绘制出本设计任务的电路原理图,并设计印制电路板图及制作印制电路板。2、 连接好仿真器,将本设计任务的程序输入计算机,并进行仿真调试及运行。3、 连接好编程器,将仿真通过的程序代码下载到单片机中,脱机运行并观察电路运行情况。4、 自行设计一亮灯数据表,修改程序后仿真运行,观察电路运行情况。5、 要求每个亮灯状态延时时间为2S,程序应如何修改,程序修改后仿真运行,观察电路运行情况。6、 如果发光二极管采用共阴连接方式,即8只发光二
12、极管阴极相连后接地,阳极分别通过一个电阻接到P2口的8位,仍按图3-1要求的方式亮灯,则亮灯数据表应如何修改,修改后仿真运行,观察电路运行情况。课题二 加法运算器设计1、 用Protel软件绘制出本设计任务的电路原理图,并设计印制电路板图及制作印制电路板。2、 连接好仿真器,将本设计任务的程序输入计算机,并进行仿真调试及运行。3、 连接好编程器,将仿真通过的程序代码下载到单片机中,脱机运行并观察电路运行情况。4、 如果采用共阴数码管,则电路应如何修改,程序中七段显示数码表中的数据又应如何修改,修改后仿真运行。5、 程序中如将十进制数调整指令DA A删除,仿真运行,观察是否能得到正确的结果数据。
13、6、 如采用MOVC A,A+PC查表指令进行查表,则程序应如何修改,修改后仿真运行。课题三 数显抢答器设计1、 用Protel软件绘制出本设计任务的电路原理图,并设计印制电路板图及制作印制电路板。2、 连接仿真器,将本设计任务的程序输入计算机,并进行仿真调试及运行。3、 连接编程器,将仿真通过的程序代码下载到单片机中,脱机运行并观察电路运行情况。4、 如果删除用于按键去抖动的12ms延时子程序调用指令,即删除LCALL DELAY指令,仿真运行,观察运行情况。5、 将延时程序的延时时间修改为1ms,仿真运行,观察运行情况。6、 删除每个按键功能程序中的动态停机指令SJMP $,仿真运行观察运
14、行情况。课题四 篮球比赛计分器设计1、 用Protel软件绘制出本设计任务的电路原理图,并设计印制电路板图及制作印制电路板。2、 连接仿真器,将本设计任务的程序输入计算机,并进行仿真调试及运行。3、 连接编程器,将仿真通过的程序代码下载到单片机中,脱机运行并观察电路运行情况。4、 如把按键去抖动程序删除,即删除LCALL DELAY指令,仿真运行,观察运行情况。5、 如把等待按键释放的程序段删除,即删除“WAIT:MOV A,P0”、“ANL A,#0FH”、“CJNE A,#0FH,WAIT”三条指令,仿真运行,观察运行情况。6、 如按S1键加2分,按S2键加4分,按S3键加6分,按S4键减
15、2分则程序应如何修改,修改后仿真运行,观察运行情况。模块四 单片机内部三大功能课题一 中断系统及其应用1、简述中断处理过程。2、简述中断编程结构。3、用Protel软件绘制出本课题中的外部中断应用电路原理图,并设计印制电路板图及制作印制电路板。4、连接仿真器,将本课题中的外部中断应用程序输入计算机,并进行仿真调试及运行。5、连接编程器,将仿真通过的程序代码下载到单片机中,脱机运行并观察电路运行情况。6、删除外部中断应用程序中的第一条指令LJMP MAIN,程序修改后仿真运行,观察电路运行情况。7、将主程序放在存储器的开始处,程序修改后仿真运行,观察电路运行情况。8、将外部中断程序放在中断入口地址处,程序修改后仿真运行,观察电路运行情况。课题二 定时/计数器及其应用1、 简述定时/计数器初始化步骤。2、用Protel软件绘制出本课题中定时器的应用电路原理图,并设计印制电路板图及制作印制电路板。3、连接仿真器,将本课题两个例题中的定时器应用程序输入计算机,并进行仿
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1