AVR单片机制作计算器
更新时间:2023-06-07 21:15:01 阅读量: 实用文档 文档下载
包括Proteus模拟电路图C语言程序
Proteus中的模拟电路:
C语言程序:
#include<mega32.h>
#include<delay.h>
unsigned int put[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; unsigned int key;
unsigned int led_1,led_2,led_3,led_4,fuhao,num,num_1;
interrupt [EXT_INT0]void ext_int0_isr() //按键中断 低电平触发 {
PORTD.4=0;
PORTA = 0x01;
if(PINA.4) key = 16; // 清零
if(PINA.5) key = 3;
if(PINA.6) key = 2;
if(PINA.7) key = 1;
PORTA = 0x02;
if(PINA.4) key = 15; // 等于
包括Proteus模拟电路图C语言程序
if(PINA.5) key = 6;
if(PINA.6) key = 5;
if(PINA.7) key = 4;
PORTA = 0x04;
if(PINA.4) key = 0;
if(PINA.5) key = 9;
if(PINA.6) key = 8;
if(PINA.7) key = 7;
PORTA = 0x08;
if(PINA.4) key = 14; //除法
if(PINA.5) key = 13; //乘法
if(PINA.6) key = 12; //减法
if(PINA.7) key = 11; //加法
delay_ms(20);
PORTA = 0x0f;
}
void xianshi() //数码管显示 函数 {
while(~PIND.1)
{
PORTB = 0x0e;
PORTC = put[led_1];
delay_ms(1);
PORTB = 0x0f;
PORTB = 0x0d;
PORTC = put[led_2];
delay_ms(1);
PORTB = 0x0f;
PORTB = 0x0b;
PORTC = put[led_3];
delay_ms(1);
PORTB = 0x0f;
PORTB = 0x07;
PORTC = put[led_4];
delay_ms(1);
包括Proteus模拟电路图C语言程序
}
}
void jisuan() //加减乘除计算函数 {
switch(fuhao)
{
case 11 : num=num_1+num; break; case 12 : num=num_1-num; break; case 13 : num=num_1*num; break; case 14 : num=num_1/num; break; }
}
void main(void) //主函数 {
DDRB=0x0f;
DDRC=0xff;
DDRD=0xf0;
DDRA=0x0f;
GICR|=0x40;
MCUCR = 0x02;
MCUCSR = 0x00;
GIFR = 0x40;
#asm("sei")
while(1)
{
PORTA = 0x0f;
if(key < 10)
{
num=num*10+key;
led_4 = led_3;
led_3 = led_2;
led_2 = led_1;
led_1 = key;
xianshi();
PORTD.4=1;
}
if(key > 10)
{
led_1=0;
led_2=0;
包括Proteus模拟电路图C语言程序
led_3=0; led_4=0; if(key!=15) {
num_1=num; num=0;
}
if(key==11) {
fuhao=11; xianshi(); PORTD.4=1; }
if(key==12) {
fuhao=12; xianshi(); PORTD.4=1; }
if(key==13) {
fuhao=13; xianshi(); PORTD.4=1; }
if(key==14) {
fuhao=14; xianshi(); PORTD.4=1; }
if(key==16) {
num_1=0; num=0; xianshi(); PORTD.4=1; }
if(key==15) {
jisuan();
led_1 = num%10;
包括Proteus模拟电路图C语言程序
num = num/10;
led_2 = num%10; num = num/10;
led_3 = num%10; num = num/10;
led_4 = num%10; xianshi(); PORTD.4=1; led_1=0; led_2=0; led_3=0; led_4=0; }
}
}
}
正在阅读:
AVR单片机制作计算器06-07
最新《国际贸易实务》课程标准03-28
2012—2013学年新人教版四年级数学下册期末检测试卷10-13
在国企2021年党风廉政建设和反腐败工作会议上的讲话08-27
《综合布线与施工》课改方案与课程设计06-24
K12教育学习资料2018-2019学年九年级数学上册 第二十二章 二次函数 22.309-14
我只想好好爱你一回02-15
2014年幼儿园兴趣班协议书范本06-06
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 单片机
- 计算器
- 制作
- AVR
- 互换性与技术测量期末考试试卷
- 学习十八大报告百题知识竞赛试卷.答案
- 第七讲 FIDIC合同案例分析
- 胆道疾病的影象学检查方法及优缺点
- 万华化学(600309):点评报告:Q3业绩单季环比大增,预计Q4维持改善
- 2011工作总结和心得体会
- 六年级语文复习归类资料7-词语
- 第七讲 等腰三角形综合
- 战略管理之外部分析
- 2012玉溪市2012海南省科目一C2车型试题
- 新型农村养老保险
- T7体外转录试剂盒 加帽mMESSAGEmMACHINE T7 kit (Ambion) cms_055516
- 2010Excel培训教程【完整版】
- 用FPGA实现数字逻辑分析仪设计
- 各类学生评语借鉴稿
- 数控设备与编程试题
- 金融硕士暑期复习指导
- 大学与社区互动机制对大学生社会实践的作用
- 天津市历年高中物理水平测试高频知识点汇总9
- 自酿葡萄酒之制作方法全攻略