No.4952 作者:献 邮件:6756754@ghr.net ID:5563 登陆:2次 QQ:4564564 文章数:57篇 最后登陆IP:61.168.74.43 最后登陆:2003/8/10 16:52:42 注册:2001/8/15 8:14:00 财富:210 发帖时间:2002/1/17 19:49:00 发贴者IP:61.168.76.251 标题:献:初学者:请各位朋友看看我写的这段时钟程序,由于是刚刚学写,里面一定有不少了错误和书写问题,请朋友们指点改进,在下先谢谢了 摘要:No.4952初学者:请各位朋友看看我写的这段时钟程序,由于是刚刚学写,里面一定有不少了错误和书写问题,请朋友们指点改进,在下先谢谢了 这是一个24小时制时钟程序,4 个LED 数码管 P1口输出BCD码,P2口的0,1 ,2,3输出位 动,我用的是 6M晶体 ; 还请朋友们指点迷津 在下先谢谢朋友了 程序如下: org 0000h ljmp ks org 000bh;T0定时中断0入口地址 ljmp ds0zd;跳转到T0中断程序 ks: mov p1,#0ffh;两口复位 mov p2,#0ffh mov sp,#30h mov 10h,#14h;T0中断20次(产生10ms信号)14 mov 11h,#64h;产生1秒信号64 mov th0,#06h;设置定时器0的计数初值 mov tl0,#06h mov th1,#0ffh;设置定时器1的计数初值 mov tl1,#0ffh mov tmod,#0e2h;将T0设置为内定时,工作方式2;T1设置为外计数,工作方式2 mov ip,#02h;将定时器0的优先级设置为1 mov ie,#02h;中断0,1定时中断0,1开 mov tcon,#50h;定时器开始工作 xscx00:;显示程序,将需要显示的位数和需要显示的数据起始地址写入再将BCD码表写入DPTR mov r0,#04h;将要显示数据的起始地址写入R0(这里是从分钟开始) mov dptr,#zb0;将LED码表写入DPTR mov r1,#04h;将所需要的显示位数写入R1 xscx01: mov a,@r0;将数据传到A movc a,@a+dptr;将所需要显示的BCD码写入A mov p1,a;将BCD码传到P1口 mov a,p2;将位地址读入A cjne a,#0ffh,guo;检查位地址是0ffh,若不是则跳过,若是运行下一步 mov p2,#0feh;将第一位传到P2口 ljmp tiaoguo;跳转到tiaoguo guo: rl a;A中内容左移一位 mov p2,a;将位地址传出到P2口 tiaoguo: lcall ys0 inc r0 djnz r1,xscx01 ......
>>返回讨论的主题
|
老古网执行:15毫秒 最大:7276毫秒 查询6次
|
|