- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
msp430简易计算器
/**************************************************************
程序功能:实现六位数的加,减,乘,除和数的n次方,键盘K0~K9的键值
为0~9,K12~K15分别为+,—,*和/,K10为=,K11为上次输入数的n方。
***************************************************************/
#include msp430x14x.h
#include math.h
#define uint unsigned int
#define uchar unsigned char
const uchar segment[19]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,
0xb7,0xc8,0x8f,0xbf,0x89,0xb9,0xff,0x86,0x88};
uchar static key_flag;
uchar static key1;
uchar A[6]={0,0,0,0,0,0}; //第一次输入的各位数
uchar B[6]={0,0,0,0,0,0}; //第二次输入的各位数
uchar F[8]={0,0,0,0,0,0,16,16}; //存放显示的数
long int c=0; //第一次输入的数值
long int d=0; //第二次输入的数值
int e=0; //存放符号位
long int g;
/****************键盘初始化函数****************/
void int_I_O(void) //扫描键盘p1口及数码管p2,p4,p5口的板上资源初始化(数码管共阳极)
{
P1DIR |=BIT0+BIT1+BIT2+BIT3; // p1.0至p1.3为输出(p1.0至p1.3为键盘的行)
P1OUT =0x00; //p1输出初始化全为0
P5DIR |=BIT7; //p5.7输出
P5OUT =~BIT7; //使能UC573SJ芯片,p5.7为锁存器使能端,低电平有效
P2DIR |=0XFF; //p2口与阴极接口端有连接,控制p2口能获得想要的显示
P4DIR |=0XFF; //p4口与数码管控制端有连接,p4端能控制数码管的熄灭或开启
}
/****************系统时钟初始化函数****************/
void int_clk() //时钟设置为smclk=mclk=xt2clk
{
uchar i;
BCSCTL1=~XT2OFF; //xt2off=0,打开高频晶振
BCSCTL2|=SELM1+SELS;//设置smclk=mclk,并使用高频晶振
do
{
IFG1=~OFIFG;
for(i=0;i100;i++)
_NOP();
}
while((IFG1OFIFG)!=0);//直至OFIFG标志位清为0
IFG1=~OFIFG;
}
/****************timerA初始化函数****************/
void int_timer() //smclk为时钟来源,8分频,1MHz,增加模式,10ms来一个中断
{
TACTL|=TASSEL1+TACLR+ID0+ID1;//smclk为时钟来源,8分频,1MHz
TACTL|=MC0+TAIE; //增加模式,并且使能中断
TACCR0=9999; //10ms来一个中断
}
/****************检测键盘有无输入函数****************/
void fast_scan() //检测键盘有无输入,没输入key_flag=0,有输入 key_flag=1
{
uchar temp;
P1OUT =0xf0; //p1口低四位清0,高四位不变,
temp=P1OUT0xf0; //p1口为oxf0,没输入,否则有输入
if(temp==0xf0)key_flag=0; //没输入key_flag=0,有输入 key_flag=1
else
{
key_flag=1;
}
}
/****************行扫描读列值函数****************/
uchar scan_key(uchar line) //表示每行扫描一次,判断一下列值
{
uchar key;
P1OUT=line; //接受扫描行,用p
您可能关注的文档
- 6层学生公寓楼施工组织设计.doc
- 6月28日职业技能大赛理论初赛考生须知、考场安排、考场路线图.doc
- 6许可证管理程序Work Permit System.doc
- 7-8产品包装设计的构图与视觉流程.ppt
- 6月份启动大会主持词.doc
- 71探索直线平行的条件同步练习(含答案).doc
- 709160299_中考冲刺班会课件.ppt
- 7000吨化学品船技术规格书.doc
- 75千升葡萄酒庄酒项目.doc
- 76-海军直升机安全防护救生系统沈益斌.doc
- 专题04 天气与气候(期末真题汇编,广东专用)(解析版).docx
- 专题04 中国的经济发展(百题精选)(期末真题汇编)(原卷版).docx
- 专题05 建设美丽中国(专项训练)(原卷版).docx
- 专题05 建设美丽中国(专项训练)(解析版).docx
- 专题05 居民与文化 发展与合作(百题精选)(期末真题汇编)(解析版).docx
- 2024年下半年教师资格考试中学《教育知识与能力》真题(含答案和解析).docx
- 专题05 居民与文化 发展与合作(百题精选)(期末真题汇编)(原卷版).docx
- 专题05 居民与文化 发展与合作(期末真题汇编,广东专用)(解析版).docx
- 专题05 居民与文化 发展与合作(期末真题汇编,广东专用)(原卷版).docx
- 统编版七年级语文上册课件《雨的四季》.pptx
最近下载
- DB43T 262-2024 住宅室内装饰装修工程质量验收规范.pdf VIP
- 全国统一旅游电子合同7篇.docx VIP
- 2025铁路局考试真题及答案.doc VIP
- 福建省泉州市晋江市季延中学2024—2025学年八年级上学期期中考试数学试题(无答案).docx VIP
- 专题12:《渡荆门送别》-2024年中考语文诗歌鉴赏考点梳理及通关训练(原卷版).docx VIP
- 火影忍者人物介绍课件.pptx VIP
- 教师书法提升培训服务投标方案技术标.docx
- 2025宜春铁路局考试真题及答案.doc VIP
- 职称申报生物医学岗位专业技术工作总结.pptx VIP
- 湖南自然资源及不动产登记确权笔试试卷(超级重要).doc VIP
原创力文档


文档评论(0)