单片机最小系统板实验指导书 联系客服

发布时间 : 星期日 文章单片机最小系统板实验指导书更新完毕开始阅读d78864f3f61fb7360b4c6550

{

case 0:

P1_3=1; P1_0=~P1_0; delay200ms(); break; case 1:

P1_0=1; P1_1=~P1_1; delay200ms(); break;

case 2:

P1_1=1; P1_2=~P1_2; delay200ms(); break;

case 3:

P1_2=1; P1_3=~P1_3; delay200ms(); break;

//如果按键按下次数为1次时,进入此部分//

//给P1.0取反,以达到闪烁的效果// //每隔0.2秒闪烁一次//

//按键按下的次数为2次时,进入此部分//

//给P1.1取反,以达到每隔0.2秒闪烁一次//

//按键按下的次数为3次时,进入此部分//

//给P1.2取反,以达到每隔0.2秒闪烁一次//

//按键按下为4次时,进入此部分//

//给P1.3取反,以达到每隔0.2秒闪烁一次//

} } } 九、注意事项

汇编语言和C语言定义口的书写形式不同。如汇编语言为P1.0,P2.0,P3.0,而C语言为P1_0 ,P2_0 ,P3_0。

37

实验十 00-99计数器设计

一、实验目的

1.掌握计数器的设计方法。 2.了解计数器的手动计数功能。 3.了解静态数码显示技术。 二、设计原理

如图10.1所示,利用单片机来制作一个手动计数器,在单片机的P3.7管脚口接一个轻触开关,作为手动计数的按钮,用单片机管脚的P2.0-P2.7口连接一个共阴数码管,作为00-99计数的个位数显示,用单片机管脚的P0.0-P0.7口连接一个共阴数码管,作为00-99计数的十位数显示。 三、参考电路

图10.1 00-99计数器设计电路原理图

四、电路硬件说明

38

(1)在“单片机系统”区域中,把单片机的P0.0-P0.7端口连接到“静态数码显示模块”区域中的a-h端口上;要求:P0.0对应着a,P0.1对应着b,??,P0.7对应着h。

(2)在“单片机系统”区域中,把单片机的P2.0-P2.7端口连接到“静态数码显示模块”区域中的a-h端口上;要求:P0.0对应着a,P0.1对应着b,??,P0.7对应着h。

(3)在“单片机系统”区域中,把单片机的P3.7端口通过拨动开关JP2连接到“独立式键盘”区域中的按键开关S18上。 五、程序设计内容

(1)单片机对按键的识别过程的处理。

(2)单片机对正确识别的按键进行计数,计数满时,从零开始计数。

(3)单片机对计的数值要进行数码显示,计得的数是十进制数,含有十位和个位。要把十位和个位的数值分别到各自对应的数码管上并显示。分别送数时,可以把所计得的数值对10求余,即可得到个位数字;对10整除,即可得到十位数字。

(4)通过查表方式,分别显示出个位和十位的数字。 六、程序流程图(如图10.2所示)

图10.2 00-99计数器设计流程图

七、汇编源程序

;;;;;;;;;;定义单元;;;;;;;;;;

COUNT EQU 30H ;;;;;;;;;;入口地址;;;;;;;;;; ORG 0000H LJMP START ORG 0003H RETI

ORG 000BH RETI

ORG 0013H RETI

39

START: NEXT: CHUSHIHUA: XIANSHI: WT: WAIT: DELAY10MS: D1: ORG 001BH

RETI

ORG 0023H RETI

ORG 002BH RETI

;;;;;;;;;;主程序;;;;;;;;;;

ORG 0100H

LCALL CHUSHIHUA LCALL XIANSHI LCALL WT LCALL WAIT CJNE A,#100,NEXT LJMP START

;;;;;;;;;;初始化程序;;;;;;;;;;

MOV COUNT,#00H RET

;;;;;;;;;;显示程序;;;;;;;;;;

MOV A,COUNT MOV B,#10 DIV AB MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P0,A MOV A,B MOVC A,@A+DPTR MOV P2,A RET

;;;;;;;;;;开关抬起检测程序;;;;;;;;;;

JNB P3.7,$ RET

;;;;;;;;;;开关按下次数记数程序;;;;;;;;;;

JB P3.7,WAIT LCALL DELAY10MS JB P3.7,WAIT INC COUNT MOV A,COUNT RET

;;;;;;;;;;10ms延时程序;;;;;;;;;;

MOV R6,#20 MOV R7,#248 DJNZ R7,$ DJNZ R6,D1 RET

40