标题: 单片机简易计算器仿真及程序和Hex文件 [打印本页]

作者: 51黑ff    时间: 2016-9-3 02:53
标题: 单片机简易计算器仿真及程序和Hex文件

下面是计算器的程序(完整代码和仿真工程文件请下载本帖最后的附件)
  1. #include<reg51.h>   //头文件

  2. #define uint unsigned int //

  3. #define uchar unsigned char




  4. sbit lcden=P2^3; //定义引脚

  5. sbit rs=P2^4;

  6. sbit rw=P2^0;

  7. sbit busy=P0^7;




  8. char i,j,temp,num,num_1;

  9. long a,b,c;     //a,第一个数 b,第二个数 c,得数

  10. float a_c,b_c;

  11. uchar flag,fuhao;//flag表示是否有符号键按下,fuhao表征按下的是哪个符号




  12. uchar code table[]={

  13. 7,8,9,0,

  14. 4,5,6,0,

  15. 1,2,3,0,

  16. 0,0,0,0};

  17. uchar code table1[]={

  18. 7,8,9,0x2f-0x30,

  19. 4,5,6,0x2a-0x30,

  20. 1,2,3,0x2d-0x30,

  21. 0x01-0x30,0,0x3d-0x30,0x2b-0x30};




  22. void delay(uchar z) // 延迟函数

  23. {

  24. uchar y;

  25. for(z;z>0;z--)

  26.    for(y=0;y<110;y++);

  27. }




  28. void check() // 判断忙或空闲

  29. {

  30. do{

  31.     P0=0xFF;

  32.     rs=0;     //指令

  33.     rw=1;     //读

  34.     lcden=0;     //禁止读写

  35.     delay(1); //等待,液晶显示器处理数据

  36.     lcden=1;     //允许读写

  37.     }while(busy==1); //判断是否为空闲,1为忙,0为空闲

  38. }

  39. void write_com(uchar com) // 写指令函数

  40. {

  41. P0=com;    //com指令付给P0口

  42. rs=0;

  43. rw=0;

  44. lcden=0;

  45. check();

  46. lcden=1;

  47. }




  48. void write_date(uchar date) // 写数据函数

  49. {

  50.     P0=date;

  51. rs=1;

  52. rw=0;

  53. lcden=0;

  54. check();

  55. lcden=1;

  56. }




  57. void init() //初始化

  58. {

  59.     num=-1;

  60. lcden=1; //使能信号为高电平

  61. write_com(0x38); //8位,2行

  62. write_com(0x0c); //显示开,光标关,不闪烁*/

  63. write_com(0x06); //增量方式不移位 显竟獗暌贫 柚?

  64. write_com(0x80); //检测忙信号

  65. write_com(0x01); //显示开,光标关,不闪烁

  66. num_1=0;

  67. i=0;

  68. j=0;

  69. a=0;     //第一个参与运算的数

  70. b=0;     //第二个参与运算的数

  71. c=0;

  72. flag=0; //flag表示是否有符号键按下,

  73. fuhao=0; // fuhao表征按下的是哪个符号

  74. }
复制代码

真的设计.rar

22.33 KB, 下载次数: 96, 下载积分: 黑币 -5


作者: liuyuxi1111    时间: 2017-1-7 12:06
为什么仿真按键不显示,,,,,
作者: 1234还是就开始    时间: 2018-6-24 12:27
liuyuxi1111 发表于 2017-1-7 12:06
为什么仿真按键不显示,,,,,

程序怎么打不开
作者: lzj523255607    时间: 2018-7-12 16:01
挺好呀,有点不懂,在学习
作者: lan广翔    时间: 2018-11-13 10:35
c语言的代码怎么没有?

作者: 蔡小伙    时间: 2018-11-29 13:42
哈,太好了

作者: lua111    时间: 2019-11-29 10:46
可以吧ats89c51换成stc89c51吗?




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1