单片机原理及应用实验六 按键识别数码管显示实验
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5、实验程序
结束
(实验程序清单作为附件放在最后)
6、实验步骤
1)keil中C语言程序实现。
2)在proteus中完成电路图设计,并实现仿真。
3)硬件实验部分:
用一条8PIN 数据排线,把矩阵按键部份的JP50,接到CPU 部份的P1 口JP44;
接8 位数码管的数据线。将数码管部份的数据口 JP5 接到CPU 部份的P0 口JP51;
接8 位数码管的显示位线。将数码管部份的显示位口 JP8 接到CPU 部份的P2 口JP52.
7、实验数据及结果
8、思考题
采用P3口控制矩阵按键输入,程序应该如何修改?
答:本实验的程序中可以不用蜂鸣器驱动线,把以下程序的sbit BEEP = P3 ^ 7;及函数void beep()等删掉后;需要把扫描键值的函数改一下:unsigned char keyscan()
{
unsigned char scan1, scan2, keycode,j;
P13= 0xf0;
scan1 = P3;
if (scan1 != 0xf0) //判键是否按下
{
delayms(10);
scan1 = P3;
if (scan1 != 0xf0) //二次判键是否按下
{
P1 = 0x0f;
scan2 = P3;