电子设计-基于stc89c52rc单片机的简易计算器设计内容摘要:
XTAL2引脚连接一个晶体振荡器或者陶瓷振荡器,并接两个电容后接地即可,在使用时对于电容的选择有一定的 要求: 当外接晶体振荡器的时候,电容值一般选择 C1=C2=30+10pF或 3010pF; 当外接陶瓷振荡器的时候,电容值一般选择 C1=C2=40+10pF或 4010pF; STC89C52介绍: STC89C52是一种低功耗、高性能 CMOS8位微控制器, 具有 8K 在系统可编程 Flash 存储器。 在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编程Flash,使得 STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节 Flash, 512字节 RAM, 32 位 I/O 口线, 看门狗电路 , 内置 4KB EEPROM, MAX810复位电路, 三个 16 位 定时器 /计数器, 一个 6向量 2级中断结构, 全双工串行口。 另外 STC89X52 可降至 0Hz 静态逻辑操作,支持 2种 软件 可选择节电模式。 空闲模式下,CPU 停止工作,允许 RAM、定时器 /计数器、串口、中断继续工作。 掉电保护方式下, RAM 17 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。 最高运作频率 35Mhz, 6T/12T可选。 和 atmel的对比 STC89C52RC单片机 : 8K字节程序存储空间; 512字节数据存储空间; 内带 4K字节 EEPROM存储空间。 可直接使用串口下载; AT89S52单片机 : 8K字节程序存储空间; 256字节数据存储空间; 没有内带 EEPROM存储空间。 LCD1602介绍: 18 1602采用标准的 16脚接口,其中: 第 1脚: VSS 为电源地 第 2脚: VDD 接 5V 电源正极 第 3脚: V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生 “鬼影 ”,使用时可以通过一个 10K 的电位器调整 对比度)。 第 4脚: RS 为寄存器选择,高电平 1时选择数据寄存器、低电平 0时选择指令寄存器。 第 5脚: RW 为读写信号线,高电平 (1)时进行读操作,低电平 (0)时进行写操作。 第 6脚: E(或 EN)端为使能 (enable)端。 第 7~ 14脚: D0~ D7为 8位双向数据端。 第 15~ 16脚:空脚或背灯电源。 15脚背光正极, 16脚背光负极 602LCD 的特性 n+5V 电压,对比度可调 n 内含复位电路 n 提供各种控制命令 ,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能 n 有 80字节显示数据存储器 DDRAM n 内建有 192个 5X7点阵的字型的字符发生器 CGROM n8个可由用户自定义的 5X7的字符发生器 CGRAM 读的时候,先读左边那列,再读上面那行,如:感叹号。 的 ASCII 为 0x21,字母 B 的 ASCII 为 0x42(前面加 0x表示十六进制) 1602通过 D0~D7的 8位数据端传输数据和指令。 显示模式设置: (初始化 ) 0011 0000 [0x38] 设置 162显示, 57点阵, 8位数据接口; 显示开关及光标设置: (初始化 ) 0000 1DCB D 显示 (1有效 )、 C 光标显示 (1有效 )、 B 光标闪烁 (1有效 ) 0000 01NS N=1(读或写一个字符后地址指针加 1 amp。 光标加 1), N=0(读或写一个字符后地址指针减 1 amp。 光标减 1), S=1 且 N=1 (当写一个字符后,整屏显示左移 ) s=0 当写一个字符后,整屏显示不移动 数据指针设置: 数据首地址为 80H,所以数据地址为 80H+地址码 (027H, 4067H) 其他设置: 01H(显示清屏,数据指针 =0,所有显示 =0); 02H(显示回车,数据指针 =0)。 19 (三)、键盘接口电路: 计算器输入数字和其他功能按键要 用到很多按键,如果采用独立按键的方式,在这种情况下,编程会很简单,但是会占用大量的 I/O 口资源,因此在很多情况下都不采用这种方式,而是采用矩阵键盘的方案。 矩阵键盘采用四条 I/O 线作为行线,四条 I/O 线作为列线组成键盘,在行线和列线的每个交叉点上设置一个按键。 这样键盘上按键的个数就为 4 4个。 这种行列式键盘结构能有效地提高单片机系统中 I/O 口的利用率。 矩阵键盘的工作原理: 计算器的键盘布局如图 1所示:一般有 16个键组成,在单片机中正好可以用一个 P口实现 16个按键功能,这种形式在单片机系统中也最常用。 图 1 矩阵键盘布局图 矩阵键盘内部电路图如图 2所示: 20 (四)、 LCD 显示模块: 本设计采用 LCD 液晶显示器来显示输出数据。 通过 D0D7 引脚向 LCD 写指令字或写数据以使 LCD 实现不同的功能或显示相应数据。 图 5 LCD 模块 (五)运算模块(单片机控制): MCS51 单片机是在一块芯片中集成了 CPU、 RAM、 ROM、定时器 /计数器和多功能 I/O等一台计算机所需要的基本功能部件。 如果按功能划分,它由如下功能部件组成,即微处理器( CPU)、数据存储器( RAM)、程序存储器( ROM/EPROM)、并行 I/O 口、串行口、定时器 /计数器、中断系统及特殊功能寄存器( SFR)。 单片机是靠程序运行的,并且可以修改。 通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,通过使用单片机编写的程序可以实现高智能,高 21 效率,以及高可靠性。 因此我们采用单片机作为计算器的主要功能部件,可以很快地实现运算功能。 PCB设计: 实验现象、数据记录 数码显示及运算 22 最多九位显示及运算 当超出时溢出显示 23 五、总结 在实验中遇到了这样那样的问题,软件的编辑中使得 c语言的应用更加熟练; 在硬件的实现中又出现了软件和硬件不统一的问题,本实验我做了两次,第一次的时候 STC89C52 单片机的 P2 口的 ~~ 分别对应连接到 LCD1602的 D7~~D0 口,这就使得在写程序的时候需要把所有读写的数据以及地址都按位取反,改写程序比较复杂,最终调试失败,又改变了硬件电路。 最终成功; 本次设计不管在软件,或是在硬件方面都让我受益匪浅,让我所学的知识得以应用到实践,经过这次创新性实验,也令我看到了很多的不足,在实验中的一些 程序不能够及时编辑正确,需要很长时间的设计。 硬件中我对单片机实验板上的很多硬件不是很清楚,使得在下载程序后,又进行了很长时间的调整。 六、主要程序代码 include define uchar unsigned char define uint unsigned int define KEYDATA P1 uchar key。 uchar dis_buff。 void Delay1(uint x) { uint i,j。 for(i=0。 ix。 i++) for(j=0。 j112。 j++)。 } uchar KeyScan(void) { uchar temp=0。 key=0。 KEYDATA=0xf0。 Delay1(1)。 temp=KEYDATA。 temp=tempamp。 0xf0。 temp=~((temp4)|0xf0)。 if(temp==1)key=0。 24 else if(temp==2)key=1。 else if(temp==4)key=2。 else if(temp==8)key=3。 else key=16。 KEYDATA=0x0f。 Delay1(1)。 temp=KEYDATA。 temp=tempamp。 0x0f。 temp=~(temp|0xf0)。 if(temp==1)key+=12。 else if(temp==2)key+=8。 else if(temp==4)key+=4。 else if(temp==8)key+=0。 else key=16。 if(key16) dis_buff=key。 return dis_buff。 } uchar KeyDown(void) { uchar keyFlag。 uchar temp。 KEYDATA=0xf0。 if(KEYDATA!=0xf0) { temp=KEYDATA。 Delay1(200)。 if(temp==KEYDATA) keyFlag=1。 else keyFlag=0。 } else keyFlag=0。 25 return key。电子设计-基于stc89c52rc单片机的简易计算器设计
相关推荐
标价(万 元) 交 货 期 交货地点 备注 投标单位: 法人授权代表: (公章) (签 章) 年 月 日 四、投标设备数量价格表格式 投标设备数量价格表 招标文件编号: 单位:万元 序号 设备名称 设 备 价 其 它 费 用 投 标 价 (设备总价与其他费用总金额之和) 数量 (台) 单价 总价 运输费 调试费 品备件费 总金额 投标单位: (盖章) 法人授权代表: (签字) 五
耗电数据,实时监控各配电室、大型设备、重要设备运行数据,记录在库,方便查询,实现了办公 自动化;自 5 月份运行至今 12 月份,准确率 100%; 五:员工培训工作 在技术培训上,改变培训方式,将培训内容做成课件,每月组织全体员工进行培训,回到班组后再次组织班组成员二次学习,通过理论及实操培训,有效提高了员工的业务能力,为下一步的工作奠定了基础。 2020 年自 8 月份以来电修连续进入新员工
车道上时,车头碰到 1 号线抓拍 1张,离开 1 号线抓拍 1张,如果车辆从 2 号或者 3 号线离开则表明该车在该车道违法左转或者直行抓拍 1张。 3张组成完成的违法 取证 过程。 车辆压分道线或车辆变道抓拍:每辆车出现在画面时抓拍 1张并记录其车道号,如果发现该车踪迹变更到其他车道则抓拍 1 张。 2 张图像 组成完成的违法 取证 过程。 违法逆行抓拍
制桶车间技术指导。 C. 制桶车间设备维修。 D. 制桶车间设备管理。 E. 解决制桶车间日常遇到的技术难题及新产品试制。 A. 根 据生产计划部下达的生产任务,精 心合理安排生产按计划保质保量完成生产任务。 B. 组织生产现场的文明、产品标识、工序中的产品防护工作和安全管理。 D. 组织做好生产过程的各种原始记录及统计工作,保证各种原始资料的完整性、准确性、可追溯性。 E. 协助行政部按
: 译码显示电路由 CD451数码管和若干个 330Ω的电阻组成,输入信号由减法计数电路提供,根据提供的信号,显示出相应的数字,图如下所示: 1KR81KR91KR101KR111KR121KR131KR14f9g10e1d2K3c4DP5b6a7K8DS2A7B1C2D6LT3BI4LE5A13B12C11D10E9F15G14U24511B1B2B3B4B5B6B7 4. 秒脉冲控制电路: