- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1.实验目的。
1、掌握单片机定时器、中断、键盘扫描、动态显示及数值计算的综合运用能力;
2、掌握编程的运用能力;
3、设计一只简易的16键计算器。
2.实验内容。
图5-1 简易16键计算器
编程实现图5-1的简易16键4位十进制整数计算器的功能。要求:
1.设计4*4的键盘,其中10个数字键0~9,其余6个为“+” “-” “*”“/” “=”和“C”
2.设计4位LED接口电路或LCD显示电路
3.实现2位数的简单运算
编程提示:
1、定时显示
开辟一显示缓冲区,显示中断程序定时读取缓冲区显示各位数字,每位显示2.5ms,显示4位需要10ms,也就是显示的刷新频率是100Hz。这样既保证亮度又不闪烁,同时CPU还有足够时间做其他事情。
2、键盘中断扫描
利用键盘中断扫描程序,读出按键的键码,存入键盘缓冲区,供主程序读取。
3、计算器的主程序读取键盘缓冲区的键码,驱动计算器的运行。
4、计算中需要十进制与十六进制(或二进制)转化。
3、系统硬件设计电路图
矩阵键盘的硬件接线仿真图
LCD1602的接线仿真图
P0.0~P0.7引脚接lcd的D0-D7,P3口接矩阵键盘。单片机的P2.4、P2.0、P2.3脚分别接到LCD的RS、R/W、E管。
整体电路图为:
显示电路,LCD1602A的引脚详细介绍:
采用LCD1602A来显示,要求能显示两行。它的—引脚分别接到单片机的P0.0~P0.7引脚;RS、R/W、E管脚分别接到单片机的P2.4、P2.0、P2.3 。具体连接见后面的电路图。
以下是1602的16进制ASCII码表
软件设计。包含程序主框图,所有程序。
分析可知共分为七个模块:键盘扫描部分,定义各个位置上的键值部分,延迟部分,存贮部分,液晶显示部分,运算部分,动态显示部分。运用了proteus软件仿真电路,使用keil软件进行程序的编写与调试。
Keil软件编写过程截图:
Proteus软件仿真电路图编写过程截图:
主程序流程图如下:
代码:
#includereg51.h
#define uint unsigned int
#define uchar unsigned char
sbit lcden=P2^3;
sbit rs=P2^4;
sbit rw=P2^0;
sbit busy=P0^7;
char i,j,temp,num,num_1;
long a,b,c;
float a_c,b_c;
uchar flag,fuhao;
uchar code table[]={
7,8,9,0,
4,5,6,0,
1,2,3,0,
0,0,0,0};
uchar code table1[]={
7,8,9,0x2f-0x30,
4,5,6,0x2a-0x30,
1,2,3,0x2d-0x30,
0x01-0x30,0,0x3d-0x30,0x2b-0x30};
void delay(uchar z)
{
uchar y;
for(z;z0;z--)
for(y=0;y110;y++);
}
void check()
{
do{
P0=0xFF;
rs=0;
rw=1;
lcden=0;
delay(1);
lcden=1;
}while(busy==1);
}
void write_com(uchar com)
{
P0=com;
rs=0;
rw=0;
lcden=0;
check();
lcden=1;
}
void write_date(uchar date)
{
P0=date;
rs=1;
rw=0;
lcden=0;
check();
lcden=1;
}
void init()
{
num=-1;
lcden=1;
write_com(0x01);
write_com(0x38);
write_com(0x0c);
write_com(0x06);
write_com(0x80);
write_com(0x01);
num_1=0;
i=0;
j=0;
a=0;
b=0;
c=0;
flag=0;
fuhao=0;
}
void keyscan()
{
P1=0xfe;
if(P1!=0xfe)
{
delay(20);
if(P1!=0xfe)
{
temp=P10xf0;
switch(temp)
{
case 0xe0:num=0;
break;
case 0xd0:num=1;
您可能关注的文档
- GIS和模型技术在排水防涝规划中地应用.pdf
- GIS在旅游方面地应用.ppt
- GMAT写作短题目地解题技巧-智课教育.pdf
- HGT 20570.14-1995 人身防护应急系统地设置.pdf
- HY5WS-17-50避雷器.docx
- IOT时代地安全及威胁趋势、挑战2.3.pptx
- IT技术人员地六大方向.doc
- linux基础CHAP8(NFS).ppt
- maya模型教程:简单道具地制作.pdf
- MC8051_IP核简单指令地仿真步骤.pdf
- 2025年绿色水利发电技术发展动态与挑战分析报告.docx
- 2025年学历类自考电子商务案例分析-幼儿文学参考题库含答案解析(5套试卷).docx
- 2025年学历类自考国际私法-英语(二)参考题库含答案解析(5套试卷).docx
- 年产15万套储能电池测试系统项目可行性研究报告.docx
- 2025年学历类自考国际法-行政组织理论参考题库含答案解析(5套试卷).docx
- 2025年建筑工程类一级建造师铁路工程-建设工程项目管理(新)参考题库含答案解析(5套试卷).docx
- 2025年小米汽车智能驾驶系统测试与验证报告.docx
- 2025年上海市柑橘园生态景观提升工程可行性研究报告.docx
- 旅游地产开发模式专题研究.pptx
- 食管癌Claudin1靶向药项目可行性研究报告.docx
文档评论(0)