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
C语言03-31
控烟劝阻工作制度07-31
小学生一年级作文大全叶子06-14
动物生理学整理笔记08-19
吴加澍教育思想研究09-25
牛顿运动定律题型汇总03-15
高中班级挑战书-高考挑战书03-08
某工程各专业安全技术交底范本及工程安全操作规程汇编05-21
多普勒效应综合实验报告及数据处理图05-13
- 《江苏省环境水质(地表水)自动监测预警系统运行管理办法(试行)》
- 安乐死合法化辩论赛立论稿(浙大新生赛)
- 公共科目模拟试卷公务员考试资料
- 我国固定资产投资FAI对GDP的影响
- 大学生创新创业训练计划项目申请书大创项目申报表
- 完美版—单片机控制步进电机
- 2013资阳中考化学试题
- 18.两位数减一位数退位(397道)
- 工程量计算规则
- 二年级操行评语(下)
- 第3章 流程控制语句
- 浅基桥墩加固技术
- 课题研究的主要方法
- 5100软件说明书 - 图文
- 车间技术员年终总结
- 关于印发《中铁建工集团开展项目管理实验室活动方案》的通知
- 经典诵读结题报告
- 地下水动力学习题答案
- 2018年全国各地高考数学模拟试题平面解析几何试题汇编(含答案解
- 街道办事处主任2018年度述职述廉报告
- EDA