Microsoft Word - P3.doc

Similar documents
单片机学习教程

微處理機期末專題

DPJJX1.DOC

<4D F736F F D20B3E6B4B9A4F930365F32A443AC71C5E3A5DCBEB9B1B1A8EE2E646F63>

12232A LED LED LED EL EL CCFL EL CCF

untitled

1 TPIS TPIS 2 2

HD61202 HD HD61203 HD61202, HY HY HD61202 HD61202 HD61203 HD =4096 RAMRAM LCD 2HD HD HD /32--

目 录

untitled

專題最終版.doc

<4D F736F F D203130B5A5C6ACBBFACAB5D1E9D6B8B5BCCAE92E646F63>

» n ¹ú KS0108 x ÍÍÙ q n KS0108 KS KS0107 KS0108 KS *32 128*64 192*64 KS0108 KS0108 KS0107 KS =4096 RAM RAM LCD 2 KS

逢 甲 大 學

TSINGTEK DISPLAY CO.,LTD LCD CONTROLLER & DRIVER ST7920 OR EQUIVALENT (f) 639 2A f B1

PowerPoint 簡報


电 阻 应 变 式 传 感 器 是 将 被 测 量 的 力, 通 过 它 产 生 的 金 属 弹 性 变 形 转 换 成 电 阻 变 化 的 元 件 由 电 阻 应 变 片 和 测 量 线 路 两 部 分 组 成 电 阻 应 变 片 产 生 的 误 差, 主 要 来 源 于 温 度 的 影 响, 本

Microsoft Word - ISSFA-0134_A_AP_User-definedDownload_SC_.doc

1.1 ML_ONOFF = 1 Q 3 Q 8 C 0.3V M 2 L 1 ML_ONOFF = 0 Q 3 Q 8 C 1. + R31 VCC R21 10K ML_ONOFF R15 0:off 1:on 1K Green Light VCC=5V L1 Q VDD=12V C

Microsoft Word - 專題封面.doc

() () () () () () () () DDRAM () II

µPSD3000 系列

学习MSP430单片机推荐参考书

第5章:汇编语言程序设计

1-1 SH79F6431 A. 2( ) 9~15V ( 12V) U2 U3 3.3V SH79F B. 1(VCC/GND) SH79F6431 C. VDDIO SH79F6431 P4 P5 P0.6 P0.7 VDDIO VDDIO=5V D. 2 V 1.0

ORG 00BH JMP TIMER0 ORG 100H MOV TMOD,# B MOV IE,# B MOV TH0,#( )/32 MOV TL0,#( ).MOD.32 SETB P2.0 SETB TR0 JMP $ MOV R0,#

1

Microsoft PowerPoint - chap5.ppt

CH559指令周期.doc

Microsoft PowerPoint - chap4.ppt

Microsoft Word - IRFWX_A051_C_SyncMOS_with_STC_APN_SC_.doc

,768 32,767 32K JMP Jnnn (386+) LOOP CALL [Label:] JMP short/near/far address L10: jmp jmp L20: L10 L20

W77E58中文手册

呕血推荐51程序库,希望大家能资源共享

車在走天在看 PC前的三輪車日記

2 Keil µ vision 2.1 1) Keil µ vision2 V2.34 µ vision3 2) Sino_Keil.exe Keil c:\keil\ 3) JET51 USB PC C:\Keil\ USB PC 4) S-L

dfgdafhdafhdafhdafh


??????????????????

<4D F736F F D204C434D78785A4BB1E0B3CCCBB5C3F7CAE92DB7E2C3E6>

Microsoft Word 职称安排修改 于.docx

<4D F736F F D20B5A5C6ACBBFABFD8D6C6B2BDBDF8B5E7BBFA2E646F63>

8051初学实验教程系列五.doc

Microsoft Word - FM12232C.doc

Ⅰ Ⅱ 2 Ⅲ 2 Ⅳ 耀

