蜂鸣数字计算器(一类借鉴)
17页1、一、课程设计内容及要求1、蜂鸣计算器设计利用普中科技HC6800-ES V2.0单片机开发板设计一款带蜂鸣器的电子计算器。主要使用开发板上的数码管、LED点阵、矩阵键盘、蜂鸣器等模块功能。开发板配有光盘,里面有各个模块的使用说明和程序范例可供参考。2、设计要求1) 上电开机或者复位键按下之后,数码管自动显示个人学号的后8位。2) 定义矩阵键盘的S1-S9代表数字按键1-9,键盘S10代表数字按键0,键盘S11-S16分别代表按键+、-、=、C,其中C按键为计算器清零按键,按下C键计算器开始新的计算。3) 计算器计算过程中,用LED点阵显示+、-、运算符号,用8位数码管显示键入的数字和运算的结果。键入时依次显示并自动移位,例如18+9=27,先键入1,显示1,再键入8,1自动左移一位显示18,键入+,LED点阵显示+,键入9,数码管之前显示的18消失并重新显示为9,键入=,数码管显示运算结果27。4) 为这16个矩阵键盘的按键分配不同的蜂鸣器频率,使得按下不同的按键蜂鸣器响声不同,便于识别按键。5) 按键应具有一定的消除抖动功能。6) 所有单片机程序代码都用C语言编写,并烧写到单片机中上
2、电自动运行。2、 设计思想蜂鸣器计算器设计包括矩阵键盘模块、数码管及矩阵LED动态显示模块、输入逻辑计算显示模块和蜂鸣器响应模块这四大模块。具体实施方法如下:1、 矩阵键盘模块,四乘四的矩阵键盘,设计按键扫描函数,在定时中断中调用,调用定时器中断,中断间隔时间设置为1ms,选择P2IO口,P2.0到P2.3做输出KeyOut,P2.4做P2.7做输入KeyIn,每次在按键扫描中断中,每次让矩阵按键的一个 KeyOut 输出低电平,其它三个输出高电平,判断当前所有 KeyIn 的状态,然后再让下一个 KeyOut 输出低电平,其它三个输出高电平,再次判断所有 KeyIn,通过四次扫描,确定按下的键,再通过快速的中断不停的循环进行判断,就可以最终确定哪个按键按下了。 同时在按键模块,还需要消抖使按键稳定。通常我们采用延迟再次检测的方式消抖,但是太过消耗单片机的CUP。所以为了避免通过延时消抖占用单片机执行时间,将其转化成了一种按键状态判定而非按键过程判定,只对当前按键的连续 16ms 的 4 次状态进行判断,全为0就断定对于的键按下了,全为1就断定为没有按下。2、数码管及矩阵LED动态显示
3、模块,通过每毫秒进行动态扫描进行显示,由于数码管和矩阵LED动态显示模块都需要通过P1.3和P1.4进行选择来控制,所以在写刷新数据和符号的时候需要先在函数开始调好对应的控制位。而所需要的显示的数字和符号保存在数组中,以便需要的时候直接调用。3、输入逻辑计算显示模块,在编写程序的时候,对于这个简易计算器,以正整数的连续加减乘除为基本编程目的。在第一次输入为0-9这十个按键的时候,此时设置了标记符号flag=0,直接保存到数据保存数组addflag中,若继续输入数字就把addflag乘以10再加上新输入的数字;若扫描到加减乘除这四个符号的时候,先把标记符号flag置为1,再把算数符号保存到符号标记sign中,把需要LED矩阵显示的全局符号变量tx设置为对应的数字,继续扫描到数字的时候就会把数据保存到add1(flag=1)中;如果接下来输入为等于号,就判断sign数值然后对add0和add1做对应的计算;如果输入还是计算符号,就先计算把计算结果保存到add0中,再清零add1,再继续扫描。4、蜂鸣器响应模块,由于开发板上面的蜂鸣器是无源蜂鸣器,所以需要通过输出pwm脉冲来驱动蜂鸣器,同时
4、由于脉冲频率不同对于蜂鸣器发声也不一样,所以通过一个需要传入频率参数的函数。通过该频率参数,来设置中断定时器T1,控制蜂鸣器驱动端口输出高低电平,然后在按键处理函数处判断对应需要的频率送给蜂鸣器响应函数。3、 程序流程图 1、整体流程图2、算数逻辑流程四、详细程序 1、总程序Calculator.c#include #include #include #include void main() Init();ShowNumber(135043);/显示学号while (1) KeyDriver(); /调用按键驱动函数 /* T0中断服务函数,用于数码管显示扫描与按键扫描 */void InterruptTimer0() interrupt 1 TH0 = 0xFC; /重新加载初值 TL0 = 0x67; LedScan(); /调用数码管显示扫描函数 KeyScan(); /调用按键扫描函数ShowPhoto(tx);/调用点阵显示函数/* T1中断服务函数,用于蜂鸣器 */ void InterruptTimer1() interrupt 3 TH1 = T1RH; /重新加载重载
《蜂鸣数字计算器(一类借鉴)》由会员8**分享,可在线阅读,更多相关《蜂鸣数字计算器(一类借鉴)》请在金锄头文库上搜索。
走中国特色社会主义文化发展道路(新)【基础教学】
种群的增长方式(上课课件)【课堂教学】
自然条件对城市形成和发展的影响【课堂教学】
作文指导:如何写历险记【讲课适用】
中考作文布局谋篇【讲课适用】
走中国特色社会主义文化发展道路【基础教学】
作文素材一材多用【讲课适用】
庄子故事两则ppt【教师助手】
作文《介绍自己喜欢的风味食品》课件【讲课适用】
中考英语任务型阅读解题技巧与突破途径【讲课适用】
最大吸收波长的计算【教学内容】
自觉能动性【课堂教学】
状态编码的几个原则(数电实验八可参考此课件)【课堂教学】
庄子故事两则好用【教师助手】
中学生食品安全教育-课件(PPT演示)【讲课适用】
中考语言表达得体【讲课适用】
中国区域地理系列课件之四:港澳台地区【讲课适用】
中国社会主义建设道路的探索(一轮复习)【讲课适用】
蒸汽的力量(完整版)【学校教学】
张衡传课件ppt(上课用 全面)【教师助手】
2023-10-09 23页
2022-06-23 3页
2022-06-19 1页
2022-06-19 22页
2022-06-19 1页
2022-05-31 7页
2022-05-31 14页
2022-05-31 3页
2022-05-31 40页
2022-05-31 3页