- 4
- 0
- 约9.73千字
- 约 11页
- 2017-08-11 发布于重庆
- 举报
基于AVR单片机的计算器程序
#includeavr/io.h
#includeutil/delay.h //延时函数的头文件
#includeavr/interrupt.h // 中断函数的头文件
#define uint unsigned int
#define uchar unsigned char
#define BIT(k) (1k) //利用上ICC软件的优点
#define DI PORTC //夜晶的数据输入端
#define No_key 255 //没有按键按下的返回值
#define key_port PORTD //键盘输入
#define key_ddr DDRD
#define key_pin PIND //宏定义方便以后程序移植
#define lone_key_port PORTB //独立键盘接口 用于输入小数点
#define lone_key_ddr DDRB
#define lone_key_pin (PINBBIT(0)) //读取独立键盘接口的电平
#define rs_0 PORTA=~BIT(0) //RS复位
#define rs_1 PORTA|=BIT(0) //RS置位
#define en_0 PORTA=~BIT(1) //使能端复位
#define en_1 PORTA|=BIT(1) //使能端置位
const uchar table1[]= You are welcome!; // 初始显示字符
const uchar table2[]=ERROR!; //出错提示字符
uchar a[7]={0,0,0,0,0,0,0},b[11]={0,0,0,0,0,0,0},a1[5]={0,0,0,0,0},b1[5]={0,0,0,0,0}; //用来存储输入的两个数字,位数不可超过10位
uchar aa,bb,cc,dd; //用来记数输入的位数
uchar sym; //用来保存符号
uchar flag;//起动标志
uchar fuhao; //符号标志
uchar deflag1 ; //小数点标志
uchar deflag2 ; //小数点标志
uchar overflag; //数值溢出标志
uchar allowflag=1; //符号允许标志,用于禁止连续两个符号的输出
uchar negative; //负数标志,当是负数要作相应的处理
long temp3,temp4; //计算的数值 得数用其中一个变量存储即可,不用再浪费内存开辟其他变量
float temp1, temp2;
const unsigned char key_table[16] =
{
7, 8, 9, 10,
4, 5, 6, 11,
1, 2, 3, 12,
50,0, 21,13
}; // 键盘编码可根据具体情况而设定
void port_init(); //端口初始化
void device_init(); //夜晶初始化
void time_init(); //定时器初始化
void wright_com(uchar com); //夜晶写指令函数
void wright_data(uchar date) ; //夜晶写数据函数
void lcd_handle(uchar temp); //夜晶显示处理,该显示什么,不该显示什么
uchar keyscan(); //键盘扫描
void judgechar(uchar t); //判断字符为符号还是数字
void decimal(uchar de) ; //判断是不是小数点,只能出现两个小数点,且不能连续出现
void reset() ; //复位函数
void calculate(void); //对数值进行计算
void result(long value); //显示结果
void flow_clew() ; //溢出提示函数
int main()
{
port_init();
device_init();
time_init(); //初始化
while(1)
{
flow_clew() ;
您可能关注的文档
最近下载
- 2025第5版共识指南:术后恶心呕吐的管理(概要)解读PPT课件.pptx VIP
- 专题07 5天速记2025年修订版课标新增词汇(知识清单)(背诵版).docx VIP
- 八篇2025年度民主生活会个人“五个方面”对照检查发言材料.docx VIP
- 专题07 5天速记2025年修订版课标新增词汇(知识清单)(默写版) .docx VIP
- 2025年度民主生活会个人对照检查发言材料 八篇.docx VIP
- 04-6 班子对照-高校党委领导班子2025年度民主生活会对照检查材料.docx VIP
- Philips 飞利浦Series 1200 全自动浓缩咖啡机 EP1221 82产品支持与说明书 全自动浓缩咖啡机.pdf
- 2024年枣庄科技职业学院单招职业技能测试题库及答案解析.docx VIP
- 全髋置换术后护理查房 (2).pptx VIP
- 纯碱,新生焕发,景气不减.pdf VIP
原创力文档

文档评论(0)