设计思路 : 以定时器 / 计数器 0 来对脉冲进行计数, 数据用 8279 芯片连接 LED 数码管实现累进显示 程序分为主程序和中断服务程序两部分 主程序主要实现初始化 循环显示 而累计数在中断服务程序中完成 主程序设计 : 1) 实现初始化包括设置堆栈指针 8279 芯片初始化 定时器 / 计

<4D F736F F D20C7B6C8EBCABDCFB5CDB3C9E8BCC6CAA6B0B8C0FDB5BCD1A75FD1F9D5C22E646F63>

Microsoft Word - FG12232A.doc

工 作 动 态 学 校 举 行 学 生 信 息 员 年 度 工 作 总 结 暨 表 彰 会 议 高 教 研 究 与 评 估 中 心 二 〇 一 四 年 四 月 二 日 与 四 月 九 日, 高 教 研 究 与 评 估 中 心 分 别 在 海 珠 校 区 与 花 都 校 区 召 开 学 生 教 学 信

2.181% 0.005%0.002%0.005% 2,160 74,180, ,000, ,500,000 1,000,000 1,000,000 1,000,000 2

MSP430 MSP430 F149 MSP430F149 P USART MSP430F PWM 63#

6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit

微處理機


江人发2009年第49号突发事件应对法培训.doc

单片机键盘接口全接触{ }.doc

微型计算机原理及应用试题 机电96

目 录 前 言 3 第 一 部 分 学 院 基 本 情 况... 4 一 学 院 简 介... 4 二 2015 届 毕 业 生 基 本 情 况... 6 第 二 部 分 毕 业 生 就 业 创 业 工 作 开 展 情 况... 9 一 领 导 高 度 重 视, 健 全 机 制... 9 二 多 方

单片机原理及应用实验指导书.doc

Microsoft Word - 透析8051之迴圈控制方法.doc

树立正确的择业观念 走好人生第一步








1

5. 方框图 X2 X1 Oscillator Divider Data Select & Buffer DOUT LED R1... R8... Keyboard Matrix & Gate Circuit Data Rom & Registers /24 Counter & 1 of 24 De

(譯本)

上 海 农 商 银 行 理 财 产 品 风 险 揭 示 书 理 财 资 金, 则 客 户 面 临 产 品 期 限 延 期 调 整 等 风 险 8. 信 息 传 递 风 险 : 上 海 农 商 银 行 将 按 照 本 说 明 书 有 关 信 息 公 告 的 约 定, 进 行 产 品 信 息 披 露 客

93C46串行EEPROM数据读写

《佛子行三十七颂》讲记1

至 尊 法 王 蒋 阳 龙 朵 加 参 尊 者 上 师 瑜 伽 皈 依 境

(给多有拉姆)佛子行三十七颂1——7

!!"#! " # $%%&#! ()*+ %& %,&,, &!!# # # #! "# ## # #! $# # #! %#! &# -,.$# /! 0(1 $%%& %&23%2!!!!!!!!!!!!!! %,% 4&%.&.22!!! &! 2%% 2,% %.32!,%%%,,! 56

<4D F736F F D20B8F8B3F5D1A7B5A5C6ACBBFAB5C43430B8F6CAB5D1E92E646F63>

教育扩张能改善收入分配差距吗?——来自CHNS2006年数据的证据

山水文化,市井人家——以湖州邱城小镇的概念性规划为例

untitled

Microsoft Word - ISSFA-0109_B_SM59264_WDT_ APN_TC_.doc

Microsoft Word - RT-T19264B-SPEC.doc

AT89C2051中文资料.doc

诺贝尔生理学医学奖获奖者

内部刊物 注意保存

(1) (%) (1%) (1%) (1%) (1%) (1%) (1%) - 2 -


目 录 编 写 说 明 一 学 校 概 况 二 2015 届 毕 业 生 就 业 状 况 分 析 ( 一 ) 基 本 数 据 ( 二 ) 就 业 落 实 情 况 本 科 生 各 专 业 就 业 率 硕

