at89s51
MOV KEYBUF,10 LJMP DK3 NK11: CJNE A,07H,NK12 MOV KEYBUF,11 LJMP DK3 NK12: NOP DK3: MOV A,KEYBUF MOV DPTR,TABLE MOVC A,@A+DPTR MOV P0,A MOV A,KEYBUF MOV B,2 MUL AB MOV TEMP,A MOV DPTR,TABLE1 MOVC A
“ 8”代码建立如下图所示 1 2 3 4 5 6 7 8 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● 00H, 00H, 36H, 49H, 49H, 49H, 36H, 00H AT89S51单片机实验及实践教程 150 数字“ 9”代码建立如下图所示 1 2 3 4 5 6 7 8 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● 00H, 00H
D1D2D3D4D5D6D7 端口上, A/D 转换完毕的数据输入到单片机的 P0 端口 ( 4). 把“模数转换模块”区域中的 VREF 端子用导线连接到“电源模块”区域中的 VCC 端子上; ( 5). 把“模数转换模块”区域中的 A2A1A0 端子用导线连接到“单片机系 统”区域中的 端子上; ( 6). 把“模数转换模块”区域中的 ST 端子用导线连接到“单片机系统”区域中的 端子上;
A,02H,KN2 CLR TR0 LJMP DKN KN2: CJNE A,03H,DKN MOV SEC,00H MOV A,SEC MOV B,10 DIV AB MOV DPTR,TABLE MOVC A,@A+DPTR MOV P0,A MOV A,B MOV DPTR,TABLE MOVC A,@A+DPTR MOV P2,A MOV KEYCNT,00H DKN: JNB SP1
,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71,0x00}。 unsigned char second。 unsigned char tcount。 void main(void) { TMOD=0x01。 TH0=(6553650000)/256。 TL0=(6553650000)%256。 TR0=1。
程序框图 图 6. 汇编源程序 ORG 0 START: MOV R2,8 MOV A,0FEH SETB C LOOP: MOV P1,A LCALL DELAY RLC A DJNZ R2,LOOP MOV R2,8 LOOP1: MOV P1,A LCALL DELAY AT89S51单片机实验及实践教程 39 RRC A DJNZ R2,LOOP1 LJMP START DELAY:
输入 /输出口和定时 /计数器的当前状态,供 CPU 查询用。 状态寄存器的端口地址与命令寄存器相同,低 8 位也是00H,状态寄存器的内容只能读出不能写入。 所以可以认为 8155 的 I/O 口地址00H 是命令 /状态寄存器,对其写入时作为命令寄存器;而对其读出时,则作为状态寄存器。 14 状态寄存器的格式如图 17 所示。 A 口中断标志请求 A 口缓冲器满空标志 A 口中断允许标志 B
定义与命名,以使程序易于修改、调试和升级。 本系统将 TO 溢出中断用于软件看门狗。 喷池数据 喷池数据是用以对喷池内的水泵、电磁阀和彩灯等进行开与关控制的数据。 一组可循环使用的这种数据, 就决定了喷泉和彩灯的一个特定的变化形态。 这组喷池数据可称为花样数据。 对一个特定构造的喷池,这种花样数据可编写出很多。 下面以图 为例说明花样数据的编排方法。 假设希望外圈喷头每隔一定时间顺次增喷
C 将清除所有标志。 第 9 页 共 23 页 寄存器 D中仅 D7有 定义,读时应若寄存器 D中仅 D7 有定义,读时应总为 1,若为 0 则说明内部锂电池已耗尽。 为防止锂电池在芯片装入系统前被耗尽,DS12887 在出厂时先关掉了其内部的晶振,编程时必须首先给寄存器 A 的DV2DV1DV0 位写入 010 以打开晶振,然后 ,读寄存器 D 以检查内部锂电池是否有效;接着根据需要对寄存器
提供了许多新型方法。 纳米固体材料具有庞大的界面,提供了大量气体通道,从而大大提高了灵敏度 ,工作温度大大降低, 大大缩小了传感器的尺寸。 当然,在己获得明显进展的纳米传感领域中尚存在很多问题,从敏感材料到制作技术都很不成熟,其性能也有不尽人意的地方 [5]。 气敏传感器在家用电器中也有相当广泛的应用。 吸油烟机等产品上常用 MQ3 型半导体气敏传感器,它采用旁热式结构,陶瓷管内装有高阻抗加热丝