久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 9984|回復: 2
收起左側

單片機一位簡易計算器程序源代碼

[復制鏈接]
ID:85764 發表于 2015-7-15 23:17 | 顯示全部樓層 |閱讀模式
數碼管顯示部分的原理圖:http://www.zg4o1577.cn/f/51hei-5.pdf

源代碼:

  1. #include<reg52.h>
  2. #define uchar unsigned char
  3. #define uint  unsigned int
  4. sbit wela=P2^7;
  5. sbit dula=P2^6;
  6. uchar code smg_du[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x70,0x40,0x76,0x52};
  7. uchar code smg_we[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
  8. uchar dis_smg[6];
  9. uchar flag,num_key,oper,j;
  10. uchar num1,num2,num_i;
  11. uchar scan(void)
  12. {
  13. static uchar i;
  14. uchar num,key;
  15. P3=0x0f;
  16. if(P3!=0x0f)
  17. {
  18.   i++;
  19.   if(i>=7)
  20.   if(flag==0)
  21.   {
  22.    flag=1;
  23.    key=P3|0xf0;
  24.    P3=key;
  25.    switch(P3)
  26.    {
  27.     case 0xee:num=0; break;
  28.     case 0xde:num=1; break;
  29.     case 0xbe:num=2; break;
  30.     case 0x7e:num=3; break;
  31.     case 0xed:num=4; break;
  32.     case 0xdd:num=5; break;
  33.     case 0xbd:num=6; break;
  34.     case 0x7d:num=7; break;
  35.     case 0xeb:num=8; break;
  36.     case 0xdb:num=9; break;
  37.     case 0xbb:num=10;break;
  38.     case 0x7b:num=11;break;
  39.     case 0xe7:num=12;break;
  40.     case 0xd7:num=13;break;
  41.     case 0xb7:num=14;break;
  42.     case 0x77:num=15;break;
  43.    }
  44.   }
  45. }
  46. else {i=0;flag=0;}
  47. return num;
  48. }
  49. void dis_init()
  50. {
  51. dis_smg[0]=smg_du[num_i/10];
  52. dis_smg[1]=smg_du[num_i%10];
  53. dis_smg[2]=0x00;
  54. dis_smg[3]=smg_du[num1%10];
  55. dis_smg[4]=smg_du[j];
  56. dis_smg[5]=smg_du[num2%10];
  57. }
  58. void display()
  59. {
  60. static uchar i;
  61. P0=0x00;
  62. dula=1;
  63. dula=0;
  64. P0=smg_we[i];
  65. wela=1;
  66. wela=0;
  67. P0=dis_smg[i];
  68. dula=1;
  69. dula=0;
  70. i++;
  71. if(i>=6)
  72. i=0;
  73. }
  74. void main()
  75. {
  76. uchar num_key;

  77. while(1)
  78. {
  79.   num_key=scan();
  80.   dis_init();
  81.   display();
  82.   if(num_key<17)
  83.   {
  84.    switch(num_key)
  85.    {
  86.     case 10:num_i=0;oper=0;num1=0;num2=0;j=0;break;
  87.     case 11:
  88.       switch(oper)
  89.        {
  90.        case 0:num1 =num2;break;
  91.        case 1:num_i=num1+num2;break;
  92.        case 2:num_i=num1-num2;break;
  93.        case 3:num_i=num1*num2;break;
  94.        case 4:num_i=num1/num2;break;
  95.        }break;
  96.     case 12:oper=1;j=10;break;
  97.     case 13:oper=2;j=11;break;
  98.     case 14:oper=3;j=12;break;
  99.     case 15:oper=4;j=13;break;
  100.     default :if(num_key<10)
  101.        {
  102.        if(oper==0)
  103.         num1=num_key;
  104.        else
  105.         num2=num_key;
  106.        }
  107.        break;
  108.    }
  109.   }
  110.    
  111. }
  112. }
復制代碼



回復

使用道具 舉報

ID:349810 發表于 2018-6-11 21:03 | 顯示全部樓層
樓主好 這是簡易計算器的全部代碼
回復

使用道具 舉報

ID:361606 發表于 2018-6-30 15:34 | 顯示全部樓層
有電路圖嗎?
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲欧美中文日韩在线v日本 | 欧美综合一区 | 欧美视频1区| 欧美亚洲第一区 | 日韩福利在线观看 | 在线观看成人精品 | 久久国产精品久久久久久 | 亚州精品天堂中文字幕 | 操一草 | 男女羞羞视频在线免费观看 | 一区二区三区视频在线 | 国产精品视频在线播放 | 久久国产精品-久久精品 | 久久精品在线免费视频 | 播放一级黄色片 | 国产成人精品免费视频大全最热 | 亚洲精品一区二区三区在线 | 韩国精品一区 | 成人在线视频免费看 | 日韩一区二区福利视频 | 国产乱码精品一区二区三区五月婷 | 欧美多人在线 | 色婷婷亚洲一区二区三区 | 精品国产aⅴ | 欧美三级网站 | 国产特级毛片 | 国产精品一区二区久久 | 久久一区 | 一区二区三区免费观看 | 国产蜜臀| 99视频入口| h在线播放| 国产黄色大片 | 欧美日产国产成人免费图片 | 超碰伊人久久 | 97日日碰人人模人人澡分享吧 | 国产在线精品一区二区 | 色综合网站 | 国产精品爱久久久久久久 | 久草精品视频 | 精品伦精品一区二区三区视频 |