佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1328|回复: 8

求问PIC C language问题

[复制链接]
发表于 15-12-2014 08:32 PM | 显示全部楼层 |阅读模式
本帖最后由 devin8877 于 15-12-2014 08:33 PM 编辑



PIC16F690
#include<pic.h>

void main()
{
unsigned short x=0;
unsigned short y=0;

        TRISC=0x00;
        PORTC=0x00;
        ANSEL=0x00;
        ANSELH=0x00;
        
        while(1)
        {
                x=23/10;           
                y=23%10;
                PORTC=(y<<4)+x;     //在两个7-segment x是2, y是3
        }
}               

求问大大们怎样计算y是3
回复

使用道具 举报


ADVERTISEMENT

发表于 19-12-2014 08:32 AM | 显示全部楼层
“%”是求余数的意思。
所以
y=23%10;y=3
y=24%10;y=4
y=25%10;y=5

回复

使用道具 举报

发表于 20-12-2014 02:03 PM | 显示全部楼层
为何要这样写呢?
回复

使用道具 举报

 楼主| 发表于 21-12-2014 10:03 PM | 显示全部楼层
Devilson0103 发表于 19-12-2014 08:32 AM
“%”是求余数的意思。
所以
y=23%10;y=3

假如y=234%10; y=4 正确?
回复

使用道具 举报

 楼主| 发表于 21-12-2014 10:05 PM | 显示全部楼层
weitao 发表于 20-12-2014 02:03 PM
为何要这样写呢?

output在7segment会显示23
回复

使用道具 举报

发表于 22-12-2014 03:28 PM | 显示全部楼层
devin8877 发表于 21-12-2014 10:05 PM
output在7segment会显示23


while(1)
        {
                x=23/10;            
                y=23%10;
                PORTC=(y<<4)+x;     //在两个7-segment x是2, y是3
        }

这code,为何不直接写成:


while(1)
        {
                PORTC = 50;
        }

这可以减少processing time 和 memory
回复

使用道具 举报

Follow Us
 楼主| 发表于 22-12-2014 10:26 PM | 显示全部楼层
因为读不到

所以4bits给一个数字
回复

使用道具 举报

发表于 26-12-2014 09:56 PM | 显示全部楼层
devin8877 发表于 21-12-2014 10:03 PM
假如y=234%10; y=4 正确?

是的。
回复

使用道具 举报


ADVERTISEMENT

发表于 26-12-2014 11:03 PM | 显示全部楼层
weitao 发表于 20-12-2014 02:03 PM
为何要这样写呢?

楼主的两位数7Seg 显示, 应该有透过 Port C 连接去2个IC 如7446 之类的,BCD to 7Seg decoder, 只是楼主没有讲。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 25-4-2024 02:26 AM , Processed in 0.058877 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表