久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
AVR單片機簡單計算器的Proteus仿真實現+源碼
[打印本頁]
作者:
曹文濤
時間:
2018-12-24 11:26
標題:
AVR單片機簡單計算器的Proteus仿真實現+源碼
AVR單片機簡單計算器的實現仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png
(17.11 KB, 下載次數: 104)
下載附件
2018-12-24 16:01 上傳
0.png
(12.74 KB, 下載次數: 91)
下載附件
2018-12-24 16:01 上傳
單片機源程序如下:
#include "mega16.h"
#include "1602.h"
#include "key.h"
float k1,k2; //記錄最終輸入運算的兩個數
uint one,two,three,four; //記錄每次輸入的數字
uint flag; //計數標志位
uint flag1,flag2; //第一個數 第二個數 完成標志位
uint flag3;//記錄加減乘除標志位
long Result; //最后運算的結果
void main()
{
init(); //液晶初始化
// write_com(0x80+15);
// write_date('0');
Init_Keypad(); //鍵盤初始化
flag1 = 1;
while(1)
{
Key_Event(); //掃描鍵盤
if(key_Flag == 1)
{
key_Flag = 0;
if(key_val <= 10) //小于10 則為需要的數字
{
if(flag1) //flag1為1 表示正在輸入第一個數字
{
switch(flag)
{
case 0:
flag = 1;
one = key_val%10;
write_com(0x80+6);
write_date(tab[key_val]);
k1 = (float)one;
break;
case 1:
flag = 2;
two = key_val%10;
write_com(0x80+7);
write_date(tab[key_val]);
k1 = (float)(one*10 + two);
break;
case 2:
flag = 3;
three = key_val%10;
write_com(0x80+8);
write_date(tab[key_val]);
k1 = (float)(one*100 + two * 10 + three);
break;
case 3:
flag = 4;
four = key_val%10;
write_com(0x80+9);
write_date(tab[key_val]);
k1 = (float)(one*1000 + two * 100 + three*10 + four);
break;
case 4:
flag = 0;
break;
}
}
if(flag2) //flag2為1 表示正在輸入第2個數字
{
switch(flag)
{
case 0:
flag = 1;
one = key_val%10;
write_com(0x80+12);
write_date(tab[key_val]);
k2 = (float)one;
break;
case 1:
flag = 2;
two = key_val%10;
write_com(0x80+13);
write_date(tab[key_val]);
k2 = (float)(one*10 + two);
break;
case 2:
flag = 3;
three = key_val%10;
write_com(0x80+14);
write_date(tab[key_val]);
k2 = (float)(one*100 + two * 10 + three);
break;
case 3:
flag = 4;
four = key_val%10;
write_com(0x80+15);
write_date(tab[key_val]);
k2 = (float)(one*1000 + two * 100 + three*10 + four);
break;
case 4:
flag = 0;
break;
}
}
}
else if(key_val>=13 || key_val <= 16) //判斷運算符
{
flag1 = 0;
flag2 = 1;
flag = 0;
switch(key_val)
{
case 13:
write_com(0x80+11);
write_date('+');
flag3 = 1;
break;
case 14:
write_com(0x80+11);
write_date('-');
flag3 = 2;
break;
case 15:
write_com(0x80+11);
write_date('*');
flag3 = 3;
break;
case 16:
write_com(0x80+11);
write_date('/');
flag3 = 4;
break;
}
}
if(key_val == 12) //等于
{
switch(flag3)
{
case 1:
Result = k1 + k2;
write_com(0xc0);
write_date(tab[Result/100000]);
write_date(tab[Result%100000/10000]);
write_date(tab[Result%10000/1000]);
write_date(tab[Result%1000/100]);
write_date(tab[Result%100/10]);
write_date(tab[Result%10]);
break;
case 2:
Result = k1 - k2;
write_com(0xc0);
if(Result < 0)
{
write_date('-');
Result = 0 - Result;
}
write_date(tab[Result/100000]);
write_date(tab[Result%100000/10000]);
write_date(tab[Result%10000/1000]);
write_date(tab[Result%1000/100]);
write_date(tab[Result%100/10]);
write_date(tab[Result%10]);
break;
case 3:
Result = k1 * k2;
write_com(0xc0);
write_date(tab[Result/100000]);
write_date(tab[Result%100000/10000]);
write_date(tab[Result%10000/1000]);
write_date(tab[Result%1000/100]);
write_date(tab[Result%100/10]);
write_date(tab[Result%10]);
break;
case 4:
//write_com(0x80+11);
//write_date('/');
Result = k1*100 / k2;
write_com(0xc0);
//write_date(tab[Result/100000]);
//write_date(tab[Result%100000/10000]);
write_date(tab[Result%10000/1000]);
write_date(tab[Result%1000/100]);
write_date('.');
write_date(tab[Result%100/10]);
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
mega16 計算器.zip
(135.42 KB, 下載次數: 78)
2018-12-24 11:25 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
曹文濤
時間:
2018-12-24 11:30
在做課設的時候一個小的參考資料
作者:
2875007399
時間:
2019-6-14 17:35
謝謝分享。正需要
作者:
微塵。。
時間:
2020-5-14 14:46
對課程設計太友好了!
作者:
2273457901
時間:
2020-12-21 08:09
樓主可以加小數點嘛
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
亚洲精品一二三
|
日本一区二区三区免费观看
|
91精品久久久久久久
|
欧美日韩在线一区二区三区
|
久久9久
|
91免费版在线观看
|
欧美亚洲一区二区三区
|
中国91av
|
国产一区二区视频免费在线观看
|
成人中文网
|
精品欧美乱码久久久久久
|
亚洲精品免费视频
|
午夜丰满少妇一级毛片
|
久久一区二
|
色噜噜亚洲男人的天堂
|
91原创视频
|
精品综合
|
国产精品美女久久久久久不卡
|
日韩欧美精品在线
|
国产精品五区
|
久久99精品久久久久久
|
亚洲国产aⅴ成人精品无吗 综合国产在线
|
天天插天天操
|
在线播放一区二区三区
|
国产乱码精品一区二三赶尸艳谈
|
久久成人精品一区二区三区
|
超碰97免费
|
欧美日韩在线视频一区
|
国内激情av片
|
国产精品欧美一区二区
|
91麻豆精品国产91久久久久久久久
|
成人在线免费网站
|
久草www
|
精品福利在线
|
成人精品一区二区三区中文字幕
|
久久久久久国产精品
|
人人99
|
国产一区二区影院
|
国产精品久久久免费
|
国产精品亚洲一区二区三区在线
|
黄色亚洲
|