- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(个人所得税计算器
摘 要
个人所得税计算器是一款使用方便、快捷超乎想象的个人所得税计算工具。该计算器以STC89C52芯片为核心,用两个3位数码管显示,利用简单的C语言编写相应程序进行有效的税率计算。 其软件按照国家《个人所得税法》相关规定制作,计算结果精度不高,只能粗略地计算,有效数位数有限。键盘可以实现工资输入,通过按下对应的按键显示运算结果。个人所得税计算器可非常方便地对工资薪金进行所得税的计算,是各类行政、企事业单位的会计人员、办税人员的得力助手,相信使用本计算器后定能大大减轻税收人员的工作量和提高工作效率。
关键词:STC89C52;税率;计算;显示;键盘
目 录
设计要求 1
1 方案论证与对比 1
1.1 方案一 1
1.2 方案二 1
1.3 方案对比与选择 2
2 系统硬件电路设计 2
2.1 主控芯片STC89C52 2
2.2 键盘电路的设计 4
2.3 显示电路 4
3 系统程序设计 5
3.1 主程序 5
3.2 键盘扫描子程序 6
3.3 显示子程序 7
3.4 税率计算子程序 7
3.5 其他子程序 9
4 系统功能测试与整体指标 9
4.1 硬件系统的调试 9
4.2 软件系统的调试 9
5 详细仪器清单 10
6 总结与思考 11
7 致谢 11
参考文献 12
附录一:系统电路原理图 13
附录二:程序 14
个人所得税计算器
设计要求
利用单片机作为控制核心,完成一个个人所得税计算器。具体要求如下:
(1)通过键盘输入个人收入情况;
(2)按确定键后显示应交的个人所得税的值;
(3)最大收入值为99999元;
(4) 除基本计算以外,还具有数据清零,出错警示,退格处理,记忆功能。
方案论证与对比
方案一
利用STC89C52的P1,P2两个口的16个引脚实现16个按键的独立式键盘的线路的连接。16个按键经上拉电阻拉高后,分别接到单片机的P1口和P2口的8条I/O线上。在无键按下情况下,这16各引脚线上输入均为高电平,当有键按下时,与被按键相连的I/O线将得到低电平输入,其他位按键的输入线上仍维持高电平输入。16个控制16种不同的声音。这种方案简单易控制,但缺点是占用太多的I/O口。
方案二
利用可编程并行口8255A芯片的PC口的8个引脚,即低4位作为回送线,高4位作为扫描线,来实现4*4矩阵式键盘的线路的连接,并且可以通过三极管来驱动数码管显示键码值,同时STC89C52可以控制发光二极管的控制。这种键盘适合采用动态扫描的方式进行识别,即如果采用低电平扫描,回送线必须被上拉为高电平;如果采用高电平扫描,则回送线需被下拉为低电平。这样使用一个8位I/O口(行、列各用4位)即可完成控制。这种方案优点是使用较少的I/O口线可以实现对较多的键的控制。
方案对比与选择
经过对比分析,便于更多的扩展空间,需要更多闲置的I/O口,所以我们选择了方案2,以更少的I/O口实现更多键盘控制。
下图为硬件系统整体设计框图:
图1 硬件系统总体设计框图
系统硬件电路设计
该电路采用STC89C52单片机最小化应用设计,采用共阳7段LED数码管显示,8255A芯片扩展I/O口,6个数码管位选端连接8255A的PA口,段码输入端并联接入PB口;4*4矩阵键盘8根线接PC口:行线接PC.0~PC.3,列线(扫描线)接入PC.4~PC.7。
在4*4矩阵键盘设计中,8255PA口输出数码管显示位选,PB口输入显示段码数据;显示部分中,PC高四位作扫描线,低四位作回送线。
为提供共阳LED数码管列扫描驱动电压,用三极管9012作电源驱动输出。
主控芯片STC89C52
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址
文档评论(0)