全文预览

电话键盘及拨号的模拟

上传者:塑料瓶子 |  格式:doc  |  页数:19 |  大小:320KB

文档介绍
存储器时,锁存低8位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。这一位置“1”,ALE仅在执行MOVX或MOVC指令时有效。否则,ALE将被微弱拉高。这个ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。3、流程图开始系统初始化键盘扫描设置按键是否按下?N读取按键Y按键是否超过10位?Y显示N3、电路设计3.1电路原理图3.2程序清单#include<reg51.h>//包含单片机寄存器的头文件#include<intrins.h>//包含_nop_()函数定义的头文件typedefunsignedintuint;typedefunsignedcharuchar;uchartemp;ucharkey=16;sbitrs=P2^0;//LCD1602数据/命令选择sbitrw=P2^1;//LCD1602读/写选择sbitlcden=P2^2;//LCD1602使能端ucharidatatable[18]="ATD+86";ucharidatatable[18];//LCD1602所显示的号码缓存数组ucharidatatable_int[18]="ATD+86";ucharidatareceive[7];ucharidataerro[7]="erronum";ucharnum=6,a=0,b=0;//b接收,a发送,num表示table[]第几位#definedelayNOP();{_nop_();_nop_();_nop_();_nop_();};//宏定义,方便写代码/*延时子程序*/

收藏

分享

举报
下载此文档