当前位置:首页 > 标准直流信号发生器
键盘单片机显示系统D/A转换功率放大
图1 标准电流信号发生器的原理框图
5、软件设计
本程序主要由键盘程序、显示器程序两部分组成。
(1)合理分配内存
内存是系统宝贵的资源之一,为合理利用内存,应对内存的使用通盘考虑,并反复修改使用方案,使之达到最合理利用。应尽量少使用全局变量,多使用局部变量,以提高内存的利用率。有效利用CPU内存和外围器件内存,一般情况下不建议扩展系统内存。
(2)键盘管理部分
在设计键盘管理软件之前,要先设计键盘的使用方法,按照键盘的使用方法绘制软件流程图,之后设计程序。粗细调加减键可采用查表的方式进行。
(3)显示管理部分
按照模块化设计思想,显示管理应以子程序的形式设计。
4
开始系统初始化:包括初始电流值、显示键盘扫描,取键值键值分析将需转换的数字量送至D/A转换显示
主程序流程图图2
二、单片机部分
我们采用了现在被广泛应用的AT89C51单片机,尽管它是8位机,但其处理精度完全满足系统的设计要求。该种单片机的最高频率可达到24MHz。在12MHz时,其处理速度完全达到设计要求。 AT89C51的特点:1、与MCS-51 兼容 2、4K字节可编程闪烁存储器 3、1000写/擦循环4、数据保留时间:10年5、全静态工作:0Hz-24Hz6、三级程序存储器锁定7、128*8位内部RAM8、32可编程I/O线9、两个16位定时器/计数器10、5个中断源 11、可编程串行通道12、低功耗的闲置和掉电模式13、片内振荡器和时钟电路。
5
引脚功能如下: 1~8 P1.0~P1.7脚:是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。9 RST:复位输入。10~17 P3.0`~P3.7脚:是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下所示: P3口同时为闪烁编程和编程校验接收一些控制信号。 18 XTAL2:来自反向振荡器的输出。
19 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入 20 GND: 接地。
21~28 P2.0~P2.7: 为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址高八位。在给出地址“1”时,它利用内部上拉优势,当对外部
八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器内容。
6
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 29:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次 有效。但在访问外部数据存储器时,这两次有效的 信号将不出现。
30:当访问外部存储器时,地址锁存允许/编程线的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果
微处理器在外部执行状态ALE禁止,置位无效。 31 /VPP:当 保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时, 将内部锁定为RESET;当 端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 32~39 P0.7~P0.0:为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
7
共分享92篇相关文档