1、大连理工大学 电信学院 陈育斌12大连理工大学 电信学院 陈育斌3大连理工大学 电信学院 陈育斌4大连理工大学 电信学院 陈育斌5大连理工大学 电信学院 陈育斌MCS-51 P0.7P0.0P1.7P1.0K0K7LED0LED7LED6 6大连理工大学 电信学院 陈育斌MCS-51 P0.3。P0.0P1.4 P1.3P1.2P1.3/INT0 P1.0K0K2K1K3LED0 LED3与门K4参考电路7大连理工大学 电信学院 陈育斌8大连理工大学 电信学院 陈育斌9大连理工大学 电信学院 陈育斌P2.5 P2.4: : P2.0P0.7: : : P0.0ALE/RD/WRCEA12 :
2、:A8A7 O7 : : : : : : A0 O0/OE /WED7 Q7 D0 Q0CPCP 6264 8K RAMMCS-51/CE = P2.5(A12)三态输出的数据口由/OE控制10大连理工大学 电信学院 陈育斌11大连理工大学 电信学院 陈育斌12大连理工大学 电信学院 陈育斌13大连理工大学 电信学院 陈育斌返回本章目录14大连理工大学 电信学院 陈育斌15大连理工大学 电信学院 陈育斌D7 Q7 ? ? ? ?D0 Q0 G /L数据 输入端数据 输出端74LS37316大连理工大学 电信学院 陈育斌CEA14 : :A8A7 O7 : : : : : : A0 O0OE 2
3、7256 32K ROMMCS-51/CE = P2.7(A15)返回前一次完整的地址信号三态输出的数据口由/OE控制D7 Q7 74LS373D0 Q0 G /L G /L P2.7: : : P2.0P0.7: : : P0.0ALE/EA Psen17大连理工大学 电信学院 陈育斌 A15-A8(PC)A7-A0OPA7-A0常数ROM输出控制 /Psen地址总线(高八位)P2口地址/数据(低8位)P0 口S1S2S6S5S4S374LS373的锁存信号 ALE A15-A8 (DPTR+A)MOVC A,A+DPTRA B转电路图返回前一次(参考讲义76页)18大连理工大学 电信学院
4、陈育斌转电路图转时序图19大连理工大学 电信学院 陈育斌注意:1,ROM地址线与存储器的容量之间的关系; 2,ROM的/OE 与单片机的/psen 连接; 3,ROM的/CE信号是存储器的片选; 4,由于采用地址线全译码,所以每一个地址对应唯 一的存储单元20大连理工大学 电信学院 陈育斌A15P2口口MCS - 51 P0口口ALE/EA Psen/CE2A14A8A7A0/OE2O0O7/CE1A14A8A7A0/OE1O0O774LS37321大连理工大学 电信学院 陈育斌22大连理工大学 电信学院 陈育斌P2.7P2.6P2.5P2.4P2.0P0口口ALEPsen/CE0A12A8A
5、7 8K8A0/OE1O0O774LS373C y7BA y 0 /CE1A12A8A78K8A0/OE1O0O7/CE7A12A8A78K8A0/OE1O0O7MCS5174LS13823大连理工大学 电信学院 陈育斌74LS138G1/G2A/G2BCBAy0y1y2y3y4y5y6y724大连理工大学 电信学院 陈育斌返回25大连理工大学 电信学院 陈育斌P2.7P2.5P2.5P2.4P2.3P2.2P2.1P2.0P0口口ALEPsenMCS51/CEA12A11A10A9A8A7 8K8A0/OE1O0O774LS37326大连理工大学 电信学院 陈育斌造成了相互重叠的8个地址存储
6、区域27大连理工大学 电信学院 陈育斌P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P0口口ALEPsenMCS51/CEA12A11A10A9A8A7 8K8A0/OE1O0O774LS37328大连理工大学 电信学院 陈育斌蓝色为无用地址(/CE=1),黄色为重叠存储区域29大连理工大学 电信学院 陈育斌返回本章目录30大连理工大学 电信学院 陈育斌31大连理工大学 电信学院 陈育斌使用MOVX指令访问外部RAM时的特点32大连理工大学 电信学院 陈育斌S1S2S6S5S4S3S1S2S6S5S4S3ALEPsenA15-A8(PC)A15-A8(DPH)A7-A0指令A
7、7- A0数据RDP2口P0口选中外部RAM33大连理工大学 电信学院 陈育斌P2.5 P2.4: : P2.0P0.7: : : P0.0ALE/RD/WRCEA12 : :A8A7 O7 : : : : : : A0 O0/OE /WED7 Q7 D0 Q0CPCP 6264 8K RAMMCS-51/CE = P2.5(A12)三态输出的数据口由/OE控制34大连理工大学 电信学院 陈育斌35大连理工大学 电信学院 陈育斌返回本章目录36大连理工大学 电信学院 陈育斌返回本章目录37大连理工大学 电信学院 陈育斌38大连理工大学 电信学院 陈育斌MCS-51 RXDTXD移位寄存器移位寄
8、存器同步移位脉冲由MCS-51的串口与两个8位移位寄存器(74LS164)构成的16位并行输出口数据线39大连理工大学 电信学院 陈育斌40大连理工大学 电信学院 陈育斌41大连理工大学 电信学院 陈育斌MCS-51P3.0P3.1P1.0 H G F E D C B AQH 74LS165 SIN S/ L CLK H G F E D C B AQH 74LS165 SIN S/ L CLK RXDTXD16位并行I/O端口 74LS165: AH:8位并行数据输入端;并入串出移位寄存器 SIN: 串行数据输入端; QH: 串行数据输出端; S/ L: =0时锁存并行数据,=1时允许串行移位
9、。42大连理工大学 电信学院 陈育斌43大连理工大学 电信学院 陈育斌数据块指针R0、计数器R7赋初值设定串口命令启动接收MOV A,SBUF修改数据指针从P1.0输出负脉冲锁定并行数据RI=1?NYCLR RI标志F0原始置一R7-1R7YCPL F0F0=1?R7-1R7R7=0?NYN结束CC程序流程图44大连理工大学 电信学院 陈育斌MCS-51P3.0P3.1P1.0 H G F E D C B AQH 74LS165 SIN S/ L CLK RXDTXD45大连理工大学 电信学院 陈育斌MCS-51P3.0P3.1P1.0 QA QHA,B 74LS164 /CLR CLK QA
10、 QHA,B 74LS164 /CLR CLK RXDTXD 共阳极LED数码管 . g f e d c b a 共阳极LED数码管 . g f e d c b a+5V46大连理工大学 电信学院 陈育斌abcdefgdp+VCCabcdefgdp47大连理工大学 电信学院 陈育斌返回48大连理工大学 电信学院 陈育斌设定串行口工作模式取数据到AMOV A,R0查表:MOVC A,A+DPTR发送数据MOV SBUF,A初始化:计数器R7赋初值02H数据指针R0赋20HDPTR赋表头地址CCTI=1?清标志:CLR TI修改指针 INC R0R7-1R7R7=0?NYNY返回程序流程图(查寻法
11、)49大连理工大学 电信学院 陈育斌设定串行口工作模式开串行口中断取数据到AMOV A,R0查表发送数据MOV SBUF,A初始化:R7=02H,R0=20HDPTR赋表头地址等待中断中断服务程序返回清除标志修改指针R7-1R7R7=0?N关闭串口中断Y取数据到A查表、发送数据50大连理工大学 电信学院 陈育斌51大连理工大学 电信学院 陈育斌52大连理工大学 电信学院 陈育斌0000H0023H2000H2500HTABLE上电入口ES中断矢量入口主程序串口服务程序字符表53大连理工大学 电信学院 陈育斌54大连理工大学 电信学院 陈育斌返回本节55大连理工大学 电信学院 陈育斌SCKMOS
12、I /CSMISO SCKMOSI /CSMISO SCKMOSI /CSMISO SCKMOSI /CSMISO SCK:同步移位脉冲。MOSI:主机输出、从机输入。MISO:主机输入从机输出。 SCK MOSI MISO I/O I/O I/O I/O56大连理工大学 电信学院 陈育斌返回本节57大连理工大学 电信学院 陈育斌SDA SCL键盘接口SDA SCLLED驱动SDA SCL打印机接口SDA SCLADC模块单片机SDA SCL存储器SDA SCLE2PROMSDA SCLSCLSDAV cc58大连理工大学 电信学院 陈育斌返回本节59大连理工大学 电信学院 陈育斌DQDS18
13、20DQDS1820DQDS1820DQDS1820I/OMCUDS1820V ccDQGND60大连理工大学 电信学院 陈育斌61大连理工大学 电信学院 陈育斌返回本章目录62大连理工大学 电信学院 陈育斌返回本章目录63大连理工大学 电信学院 陈育斌继续64大连理工大学 电信学院 陈育斌返回本节目录65大连理工大学 电信学院 陈育斌66大连理工大学 电信学院 陈育斌I/O寄存器A口口256字节RAM双向数据缓冲器地址锁存器定时计数器(14位)读/写控制器地址译码I/O寄存器B口口I/O寄存器C口口状态命令寄存器AD7-AD0/CEIO/MALE/RD/WRRESTT / INT / OUT
14、67大连理工大学 电信学院 陈育斌返回本节目录68大连理工大学 电信学院 陈育斌69大连理工大学 电信学院 陈育斌上一次70大连理工大学 电信学院 陈育斌状态字存在于8155的状态寄存器中,其地址与命令口地址一样都是000B,可以用 MOVX A, Ri 指令来读取8155的状态。状态字寄存器与命令寄存器是靠输入、输出来自动区分的。返回本节目录71大连理工大学 电信学院 陈育斌72大连理工大学 电信学院 陈育斌73大连理工大学 电信学院 陈育斌 P0INT0 PAPD0-7/RD PC1 PC2 PC0D7- 0 C口为ALT3模式PC0:A口中断A INTR标志输出,送单片机;PC1:A口缓
15、冲器满ABF标志输出,送外设。PC2:A口选通输入ASTB,ASTBABFMCS-51 8155 外设A INTR74大连理工大学 电信学院 陈育斌 P0INT0 PAPD0-7 PC1 PC2 PC0D7- 0 ASTBABFMCS-51 8155 外设C口为ALT3模式,控制字:00011001BPC0:A口中断A INTR标志输出,送单片机;PC1:A口缓冲器满ABF标志输出,送外设。PC2:A口选通输入ASTB,A INTR返回本节目录75大连理工大学 电信学院 陈育斌8155 T/INT/OUT由8155作1/5分频器MCS-51控制字76大连理工大学 电信学院 陈育斌控制字77大连
16、理工大学 电信学院 陈育斌计数器高8位(101B)计数器低8位(100B)1个计数周期T T/INM2M1=00时 T/OUTM2M1=01时 T/OUTM2M1=10时 T/OUTM2M1=11时 T/OUT思考题:哪种工作方式可以使8155完成1/n分频器的功能? 这种分频器与普通数字电路中的“计数器分频”有何不同 ?(返回)78大连理工大学 电信学院 陈育斌返回本节目录79大连理工大学 电信学院 陈育斌P2.7P2.0P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0ALE/RD/WR/CEIO/M PAAD7AD6AD5 PBAD4AD3AD2 AD1 PCAD0 ALE
17、 T/OUT/RD/WR T/INMCS-51 8155最小系统对8155内部各寄存器的地址分配80大连理工大学 电信学院 陈育斌控制字81大连理工大学 电信学院 陈育斌S1S2S6S5S4S3S1S2S6S5S4S3ALEPsenA15-A8(PC)A15-A8(DPH)A7-A0指令(DPL)数据RDP2口P0口选中外部RAM第一个阶段:取 MOVX 指令第二阶段:执行MOVX(从外部读取数据)返回上一次82大连理工大学 电信学院 陈育斌继续83大连理工大学 电信学院 陈育斌结构图84大连理工大学 电信学院 陈育斌A口C口高四位B口C口低四位A组控制器B组控制器数据缓冲器读写控制逻辑PA7
18、-0PB7-0PC7-4PC3-0D7-D0/RD/WRA0A1RESET/CS返回前一次C口85大连理工大学 电信学院 陈育斌结构图86大连理工大学 电信学院 陈育斌结构图87大连理工大学 电信学院 陈育斌结构图88大连理工大学 电信学院 陈育斌结构图89大连理工大学 电信学院 陈育斌结构图90大连理工大学 电信学院 陈育斌91大连理工大学 电信学院 陈育斌89C51 P0 ALECP 8255 PAPC/CE A1 PBA0 D7D08674LS3738使用MOVX 指令访问8255。数据、命令都是通过P0口在指令的第二个机器周期进行传送。译码器C0HC3H92大连理工大学 电信学院 陈育
19、斌返回本节目录转8255框图返回上一次93大连理工大学 电信学院 陈育斌转控制字94大连理工大学 电信学院 陈育斌 PA PB8255 PCMCS -51A口做输出、B口作输入、C口作输出的“通用I/O模式”95大连理工大学 电信学院 陈育斌8255 PB PC1 PC2 PC0MCS -51/int0PRINTER D0-7 C口中的三条线专门为A口服务,与外设的状态、应答信号向连接,同时还向CPU发中断申请信号。96大连理工大学 电信学院 陈育斌8255 PA PC5 PC4 PC3MCS -51/int0PRINTER D0-7 97大连理工大学 电信学院 陈育斌8255 PA PC7
20、PC6 PC4 PC5 PC3MCS -51/int0D0-7 返回本节目录98大连理工大学 电信学院 陈育斌99大连理工大学 电信学院 陈育斌标志位:用于确定控制字的类型返回前次100大连理工大学 电信学院 陈育斌标志位 A组方式选择 A口、C口高4 B组方式 B口、C口低4 结构图101大连理工大学 电信学院 陈育斌转控制字结构图102大连理工大学 电信学院 陈育斌接口电路驱动灯开关量输入103大连理工大学 电信学院 陈育斌104大连理工大学 电信学院 陈育斌标志位=0 D6-D4位不用 C口位选择位 置复位控制位返回上一次105大连理工大学 电信学院 陈育斌标志位=0 D6-D4位不用
21、C口位选择位 置复位控制位106大连理工大学 电信学院 陈育斌返回前一次8255地址表C口置复位控制字107大连理工大学 电信学院 陈育斌C口各位PA口输入用时PA口输出用时PB口输入用时PB口输出用时PC7 PC6 PC5 PC4 PC3 PC0 PC2 PC1 PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0108大连理工大学 电信学院 陈育斌109大连理工大学 电信学院 陈育斌110大连理工大学 电信学院 陈育斌111大连理工大学 电信学院 陈育斌转8255逻辑图返回上一次接口电路打印机/ACK/OBFDB/OBF:对外发送的“数据好”信号/ACK:外设回答的“收到数据”信
22、号112大连理工大学 电信学院 陈育斌P08031 /INT0(高速)D7-D0 PAPC4PC5PC3D7-D0输入设备(低速)INTEa/STBaIBFaINTR A12转符号说明(参见246页)113大连理工大学 电信学院 陈育斌114大连理工大学 电信学院 陈育斌P08031 /INT0D7-D0 PBPC1PC2PC0D7-D0输入设备INTEb/OBFb/ACKbINTRb132115大连理工大学 电信学院 陈育斌116大连理工大学 电信学院 陈育斌开中断等待中断送控制字到8255数据块指针R1、计数器R2赋初值从数据块中取数到8255的A口通过PC0输出一个负脉冲/STB中断服务
23、程序RETI修改数据指针R1从数据块中取数到8255的A口通过PC0输出一个负脉冲/STBR2-1R2R2=0?开INT0中断关INT0中断YesNo主程序流程图中断服务程序流程图117大连理工大学 电信学院 陈育斌C口各位: D7 D6 D5 D4 D3 D2 D1 D0返回上一次A组模式2(输入、输出) B组模式1 输出(或输入)返回本节目录118大连理工大学 电信学院 陈育斌P08031 /INT0D7-D0 PAD7-D0输入设备PC7INTE1/OBFa/ACKaIngraPC6PC4PC5PC3IBFa/STBa+INTE2返回本节目录模式2 状态字回到8255的状态字119大连理
24、工大学 电信学院 陈育斌/RD/WRP0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0ALE89C51 D7 Q7D6 Q6D5 Q5D4 Q4D3 Q3D2 Q2D1 Q1D0 Q074LS373G /E/RD/WRRESET/CS PC口口 8255AA1A0 PB口口D7D6D5D4D3D2 PA口口D1D0设8255A工作在方式0,且A口输入,B、C口输出。/CS=FF7XHA口:FF7CHB口:FF7DH,C口:FF7EH,控制口:FF7FH120大连理工大学 电信学院 陈育斌返回本节目录121大连理工大学 电信学院 陈育斌122大连理工大学 电信学院 陈育斌123大连
25、理工大学 电信学院 陈育斌MCS-51D/A转换器控制执行机构A/D转换器多路开关传感器1 传感器2 传感器n 控制执行机构温度、压力、流量等信号模拟信号模拟信号数字信号返回被控实体124大连理工大学 电信学院 陈育斌D7 :D0tVout数字量输入NVout模拟量 输出将数字量N(D7D0)转换为模拟量Vout的器件称之为D/A转换器。D/A 转换器125大连理工大学 电信学院 陈育斌RVr4222RRRRR2R2R2R2RVr3210I3I2I1I0RVr4122RVr4322RVr4022Iout126大连理工大学 电信学院 陈育斌RVrBRVrbbbb44012322)20212223
26、(RRRRR2R2R2R2RVRI3I2I1I0b3 b2 b1 b0 四位DAC寄存器 RfIRfIout1VoutRVrbRVrbRVrbRVrb4041424322022122222300112233IbIbIbIbIout电流 / 电压变换返回Vout =-Iout1RfIout2其中:bi=0或=1 B:为4位二进制数 因此:Iout1与B成正比 127大连理工大学 电信学院 陈育斌8位输入寄存器8位DAC寄存器8位T型电阻网络DI7DI6DI5DI4DI3DI2DI1DI0ILE/CS/WR1/WR2/XFERM1M3VREFIout2Iout1RfbGNDRf=0锁存数据 阻断新
27、数据=1允许输入=0锁存数据 阻断新数据=1允许输入 进行转换返回前一次/ILE1 /ILE2128大连理工大学 电信学院 陈育斌129大连理工大学 电信学院 陈育斌130大连理工大学 电信学院 陈育斌I RfV out电流 / 电压变换DAC0832Iout1Iout2V ref返回131大连理工大学 电信学院 陈育斌132大连理工大学 电信学院 陈育斌转内部框图133大连理工大学 电信学院 陈育斌/WRP0口ALE/WR1/WR2/XFER Rfb/CS Iout1ILE Iout2DI7DI0锁存器译码器+5VV outFEH转内部框图134大连理工大学 电信学院 陈育斌S1S2S6S5
28、S4S3S1S2S6S5S4S3ALEPsenA15-A8(PC)A7-A0指令A7-A0数据/RD或 /WRP2口P0口选中DAC0832R0中的地址(FEH)累加器A中的数据135大连理工大学 电信学院 陈育斌2562VrfeBVrfeBn/WR1/WR2/XFER Rfb/CS Iout1ILE Iout2DI7DI0V outVoutt136大连理工大学 电信学院 陈育斌2562VrfeBVrfeBn/WR1/WR2/XFER Rfb/CS Iout1ILE Iout2DI7DI0V outVoutt137大连理工大学 电信学院 陈育斌2562VrfeBVrfeBn/WR1/WR2/X
29、FER Rfb/CS Iout1ILE Iout2DI7DI0VoutVoutt138大连理工大学 电信学院 陈育斌/WRP0口ALE/WR1/WR2/CS Rfb/XFER Iout1ILE Iout2DI7DI0锁存器译码器+5VV XFDHFEHFFH/WR1/WR2/CS Rfb/XFER Iout1ILE Iout2DI7DI0+5VV Y第一级缓冲:数据寄存器存:/WR1,/CS第二级缓冲:DAC寄存器:/WR2,/XFER转内部框图139大连理工大学 电信学院 陈育斌140大连理工大学 电信学院 陈育斌141大连理工大学 电信学院 陈育斌142大连理工大学 电信学院 陈育斌初始化
30、:0区的R1做DA1指针1区的R1做DA2指针计数器R2赋初值30从DA1中取数据送1#修改DA1指针启动1#、2#DAC从DA2中取数据送2#修改DA2指针R2-1R2R2=0?NY本章目录143大连理工大学 电信学院 陈育斌A/D 转换器D7 :D0数字量 输出模拟量 输入VX基准电压VR144大连理工大学 电信学院 陈育斌控制电路N位D/A转换网络N位寄存器SAR模拟电压输入VXA/D转换数据B输出启动 时钟 状态+-比较器VXVS返回145大连理工大学 电信学院 陈育斌146大连理工大学 电信学院 陈育斌八路模拟开关地址锁存IN0 26IN1 27IN2 28IN3 1IN4 2IN5
31、 3IN6 4IN7 5addA 25addB 24addC 23ALE 22+-比较器VXVS控制电路逐次比较寄存器SAR数状开关256 电阻网络三态输出寄存器Vcc GND VR(+) VR() 11 13 12 15 EOC 7D7 21D6 20D5 19D4 18D3 17D2 16D1 15D0 14OE 9START 6 CLOCK 10返回前一次147大连理工大学 电信学院 陈育斌结构图148大连理工大学 电信学院 陈育斌结构图149大连理工大学 电信学院 陈育斌1011002.5V1.5V0.5V0.0V1/2VrefVSTVSTD1D0返回150大连理工大学 电信学院 陈育
32、斌/RD/WRP0口 MCS-51 ALE/INT1OESTARTALEADC0809 addCaddBaddCD7D0CLOCKEOC地址锁存器地址译码器+P0.2P0.1P0.0分频器F0H151大连理工大学 电信学院 陈育斌S1S2S6S5S4S3S1S2S6S5S4S3ALE/PsenA7-A0指令Ri=F0HA中数据/WRP0口选中外部单元START、ALE=/ WR/ F0HOE=/ RD/ F0H锁存A中通道地址于ADC,启动ADC锁存低8位地址于373中152大连理工大学 电信学院 陈育斌153大连理工大学 电信学院 陈育斌TCON寄存器154大连理工大学 电信学院 陈育斌15
33、5大连理工大学 电信学院 陈育斌 初始化:R0:ADC口地址=F0HR1: 数据块指针=30HR2:ADC通道代码=00HR4:循环计数器=08H开INT1中断送通道代码并启动ADCMOVX R0 ,A等待INT1中断从ADC中读数据MOVX A,R0修改数据指针修改同道代码数据送内存MOV R1,A送下一个通道代码并启动ADC 8个通道完成?返回YN主程序流程图关闭INT1中断服务程序156大连理工大学 电信学院 陈育斌157大连理工大学 电信学院 陈育斌 初始化:R0:ADC口地址=F0HR1: 数据块指针=30HR2:ADC通道代码=00HR4:循环计数器=08H送通道代码并启动ADCM
34、OVX R0 ,A停机 IE1=1?从ADC中读数据MOVX A,R0数据送内存MOV R1,ACC修改数据指针修改同道代码 8个通道完成?NY查寻法流程图158大连理工大学 电信学院 陈育斌返回上一次本章目录159大连理工大学 电信学院 陈育斌6.键盘电路设计与编程160大连理工大学 电信学院 陈育斌返回161大连理工大学 电信学院 陈育斌七段译码器 七段译码器 七段译码器 七段译码器 七段译码器Vcc BCD码 0000 0001 0010 0011 0100返回若1位数码管显示器工作电流为50mA,则总电流为50mA*5162大连理工大学 电信学院 陈育斌七段译码器BCD码动态扫描时序图
35、返回总电流为50mADS4DS3DS2DS1DS0DS4DS3DS2DS1DS0163大连理工大学 电信学院 陈育斌00H 01H 02H 03H 04H万位 仟位 佰位 十位 个位位扫描万位仟位佰位十位个位BCD码返回上一次返回164大连理工大学 电信学院 陈育斌165大连理工大学 电信学院 陈育斌MCS-51 P0.7P0.6P0.5P0.4P0.3P0.2P0.1七段译码器3-8译码器使用“BCD/七段译码器”和“位扫描译码器”可以有效的节省单片机的口线166大连理工大学 电信学院 陈育斌MCS-51 P1.7 (字型码)P1.0P0.4(字位码)P0.0驱动电路 采用软件进行七段译码可
36、以省去译码器,但要使用8条口线输出字形码位驱动电路167大连理工大学 电信学院 陈育斌1A2A3A4A1G1Y2Y3Y4Y 74LS244 电路逻辑图 作普通线驱动器时, 1G接地.168大连理工大学 电信学院 陈育斌00H 01H 02H 03H 04H万位 仟位 佰位 十位 个位位扫描信号万位 P0.4仟位 P0.3佰位 P0.2十位 P0.1个位 P0.0BCD码 P1返回上一次返回 都熄灭169大连理工大学 电信学院 陈育斌170大连理工大学 电信学院 陈育斌全部熄灭指针,计数器赋初值AFEH字形码送P1口P0口A5位完?T全灭,修改指针,A,YesNo某一位数码管点亮时间首先形成最低
37、位亮的字位码熄灭是保证显示不“错位”注意:先熄灭,后移位!将A左移为显示下一位准备。5位共阴极数码管动态显示的程序框图171大连理工大学 电信学院 陈育斌 8155/8255 AD0.7 PA.7AD0.0 PA.0 PB.4/CS /WR /RD PB.0驱动电路TO 51的P0口可以使用8155/8255并行口扩展芯片组成的动态扫描电路动态扫描时序返回上一次172大连理工大学 电信学院 陈育斌173大连理工大学 电信学院 陈育斌/INT0 MPU/INTNK 0K nVCC174大连理工大学 电信学院 陈育斌P1.0 MPUP1.7K 0K 7VCC175大连理工大学 电信学院 陈育斌有按
38、键?软件防抖是干扰?修改偏移量AJMP A+DPTR PM0 PM1 PMnYYNN176大连理工大学 电信学院 陈育斌P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0177大连理工大学 电信学院 陈育斌P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0178大连理工大学 电信学院 陈育斌9ABC678D345E012F4*4键盘关键字 按键定义(一) 关键字表中顺序TAB: DB 17H,1BH,1DH,27H DB 2BH,2DH,47H,4BH DB 4DH,87H,8BH,8DH DB 8EH,4EH,2EH,1EH179大连理工大学 电信学院 陈育斌4*
39、4键盘关键字 按键定义(一) 关键字表中顺序CDEF89AB45670123TAB: DB DB DB DB180大连理工大学 电信学院 陈育斌MPU I/OK0R0K1R1K2R2KnRnRVCC181大连理工大学 电信学院 陈育斌182大连理工大学 电信学院 陈育斌183大连理工大学 电信学院 陈育斌184大连理工大学 电信学院 陈育斌MCS-51 P0口 P1口8155A口口b5b4b3B口口 b2b1b0c4c3C口口 c2IO/M c1ALE c0+5V行L5L4L3L2L1L0列线R4 R3 R2 R1 R0/WR /RD /Y28位LED显示电路返回上次185大连理工大学 电信学
40、院 陈育斌软件防抖是否按键?确定按键的行值、列值根据行值列值组装关键字使用关键字查表求键值返回窜键处理NEXT1NEXT4NY窜键时186大连理工大学 电信学院 陈育斌返回187大连理工大学 电信学院 陈育斌返回188大连理工大学 电信学院 陈育斌电路图189大连理工大学 电信学院 陈育斌返回电路图190大连理工大学 电信学院 陈育斌电路图191大连理工大学 电信学院 陈育斌返回192大连理工大学 电信学院 陈育斌电路图193大连理工大学 电信学院 陈育斌194大连理工大学 电信学院 陈育斌返回电路图195大连理工大学 电信学院 陈育斌196大连理工大学 电信学院 陈育斌返回197大连理工大学
41、 电信学院 陈育斌 8279 OUTB0OUTB3OUTA0OUTA3 / CS SL0SL1SL2SL3DB0 : DB7 驱动电路3-8译码器由可编程键盘/显示芯片8279 构成的8位LED数码管动态显示电路框图所有的“动态显示和键盘扫描”均有8279 内部自动完成。返回上一次198大连理工大学 电信学院 陈育斌FIFO/传感器RAM状态键盘抖动和控制I/O控制 数据缓冲器8*8FIFO/传感器RAM控制和时序寄存器显示地址寄存器16*8显示用RAM回送扫描计数器时序和控制显示寄存器 OUTA03、OUTB03 /BD SL03 RL07 移位控制 CLK RESET DB07 /RD /
42、WR /CS A0 IRQ返回前一次返回199大连理工大学 电信学院 陈育斌200大连理工大学 电信学院 陈育斌201大连理工大学 电信学院 陈育斌返回202大连理工大学 电信学院 陈育斌电路图逻辑结构图203大连理工大学 电信学院 陈育斌204大连理工大学 电信学院 陈育斌电路图逻辑结构图205大连理工大学 电信学院 陈育斌逻辑结构图电路图206大连理工大学 电信学院 陈育斌返回逻辑结构图电路图207大连理工大学 电信学院 陈育斌8279 OUTB0OUTB3OUTA0OUTA3 / CS SL0SL1SL2SL3DB0 : DB7 3-8译码器BCDI七段BCDI七段返回返回上次208大连
43、理工大学 电信学院 陈育斌D7 D6 D5 D0命令字特征位 000111209大连理工大学 电信学院 陈育斌D7 D6 D5 D4 D3 D2 D1 D0命令字特征位 显示工作方式 键盘工作方式 210大连理工大学 电信学院 陈育斌左入口:填入式打字机模式右入口:移位式计算器模式显示RAM地址0000显示RAM地址0000显示RAM地址0000显示RAM地址0000数码管位置写第1个数写第2个数写第8个数写第1个数写第2个数写第8个数211大连理工大学 电信学院 陈育斌212大连理工大学 电信学院 陈育斌D7 D6 D5 D4 D3 D2 D1 D0命令字特征位 对输入信号CLK的分频系数2
44、13大连理工大学 电信学院 陈育斌D7 D6 D5 D4 D3 D2 D1 D0命令字特征位 地址自动增量 FIFO RAM地址 214大连理工大学 电信学院 陈育斌D7 D6 D5 D4 D3 D2 D1 D0命令字特征位 地址自动增量 显示 RAM地址 215大连理工大学 电信学院 陈育斌D7 D6 D5 D4 D3 D2 D1 D0命令字特征位 地址自动增量 显示 RAM地址 216大连理工大学 电信学院 陈育斌D7 D6 D5 D4 D3 D2 D1 D0 命令字特征位 屏蔽显示控制 消隐控制 电路图217大连理工大学 电信学院 陈育斌D7 D6 D5 D4 D3 D2 D1 D0命令
45、字特征位 清除“显示RAM”的方式 清空FIFO 总清 218大连理工大学 电信学院 陈育斌D7 D6 D5 D4 D3 D2 D1 D0 命令字特征位 屏蔽显示控制219大连理工大学 电信学院 陈育斌220大连理工大学 电信学院 陈育斌D7 D6 D5 D4 D3 D2 D1 D0返回221大连理工大学 电信学院 陈育斌8279 OUTB0 : OUTB3OUTA0: OUTA3SL0SL1SL2A0/RD/WR/CSDB0DB1DB2DB3DB4DB5DB6DB7RL0RL1RL2RL3RL4RL5RL6RL7 字符驱动电路A y0B y1C y2 y3y4y5y6y7位扫描驱动电路adp
46、74LS07+5VRL0RL1RL2RL3RL4RL5RL6RL71023456789ABCDEFF1F2F3F4F5F6F774LS138 74LS07由8279构成的键盘扫描和动态显示电 路原理图8155222大连理工大学 电信学院 陈育斌字符驱动器位扫描驱动器位扫描驱动器字符驱动器+5V+5V电流I电流ILED字划(亮)LED字划(灭)上拉限流电阻R字符驱动器输出“1”时,输出端开路 字符驱动器输出“0”时输出为低上拉限流电阻R本章目录223大连理工大学 电信学院 陈育斌224大连理工大学 电信学院 陈育斌MCS-51 RESET ALE P1.0CP Q/R N位计数器原始喂狗死机时的
47、复位脉冲程序正常时产生的“喂狗”信号中间喂狗1,根据程序一次周期的时间T1选择计数器的溢出时间T2;2,不能影响正常时单片机的工作,即两次“喂狗”的时间间 隔T3要小于计数器溢出的时间;即T2T1T33,合理选择“喂狗”的位置。程序飞走225大连理工大学 电信学院 陈育斌226大连理工大学 电信学院 陈育斌1 8 2 73 64 5/WDORESTWDI/PFO/MRVccGNDPFI看门狗跃迁检测器看门狗定时器时基电路复位产生器&+-+-WDI/MRVccPFIRESET/PFO/WDO4.65V1.25VMAX813L内部电路框图227大连理工大学 电信学院 陈育斌228大连理工大学 电信学院 陈育斌1 8 2 73 64 5/WDORESTWDI/PFO/MRVccGNDPFIAT89C51RESETP1.0/INT0未稳压的直流电源返回上一次229大连理工大学 电信学院 陈育斌本章目录