23. 模拟计算器数字输入及显示_计算器不能输入数字

2020-02-27 其他范文 下载本文

23. 模拟计算器数字输入及显示由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“计算器不能输入数字”。

23. 模拟计算器数字输入及显示

1. 实验任务

(1. 开机时,显示“0”

(2. 第一次按下时,显示“D1”;第二次按下时,显示“D1D2”;第三按下时,显示“D1D2D3”,8个全显示完毕,再按下按键下时,给出“嘀”提示音。

2. 电路原理图

图4.23.1 3. 系统板上硬件连线

(1. 把“单片机系统”区域中的P1.0端口用导线连接到“音频放大模块”区域中的SPK IN端口上;

(2. 把“单片机系统“区域中的P3.0-P3.7端口用8芯排线连接到“4X4行列式键盘”区域中的C1-C4 R1-R4端口上;(3. 把“单片机系统”区域中的P0.0-P0.7端口用8芯排线连接到“动态数码显示”区域中的A-H端口上;

(4. 把“单片机系统:区域中的P2.0-P2.7端口用8芯排线连接到“动态数码显示”区域中的S1-S8端口上; 4. 相关程序设计内容

(1. 行列式键盘输入及按键功能设定;(2. 动态数码显示;(6#include 3..

C

显语

式源

; 序

unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};unsigned unsigned unsigned unsigned unsigned unsigned unsigned bit void { change(unsigned

char char

code

char

dispbitcode[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

dispbuf[8]={0,16,16,16,16,16,16,16};

char dispbitcount;

char char char char

temp;i,j;

key;keypos;alarmflag;

*p,unsigned

char

count)while(count>0){ *(p+count)=*(p+count-1);count--;} } void { TMOD=0x01;TH0=(65536-4000)TL0=(65536-4000)TR0=1;ET0=1;EA=1;

/ %

main(void)

256;256;while(1){ P3=0xff;P3_4=0;temp=P3;temp=temp if { for(i=50;i>0;i--)for(j=200;j>0;j--);temp=P3;temp=temp if { temp=P3;temp=temp switch(temp){ case key=7;break;case key=8;break;case key=9;break;case key=10;break;} if((key>=0){ keypos++;if(keypos

&

&

& &&

0x0f;

(temp!=0x0f)

0x0f;

(temp!=0x0f)

0x0f;

0x0e:

0x0d:

0x0b:

0x07:(key

P3=0xff;P3_5=0;temp=P3;temp=temp if { for(i=50;i>0;i--)for(j=200;j>0;j--);temp=P3;temp=temp if { temp=P3;temp=temp switch(temp){ case key=4;break;case key=5;break;case key=6;break;case key=11;break;} if {((key>=0)

& &

&

&

& &&

0x0f;

0x0f;

0x0f;

(temp!=0x0f)

0x0f;

(temp!=0x0f)

0x0f;

0x0e:

0x0d:

0x0b:

0x07:(key

P3=0xff;P3_6=0;temp=P3;temp=temp if { for(i=50;i>0;i--)for(j=200;j>0;j--);temp=P3;temp=temp if { temp=P3;temp=temp switch(temp){ case key=1;break;case

&

& &

&

&

0x0f;

0x0f;

0x0f;

(temp!=0x0f)

0x0f;

(temp!=0x0f)

0x0f;

0x0e:

0x0d: key=2;break;case key=3;break;case key=12;break;} if((key>=0){ keypos++;if(keypos

P3=0xff;P3_7=0;temp=P3;temp=temp if { for(i=50;i>0;i--)for(j=200;j>0;j--);temp=P3;

&&

&

& &

0x0b:

0x07:

(key

0x0f;

0x0f;

0x0f;

(temp!=0x0f)temp=temp if { temp=P3;temp=temp switch(temp){ case key=0;break;case key=13;break;case key=14;break;case key=15;break;} if((key>=0){ keypos++;if(keypos

& & && & & 0x0f;

(temp!=0x0f)

0x0f;

0x0e:

0x0d:

0x0b:

0x07:

(key

0x0f;

0x0f;} } } void t0(void)

interrupt{ TH0=(65536-4000)/ TL0=(65536-4000)

% P0=dispcode[dispbuf[dispbitcount]];P2=dispbitcode[dispbitcount];dispbitcount++;if { dispbitcount=0;} if { P1_1=~P1_1;} }

using

0

256;256;

(dispbitcount==8)

(alarmflag==1)

《23. 模拟计算器数字输入及显示.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
23. 模拟计算器数字输入及显示
点击下载文档
相关专题 计算器不能输入数字 计算器 数字 计算器不能输入数字 计算器 数字
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文