EDA课设
更新时间:2024-03-28 22:43:01 阅读量: 综合文库 文档下载
# include
bit NumSem;//前后操作数的互斥信号量 bit equ;//等号判断 bit clr;//清零标志 bit add;//加标志 bit dec;//减标志 bit mul;//乘标志 bit div;//除标志
bit op;//算术符号标志 uchar KeyNum;//键值 uint result;//计算结果
uint PreNum,LatNum;//计算的两个操作数前操作数,后操作数 uchar KeyPos;
uchar DisLed[]={0xC0,0xF9,0xA4,0xB0,0x99,//LED数码七段表 0x92,0x82,0xF8,0x80,0x90}; uchar NumBufe[]={0,0,0,0}; //sbit P10=P1^0; //sbit P11=P1^1; //sbit P12=P1^2; //sbit P13=P1^3;
void T0Intal(void);//定时器0初始化程序 void DisPlay(void);//显示程序
void ResultNum(void);//计算器运算结果 void Clear(void);//清零程序
void Delay_510(void);//延时510us程序用汇编编写
void ChangeNum(uchar *p,uchar nCount);//NumBufe[]移位程序 void main(void) {
T0Intal(); while(1) {
if(NumSem) {
PreNum=NumBufe[3]*1000+NumBufe[2]*100+NumBufe[1]*10+NumBufe[0]; NumBufe[4]=0; NumSem=0; } if(op) {
if(PreNum!=0) {
if(NumBufe[4]==0)
{
NumSem=1; }
if(equ) {
if(NumBufe[4]!=0) {
LatNum=NumBufe[3]*1000+NumBufe[2]*100+NumBufe[1]*10+NumBufe[0]; //DisLed[]=0; KeyPos=0; }
ResultNum();//计算器结果计算 //DisPlay();//显示计算结果 } }
else Clear(); }
if(clr) {
Clear(); }
DisPlay();//显示计算结果 } }
void T0Intal(void) {
TMOD=0x01;
TH0=(65536-20000)/256; TL0=(65536-20000)%6; EA=1; ET0=1; TR0=1; }
void DisPlay(void) {
//uchar one,two,three,four; //one=result/1000;
P2=DisLed[NumBufe[3]]; P0=0xFE; Delay_510();
//two=(result-one*1000)/100;
P2=DisLed[NumBufe[2]]; P0=0xFD; Delay_510();
//three=(result-one*1000-two*100)/10; P2=DisLed[NumBufe[1]]; P0=0xFB; Delay_510();
//four=(result-one*1000-two*100); P2=DisLed[NumBufe[0]]; P0=0xF7; Delay_510(); }
void ResultNum(void) {
if(op) {
if(add) {
result=PreNum+LatNum; }
if(dec) {
result=PreNum-LatNum; }
if(mul) {
result=PreNum*LatNum; }
if(div) {
result=PreNum/LatNum; } }
//return result; //unsigned char
//uchar one,two,three; //one=result/1000;
NumBufe[3]=result/1000;
NumBufe[2]=(result-NumBufe[3]*1000)/100; //NumBufe[2]=two;
NumBufe[1]=(result-NumBufe[3]*1000-NumBufe[2]*100)/10; //NumBufe[1]=three;
NumBufe[0]=(result-NumBufe[3]*1000-NumBufe[2]*100);
}
void Clear(void) {
// if(Clear) //{
NumBufe[0]=0; NumBufe[1]=0; NumBufe[2]=0; NumBufe[3]=0; PreNum=0; LatNum=0; result=0; NumSem=0; KeyPos=0; clr=0; equ=0; add=0; dec=0; mul=0; div=0; op=0; // } }
void ChangeNum(uchar *p,uchar nCount) {
if(nCount<4) {
uchar ncount; ncount=nCount; while(ncount>0) {
*(p+nCount)=*(p+nCount-1); ncount--; } } }
void Delay_510(void)//延时510微秒 {
#pragma asm MOV R0,#7DH MOV R1,#02H TSR1:
DJNZ R0,TSR1 MOV R0,#7DH
DJNZ R1,TSR1 #pragma endasm }
void Time0_Isr_Int(void) interrupt 1 //定时器0中断服务子程序 {
TH0=(65536-20000)/256; TL0=(65536-20000)%6; P1=0xF0;
if((P1&0xF0)!=0xF0) {
Delay_510(); if((P1&0xF0)!=0xF0) {
P1=0xFE;
if((P1&0xF0)==0xE0)//数字键0 {
KeyNum=0;
ChangeNum(NumBufe,KeyPos); KeyPos++; }
if((P1&0xF0)==0xD0) {
KeyNum=1;
ChangeNum(NumBufe,KeyPos); KeyPos++; }
if((P1&0xF0)==0xB0) {
KeyNum=2;
ChangeNum(NumBufe,KeyPos); KeyPos++; }
if((P1&0xF0)==0x70) {
KeyNum=3;
ChangeNum(NumBufe,KeyPos); KeyPos++; }
P1=0xFD;
if((P1&0xF0)==0xE0) {
KeyNum=4;
ChangeNum(NumBufe,KeyPos);
KeyPos++; }
if((P1&0xF0)==0xD0) {
KeyNum=5;
ChangeNum(NumBufe,KeyPos); KeyPos++; }
if((P1&0xF0)==0xB0) {
KeyNum=6;
ChangeNum(NumBufe,KeyPos); KeyPos++; }
if((P1&0xF0)==0x70) {
KeyNum=7;
ChangeNum(NumBufe,KeyPos); KeyPos++; }
P1=0xFB;
if((P1&0xF0)==0xE0) {
KeyNum=8;
ChangeNum(NumBufe,KeyPos); KeyPos++; }
if((P1&0xF0)==0xD0) {
KeyNum=9;
ChangeNum(NumBufe,KeyPos); KeyPos++; }
if((P1&0xF0)==0xB0)//加法 {
op=1; add=1; }
if((P1&0xF0)==0x70) {
op=1; dec=1; }
P1=0xF7;
if((P1&0xF0)==0xE0) {
op=1; mul=1; }
if((P1&0xF0)==0xD0) {s
op=1; div=1; }
if((P1&0xF0)==0xB0)//等号 {
equ=1; }
if((P1&0xF0)==0x70)//清零 {
clr=1; } } } }
正在阅读:
EDA课设03-28
难忘的年夜饭的作文4篇02-05
孝感中考数学试题及答案2010 - 图文11-30
古玩造假大揭秘10-03
高三生物天天练510-08
华尔街读后感10-25
学生成绩管理系统设计与实现毕业论文01-29
脸上的风景作文400字07-05
XX年8月警察工作心得体会(合集)08-23
专卖店店长月工作总结03-23
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- EDA