3、调试过程:将程序里改
的为
因为是要让数码管
g亮,g的二进制时01000000B转换成16进制就是40H,其他的程序不变。
实验三
1、要求
7SEG-MPX8-CC-BLUE共阴极数码管中显示的数字依次为43-59-21 2、显示结果
3、调试过程
在程序里先装入初值,再关闭所有数码管,送显示数据,送片选,调用延时。在送显示数据的时候要注意与装入的初值要一一对应。数码管不能正常的显示43-59-21就是因为在送显示数据的时候发生了错误。
实验四
1、要求
①7SEG-MPX8-CC-BLUE数码管中显示的数字依次为72-81-67 ②除法指令分离数字的显示
2、显示结果
3、汇编语言
开始 初始化数值装入R0、R1、R2 除法指令把R0、R1、R2的数据求出百、十、个位的数装入40H、41H、42H、43H、44H、45H储存器里 用MOV P1 #0FFH指令关闭数码管 MOV P2,A指令送新显示数据 MOV P1 #1111110B指令进行片选 LCALL TT调用延时 LJMP MAIN循环 返回
4、调试过程
在原来的程序前面加一段程序: ORG 0000H MOV R0,#67 MOV R1,#81 MOV R2,#72 MOV A,R0 MOV B,#10 DIV AB MOV 40H,B MOV 41H,A
MOV A,R1
MOV B,#10 DIV AB MOV 42H,B MOV 43H,A
MOV A,R2 MOV B,#10 DIV AB MOV 44H,B MOV 45H,A
但是在调试过程中还是出现了错误,数码管中的“6”不能显示,检查之后才知道是程序里的送显示数据的地方出现了错误,我写成40H,应该时41H.改过之后就正常显示了。
试验五
1、要求
①用中断方式实现电子时钟电路,23-59-50方式,由左向右分别为时、分、秒 ②当秒计数计满60时就向分进位,分计数器计满60后向时计数器进位,小时计数器按“23翻0”规律计数。时、分、秒的计数结果经过数据处理可直接送显示器显示。 2、硬件电路
3、汇编语言: