- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
AVR控制矩阵键盘,12864显示简单计算器(国外英文资料)
AVR控制矩阵键盘,12864显示简单计算器(国外英文资料)
# include iom16v. H
# include macros. H
# define uint unsigned int
# define uchar unsigned char
# define RS_0 (PORTA = ~ BIT (7))
# define RS_1 (PORTA | = BIT (7))
# define WR_0 (PORTA = ~ BIT (6))
# define WR_1 (PORTA | = BIT (6))
# define EN_0 (PORTA = ~ BIT (5))
# define EN_1 (PORTA | = BIT (5))
Uchar temp, key, num, I, n, s, k = 0, d, w, h, jj, Chen, ch, m;
Uchar x81 d = 0;
Uchar jia [] = +;
Uchar jian [] = -;
Uchar cheng [] = *;
Uchar chu [] = /;
Void delay (uint z)
{
Uint I, j;
For (I = z;)
For (j = 114; j; ; j --);
}
Uchar anjian ()
{
Uchar I;
Uchar num1.
PORTB = 0 xef; / / low in, scan first
DDRB = 0 xf0;
/ / the key is 00000000000
If ((PINB 0x01) = = = 0) / / determines if the PA0 is 0, then s1 is pressed
{
Delay (1); / / delay cancellation
If (PINB 0x01) = = 0) / / there is a press button
{n + +;
Delay (1); / / delay cancellation
Key = 0;
Write_data (0 x30 + key);
While ((! PINA 0x01))
If (s = = 1)
{
H++; }
If (s! = 1)
{
W++; }
/ / return 0;
/ / wait for the button to loosen
}
}
/ / button 1
If ((PINB 0x02) = = 0) / / determines if the PA0 is 0, then s1 is pressed
{
Delay (1); / / delay cancellation
If ((PINB 0x02) = = 0) / / there is a button pressed
{n + +;
Delay (1); / / delay cancellation
Key = 1;
Write_data (0 x30 + key);
((! PINA 0x02)) / / wait for the button to loosen
/ / return 1;
If (s = = 1)
{
H++; }
If (s! = 1)
{
W++; }
}
}
/ / button 2
If ((PINB 0x04) = = 0) / / determines if the PA0 is 0, then s1 is pressed
{
Delay (1); / / delay cancellation
If (PINB 0x04) = = 0) / / there is a press button
{n + +;
Delay (1); / / delay cancellation
Key = 2;
Write_data (0 x30 + key);
While ((.pina 0X04)) / / wait for the button to loosen
/ / return 2;
If (s = = 1)
{
H++; }
If (s! = 1)
{w++; }
}
}
/ / button 3
If ((PINB 0x08) = = = 0) / / determines if the PA0 is 0, then s1 is pressed
{
Delay (1); / / delay cancellation
If ((PINB 0x08) = = 0) / / there is a press button
{n + +;
Delay (1); / / delay cancellation
Key
您可能关注的文档
- 01 C语言基础(国外英文资料).doc
- 01控制一个LED 灯的亮和灭(国外英文资料).doc
- 09会计管理会计作业(国外英文资料).doc
- 009年山东省聊城市高唐县中小学班主任远程培训(国外英文资料).doc
- 01探索者STM32F4开发板光盘结构(必读)(国外英文资料).doc
- 01-第一章 计算机的基础知识(国外英文资料).doc
- 09年 春 计算机六_1(国外英文资料).doc
- 10KV高压电缆头冷缩(国外英文资料).doc
- 1.日本研制出防瞌睡座椅提高驾驶(国外英文资料).doc
- 10个常用菜鸟必学DOS命令(国外英文资料).doc
- 福莱特玻璃集团股份有限公司海外监管公告 - 福莱特玻璃集团股份有限公司2024年度环境、社会及管治报告.pdf
- 广哈通信:2024年度环境、社会及治理(ESG)报告.pdf
- 招商证券股份有限公司招商证券2024年度环境、社会及管治报告.pdf
- 宏信建设发展有限公司2024 可持续发展暨环境、社会及管治(ESG)报告.pdf
- 品创控股有限公司环境、社会及管治报告 2024.pdf
- 中信建投证券股份有限公司2024可持续发展暨环境、社会及管治报告.pdf
- 洛阳栾川钼业集团股份有限公司环境、社会及管治报告.pdf
- 361度国际有限公司二零二四年环境、社会及管治报告.pdf
- 中国神华能源股份有限公司2024年度环境、社会及管治报告.pdf
- 广西能源:2024年环境、社会及治理(ESG)报告.pdf
文档评论(0)