EDA课设
更新时间:2024-01-12 03:27: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课设01-12
中国石拱桥教案09-26
期中试卷09-25
机械手的总体设计方案 硬件设计 软件设计及系统调试03-04
上海中级口译考试怎样准备08-14
我的成长日记作文800字06-25
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- EDA
- 浅谈人民银行会计支付结算管理
- !!!第6章讨论课预习提纲(2014年版)1
- 唐与新罗的关系
- 人教版语文五年级上册第四单元复习导学案
- 最新-2018届湖北省部分重点高中高三十月联考化学试题及答案 精品
- 浙江省2018年初中毕业生学业考试科学分类汇编(八年级上册 含答案) - 图文
- 医疗器械经营企业考试试卷 - 含答案
- 工程BT项目
- 风筝练习
- 2013年安全工程师《安全生产事故案例分析》实战模拟试题(3)-中大网校
- 自来水技术标1
- 马鞍山2014年3月份远程研修活动安排
- 论文初稿
- 苯嗪草酮项目可行性研究报告(目录) - 图文
- 浅谈信息技术在品德与生活课程教学中的作用
- 对本体论现实意义的思考
- 元稹诗序研究
- 九年级语文下册第5课《孔乙己》的教案
- 九年级作文片段训练一:爸爸生气了
- 企业货币资金的管理与控制