实验十一、并串转换

萌到你眼炸
823次浏览
2021年02月11日 04:21
最佳经验
本文由作者推荐

-

2021年2月11日发(作者:扫墓时间有什么讲究)




实验十一、



并串转换(


cd4014




本程序功能:按


F1


键,再 按


3


键,进行调用并串转换功能。存储在外部

< br>RAM


区,地址为


0010H




同学更改为:同学将此功能加到自己编的上一个程序中。



1




进入并串转换子程序后,关闭外部中断,出来时开中断;



2




并串转 换变换功能程序——


cd4014o




3




可将转换结果放到数码管中显示。



调试方式:设置断点,调出寄存器窗、外部数据区窗观察结果。





程序文件:



程序:





xsdsm



equ 30h





fwdsm equ 31h








txdsm equ 32h




txjym equ 33h





xsm1 equ 37h




;


显示缓冲区





xsm2 equ 38h




;






xsm3 equ 39h




;




xsm4 equ 3ah




;




xsm5 equ 3bh




;




xsm6 equ 3ch




;




xsmm1 equ 3dh




xsmm2 equ 3eh





xsmm3 equ 3fh










xsmm4 equ 40h





xsmm5 equ 41h











xsmm6 equ 42h










txsjm equ 24h





jpm equ 25h




dqdsm equ 26h




txzcbzm equ 27h




xsclm equ 43h





;


显示处理单元











sjzzm equ 44h














jpclbzm


equ 49h





raddlm equ 4ch




raddhm


equ 4dh




wdatam equ 4eh




xsdsm1 equ 4fh




xsjym equ 50h





secm





equ





51h





;


秒数据






minm





equ





52h





;


分数据






hrm





equ





53h





;


小时数据






datem





equ





54h





;


日数据






monthm





equ





55h





;


月数据






weekm





equ





56h





;


星期数据






yearm





equ





57h





;


年数据低


2






kscanfm equ 58h




keyctm equ 59h




keym1 equ 5ah




keym2 equ 5bh




keybm1 equ 5ch




keybm2 equ 5dh






adsjdzl


equ 34h




adsjdzh


equ 35h




dpm equ 23h




dp1


bit 18h






dp2


bit


19h




dp3


bit


1ah




dp4


bit


1bh




dp5


bit


1ch





dp6


bit


1dh




ptt


bit


1eh




swa


bit


1fh




org 0000h






ljmp start




org 0003h




ljmp adzd




org 000bh




ljmp zdt0




org 0100h




start:mov sp,#5eh


;--------- ----------------------int0


中断初始化、开中断




setb it0











setb ex0










clr ie0


;-------------------------------t0 10 ms


中断初始化





mov tmod,#b


;



setb pt0




mov tl0,#00h




mov th0,#0dch





setb tr0






setb et0




setb ea



;------- -------------------


数码管显示存储单元初始化

< br>




mov dpm,#0ffh



mov xsm1,#00h



mov xsm2,#00h



mov xsm3,#00h










mov xsm4,#00h





mov xsm5,#00h



mov xsm6,#00h



mov r4,#00h


;------------------------------




acall key0



acall display


;


jk:nop


jk4:


mov a,kscanfm




cjne a,#55h,jk




ljmp keypr


jk3:


acall key0




ljmp jk





keypr:


mov a,keym1




cjne a,#0f7h,jk3







acall key0





mov xsmm1,#01h





mov xsmm2,#0ffh





mov xsmm3,#0ffh










mov xsmm4,#0ffh





mov xsmm5,#0ffh










mov xsmm6,#0ffh





mov xsm1,xsmm1





mov xsm2,xsmm2





mov xsm3,xsmm3










mov xsm4,xsmm4





mov xsm5,xsmm5










mov xsm6,xsmm6











lcall display





keypr9:


mov a,kscanfm




cjne a,#55h,keypr9




mov a,keym2




cjne a,#0feh,keypr3




acall key0




ljmp dsxg





keypr3:


mov a,keym1





cjne a,#7fh,keypr4




acall key0







ljmp dssxg




keypr4:


mov a,keym2





cjne a,#0f7h,keypr5




acall key0





ljmp adzh





















;f1






;


时钟修改


0




;


时钟修改


1






























;ad


转换


2











keypr5:


mov a,keym2





cjne a,#7fh,keypr6




acall key0





ljmp cd4014o




;


并串转换


3






keypr6:


mov a,keym1





cjne a,#0bfh,keypr7




acall key0





ljmp tx485





;485


通信


4


keypr7:


mov a,keym2





cjne a,#0fbh,keypr8




acall key0











ljmp tx232





;232


通信


5



keypr8: mov a,keym2





cjne a,#0bfh,keypr10




acall key0











ljmp



keyshou





;


桉数字健显示健值


6








































keypr10:mov a,keym1




cjne a,#0efh,keypr11


;


是否按下取消健






acall key0




ljmp jk


keypr11:


ljmp keypr







;-- -------------------------------;


桉数字健显示健 值









;-- ---------------------


键盘存储单元初始化


key0:



mov keybm1,#0ffh






mov keybm2,#0ffh




mov keym1,#0ffh






mov keym2,#0ffh





mov kscanfm,#00h


;kscanfm


键盘扫描标志单元





ret



dsxg:


ljmp jk





;


时钟修改


0,


dssxg:


ljmp jk






;


时钟修改


1





;-- ---------------------------------;a/d


转换



adzh:


mov flag,#00h


;a/d


转换路标号











mov dpl,flag



mov dph,#0e0h



;0e0xxh,a/d


转换路地址




movx @dptr,a


adzh3:



mov a,flag



cjne a,#08h,adzh3



mov adsjdzl,#00h



mov adsjdzh,#00h



adzh2:


ljmp jk


adzd:


clr ex0



push psw




push acc




push dpl




push dph




mov dptr,#0f000h





movx a,@dptr






mov dpl,adsjdzl





;adsjdzl



/


数转换数据的外部


ram


存 储地址





mov dph,adsjdzh





;




movx @dptr,a




inc dptr




mov adsjdzl,dpl




mov adsjdzh,dph





mov a,flag




inc a




mov flag,a



cjne a,#08h,adzd1



ajmp adzd2


adzd1:


mov flag,a



mov dpl,flag



mov dph,#0e0h



movx @dptr,a



SETB EX0


adzd2:


pop dph




pop dpl






pop acc




pop psw







reti



;-----------------------------------;cd4014


并串转换



cd4014o:lcall cd4014






ljmp jk


;------- ----------------------------;cd4014





cLk bit p1.6





;


定义


4014


的时钟线





q8 bit p1.7






;


定义< /p>


4014


的串行输出数据线





psc bit p1.5





;


定义并串控制线



cd4014:


clr ea




mov r0,#07h




clr clk




setb psc






setb clk




mov c,q8




rlc a

-


-


-


-


-


-


-


-