第36节:带数码管显示的加法简易计算器
时间:11-22
来源:互联网
点击:
- /4 序号4
- 0x6d,//5 序号5
- 0x7d,//6 序号6
- 0x07,//7 序号7
- 0x7f,//8 序号8
- 0x6f,//9 序号9
- 0x00,//不显示序号10
- };
- void main()
- {
- initial_myself();
- delay_long(100);
- initial_peripheral();
- while(1)
- {
- key_service();
- display_service();
- }
- }
- void display_service()//放在定时中断里的显示应用程序
- {
- if(ucDisplayUpdate==1)//有数据更新显示
- {
- ucDisplayUpdate=0;
- switch(ucWd) //本程序最核心的变量ucWd
- {
- case 1://窗口1原始数据和运算结果窗口
- if(ulSource>=10000000)
- {
- ucDigShow8=ulSource/10000000;
- }
- else
- {
- ucDigShow8=10;//数据显示空
- }
- if(ulSource>=1000000)
- {
- ucDigShow7=ulSource%10000000/1000000;
- }
- else
- {
- ucDigShow7=10;//数据显示空
- }
- if(ulSource>=100000)
- {
- ucDigShow6=ulSource%1000000/100000;
- }
- else
- {
- ucDigShow6=10;//数据显示空
- }
- if(ulSource>=10000)
- {
- ucDigShow5=ulSource%100000/10000;
- }
- else
- {
- ucDigShow5=10;//数据显示空
- }
- if(ulSource>=1000)
- {
- ucDigShow4=ulSource%10000/1000;
- }
- else
- {
- ucDigShow4=10;//数据显示空
- }
- if(ulSource>=100)
- {
- ucDigShow3=ulSource%1000/100;
- }
- else
- {
- ucDigShow3=10;//数据显示空
- }
- if(ulSource>=10)
- {
- ucDigShow2=ulSource%100/10;
- }
- else
- {
- ucDigShow2=10;//数据显示空
- }
- ucDigShow1=ulSource%10;
- break;
- case 2://窗口2第二个参与运算数据的窗口比如加法运算中的加数
- if(ulOther>=10000000)
- {
- ucDigShow8=ulOther/10000000;
- }
- else
- {
- ucDigShow8=10;//数据显示空
- }
- if(ulOther>=1000000)
- {
- ucDigShow7=ulOther%10000000/1000000;
- }
- else
- {
- ucDigShow7=10;//数据显示空
- }
- if(ulOther>=100000)
- {
- ucDigShow6=ulOther%1000000/100000;
- }
- else
- {
- ucDigShow6=10;//数据显示空
- }
- if(ulOther>=10000)
- {
- ucDigShow5=ulOther%100000/10000;
- }
- else
- {
- ucDigShow5=10;//数据显示空
- }
- if(ulOther>=1000)
- {
- ucDigShow4=ulOther%10000/1000;
- }
- else
- {
- ucDigShow4=10;//数据显示空
- }
- if(ulOther>=100)
- {
- ucDigShow3=ulOther%1000/100;
- }
- else
- {
- ucDigShow3=10;//数据显示空
- }
- if(ulOther>=10)
- {
- ucDigShow2=ulOther%100/10;
- }
- else
- {
- ucDigShow2=10;//数据显示空
- }
- ucDigShow1=ulOther%10;
- break;
- }
- }
- }
- void display_drive()//放在定时中断里的数码管驱动函数
- {
- //以下程序,如果加一些数组和移位的元素,还可以压缩容量。但是鸿哥追求的不是容量,而是清晰的讲解思路
- switch(ucDisplayDriveStep)
- {
- case 1://显示第1位
- ucD
数码管显示加法简易计算 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)