Microsoft Word - 会议指南

Microsoft Word - 封面.doc

HR之友电子期刊

untitled

★ 江苏省就业工作先进集体

Microsoft Word - ~ doc

<4D F736F F D20B9E3B6ABCDE2D3EFCDE2C3B3B4F3D1A7C4CFB9FAC9CCD1A7D4BA BDECB1CFD2B5C9FABECDD2B5D6CAC1BFB1A8B8E62E646F63>

第20回黒部川ダム排砂評価委員会

Ps22Pdf

Transcription:

;P3.3 警报器 ;* ( 程序转载请著明出处, 未声明可适应本站腾龙 /isp 开发套件 / 倚天版开发套件 * ;* E-mail:sxj1974@163.com (51c51 test web) 51 测试网, 自学单片机的网站 * ;* Create by : 石学军 www.51c51.com www.8951.com 更多例程请登陆网站 * org 00h ajmp dlv org 0030h dlv: mov r2,#08h ; 赋循环初值 dlv1: mov r3,#0fah dlv2: cpl p3.3 ; 产生脉冲 lcall d5ms ; 延时 djnz r3,dlv2 djnz r2,dlv1 mov r2,#10h ; 改变循环初值 dlv3: mov r3,#0fah dlv4: cpl p3.3 lcall d25ms djnz r3,dlv4 djnz r2,dlv3 sjmp dlv d5ms: mov r7,#0ffh ; 延时 5MS loop:nop nop djnz r7,loop d25ms: mov r6,#0ffh lin:djnz r6,lin ; 延时 2.5MS end

; 小喇叭滴滴声 ;* ( 程序转载请著明出处, 未声明可适应本站腾龙 /isp 开发套件 / 倚天版开发套件 * ;* E-mail:sxj1974@163.com (51c51 test web) 51 测试网, 自学单片机的网站 * ;* Create by : 石学军 www.51c51.com www.8951.com 更多例程请登陆网站 * org 0000h ajmp main org 0030h main: CPL P3.3 ; 取反小喇叭 (p3.3) lcall delay ; 调用延时 ajmp main ; 反复循环 delay: ; 延时子程序 mov r7,#00h LLA: DJNZ R7,LLA end

; 小喇叭的救护车声 ;* ( 程序转载请著明出处, 未声明可适应本站腾龙 /isp 开发套件 / 倚天版开发套件 * ;* E-mail:sxj1974@163.com (51c51 test web) 51 测试网, 自学单片机的网站 * ;* Create by : 石学军 www.51c51.com www.8951.com 更多例程请登陆网站 * org 0000h ajmp main org 0030h main: MOV R2,#08H DLV1: MOV R3,#0FAH DLV2: CPL P3.3 LCALL DELAY1 ; 延时 DJNZ R3,DLV2 DJNZ R2,DLV1 MOV R2,#10H ; 改变循环初值 DLV3: MOV R3,#0FAH DLV4: CPL P3.3 LCALL DELAY2 DJNZ R3,DLV4 DJNZ R2,DLV3 ajmp main delay1: mov r7,#00h LLA: DJNZ R7,LLA delay2: mov r7,#128 LLB: DJNZ R7,LLB end

;;P3.3 小喇叭 --- 生日快乐 ;* ( 程序转载请著明出处, 未声明可适应本站腾龙 /isp 开发套件 / 倚天版开发套件 * ;* E-mail:sxj1974@163.com (51c51 test web) 51 测试网, 自学单片机的网站 * ;* Create by : 石学军 www.51c51.com www.8951.com 更多例程请登陆网站 * org 0000h ajmp main org 000bh jmp tim0 org 0030h main: ; 主程序 mov tmod,#01h ; 设定时方式 mov ie,#82h ; 开中断 start0: mov 30h,#00h ; next: mov a,30h mov dptr,#table movc a,@a+dptr ; 查表取音调和节拍 mov r2,a jz end0 ; 为零, 不进行处理. anl a,#0fh mov r5,a ; 将节拍存入 R5 mov a,r2 swap a anl a,#0fh jnz sing ; 根据音调决定是否演奏. clr tr0 jmp d1 sing: dec a mov 22h,a ; 将音调存入 22H. rl a mov dptr,#table1 movc a,@a+dptr ; 根据音调决定定时器初值. mov th0,a ; 放入 TH0 mov 21h,a mov a,22h rl a inc a movc a,@a+dptr mov tl0,a ; 放入 TL0 mov 20h,a setb tr0 ; 启动定时 d1: call delay

inc 30h jmp next end0: clr tr0 jmp start0 tim0: ; 定时器中断服务程序 push acc push psw mov tl0,20h ; 重赋初值. mov th0,21h cpl p3.3 pop psw pop acc i delay: mov r7,#02h ; 延时子程序 d2: mov r4,#187 d3: mov r3,#248 djnz r3,$ djnz r4,d3 djnz r7,d2 djnz r5,delay table1: ; 决定音调的定时初值. dw 64260,64400,64524,64580 dw 64684,64777,64820,64898 dw 64968,65030,65058,65110 dw 65157,65178,65217 table: ; 决定音调和节拍的表格, 不同的歌曲只是此表不同 ;1 db 82h,01h,81h,94h,84h,0b4h,0a4h,04h,82h,01h,81h,94h,84h,0c4h,0b4h,04h ;2 db 82h,01h,81h,0f4h,0d4h,0b4h,0a4h,94h,0e2h,01h,0e1h,0d4h,0b4h,0c4h,0b4h,04h ;3 db 82h,01h,81h,94h,84h,0b4h,0a4h,04h,82h,01h,81h,94h,84h,0c4h,0b4h,04h ;4 db 82h,01h,81h,0f4h,0d4h,0b4h,0a4h,94h,0e2h,01h,0e1h,0d4h,0b4h,0c4h,0b4h,04h,00 end

;P3.3 小喇叭 --- 生日快乐 ;* ( 程序转载请著明出处, 未声明可适应本站腾龙 /isp 开发套件 / 倚天版开发套件 * ;* E-mail:sxj1974@163.com (51c51 test web) 51 测试网, 自学单片机的网站 * ;* Create by : 石学军 www.51c51.com www.8951.com 更多例程请登陆网站 * ORG 0000H LJMP START ORG 000BH INC 20H ; 中断服务, 中断计数器加 1 MOV TH0,#0D8H MOV TL0,#0EFH ;12M 晶振, 形成 10 毫秒中断 RETI START: MOV SP,#50H MOV TH0,#0D8H MOV TL0,#0EFH MOV TMOD,#01H MOV IE,#82H MUSIC0: MOV DPTR,#DAT ; 表头地址送 DPTR MOV 20H,#00H ; 中断计数器清 0 MOV B,#00H ; 表序号清 0 MUSIC1: CLR A MOVC A,@A+DPTR ; 查表取代码 JZ END0 ; 是 00H, 则结束 CJNE A,#0FFH,MUSIC5 LJMP MUSIC3 MUSIC5: MOV R6,A INC DPTR MOV A,B MOVC A,@A+DPTR ; 取节拍代码送 R7 MOV R7,A SETB TR0 ; 启动计数 MUSIC2: CPL P3.3 MOV A,R6 MOV R3,A

LCALL DEL MOV A,R7 CJNE A,20H,MUSIC2 ; 中断计数器 (20H)=R7 否? ; 不等, 则继续循环 MOV 20H,#00H ; 等于, 则取下一代码 INC DPTR ; INC B LJMP MUSIC1 MUSIC3: CLR TR0 ; 休止 100 毫秒 MOV R2,#0DH MUSIC4: MOV R3,#0FFH LCALL DEL DJNZ R2,MUSIC4 INC DPTR LJMP MUSIC1 END0: MOV R2,#64H ; 歌曲结束, 延时 1 秒后继续 MUSIC6: MOV R3,#00H LCALL DEL DJNZ R2,MUSIC6 LJMP MUSIC0 DEL: DEL3: MOV R4,#02H DEL4: DJNZ R4,DEL4 DJNZ R3,DEL3 RET DAT: db 26h,20h,20h,20h,20h,20h,26h,10h,20h,10h,20h,80h,26h,20h,30h,20h db 30h,20h,39h,10h,30h,10h,30h,80h,26h,20h,20h,20h,20h,20h,1ch,20h db 20h,80h,2bh,20h,26h,20h,20h,20h,2bh,10h,26h,10h,2bh,80h,26h,20h db 30h,20h,30h,20h,39h,10h,26h,10h,26h,60h,40h,10h,39h,10h,26h,20h db 30h,20h,30h,20h,39h,10h,26h,10h,26h,80h,26h,20h,2bh,10h,2bh,10h

db 2bh,20h,30h,10h,39h,10h,26h,10h,2bh,10h,2bh,20h,2bh,40h,40h,20h db 20h,10h,20h,10h,2bh,10h,26h,30h,30h,80h,18h,20h,18h,20h,26h,20h db 20h,20h,20h,40h,26h,20h,2bh,20h,30h,20h,30h,20h,1ch,20h,20h,20h db 20h,80h,1ch,20h,1ch,20h,1ch,20h,30h,20h,30h,60h,39h,10h,30h,10h db 20h,20h,2bh,10h,26h,10h,2bh,10h,26h,10h,26h,10h,2bh,10h,2bh,80h db 18h,20h,18h,20h,26h,20h,20h,20h,20h,60h,26h,10h,2bh,20h,30h,20h db 30h,20h,1ch,20h,20h,20h,20h,80h,26h,20h,30h,10h,30h,10h,30h,20h db 39h,20h,26h,10h,2bh,10h,2bh,20h,2bh,40h,40h,10h,40h,10h,20h,10h db 20h,10h,2bh,10h,26h,30h,30h,80h,00H END

; 八月桂花香唱歌程序 ;* ( 程序转载请著明出处, 未声明可适应本站腾龙 /isp 开发套件 / 倚天版开发套件 * ;* E-mail:sxj1974@163.com (51c51 test web) 51 测试网, 自学单片机的网站 * ;* Create by : 石学军 www.51c51.com www.8951.com 更多例程请登陆网站 * ORG 0000H LJMP START ORG 000BH ; 中断入口 INC 20H ; 中断服务程序, 中断计数器加 1 MOV TH0,#0D8H MOV TL0,#0EFH ;12M 晶振, 形成 10 毫秒中断 RETI START: MOV SP,#50H MOV TH0,#0D8H MOV TL0,#0EFH MOV TMOD,#01H MOV IE,#82H MUSIC0: MOV DPTR,#DAT ; 表头地址送 DPTR MOV 20H,#00H ; 中断计数器清 0 MOV B,#00H ; 表序号清 0 MUSIC1: CLR A MOVC A,@A+DPTR ; 查表取代码 JZ END0 ; 是 00H, 则结束 CJNE A,#0FFH,MUSIC5 LJMP MUSIC3 MUSIC5: MOV R6,A INC DPTR MOV A,B MOVC A,@A+DPTR ; 取节拍代码送 R7 MOV R7,A SETB TR0 ; 启动计数 MUSIC2: CPL P3.3

MOV A,R6 MOV R3,A CPL A MOV P1,A ; 显示 ( 修改者加入的显示 ) CPL A LCALL DEL MOV A,R7 CJNE A,20H,MUSIC2 ; 中断计数器 (20H)=R7 否? ; 不等, 则继续循环 MOV 20H,#00H ; 等于, 则取下一代码 INC DPTR LJMP MUSIC1 MUSIC3: CLR TR0 ; 休止 100 毫秒 MOV R2,#0DH MUSIC4: MOV R3,#0FFH LCALL DEL DJNZ R2,MUSIC4 INC DPTR LJMP MUSIC1 END0: MOV R2,#64H ; 歌曲结束, 延时 1 秒后继续 MUSIC6: MOV R3,#00H LCALL DEL DJNZ R2,MUSIC6 LJMP MUSIC0 DEL: DEL3: MOV R4,#05H DEL4: DJNZ R4,DEL4 DJNZ R3,DEL3 RET DAT: DB 18H, 30H, 1CH, 10H

DB 20H, 40H, 1CH, 10H DB 18H, 10H, 20H, 10H DB 1CH, 10H, 18H, 40H DB 1CH, 20H, 20H, 20H DB 1CH, 20H, 18H, 20H DB 20H, 80H, 0FFH,20H DB 30H, 1CH, 10H, 18H DB 20H, 15H, 20H, 1CH DB 20H, 20H, 20H, 26H DB 40H, 20H, 20H, 2BH DB 20H, 26H, 20H, 20H DB 20H, 30H, 80H, 0FFH DB 20H, 20H, 1CH, 10H DB 18H, 10H, 20H, 20H DB 26H, 20H, 2BH, 20H DB 30H, 20H, 2BH, 40H DB 20H, 20H, 1CH, 10H DB 18H, 10H, 20H, 20H DB 26H, 20H, 2BH, 20H DB 30H, 20H, 2BH, 40H DB 20H, 30H, 1CH, 10H DB 18H, 20H, 15H, 20H DB 1CH, 20H, 20H, 20H DB 26H, 40H, 20H, 20H DB 2BH, 20H, 26H, 20H DB 20H, 20H, 30H, 80H DB 20H, 30H, 1CH, 10H DB 20H, 10H, 1CH, 10H DB 20H, 20H, 26H, 20H DB 2BH, 20H, 30H, 20H DB 2BH, 40H, 20H, 15H DB 1FH, 05H, 20H, 10H DB 1CH, 10H, 20H, 20H DB 26H, 20H, 2BH, 20H DB 30H, 20H, 2BH, 40H DB 20H, 30H, 1CH, 10H DB 18H, 20H, 15H, 20H DB 1CH, 20H, 20H, 20H DB 26H, 40H, 20H, 20H DB 2BH, 20H, 26H, 20H DB 20H, 20H, 30H, 30H DB 20H, 30H, 1CH, 10H DB 18H, 40H, 1CH, 20H DB 20H, 20H, 26H, 40H

DB 13H, 60H, 18H, 20H DB 15H, 40H, 13H, 40H DB 18H, 80H, 00H end

;* ( 程序转载请著明出处, 未声明可适应本站腾龙 /isp 开发套件 / 倚天版开发套件 * ;* E-mail:sxj1974@163.com (51c51 test web) 51 测试网, 自学单片机的网站 * ;* Create by : 石学军 www.51c51.com www.8951.com 更多例程请登陆网站 * ; 应天津网友张默要求编制的八音盒程序, 适用于本站各版本开发套件 ; 声音分十个频率逐渐提高, 修改频率和时长可实现不同的声音效果 ;if the 32h&33h overflow,then p3.3 cpl. ;if the 30h&31h overflow,then update 32h&33h. org 0000h ajmp main org 000bh ajmp timer0 org 0030h timer0: clr ea djnz 33h,exit mov 33h,53h djnz 32h,exit mov 32h,52h djnz 31h,exit1 mov 31h,51h djnz 30h,exit1 setb f0 ajmp exit exit1: cpl p3.3 exit: setb ea i main: mov tmod,#02h mov ie,#82h mov th0,#254 mov tl0,#254 mov dptr,#tab main1: mov 40h,#00h loop: clr ea mov a,40h movc a,@a+dptr mov 30h,a mov 50h,a

inc 40h mov a,40h movc a,@a+dptr mov 31h,a mov 51h,a inc 40h mov a,40h movc a,@a+dptr mov 32h,a mov 52h,a inc 40h mov a,40h movc a,@a+dptr mov 33h,a mov 53h,a setb ea setb tr0 jnb f0,$ clr f0 inc 40h mov a,40h cjne a,#40,loop ajmp main1 tab: ; 30h,31h,32h,33h db 2,25,24,16 ;low frequency db 4,25,24,8 db 8,25,24,4 db 12,25,12,4 db 20,25,6,4 db 30,25,5,4 db 40,25,4,4 db 50,25,3,4 db 60,25,2,4 db 70,50,1,4 end

; 小喇叭的爬音演奏, 即 do,rui,mi,fa,so,la,xi,do ;30h= 步进值,21h 低 8 位 22h 高 8 位 ;* ( 程序转载请著明出处, 未声明可适应本站腾龙 /isp 开发套件 / 倚天版开发套件 * ;* E-mail:sxj1974@163.com (51c51 test web) 51 测试网, 自学单片机的网站 * ;* Create by : 石学军 www.51c51.com www.8951.com 更多例程请登陆网站 * org 0000h ajmp main org 000bh jmp tim0 org 0030h main: ; 主程序 mov tmod,#01h ; 设定时方式 mov ie,#82h ; 开中断 start0: mov 30h,#00h ; next: mov a,30h jnz sing ; 根据音调决定是否演奏. clr tr0 jmp d1 sing: dec a mov 22h,a ; 将音调存入 22H. rl a mov dptr,#table1 movc a,@a+dptr ; 根据音调决定定时器初值. mov th0,a ; 放入 TH0 mov 21h,a mov a,22h rl a inc a movc a,@a+dptr mov tl0,a ; 放入 TL0 mov 20h,a jz end0 ; 如果到了 00 则停止发音 setb tr0 ; 启动定时 d1: call delay inc 30h ; 取下一个码 jmp next end0: clr tr0 jmp start0 ; 重新开始 tim0: ; 定时器中断服务程序

push acc push psw mov tl0,20h ; 重赋初值. mov th0,21h cpl p3.3 pop psw pop acc i delay: mov r7,#03h ; 延时子程序决定每个音的时间 d2: mov r4,#187 d3: mov r3,#248 djnz r3,$ djnz r4,d3 djnz r7,d2 table1: ; 决定音调的定时初值. dw 64260,64400,64524,64580 dw 64684,64777,64820,64898 dw 64968,65030,65058,65110 dw 65157,65178,65217,00 end

; 小电子琴, 按 P3 口的小键盘喇叭发出不同频率的声音 同时数码管显示不同的数字 ;* ( 程序转载请著明出处, 未声明可适应本站腾龙 /isp 开发套件 / 倚天版开发套件 * ;* E-mail:sxj1974@163.com (51c51 test web) 51 测试网, 自学单片机的网站 * ;* Create by : 石学军 www.51c51.com www.8951.com 更多例程请登陆网站 * org 0000h ljmp start org 0030h start: mov p2,#0ffh CLR P2.6 ; 选中最右边的七段码 mov p3,#0ffh ; 初始化, 键盘全部置高 l1: jnb p3.2,l2 ; 监测键盘如果 3.2 按下执行 l2 jnb p3.4,l3 ; jnb p3.5,l4 ; 检测按键 ljmp l1 ; 循环检测 l2: cpl p3.3 ; 小喇叭响 mov p0,#7eh ; 显示 '1' lcall delay1 ; 延时 1 ljmp l1 ; 重新监测键盘 l3: cpl p3.3 mov p0,#0a2h ; 显示 '2' lcall delay2 ljmp l1 l4: cpl p3.3 mov p0,#62h ; 显示 '3' lcall delay3 ljmp l1 delay1: mov r5,#100; 延时 1 djnz r5,$ delay2: mov r5,#180; 延时 2 djnz r5,$ delay3: mov r5,#250 ; 延时 3 djnz r5,$ end

Powered by XiaoGuo s publishing Studio QQ:8204136 Website: www.mcuzone.com 2005