为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 冯老师冯宝珠专访冯宝珠老师

冯老师冯宝珠专访冯宝珠老师

2018-03-16 4页 doc 28KB 8阅读

用户头像

is_215732

暂无简介

举报
冯老师冯宝珠专访冯宝珠老师二、实际应用 8位数码管循环移位显示 电路图如上:Q1~Q7接数码管段 b...b 二、实际应用 8位数码管循环移位显示 电路图如上:Q1~Q7接数码管段码 、P0.0 接SER 、P0.1接SCK、P0.2接RCK、P0.3 接/G ;=============================================================== SDATA_595 EQU P0.0 ;串行数据输 入 SCLK_595 EQU P0.1 ;移位时钟脉 冲 RCK_595 EQU P0.2 ;输出...
冯老师冯宝珠专访冯宝珠老师
二、实际应用 8位数码管循环移位显示 电路图如上:Q1~Q7接数码管段 b...b 二、实际应用 8位数码管循环移位显示 电路图如上:Q1~Q7接数码管段码 、P0.0 接SER 、P0.1接SCK、P0.2接RCK、P0.3 接/G ;=============================================================== SDATA_595 EQU P0.0 ;串行数据输 入 SCLK_595 EQU P0.1 ;移位时钟脉 冲 RCK_595 EQU P0.2 ;输出锁存器 控制脉冲 LS138_G1 EQU P0.3 ;使能端 LS138_A EQU P0.4 ; LS138_B EQU P0.5 ; LS138_C EQU P0.6 ; ;===================================================== ORG 0000H LJMP MAIN ORG 0030H ;===================================================== MAIN: MOV SP,#60H MOV P0,#00H MOV P1,#0FFH MOV P2,#0FFH MOV P3,#0FFH MOV R0,#30H ;初始化寄 存器 MOV R1,#00H MOV R2,#00H MOV 30H,#01H ;显示数据 MOV 31H,#02H MOV 32H,#03H MOV 33H,#04H MOV 34H,#05H MOV 35H,#06H MOV 36H,#07H MOV 37H,#08H CLR LS138_G1 ;禁止 74LS138使能 MOV R5,#7FH MAIN1: LCALL DISPLAY DJNZ R5,MAIN1 MOV A,30H ;数据交换 XCH A,31H XCH A,32H XCH A,33H XCH A,34H XCH A,35H XCH A,36H XCH A,37H XCH A,30H MOV R5,#7FH JMP MAIN1 ;============================================================= ;显示子程序 ;============================================================= DISPLAY: MOV A,@R0 ;查表取 显示数据 MOV DPTR,#TAB_NU MOVC A,@A+DPTR LCALL WR_595 ;移位 寄存器接收数据 CLR LS138_G1 ;关闭显 示 LCALL OUT_595 ;将数 据送到输出锁存器 NOP NOP MOV A,P0 ;读P0状态 ANL A,#0FH ;维持低4 位状态 ADD A,R2 ;确定显示 位 MOV P0,A ;送显示位 SETB LS138_G1 ;开显示 INC R0 ;取下一位显 示数据 INC R1 ; MOV A,R1 ;修改显示 位 SWAP A ;高、低四位 数据交换 MOV R2,A ;确定下一 个显示位 LCALL DELAY ;延时 CJNE R1,#09H,DISPLAY ;8 个数码管是否显示完毕, MOV R0,#30H ;重新初 始化寄存器 MOV R1,#00H MOV R2,#00H RET ;============================================================= ;输出锁存器输出数据子程序 ;============================================================= OUT_595: CLR RCK_595 NOP NOP SETB RCK_595 ;上升沿将数 据送到输出锁存器 NOP NOP NOP CLR RCK_595 RET ;============================================================= ;移位寄存器接收数据子程序 ;============================================================= WR_595: MOV R4,#08H OOP: WR_L RLC A MOV SDATA_595,C SETB SCLK_595 ;上升沿发生 移位 NOP NOP CLR SCLK_595 DJNZ R4,WR_LOOP RET ;============================================================= ;延时子程序 ;============================================================= DELAY: MOV R6,#02H DEL1: MOV R7,#200 DJNZ R7,$ DJNZ R6,DEL1 RET ;============================================================= TAB_NU: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H DB 80H,90H,88H,83H,0C6H,0A1H,86H,8EH ;============================================================= END 74HC595 数码管显示程序 ,i nclude #define uchar unsigned char uchar code seg[10]={0xC0,0xf9,0xa4,0xb 0,0x99,0x92,0x82,0xf8,0x80,0x90}; sbit SER=P0^4; //595串行数据输入 sbit SCK=P0^5; //595移位时钟 sbit RCK=P0^7; //595数据输出脉冲 sbit SQH=P0^6; //595串行数据输出 sbit gewei=P2^7; //595数码管个位选通 sbit shiwei=P2^6; //595数码管十位选通 sbit power=P1^7; // void IN595(uchar segdata) //输入一字节数码管数据进595 { uchar i,temp; temp=seg[segdata]; RCK=0; for(i=0;i<8;i++) //循环移入8位数据, { SCK=0; SER=temp&0x80; // 取数码的最高位 temp=temp<<1; SCK=1; //上升沿把一位数据移入595 } //由于电路不是我的,有点不合理,这时在最低位QA的对应的是数码管右下角的点的管脚,所以需要再移一位,以使数码管右下角的点能正确显示 // SCK=0; SER=seg[segdata]&0x80; SCK=1; RCK=1; //上升沿把8位数据并行输出 } void show(uchar showdata) { uchar i,j; i=showdata/10; j=showdata%10; IN595(i); //移入十位数据 gewei=1; //关个位 shiwei=0; //选通十位数码管 //delay(); //不用加延时了,因为显示数据串入595已经要一段的时间了 IN595(j); //移入个位数据 shiwei=1; //关十位 gewei=0; //选通个位数码管 } void main() //测试。。。。。。。。。。。。。。。。 { power=1; // while(1) { show(58); } }
/
本文档为【冯老师冯宝珠专访冯宝珠老师】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索