文档详情

练习题解

jiups****uk12
实名认证
店铺
PPT
2.33MB
约20页
文档ID:57265134
练习题解_第1页
1/20

练习题解,1、复位电路①最常用的兼有上电和手动的复位电路,其中注意二极管的作用,放电二极管D的作用是在电源断电后,电容通过二极管D迅速放电,若没有二极管D,当电源因某种干扰瞬间断电时,由于C不能迅速将电荷放掉,待电源恢复时,单片机不能上电自动复位,导致程序运行失控电源瞬间断电干扰会导致程序停止正常运行,形成程序“乱飞”或进入“死循环”1,② 带电源检测的复位电路如下图所示,要合理配置电阻R3、R4的阻值和选择稳压管DW的击穿电压,使Vcc电压较低时,三极管BG截止,VA点电平为低,电容器C不充电,RESET为高(但未达到额定值),当Vcc达到额定之后,DW击穿,三极管BG饱和导通,致使VA点为高电平,对电容C充电,在此瞬间RESET的高电平达到额定值,单片机开始复位当电容C上充电电压达到2V时,RESET为低电平,复位结束2,③ 同步异步复位同步复位:指复位信号只有在时钟上升沿到来时,才能有效否则,无法完成对系统的复位工作异步复位:它是指无论时钟沿是否到来,只要复位信号有效,就对系统进行复位 软件复位在keil C51下面可以这样实现:void soft_reset(void){((void (code *) (void)) 0x0000) ();}在凡是需要软件复位的地方使用语句:soft_reset();这样,只要是没有程序的存储空间,都烧入这条调用函数,一进去就返回到起始地址执行,也称软件陷阱。

3,,,,2、复位芯片的问题① 最简单的复位芯片 ② 带人工复位的芯片,4,③ 有关双向清零的问题,Processors With Bidirectional I/O Pins Some Microprocessor’s have bidirectional reset pins. Depending on the current drive capability of the processor pin, an indeterminate logic level may result if there is a logic conflict. This can be avoided by adding a 4.7 k resistor in series with the output of the MAX809 (Figure 15). If there are other components in the system which require a reset signal, they should be buffered so as not to load the reset line. If the other components are required to follow the reset I/O of the Microprocessor, the buffer should be connected as shown with the solid line,5,3、内部清零(WDT 看门狗电路)① 用计数器构成的看门狗CD4060 14位串行二进制计数器,6,② X25045看门狗芯片此芯片集成4种功能于一体,上电复位;电压检测;看门狗和可保护的4K EEPROM。

WP: Write Protect SCK: Signal Clock SI: Signal Input CS#/WDI: Chip Select/ Watch Dog Input SO: Signal Output,7,一种用X25045构成的看门狗电路,8,MAX813L看门狗芯片内部结构和引脚图,WDI: Watch Dog Input MR#: Manual Reset Vcc: Power+ PFI: Power Fault Input WDO#: Watch Dog Output PFO#: Power Fault Out,9,一种用MAX813L构成的看门狗电路,10,11,练习二 排序题解1,12,练习二 排序题解1,AA2: JC AA3; 小于也转到AA3 XCH A,@R0; 大于则两数交换 MOV @R1,A AA3: DJNZ R3,AA1; 判断内循环比较完否? DJNZ R2,AA4;判断外循环比较完否? SJMP $ AA4: POP 00H; 弹出R0和R3 POP 03H INC R0; R0加1,指向下一个数据 DEC R3; R3 减1,下一轮少一次 SJMP AA0 END,N EQU 5; 定义排序数据个数 ORG 00H MOV R0,#20H; 数据首址 MOV R2,#N-1; 比较大小的次数 MOV R3,#N-1 AA0: PUSH 03H; 保存R3和R0 PUSH 00H MOV A,R0; 让R1=R0 MOV R1,A MOV A,@R0; 取R0的数 AA1: INC R0 MOV 50H,@R0; 将两数进行比较 CJNE A,50H,AA2 SJMP AA3; 相等转到AA3,78,13,14,JC NEXTSETB 00HXCH A,@R0;实现两数交换DEC R0;MOV @R0,A;INC R0;NEXT:MOV A,@R0DJNZ R7,LOOPJB 00H,STARTSJMP $,ORG 00HSTART:CLR 00HCLR CMOV R7,#0AHMOV R0,#30HMOV A,@R0LOOP:INC R0MOV R2,A; 保存ASUBB A,@R0MOV A,R2,练习二 排序题解2,,,15,练习三 用51单片机设计一个模拟的给定装置,该装置由2个共阴极7段数码管和2个按键构成。

按键1是自锁键,用来选择第一个还是第二个数码管,被选中的数码管小数点亮第二个按键不自锁,用来输入给定值,按递增的方式增加,满15(0FH)就自动清零请画出电气硬件原理图和编写相应的程序(要加注释),可以用查询,也可以用中断来完成 解: (1)硬件原理图,16,,开始,R0=0, R1=0,DPTR=TABLE,P2.0=1,MOV A,R0 MOVC A,@A+DPTR ORL A,#80H MOV P1,A SETB P3.0 CLR P3.1 LCALL DELAY,STEB P2.1,INC R0,MOV A,R1 MOVC A,@A+DPTR MOV P1,A SETB P3.1 CLR P3.0 LCALL DELAY DENZ R0,#16,ABC1 SJMP ABC0,ABC1,MOV A,R1 MOVC A,@A+DPTR ORL A,#80H MOV P1,A SETB P3.1 CLR P3.0 LCALL DELAY,STEB P2.1,INC R1,MOV A,R0 MOVC A,@A+DPTR MOV P1,A SETB P3.0 CLR P3.1 LCALL DELAY DENZ R1,#16,ABC1 SJMP ABC0,0,1,0,0,1,1,ABC0,17,# include code char tab [16] = { 0x3f,0x06,0x4f, .} void delay (usigned int k) { unsigned int m,n;for (m=0;m

下载提示
相似文档
正为您匹配相似的精品文档