没有合适的资源?快使用搜索试试~ 我知道了~
单片机控制AD9851源程序
4星 · 超过85%的资源 需积分: 10 15 下载量 198 浏览量
2010-04-27
14:11:44
上传
评论
收藏 47KB DOC 举报
温馨提示
试读
13页
采用AD9851和AT89S52做成的正弦信号发生器,最高频率为70Mhz左右,还要配合一块12864带中文字库的液晶显示器和一个4X4的键盘,就可以任意输入想要的频率了0
资源推荐
资源详情
资源评论
这是采用 AD9851 和 AT89S52 做成的正弦信号发生器,最高频率为 70Mhz 左右,还要配
合一块 12864 带中文字库的液晶显示器和一个 4X4 的键盘,就可以任意输入想要的频率了,
以下是源代码:
;经过严格测试,本程序运行良好
;其中 LCD_0-7 是 LCD 显示内容的缓存地址
;48H,47H,46H,45H 是 DDS 的频率控制字的缓存地址,以上是从低位向高位排列
;********************************************************************
RS EQU P3.2
RW EQU P3.3
E EQU P3.4
W_CLK EQU P3.5
FQ_UD EQU P3.6
COM EQU 21H
DAT EQU 22H
LCD_0 EQU 37H
LCD_1 EQU 38H
LCD_2 EQU 39H
LCD_3 EQU 3AH
LCD_4 EQU 3BH
LCD_5 EQU 3CH
LCD_6 EQU 3DH
LCD_7 EQU 3EH
;*********************************************以上是接口及内存地址定义
ORG 0000H
MOV SP,#60H
AJMP MAIN
ORG 0010H
MAIN: ACALL FRE_INL
WORK: ACALL SHOW_FRE
ACALL DISP
LCALL LCDTODDS
ACALL AD9851
KEY: MOV P1,#0FH ;采用线反转法编写的程序
MOV A,P1
ANL A,#0FH
CJNE A,#0FH,KEYA
AJMP KEY
KEYA: ACALL DELAY10MS
MOV A,P1
ANL A,#0FH
CJNE A,#0FH,KEYB
AJMP KEY
KEYB: CPL A
MOV B,A
CJNE A,#0F0H,KEYC
AJMP KEY
KEYC: MOV P1,#0F0H
MOV A,P1
CPL A
ANL A,B
KEY1: CJNE A,#84H,KEY
AJMP MENU
MENU: ACALL LCD_INL
MOV COM,#82H
ACALL WRI
ACALL DELAY
MOV DPTR,#TAB_FRESET
MOV R2,#8
SHOW_SET: CLR A
MOVC A,@A+DPTR
MOV DAT,A
ACALL WRD
ACALL DELAY
INC DPTR
DJNZ R2,SHOW_SET
ACALL DISP
MOV R0,#38H
KEY_MENU: ACALL DISP
MOV P1,#0FH ;这是在菜单下的键盘程序
MOV A,P1
ANL A,#0FH
CJNE A,#0FH,KEY_MENUA
AJMP KEY_MENU
KEY_MENUA: ACALL DELAY10MS
MOV A,P1
ANL A,#0FH
CJNE A,#0FH,KEY_MENUB
AJMP KEY_MENU
KEY_MENUB: CPL A
MOV B,A
CJNE A,#0F0H,KEY_MENUC
AJMP KEY_MENU
KEY_MENUC: MOV P1,#0F0H
MOV A,P1
CPL A
ANL A,B
MOV R1,A
KEY_OP1: CJNE A,#84H,KEY_OP2
ACALL DISP
AJMP KEY_MENU
KEY_OP2: CJNE A,#18H,KEY_EXIT
ACALL DISP
AJMP KEY_MENU
KEY_EXIT: CJNE A,#88H,KEY_OP3
JMP WORK
KEY_OP3: CJNE A,#44H,KEY_RIGHT
AJMP KEY_MENU
KEY_RIGHT: CJNE A,#48H,KEY_LEFT
CJNE R0,#3EH,KEY_RIGHT_OK
MOV R0,#37H
AJMP KEY_MENU
KEY_RIGHT_OK: INC R0
AJMP KEY_MENU
KEY_LEFT: CJNE A,#28H,KEY_1
CJNE R0,#37H,KEY_LEFT_OK
MOV R0,#3EH
AJMP KEY_MENU
KEY_LEFT_OK: DEC R0
AJMP KEY_MENU
KEY_1: CJNE A,#11H,KEY_2
MOV @R0,#1
AJMP KEY_MENU
KEY_2: CJNE A,#21H,KEY_3
MOV @R0,#2
AJMP KEY_MENU
KEY_3: CJNE A,#41H,KEY_4
MOV @R0,#3
AJMP KEY_MENU
KEY_4: CJNE A,#81H,KEY_5
MOV @R0,#4
AJMP KEY_MENU
KEY_5: CJNE A,#12H, KEY_6
MOV @R0,#5
AJMP KEY_MENU
KEY_6: CJNE A,#22H,KEY_7
MOV @R0,#6
AJMP KEY_MENU
KEY_7: CJNE A,#42H,KEY_8
MOV @R0,#7
AJMP KEY_MENU
剩余12页未读,继续阅读
资源评论
- xt913212013-09-05引脚没有标明清楚
- TB2232013-03-17程序代码比较详细,附有一些文字描述,如果是C语言的就更好了。
- 普通网友2013-04-14还不错,学习对AD9851编程的同学可以参考一下。
yiyuweixuan
- 粉丝: 1
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功